test-update-copyright.sh: require perl 5.8.0
[gnulib.git] / ChangeLog
1 2010-09-02  Jim Meyering  <meyering@redhat.com>
2
3         test-update-copyright.sh: require perl 5.8.0
4         * tests/test-update-copyright.sh: Require 5.8.0,
5         which Tom G. Christensen has confirmed is adequate,
6         while 5.6.1 is not.
7
8 2010-09-02  Eric Blake  <eblake@redhat.com>
9
10         wctype: fix typo in previous commit
11         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
12         Reported by Ludovic Courtès.
13
14 2010-09-02  Jim Meyering  <meyering@redhat.com>
15
16         test-update-copyright.sh: skip test if Perl is too old
17         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
18         Reported by Tom G. Christensen.
19
20 2010-09-02  Bruno Haible  <bruno@clisp.org>
21
22         wctype: Avoid compilation error on IRIX 6.5.30.
23         * lib/wctype.in.h (iswblank): Declare with a replacement if
24         REPLACE_ISWBLANK is set.
25         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
26         declared. Set REPLACE_ISWBLANK.
27         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
28         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
29         * doc/posix-headers/wctype.texi: Likewise.
30         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31
32 2010-09-01  Bruno Haible  <bruno@clisp.org>
33
34         New module 'socketlib'.
35         * modules/socketlib: New file.
36         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
37         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
38         * modules/sockets (Depends-on): Add socketlib.
39         Suggested by Sam Steingold <sds@gnu.org>.
40
41 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42
43         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
44
45         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
46         when one needs search access to a directory but not read access.
47         On systems where it is available, it works in some cases where
48         O_RDONLY does not, namely on directories that are searchable but
49         not readable, and which need only to be searchable.  If O_SEARCH
50         is not available, fall back to the traditional method of using
51         O_RDONLY.
52
53         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
54         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
55         when opening a directory that needs only to be searchable.
56         * lib/chdir-safer.c (chdir_no_follow): Likewise.
57         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
58         * lib/openat-proc.c (openat_proc_name): Likewise.
59         * lib/openat.c (openat_needs_fchdir): Likewise.
60         * lib/save-cwd.c (save_cwd): Likewise.
61         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
62
63 2010-08-28  Bruno Haible  <bruno@clisp.org>
64
65         New module 'host-cpu-c-abi'.
66         * modules/host-cpu-c-abi: New file.
67         * m4/host-cpu-c-abi.m4: New file, based on part of
68         clisp/src/m4/general.m4.
69         Requested by Sam Steingold <sds@gnu.org>.
70
71 2010-08-31  Eric Blake  <eblake@redhat.com>
72         and Jim Meyering  <meyering@redhat.com>
73
74         hash: factor, and guard against misbehaving hasher function
75         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
76         of table->hasher's return value.  Also protect against a hash value
77         so large that adding it to table->bucket results in a NULL pointer.
78         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
79         Use it in place of open-coded check-and-abort.
80
81 2010-08-30  Bruno Haible  <bruno@clisp.org>
82
83         hash: silence spurious clang warning
84         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
85         Reported by Eric Blake.
86
87 2010-08-30  Eric Blake  <eblake@redhat.com>
88
89         strstr, memmem, strcasestr: avoid leaked shell message
90         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
91         FreeBSD.
92         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
93         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
94
95         tests: silence clang warning
96         * tests/test-malloca.c (do_allocation): Avoid dead store.
97
98 2010-08-29  Bruno Haible  <bruno@clisp.org>
99
100         gettext: Fix recent mistake.
101         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
102
103 2010-08-29  Bruno Haible  <bruno@clisp.org>
104
105         selinux-h: Offer a --without-selinux option.
106         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
107         --without-selinux was specified, skip all tests and define
108         HAVE_SELINUX_SELINUX_H to 0.
109         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
110         set LIB_SELINUX to empty.
111         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
112         gl_LIBSELINUX. If --without-selinux was specified, replace
113         selinux/context.h.
114         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
115
116 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
117             Bruno Haible  <bruno@clisp.org>
118
119         Make the module 'realloc-gnu' work again on AIX and OSF/1.
120         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
121         of HAVE_REALLOC.
122         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
123         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
124         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
125         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
126
127 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
128             Bruno Haible  <bruno@clisp.org>
129
130         Make the module 'calloc-gnu' work again on AIX and OSF/1.
131         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
132         HAVE_CALLOC.
133         * lib/xmalloc.c: Update accordingly.
134         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
135         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
136         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
137
138 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
139             Bruno Haible  <bruno@clisp.org>
140
141         Make the module 'malloc-gnu' work again on AIX and OSF/1.
142         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
143         HAVE_MALLOC.
144         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
145         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
146         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
147
148 2010-08-29  Bruno Haible  <bruno@clisp.org>
149
150         Update modules list.
151         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
152         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
153         (String handling <string.h>): Add astrxfrm.
154         (File system functions): Add readlinkat.
155
156 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
157
158         Tests for module 'realloc-gnu'.
159         * modules/realloc-gnu-tests: New file.
160         * tests/test-realloc-gnu.c: New file.
161
162         Tests for module 'calloc-gnu'.
163         * modules/calloc-gnu-tests: New file.
164         * tests/test-calloc-gnu.c: New file.
165
166         Tests for module 'malloc-gnu'.
167         * modules/malloc-gnu-tests: New file.
168         * tests/test-malloc-gnu.c: New file.
169
170 2010-08-28  Bruno Haible  <bruno@clisp.org>
171
172         Rename module 'realloc' -> 'realloc-gnu'.
173         * modules/realloc-gnu: New file, copied from modules/realloc.
174         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
175         obsolete.
176         * modules/mgetgroups (Depends-on): Update.
177         * doc/posix-functions/realloc.texi: Update.
178         * NEWS: Mention the change.
179
180         Rename module 'calloc' -> 'calloc-gnu'.
181         * modules/calloc-gnu: New file, copied from modules/calloc.
182         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
183         obsolete.
184         * doc/posix-functions/calloc.texi: Update.
185         * NEWS: Mention the change.
186
187         Rename module 'malloc' -> 'malloc-gnu'.
188         * modules/malloc-gnu: New file, copied from modules/malloc.
189         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
190         obsolete.
191         * modules/argp (Depends-on): Update.
192         * modules/regex (Depends-on): Update.
193         * doc/posix-functions/malloc.texi: Update.
194         * NEWS: Mention the change.
195
196 2010-08-28  Eric Blake  <eblake@redhat.com>
197
198         pread, pwrite: add missing dependency
199         * modules/pread (Depends-on): Add extensions.
200         * modules/pwrite (Depends-on): Likewise.
201
202 2010-08-28  Bruno Haible  <bruno@clisp.org>
203
204         unistr/u*-strchr: Fix tests dependencies.
205         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
206         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
207         Reported by Ian Beckwith <ianb@erislabs.net>.
208
209 2010-08-28  Bruno Haible  <bruno@clisp.org>
210
211         read-file: Don't occupy too much unused memory.
212         * lib/read-file.c (fread_file): Shrink the buffer at the end.
213
214 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
215             Eric Blake  <eblake@redhat.com>
216             Bruno Haible  <bruno@clisp.org>
217
218         read-file: Avoid memory reallocations with regular files.
219         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
220         (fread_file): With regular files, use the remaining length as the
221         initial buffer size.  Check against overflow.
222         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
223         sys_stat.
224
225 2010-08-28  Bruno Haible  <bruno@clisp.org>
226
227         ftello: Relax license.
228         * modules/ftello (License): Relax to LGPLv2+.
229         Reported by Eric Blake.
230
231 2010-08-28  Bruno Haible  <bruno@clisp.org>
232
233         Avoid relocwrapper link errors due to gnulib replacement functions.
234         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
235         function.
236         Reported by Ben Pfaff <blp@cs.stanford.edu>.
237
238 2010-08-28  Bruno Haible  <bruno@clisp.org>
239
240         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
241         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
242         defined.
243         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
244         Suggested by Eric Blake.
245
246 2010-08-28  Bruno Haible  <bruno@clisp.org>
247
248         sys_socket, netdb: Ensure socklen_t gets defined.
249         * modules/sys_socket (Depends-on): Add socklen.
250         * modules/netdb (Depends-on): Likewise.
251         * modules/getaddrinfo (Depends-on): Remove socklen.
252         * modules/getsockopt (Depends-on): Likewise.
253         * modules/setsockopt (Depends-on): Likewise.
254         * tests/test-sys_socket.c: Check that socklen_t is defined.
255         * tests/test-netdb.c: Likewise.
256         * m4/socklen.m4: Update comments.
257         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
258
259 2010-08-27  Eric Blake  <eblake@redhat.com>
260
261         login_tty: add missing dependency
262         * modules/login_tty (Depends-on): Add pty.
263
264 2010-08-26  Eric Blake  <eblake@redhat.com>
265
266         lib-symbol-versions: fix m4 quoting
267         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
268         format for AC_LINK_IFELSE.
269
270         glob: fix compile test
271         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
272
273         btowc: fix missing file
274         * modules/btowc (Files): Also ship locale-fr.m4.
275
276         lseek: fix link test
277         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
278         AC_LINK_IFELSE.
279
280         include_next: silence autoconf 2.68 warning
281         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
282         AC_COMPILE_IFELSE as special.
283         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
284         autoconf < 2.68.
285
286         acl: fix compilation test
287         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
288         AC_COMPILE_IFELSE.
289
290 2010-08-26  Bruno Haible  <bruno@clisp.org>
291
292         Modernize AC_TRY_RUN invocations.
293         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
294         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
295         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
296         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
297         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
298         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
299         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
300         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
301         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
302         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
303         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
304         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
305         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
306         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
307         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
308         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
309         gl_MBRLEN_NUL_RETVAL): Likewise.
310         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
311         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
312         Likewise.
313         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
314         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
315         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
316         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
317         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
318         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
319         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
320         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
321         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
322         Likewise.
323         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
324         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
325         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
326         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
327         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
328         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
329         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
330         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
331         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
332         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
333
334 2010-08-26  Bruno Haible  <bruno@clisp.org>
335
336         Modernize AC_TRY_LINK invocations.
337         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
338         AC_TRY_LINK.
339         * m4/argp.m4 (gl_ARGP): Likewise.
340         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
341         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
342         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
343         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
344         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
345         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
346         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
347         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
348         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
349         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
350         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
351         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
352         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
353         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
354         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
355         * m4/hostent.m4 (gl_HOSTENT): Likewise.
356         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
357         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
358         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
359         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
360         Likewise.
361         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
362         Likewise.
363         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
364         Likewise.
365         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
366         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
367         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
368         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
369         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
370         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
371         * m4/servent.m4 (gl_SERVENT): Likewise.
372         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
373         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
374         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
375         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
376         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
377         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
378         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
379         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
380         * modules/tsearch-tests (configure.ac): Likewise.
381
382 2010-08-26  Bruno Haible  <bruno@clisp.org>
383
384         Modernize AC_TRY_COMPILE invocations.
385         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
386         AC_TRY_COMPILE.
387         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
388         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
389         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
390         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
391         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
392         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
393         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
394         * m4/lock.m4 (gl_LOCK): Likewise.
395         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
396         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
397         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
398         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
399         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
400         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
401         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
402         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
403         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
404         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
405         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
406         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
407         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
408         extraneous semicolon.
409
410 2010-08-26  Jim Meyering  <meyering@redhat.com>
411
412         stat-time: relax license LGPL
413         * modules/stat-time (License): Change from GPL to LGPL,
414         with consent from all contributors, for use in libguile.
415         Requested by Ludovic Courtès.
416
417 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
418
419         poll: return immediately on POLLHUP.
420         * lib/poll.c (poll): Always set timeout before wait_timeout is
421         computed.
422
423 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
424
425         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
426         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
427         rmdir ("dir/.//"), unlinkat.
428
429 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
430
431         stdbool: avoid spurious failure with modern xlc
432         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
433
434 2010-08-24  Bruno Haible  <bruno@clisp.org>
435
436         getloadavg: simplify code
437         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
438         gl_have_func. Update comments.
439
440 2010-08-24  Eric Blake  <eblake@redhat.com>
441
442         getloadavg: don't define SVR4 on cygwin
443         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
444         only define SVR4 when -lkvm is required.
445         Reported by Yaakov Selkowitz.
446
447 2010-08-24  Bruno Haible  <bruno@clisp.org>
448
449         priv-set: fix comment
450         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
451
452 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
453
454         priv-set: fix comments
455         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
456         to match code, as suggested by David Bartley in:
457         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
458
459 2010-08-23  Eric Blake  <eblake@redhat.com>
460
461         stdbool: avoid rejecting clang
462         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
463         * tests/test-stdbool.c: Enable more tests if using the system
464         <stdbool.h> instead of the gnulib replacement.
465         (main): Move xlc bug test to a runtime test for all compilers.
466         Reported by Anders Kaseorg.
467
468         argz: fix shell quoting issue
469         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
470         Reported by Charles Wilson.
471
472 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
473             Erik Faye-Lund <kusmabite@gmail.com>
474
475         poll, select: handle ERROR_BROKEN_PIPE.
476         * lib/poll.c (win32_compute_revents): Return POLLHUP when
477         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
478         * lib/select.c (win32_compute_revents): Do not mark a pipe
479         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
480
481 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
482
483         fts: allow compilation with C++
484         * lib/fts_.h: Specify extern "C" linkage with C++.
485
486 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
487
488         Fix gnulib-tool sed script de-commentation for AIX sed.
489         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
490         sed.
491
492 2010-08-17  Eric Blake  <eblake@redhat.com>
493
494         test-stddef: test for (some) offsetof bugs
495         * tests/test-stddef.c: Enhance test to ensure correct type of
496         offsetof.
497         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
498         that we are not fixing at this time.
499
500 2010-08-15  Bruno Haible  <bruno@clisp.org>
501
502         stpncpy: Allow stpncpy to be defined as a macro.
503         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
504         if it's already correctly declared.
505         * lib/string.in.h (stpncpy): Undefine before redefining.
506         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
507
508 2010-08-14  Bruno Haible  <bruno@clisp.org>
509
510         Rename module 'memxfrm' to 'amemxfrm'.
511         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
512         (amemxfrm): Renamed from memxfrm.
513         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
514         (amemxfrm): Renamed from memxfrm.
515         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
516         * NEWS: Mention the change.
517         * MODULES.html.sh (String handling <string.h>): Update.
518         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
519         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
520         * lib/unicase/u16-casexfrm.c: Likewise.
521         * lib/unicase/u32-casexfrm.c: Likewise.
522         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
523         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
524         * lib/uninorm/u16-normxfrm.c: Likewise.
525         * lib/uninorm/u32-normxfrm.c: Likewise.
526         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
527         memxfrm.
528         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
529         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
530         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
531         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
532         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
533         Suggested by Paul Eggert.
534
535 2010-08-14  Bruno Haible  <bruno@clisp.org>
536
537         Tests for module 'astrxfrm'.
538         * modules/astrxfrm-tests: New file.
539         * tests/test-astrxfrm.c: New file.
540
541         New module 'astrxfrm'.
542         * lib/astrxfrm.h: New file.
543         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
544         * modules/astrxfrm: New file.
545
546 2010-08-14  Reuben Thomas <rrt@sc3d.org>
547
548         regex: Tweak doc.
549         * doc/regex.texi (Overview): Don't mention regex.c.
550         (GNU Regular Expression Compiling): Likewise.
551         (Match-end-of-line Operator): Mention 'not_eol'.
552
553 2010-08-14  Brian Gough  <bjg@gnu.org>
554             Bruno Haible  <bruno@clisp.org>
555
556         git-merge-changelog: add doc relating to use with bzr and hg.
557         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
558
559 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
560
561         pthread: fix pthread.h creation for srcdir != builddir
562         * modules/pthread (Makefile.am): Fix the rule to work also in a
563         non-srcdir build.
564
565 2010-08-13  Karl Berry  <karl@gnu.org>
566
567         * doc/regex.texi (Predefined Syntaxes): @smallexample.
568         * doc/posix-*/*: force line break before @url of POSIX
569         specifications.
570         Suggested by Werner Lemberg.
571
572 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
573
574         strtod: fix const diagnostic
575         * lib/strtod.c (strtod): Don't assign const char * to char *,
576         as this elicits a warning from GCC when warnings are enabled.
577
578 2010-08-10  Pádraig Brady <P@draigbrady.com>
579         and Eric Blake  <eblake@redhat.com>
580
581         copy-acl: ignore ENOTSUP on HP-UX
582         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
583         so that it is available for HP-UX.
584         * lib/copy-acl.c (qcopy_acl): Use it.
585         Reported by Patrick M. Callahan.
586
587 2010-08-10  Eric Blake  <eblake@redhat.com>
588
589         open, chown: relax license
590         * modules/open (License): Change to LGPLv2+, with consent by all
591         authors, for use in augeas.
592         * modules/chown (License): Likewise.
593         * modules/lchown (Likewise): Likewise.
594         Requested by Adam Stokes.
595
596 2010-08-09  Karl Berry  <karl@gnu.org>
597
598         * build-aux/ar-lib: new file, import from Automake.
599         * config/srclist.txt: autocheck for updates.
600
601 2010-08-09  Eric Blake  <eblake@redhat.com>
602
603         readlinkat: adjust client modules
604         * modules/areadlinkat (Depends-on): Use readlinkat, not
605         symlinkat.
606         * modules/areadlinkat-with-size (Depends-on): Likewise.
607
608         mknod: be more vocal about danger of running tests as root
609         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
610         root, since that is just asking for problems.
611         Suggested by Bruno Haible, based on a report by Rainer Tammer.
612
613         readlinkat: split into its own module
614         * modules/symlinkat: Split readlinkat...
615         * modules/readlinkat: ...into separate module.
616         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
617         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
618         * lib/symlinkat.c (readlinkat): Move...
619         * lib/readlinkat.c: ...into new file.
620         * modules/symlinkat-tests: Split readlinkat test...
621         * modules/readlinkat-tests: ...into separate module.
622         * tests/test-symlinkat.c: Split...
623         * tests/test-readlinkat.c: ...into new file.
624         * NEWS: Document the split.
625         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
626         * lib/unistd.in.h (readlinkat): Likewise.
627         Suggested by Bruno Haible.
628
629 2010-08-08  Bruno Haible  <bruno@clisp.org>
630
631         memxfrm: Speed up.
632         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
633         that usually only one call to strxfrm is necessary for each string
634         part.
635         Reported by Paul Eggert <eggert@cs.ucla.edu>.
636
637 2010-08-07  Karl Berry  <karl@gnu.org>
638
639         * doc/posix-headers/limits.texi,
640         * doc/posix-functions/malloc.texi,
641         * doc/posix-functions/strsignal.texi: missing @item.
642         * doc/ld-version-script.texi: spurious leading i.
643         * doc/regex.texi (Interval Operators): no commas inside @var.
644
645 2010-08-01  Bruno Haible  <bruno@clisp.org>
646
647         Integrate the regex documentation.
648         * doc/gnulib.texi: Define 'cn' index.
649         (Regular expressions): New a chapter that includes regex.texi and
650         regexprops-generic.texi.
651         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
652         syntax.
653
654         Whitespace cleanup.
655         * doc/regex.texi: Remove trailing spaces.
656
657         Add regex documentation.
658         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
659         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
660         Written by Kathy A. Hargreaves and Karl Berry.
661
662 2010-08-01  Bruno Haible  <bruno@clisp.org>
663
664         link: Update documentation.
665         * doc/posix-functions/link.texi: Update regarding Solaris.
666
667 2010-07-31  Bruno Haible  <bruno@clisp.org>
668
669         Update modules list.
670         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
671         (String handling <string.h>): Add memcmp2, memxfrm.
672         (Container data structures): Add xlist, xsublist, xoset.
673         (Core language properties): Add alignof, unused-parameter.
674         (Process control, Numeric conversion functions <stdlib.h>): Renamed
675         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
676         (Unibyte characters <ctype.h>): New section.
677         (String handling <string.h>): New section.
678         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
679         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
680         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
681         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
682         tan, tanh, tanl, y0, y1, yn.
683         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
684         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
685         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
686         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
687         unlockpt, vdprintf, vdprintf-posix.
688         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
689         (File system functions): Add concat-filename, sys_file, sys_ioctl,
690         xconcat-filename.
691         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
692         getdtablesize, pipe2, pipe2-safer.
693         (Security): New section.
694         (Networking functions): Add accept4.
695         (Signal handling): Add sigpipe.
696         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
697         mbmemcasecoll.
698         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
699         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
700         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
701         pipe-filter-ii.
702         (Misc): Add argp-version-etc, login_tty, parse-duration.
703
704 2010-07-31  Bruno Haible  <bruno@clisp.org>
705
706         Improve doc in MODULES.html.
707         * modules/linkat (Description): Add the word "function".
708         * modules/mkfifo (Description): Likewise.
709         * modules/mknod (Description): Likewise.
710         * modules/remove (Description): Likewise.
711         * modules/renameat (Description): Likewise.
712         * modules/stat (Description): Likewise.
713         * modules/symlink (Description): Likewise.
714         * modules/unlink (Description): Likewise.
715
716 2010-07-31  Bruno Haible  <bruno@clisp.org>
717
718         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
719         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
720         option --enable/disable-c++ instead of --enable/disable-cxx.
721         * NEWS: Mention the change.
722
723 2010-07-31  Bruno Haible  <bruno@clisp.org>
724
725         readlink, areadlink: Relax test a bit.
726         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
727         alternative to ENOTDIR.
728         * tests/test-areadlink.h (test_areadlink): Likewise.
729         Reported by Rainer Tammer.
730
731 2010-07-31  Bruno Haible  <bruno@clisp.org>
732
733         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
734         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
735         character, perform the search using U_STRCHR.
736         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
737         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
738         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
739         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
740         Suggested by Paolo Bonzini.
741
742 2010-07-31  Bruno Haible  <bruno@clisp.org>
743
744         unistr/u*-strstr: Fix dependencies.
745         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
746         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
747         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
748
749 2010-07-31  Bruno Haible  <bruno@clisp.org>
750
751         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
752         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
753         the beginning of the loop.
754         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
755         cases in 'switch' statement.
756
757         unistr/u8-strchr: Fix several bugs.
758         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
759         the string. When not found, return NULL, not a pointer near the end.
760
761         More tests for unistr/u8-strchr.
762         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
763         that the function does not read past the first occurrence of the byte
764         being searched.
765         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
766         * tests/unistr/test-u16-strchr.c (main): New function.
767         * tests/unistr/test-u32-strchr.c (main): New function.
768
769 2010-07-31  Bruno Haible  <bruno@clisp.org>
770
771         posix-modules: Ignore backup files of documentation files.
772         * posix-modules: grep only through files named *.texi.
773
774 2010-07-31  Bruno Haible  <bruno@clisp.org>
775
776         symlinkat: Fix documentation.
777         * doc/posix-functions/readlinkat.texi: Fix module name.
778
779 2010-07-31  Bruno Haible  <bruno@clisp.org>
780
781         fchownat: Replace also when chown has the trailing slash bug.
782         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
783         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
784         introduced on 2010-04-10.
785         Reported by Rainer Tammer.
786
787 2010-07-31  Bruno Haible  <bruno@clisp.org>
788
789         linkat: Work around AIX 7.1 bug.
790         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
791         whether linkat handles trailing slash correctly. If not, replace linkat
792         and define LINKAT_TRAILING_SLASH_BUG.
793         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
794         check whether (fd1,file1) points to a directory if file1 or file2 ends
795         in a slash. Code taken from lib/link.c.
796         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
797         Reported by Rainer Tammer.
798
799 2010-07-31  Bruno Haible  <bruno@clisp.org>
800
801         Correctly determine whether pow is available in libc on AIX 7 with xlc.
802         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
803         This disables an xlc optimization that was causing wrong test results.
804         Reported by Rainer Tammer.
805
806 2010-07-31  Bruno Haible  <bruno@clisp.org>
807
808         iconv: Work around AIX 6.1..7.1 bug.
809         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
810         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
811         cross-compiling, guess no on all versions of AIX.
812         Reported by Rainer Tammer.
813
814 2010-07-31  Bruno Haible  <bruno@clisp.org>
815
816         readlink: Relax test a bit.
817         * tests/test-readlink.h (test_readlink): Allow different errno value
818         when readlink is called with a file name that ends in / and refers to
819         a file.
820         Suggested by Eric Blake.
821         Reported by Rainer Tammer.
822
823 2010-07-31  Bruno Haible  <bruno@clisp.org>
824
825         copysign: Does not require -lm on glibc systems.
826         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
827         gl_COMMON_DOUBLE_MATHFUNC.
828         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
829
830 2010-07-31  Bruno Haible  <bruno@clisp.org>
831
832         duplocale: Work around AIX 7.1 bug.
833         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
834         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
835         * lib/duplocale.c (rpl_duplocale): Update comment.
836         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
837         Reported by Rainer Tammer.
838
839 2010-07-30  Bruno Haible  <bruno@clisp.org>
840
841         dirfd: Avoid link error on AIX 7.1.
842         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
843         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
844         exist, set REPLACE_DIRFD.
845         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
846         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
847         * doc/posix-functions/dirfd.texi: Update.
848         Reported by Rainer Tammer.
849
850 2010-07-30  Eric Blake  <eblake@redhat.com>
851
852         strtod: next round of AIX fixes
853         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
854         exponent.
855         * tests/test-strtod.c (main): Enhance tests.
856         * doc/posix-functions/strtod.texi (strtod): Document next bug.
857         Reported by Rainer Tammer.
858
859         futimens: fix configure check
860         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
861         Reported by Bruno Haible.
862
863 2010-07-30  Bruno Haible  <bruno@clisp.org>
864
865         getline: Update regarding AIX.
866         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
867         Reported by Rainer Tammer.
868
869 2010-07-30  Bruno Haible  <bruno@clisp.org>
870
871         wcwidth: Drop replacement on AIX 7.
872         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
873         AIX 7.
874         Reported by Rainer Tammer.
875
876 2010-07-30  Bruno Haible  <bruno@clisp.org>
877
878         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
879         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
880         a 'char *'.
881         Reported by Rainer Tammer.
882
883 2010-07-30  Bruno Haible  <bruno@clisp.org>
884
885         unlink: Update regarding AIX.
886         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
887         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
888         Reported by Rainer Tammer.
889
890 2010-07-30  Bruno Haible  <bruno@clisp.org>
891
892         symlink: Update regarding AIX.
893         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
894         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
895         Reported by Rainer Tammer.
896
897 2010-07-30  Bruno Haible  <bruno@clisp.org>
898
899         strndup: Update regarding AIX.
900         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
901         AIX 7.
902         Reported by Rainer Tammer.
903
904 2010-07-30  Bruno Haible  <bruno@clisp.org>
905
906         stat: Update regarding AIX.
907         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
908         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
909         Reported by Rainer Tammer.
910
911 2010-07-30  Bruno Haible  <bruno@clisp.org>
912
913         truncl: Fix autoconf test.
914         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
915         whether truncl works.
916         Reported by Rainer Tammer.
917
918 2010-07-30  Bruno Haible  <bruno@clisp.org>
919
920         round: Update regarding AIX.
921         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
922         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
923         Reported by Rainer Tammer.
924
925 2010-07-30  Bruno Haible  <bruno@clisp.org>
926
927         rename: Update regarding AIX.
928         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
929         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
930         Reported by Rainer Tammer.
931
932 2010-07-30  Bruno Haible  <bruno@clisp.org>
933
934         printf.m4: Update regarding AIX.
935         * m4/printf.m4: Update comments regarding AIX.
936         Reported by Rainer Tammer.
937
938 2010-07-30  Bruno Haible  <bruno@clisp.org>
939
940         iconv: Update regarding AIX.
941         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
942         AIX 7.
943         Reported by Rainer Tammer.
944
945 2010-07-30  Bruno Haible  <bruno@clisp.org>
946
947         getopt: Update regarding AIX.
948         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
949         no on AIX.
950         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
951         Reported by Rainer Tammer.
952
953 2010-07-30  Bruno Haible  <bruno@clisp.org>
954
955         ldexpl; Update regarding AIX.
956         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
957         on AIX 7.
958         Reported by Rainer Tammer.
959
960 2010-07-30  Bruno Haible  <bruno@clisp.org>
961
962         frexpl: Update regarding AIX.
963         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
964         on AIX 7.
965         Reported by Rainer Tammer.
966
967 2010-07-30  Bruno Haible  <bruno@clisp.org>
968
969         open, fopen: Update regarding AIX.
970         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
971         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
972         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
973         * doc/posix-functions/fopen.texi: Likewise.
974         Reported by Rainer Tammer.
975
976 2010-07-30  Bruno Haible  <bruno@clisp.org>
977
978         chown: Update doc regarding AIX.
979         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
980         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
981         Reported by Rainer Tammer.
982
983 2010-07-30  Eric Blake  <eblake@redhat.com>
984
985         strtod: fix bug in replacement function on AIX
986         * lib/strtod.c (strtod): Special case broken "0x" parse in
987         underlying strtod.
988         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
989         * doc/posix-functions/strtod.texi (strtod): Likewise.
990         Reported by Rainer Tammer.
991
992 2010-07-30  Bruno Haible  <bruno@clisp.org>
993
994         mbrlen: Fix cross-compilation guess for AIX.
995         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
996         guess. Leftover from 2008-12-22.
997
998 2010-07-30  Bruno Haible  <bruno@clisp.org>
999
1000         mbrtowc: Fix cross-compilation guess for AIX.
1001         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
1002         guess. Leftover from 2008-12-21.
1003
1004 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
1005
1006         init.sh: work around trap limitation of some shells
1007         * tests/init.sh (setup_): Move exit trap outside of shell function.
1008
1009 2010-07-29  Eric Blake  <eblake@redhat.com>
1010
1011         strtod: aid debugging
1012         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
1013         understanding why strtod is rejected.
1014
1015 2010-07-28  Bruno Haible  <bruno@clisp.org>
1016
1017         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
1018         * lib/unistr/u8-chr.c: Include <string.h>.
1019         * tests/unistr/test-u8-chr.c: Likewise.
1020         * tests/unistr/test-u16-chr.c: Likewise.
1021         * tests/unistr/test-u32-chr.c: Likewise.
1022         * tests/unistr/test-u8-strchr.c: Likewise.
1023         * tests/unistr/test-u16-strchr.c: Likewise.
1024         * tests/unistr/test-u32-strchr.c: Likewise.
1025         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
1026         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
1027         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
1028         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
1029
1030 2010-07-28  Bruno Haible  <bruno@clisp.org>
1031
1032         Use spaces for indentation, not tabs.
1033         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
1034
1035 2010-07-27  Bruno Haible  <bruno@clisp.org>
1036
1037         mbspcasecmp: Fix function specification.
1038         * lib/string.in.h (mbspcasecmp): Fix specification comment.
1039         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
1040         Reported by Eric Blake <eblake@redhat.com>.
1041
1042 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
1043
1044         timespec: use cast and not conditional, as truncation isn't possible
1045         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
1046         instead of a conditional.  Comment about the situation in more detail.
1047         This undoes most of the 2009-10-29 patch.
1048
1049 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
1050
1051         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
1052         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
1053         * lib/unistr/u8-strchr.c: Likewise.
1054         * modules/unistr/u8-chr: Depend on memchr.
1055
1056         unistr/u*-strchr: add tests
1057         * modules/unistr/u8-strchr-tests: New file.
1058         * modules/unistr/u16-strchr-tests: New file.
1059         * modules/unistr/u32-strchr-tests: New file.
1060         * tests/unistr/test-strchr.h: New file.
1061         * tests/unistr/test-u8-strchr.c: New file.
1062         * tests/unistr/test-u16-strchr.c: New file.
1063         * tests/unistr/test-u32-strchr.c: New file.
1064
1065         unistr/u*-chr: test multibyte sequences more
1066         * tests/unistr/test-chr.h: Do complete testing of the characters in the
1067         test vector.
1068         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
1069         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
1070         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
1071
1072         unistr/u*-chr: test multibyte sequences
1073         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
1074
1075         unistr/u*-chr: prepare for multibyte tests
1076         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
1077         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
1078         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
1079         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
1080         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
1081         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
1082
1083 2010-07-18  Bruno Haible  <bruno@clisp.org>
1084
1085         unistr/u8-strchr: Optimize non-ASCII argument case.
1086         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
1087         because the first byte often matches anyway.
1088         Reported by Pádraig Brady <P@draigbrady.com>.
1089
1090 2010-07-15  Karl Berry  <karl@gnu.org>
1091
1092         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
1093
1094 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
1095
1096         getcwd: on Solaris, work better if ancestors are inaccessible
1097         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
1098         buffer and size, try again with a large buffer.  This works better
1099         on Solaris, since its getcwd succeeds even if the path to the root
1100         is inaccessible, and this is helpful in common cases such as .zfs
1101         hidden directories.  Problem reported by J Chapman Flack in
1102         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
1103         Use system getcwd if it's declared, not merely if it's partly
1104         working; use the partly-working test only to avoid needless effort
1105         if the system getcwd fails.
1106         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
1107         comment that was already obsolete and is now even more obsolete.
1108         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
1109         now might call strdup.
1110
1111 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
1112
1113         pthread: Add enough so that coreutils/src/sort.c compiles.
1114         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
1115         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
1116         gnulib. Include <sched.h> and <time.h>, as per POSIX.
1117         Include <sys/types.h>, in case it defines pthread_t.
1118         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
1119         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
1120         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
1121         (pthread_rwlockattr_t, pthread_spinlock_t):
1122         New typedefs, if HAVE_PTHREAD_T is not defined.
1123         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
1124         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
1125         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
1126         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
1127         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
1128         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
1129         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
1130         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
1131         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
1132         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
1133         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
1134         New macros.
1135         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
1136         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
1137         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
1138         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
1139         (pthread_spin_unlock): New dummy functions.
1140         (pthread_create): Return EAGAIN; don't set errno.
1141         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
1142         require AC_C_INLINE.
1143         * modules/pthread (Depends-on): Add sched, time.
1144         (pthread.h): Use AM_V_GEN.
1145
1146 2010-07-13  Bruno Haible  <bruno@clisp.org>
1147
1148         striconveh: Don't malloc memory if the result buffer is sufficient.
1149         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
1150         buffer if its size is sufficient.
1151         Reported by Ludovic Courtès <ludo@gnu.org>.
1152
1153 2010-07-13  Bruno Haible  <bruno@clisp.org>
1154
1155         strtod: Add safety check.
1156         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
1157
1158 2010-07-12  Bruno Haible  <bruno@clisp.org>
1159
1160         Unify tests that set gl_cv_func_ldexpl_no_libm.
1161         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
1162         gl_FUNC_LDEXPL.
1163         (gl_FUNC_LDEXPL): Invoke it.
1164         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
1165
1166 2010-07-12  Bruno Haible  <bruno@clisp.org>
1167
1168         Unify tests that set gl_cv_func_ldexp_no_libm.
1169         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
1170         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
1171         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
1172         (configure.ac): Simply invoke gl_FUNC_LDEXP.
1173         * modules/strtod (Files): Add m4/ldexp.m4.
1174
1175 2010-07-12  Bruno Haible  <bruno@clisp.org>
1176
1177         Unify tests that set gl_cv_func_frexpl_no_libm.
1178         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
1179         gl_FUNC_FREXPL_NO_LIBM.
1180         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
1181         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
1182
1183 2010-07-12  Bruno Haible  <bruno@clisp.org>
1184
1185         Unify tests that set gl_cv_func_frexp_no_libm.
1186         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
1187         gl_FUNC_FREXP_NO_LIBM.
1188         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
1189         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
1190
1191 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
1192
1193         memcoll: clarify sizes versus lengths, document better, and tweak perf
1194         * lib/memcoll.c (strcoll_loop, memcoll0):
1195         Improve quality of descriptive comments.  Name variables
1196         consistently as to whether they are lengths (which do not include
1197         terminating null) versus sizes (which do).
1198         * lib/xmemcoll.c (xmemcoll0): Likewise.
1199         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
1200         returned when s1size == 0; this is easier to compile and saves
1201         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
1202
1203 2010-07-12  Bruno Haible  <bruno@clisp.org>
1204
1205         Tests for module '_Exit'.
1206         * modules/_Exit-tests: New file.
1207         * tests/test-_Exit.sh: New file.
1208         * tests/test-_Exit.c: New file.
1209
1210         New module '_Exit'.
1211         * lib/stdlib.in.h (__attribute__): New macro.
1212         (_Exit): New declaration.
1213         * lib/_Exit.c: New file.
1214         * m4/_Exit.m4: New file.
1215         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
1216         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
1217         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
1218         * modules/_Exit: New file.
1219         * tests/test-stdlib-c++.cc (_Exit): Check signature.
1220         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
1221
1222 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
1223
1224         strtod: make it more-accurate typically, and don't require libm
1225         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
1226         Include limits.h.  Don't include string.h.
1227         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
1228         (locale_isspace): New function, so that no casts are needed to
1229         check whether *s is a space.
1230         (ldexp): Provide an unused dummy if not available.
1231         (scale_radix_exp, parse_number, underlying_strtod): New functions.
1232         (strtod): Use them.  This implementation prefers to use the
1233         underlying strtod if available, falling back on our own code
1234         only to fix known bugs.  This is more likely to produce an
1235         accurate result.  Also, it avoids the use of libm functions.
1236         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
1237         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
1238         was absent, but it caused a test failure with coreutils.
1239         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
1240         with libm.
1241         * modules/strtod (Makefile.am, Link): libm is no longer needed.
1242         * modules/strtod-tests (Makefile.am): Likewise.
1243
1244 2010-07-11  Pádraig Brady  <P@draigBrady.com>
1245             Bruno Haible  <bruno@clisp.org>
1246
1247         unistr/u8-strchr: Optimize ASCII argument case.
1248         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
1249
1250 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
1251
1252         (x)memcoll: minor tweaks
1253         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
1254         is after the type that it qualifies.
1255         (memcoll0): Likewise.
1256         * lib/memcoll.h (memcoll0): Likewise.
1257         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
1258         * lib/xmemcoll.h (xmemcoll0): Likewise.
1259         * lib/memcoll.c (memcoll0): Correct the comment.  This function
1260         differs from memcoll in that the NUL byte is part of the argument.
1261         Omit the abort-checks, as performance is a real issue here.  Plus,
1262         the checks were wrong anyway (an off-by-one error).  Omit local
1263         variable 'diff', as it's a bit clearer that way.
1264         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
1265         no longer needed.
1266
1267 2010-07-08  Chen Guo <chenguo4@yahoo.com>
1268
1269         (x)memcoll: speedup when input is known to be NUL delimited
1270         * lib/memcoll.c: Include stdlib.
1271         (memcoll0) New function.
1272         (strcoll_loop) New function, refactored for use in both memcoll
1273         and memcoll0.
1274         * lib/memcoll.h: Add prototype for memcoll0.
1275         * lib/xmemcoll.c: (xmemcoll0) New function.
1276         (collate_error) New function, refactored for use in both xmemcoll
1277         and xmemcoll0.
1278         * lib/xmemcoll.h: Add prototype for xmemcoll0.
1279         * m4/memcoll.m4: add inline invocation.
1280
1281 2010-07-06  Pádraig Brady  <P@draigBrady.com>
1282
1283         * build-aux/bootstrap: Remove any local translations
1284         from the translation project synchronization directory,
1285         so that local only translations are not distributed.
1286
1287 2010-07-04  Bruno Haible  <bruno@clisp.org>
1288
1289         fsusage: Clarify which code applies to which platforms.
1290         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
1291         platform.
1292         * lib/fsusage.c (get_fs_usage): Likewise.
1293
1294 2010-07-04  Bruno Haible  <bruno@clisp.org>
1295
1296         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
1297         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
1298         Reported by Martin Lambers <marlam@marlam.de>.
1299
1300 2010-07-04  Jim Meyering  <meyering@redhat.com>
1301
1302         hash: once again explicitly disallow insertion of NULL
1303         * lib/hash.c (hash_insert0): Reinstate just-removed test:
1304         inserting a NULL pointer cannot work with these functions.
1305         Add a comment with details.
1306         This reverts part of the 2010-07-01 commit, 5bef1a35
1307         "hash: extend module to deal with non-pointer keys".
1308
1309 2010-07-01  Bruno Haible  <bruno@clisp.org>
1310
1311         stdbool: Update doc.
1312         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
1313         Info from Christian Weisgerber <naddy@mips.inka.de>.
1314
1315 2010-07-01  Jim Meyering  <meyering@redhat.com>
1316
1317         hash: extend module to deal with non-pointer keys
1318         * lib/hash.c (hash_insert0): New interface, much like hash_insert
1319         but that allows insertion of non-pointer entries.
1320         Do not disallow an ENTRY value of NULL.
1321         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
1322         * lib/hash.h (hash_insert0): Declare.
1323
1324 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
1325
1326         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
1327         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
1328         not present (i.e. with autoconf 2.59 and when using gettextize, not
1329         gnulib), require AC_GNU_SOURCE instead.
1330
1331 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
1332
1333         idpriv-drop: Fix tests.
1334         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
1335         not to the test-idpriv-droptemp program.
1336
1337 2010-06-29  Bruno Haible  <bruno@clisp.org>
1338
1339         string: Fix syntax error with g++ 2.96.
1340         * lib/string.in.h (__pure__): Remove definition.
1341         (_GL_ATTRIBUTE_PURE): New macro.
1342         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
1343         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
1344         Reported by Christian Weisgerber <naddy@mips.inka.de>.
1345
1346 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
1347
1348         unitypes: Fix bug introduced on 2010-05-18.
1349         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
1350
1351 2010-06-22  Eric Blake  <eblake@redhat.com>
1352
1353         memmem: slight optimization
1354         * lib/str-two-way.h (critical_factorization): Update comments.
1355         Reduce work during factorization phase.
1356         Reported by Carlos Bueno <carlos@bueno.org>.
1357
1358 2010-06-21  Bruno Haible  <bruno@clisp.org>
1359
1360         Fix HAVE_CALLOC_POSIX misnomer.
1361         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
1362         !HAVE_CALLOC_POSIX.
1363         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
1364         HAVE_CALLOC_POSIX.
1365         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
1366         instead of HAVE_CALLOC_POSIX.
1367         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
1368         HAVE_CALLOC_POSIX.
1369
1370         Use modern idiom for calloc() replacement.
1371         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
1372         AC_FUNC_CALLOC.
1373         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
1374         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
1375         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
1376         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
1377         (gl_REPLACE_CALLOC): New macro.
1378
1379 2010-06-21  Bruno Haible  <bruno@clisp.org>
1380
1381         Fix HAVE_REALLOC_POSIX misnomer.
1382         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
1383         !HAVE_REALLOC_POSIX.
1384         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
1385         HAVE_REALLOC_POSIX.
1386         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
1387         instead of HAVE_REALLOC_POSIX.
1388         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
1389         HAVE_REALLOC_POSIX.
1390
1391         Use modern idiom for realloc() replacement.
1392         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
1393         AC_FUNC_REALLOC.
1394         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
1395         Autoconf's AC_FUNC_REALLOC.
1396         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
1397         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
1398         (gl_REPLACE_REALLOC): New macro.
1399         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
1400
1401 2010-06-21  Bruno Haible  <bruno@clisp.org>
1402
1403         Fix HAVE_MALLOC_POSIX misnomer.
1404         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
1405         !HAVE_MALLOC_POSIX.
1406         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
1407         HAVE_MALLOC_POSIX.
1408         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
1409         instead of HAVE_MALLOC_POSIX.
1410         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
1411         HAVE_MALLOC_POSIX.
1412
1413         Use modern idiom for malloc() replacement.
1414         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
1415         AC_FUNC_MALLOC.
1416         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
1417         Autoconf's AC_FUNC_MALLOC.
1418         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
1419         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
1420         (gl_REPLACE_MALLOC): New macro.
1421         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
1422
1423 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
1424
1425         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
1426         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
1427         This macro takes 3 arguments, not 4.
1428
1429 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
1430
1431         ipv6: fix detection under mingw
1432         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
1433         in6_addr.
1434
1435 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
1436
1437         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
1438         that strtod() works when cross-compiling to a glibc version known
1439         to work.
1440
1441 2010-06-15  Bruno Haible  <bruno@clisp.org>
1442
1443         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
1444
1445 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
1446
1447         select: Correct timeout.
1448         * lib/select.c (rpl_select): Compute wait_timeout correctly.
1449
1450 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
1451
1452         git-version-gen: init shell var to avoid env var influence
1453         * build-aux/git-version-gen (v): Init shell var to empty.
1454
1455 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
1456
1457         priv-set: Don't assume that priv.h exists merely because getppriv does.
1458         See Jan Andersen's bug report about AIX 5L in
1459         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
1460         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
1461         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
1462         * lib/priv-set.h: Likewise.
1463         * tests/test-priv-set.c: Likewise.
1464
1465 2010-06-13  Bruno Haible  <bruno@clisp.org>
1466
1467         relocatable: Make it easier to test whether to install wrappers.
1468         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
1469         RELOCATABLE_VIA_WRAPPER.
1470
1471 2010-06-13  Bruno Haible  <bruno@clisp.org>
1472
1473         gnulib-tool: Display specified modules and dependencies differently.
1474         * gnulib-tool (func_show_module_list): New function.
1475         (func_import, func_create_testdir): Invoke it.
1476         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
1477
1478 2010-06-13  Bruno Haible  <bruno@clisp.org>
1479
1480         gnulib-tool: Align code of func_import and func_create_testdir.
1481         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
1482         specified_modules.
1483
1484 2010-06-12  Jim Meyering  <meyering@redhat.com>
1485
1486         test-inttostr: avoid spurious failure on Solaris 9
1487         * tests/test-inttostr.c (main): Skip the test when snprintf fails
1488         to accept "%ju".  Reported by Bruno Haible.
1489
1490 2010-06-11  Jim Meyering  <meyering@redhat.com>
1491
1492         test-sys_socket: mark variables as used more readably
1493         * tests/test-sys_socket.c (main): Mark otherwise unused variables
1494         as "used" explicitly via (void) statement casts.  This is more
1495         readable than using them in an artificial return expression.
1496         Suggestion from Bruno Haible.
1497
1498 2010-06-11  Bruno Haible  <bruno@clisp.org>
1499
1500         Avoid some more warnings from "gcc -Wwrite-strings".
1501         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
1502         to 'const char *'.
1503         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
1504         * tests/test-c-strcasestr.c (main): Likewise.
1505         * tests/test-mbscasestr1.c (main): Likewise.
1506         * tests/test-mbscasestr2.c (main): Likewise.
1507         * tests/test-memmem.c (main): Likewise.
1508         * tests/test-strstr.c (main): Likewise.
1509         * tests/test-strcasestr.c (main): Likewise.
1510
1511 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1512
1513         init.sh: change framework_failure_ to fail with status 99, not 1
1514         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
1515         automake's parallel-tests rule that this is an unexpected failure,
1516         even if the test is listed in XFAIL_TESTS.
1517
1518 2010-06-11  Jim Meyering  <meyering@redhat.com>
1519
1520         test-inttostr: avoid warnings about 4-6KB literal strings
1521         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
1522         Include "macros.h", for its definition of ASSERT.
1523         (CK): s/assert/ASSERT/
1524         * modules/inttostr-tests (Files): Add macros.h.
1525
1526         init.sh: don't use $ME_ or skip_ before they are defined
1527         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
1528         their first uses.  Also hoist their companions: warn_, fail_,
1529         framework_failure_, $stderr_fileno.  Prompted by a patch from
1530         Stefano Lattarini.
1531
1532         test-sys_socket: avoid set-but-not-used warnings from gcc
1533         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
1534         avoid warning about set-but-not-used variables.
1535
1536         test-xvasprintf: avoid 'const' discard warnings
1537         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
1538         "const" when assigning from literal strings.
1539         (test_xasprintf): Add "void" in function argument list to placate
1540         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
1541
1542         tests: avoid compilation warnings in argmatch and exclude tests...
1543         in packages that define ARGMATCH_DIE_DECL, like coreutils.
1544         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
1545         Since it always exits, declare with the "noreturn" attribute.
1546         * tests/test-argmatch.c: Likewise.
1547
1548         tests: avoid 'const' discard warnings in mbsstr tests
1549         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
1550         * tests/test-mbsstr2.c (main): Likewise.
1551
1552         test-verify: avoid warning from gcc's -Wmissing-declarations
1553         * tests/test-verify.c (function): Declare to be static.
1554
1555         test-inttostr.c: include <string.h> for use of strcmp
1556         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
1557
1558         test-linkat: avoid failed assertion on "other" architectures
1559         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
1560         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
1561         sparc: https://bugs.launchpad.net/bugs/591968
1562
1563 2010-06-11  Jim Meyering  <meyering@redhat.com>
1564
1565         printf.m4: avoid autoconf's "Expanded Before Required" warning
1566         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
1567         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
1568         autoconf warning.
1569
1570 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
1571
1572         Replacement header templates are now named with ".in", not "_".
1573         * doc/gnulib-intro.texi: Correct.
1574
1575 2010-06-10  Jim Meyering  <meyering@redhat.com>
1576
1577         inttostr-tests: depend on snprintf, not snprintf-posix
1578         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
1579         snprintf-posix, to avoid this aclocal failure:
1580           missing file gnulib-tests/vasnprintf.c
1581           configure.ac:45: error: expected source file, required through \
1582           AC_LIBSOURCES, not found
1583
1584 2010-06-10  Jim Meyering  <meyering@redhat.com>
1585
1586         inttostr: add a new function, inttostr, and tests
1587         The namesake function was not available.  The existence of the
1588         template file, inttostr.c makes its addition nontrivial.
1589         * lib/anytostr.c: Rename from inttostr.c.
1590         (anytostr): Rename from inttostr.
1591         * lib/inttostr.c: New file.
1592         * modules/inttostr (Files): Add anytostr.c.
1593         (Makefile.am): Set lib_SOURCES instead of ...
1594         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
1595         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
1596         * lib/offtostr.c: Likewise.
1597         * lib/uinttostr.c: Likewise.
1598         * lib/umaxtostr.c: Likewise.
1599         * modules/inttostr-tests: New file.
1600         * tests/test-inttostr.c: New file.  Test these functions.
1601
1602 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
1603             Bruno Haible  <bruno@clisp.org>
1604
1605         Add "Extending Gnulib" chapter to manual.
1606         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
1607         chapter.
1608         (Extending Gnulib): New chapter.
1609         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
1610         chapter.
1611
1612 2010-06-09  Bruno Haible  <bruno@clisp.org>
1613
1614         Avoid relocwrapper link errors due to gnulib replacement functions.
1615         * lib/areadlink.c: Use the system's malloc, realloc functions.
1616         (areadlink): Set errno to ENOMEM explicitly.
1617         * modules/areadlink (Depends-on): Remove malloc-posix.
1618         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1619
1620 2010-06-09  Bruno Haible  <bruno@clisp.org>
1621
1622         Avoid relocwrapper link errors due to gnulib replacement functions.
1623         * lib/canonicalize-lgpl.c: Use the system's malloc function.
1624         * lib/malloca.c: Likewise.
1625         * lib/relocatable.c: Likewise.
1626         * lib/progreloc.c: Use the system's malloc, sprintf functions.
1627         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
1628         * lib/setenv.c: Use the system's malloc, realloc functions.
1629         * lib/strerror.c: Use the system's sprintf function.
1630         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1631
1632 2010-06-04  Bruno Haible  <bruno@clisp.org>
1633
1634         Prefer documented low-level autoconf macro names.
1635         * m4/lib-link.m4: Use m4_translit instead of translit.
1636         * m4/environ.m4: Likewise.
1637         * m4/mathfunc.m4: Likewise.
1638         * m4/onceonly.m4: Likewise.
1639         * m4/stdint.m4: Likewise.
1640         Suggested by Eric Blake.
1641
1642 2010-06-04  Martin Lambers  <marlam@marlam.de>
1643             Bruno Haible  <bruno@clisp.org>
1644
1645         havelib: Allow library names with '+' characters.
1646         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
1647         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
1648
1649 2010-06-09  Bruno Haible  <bruno@clisp.org>
1650
1651         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
1652         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
1653         realloc failed.
1654
1655 2010-06-08  Peter Simons  <simons@cryp.to>
1656
1657         maint.mk: make the news-check rule more configurable
1658         * top/maint.mk (news-check-lines-spec) New variable.
1659         (news-check): Use "sed -n 1,10p" in place of "head".
1660
1661 2010-06-07  Jim Meyering  <meyering@redhat.com>
1662
1663         do-release-commit-and-tag: fix typo in --help
1664         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
1665
1666         regex: avoid new dead-code warning with gcc-4.6.0
1667         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
1668         if-block containing a while-loop.  It's been unused for at least
1669         5 years.
1670
1671 2010-06-05  Bruno Haible  <bruno@clisp.org>
1672
1673         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
1674         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
1675
1676 2010-06-04  Bruno Haible  <bruno@clisp.org>
1677
1678         Update to GNU gettext 0.18.1.
1679         * modules/gettext (configure.ac): Require gettext infrastructure from
1680         version 0.18.1.
1681
1682 2010-06-03  Bruno Haible  <bruno@clisp.org>
1683
1684         Don't use AC_LIBOBJ with file names in subdirectories.
1685         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
1686         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
1687         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
1688         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
1689         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
1690         gl_LIBUNISTRING_LIBSOURCE.
1691         (Makefile.am): Augment lib_SOURCES here, conditionally.
1692         * NEWS: Drop requirement for Automake option 'subdir-objects'.
1693
1694 2010-06-03  Bruno Haible  <bruno@clisp.org>
1695
1696         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
1697         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
1698         expansion does not end with a newline.
1699         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
1700         unnecessary newline.
1701
1702 2010-06-03  Bruno Haible  <bruno@clisp.org>
1703
1704         Reduce dependencies.
1705         * tests/test-quotearg.h: New file, extracted from
1706         tests/test-quotearg.c.
1707         * tests/test-quotearg-simple.c: New file, extracted from
1708         tests/test-quotearg.c.
1709         * tests/test-quotearg.c: Don't include <ctype.h>.
1710         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
1711         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
1712         use_quote_double_quotes, use_quotearg_colon): Moved to
1713         tests/test-quotearg.h.
1714         (results_g, flag_results, custom_quotes, custom_results): Moved
1715         to tests/test-quotearg-simple.c.
1716         (main): Moved the part that does not depend on gettext to
1717         tests/test-quotearg-simple.c. Return 77 if the test cannot be
1718         performed.
1719         * modules/quotearg-simple: New file.
1720         * modules/quotearg-simple-tests: New file.
1721         * modules/quotearg (Depends-on): Add quotearg-simple.
1722         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
1723         (Files): Add tests/test-quotearg.h.
1724         Reported by Paolo Bonzini.
1725
1726 2010-06-03  Bruno Haible  <bruno@clisp.org>
1727
1728         Reduce dependencies.
1729         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
1730
1731 2010-06-03  Bruno Haible  <bruno@clisp.org>
1732
1733         time: Undefine more broken macros.
1734         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
1735         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
1736         Reported by Eric Blake.
1737
1738 2010-06-03  Bruno Haible  <bruno@clisp.org>
1739
1740         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
1741         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
1742         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
1743         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
1744         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
1745         Reported by Ludovic Courtès <ludo@gnu.org>.
1746
1747 2010-06-02  Eric Blake  <eblake@redhat.com>
1748
1749         time: work with mingw + pthreads-win32 library
1750         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
1751         if timespec is defined only in pthread.h.
1752         * modules/time (Makefile.am): Substitute it.
1753         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
1754         <pthread.h>, when needed.
1755         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
1756         from the library.
1757
1758 2010-05-31  Bruno Haible  <bruno@clisp.org>
1759
1760         Avoid expanding two macros in the wrong order.
1761         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
1762         gl_LIBUNISTRING if it is defined.
1763         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
1764         autoconf >= 2.64.
1765         Reported by Ludovic Courtès <ludo@gnu.org>.
1766
1767 2010-05-27  Jim Meyering  <meyering@redhat.com>
1768
1769         maint.mk: also prohibit "#undef" of always-defined symbols
1770         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
1771         Allow more than one space before the symbol name.
1772         (sc_prohibit_always-defined_macros): Use grep's -E, now that
1773         the regexp uses alternation.
1774
1775 2010-05-26  Eric Blake  <eblake@redhat.com>
1776
1777         maint.mk: avoid echo -e
1778         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
1779         Convert all uses of echo -* to printf.
1780         Reported by Matthias Bolte.
1781
1782 2010-05-25  Bruno Haible  <bruno@clisp.org>
1783
1784         Update to GNU gettext 0.18, part 2.
1785         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
1786         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
1787
1788 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1789
1790         Add missing include in test-pwrite.c.
1791         * tests/test-pwrite.c: Include string.h, for strcmp.
1792
1793 2010-05-24  Bruno Haible  <bruno@clisp.org>
1794
1795         * NEWS: Mention requirement for Automake option 'subdir-objects'.
1796
1797 2010-05-24  Bruno Haible  <bruno@clisp.org>
1798
1799         Don't use conversion with transliteration in u{8,16,32}_strcoll.
1800         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
1801         iconveh_error argument.
1802         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
1803         U_STRCONV_TO_LOCALE.
1804         * lib/unistr/u16-strcoll.c: Likewise.
1805         * lib/unistr/u32-strcoll.c: Likewise.
1806         * modules/unistr/u8-strcoll (Depends-on): Add
1807         uniconv/u8-strconv-to-enc, localcharset. Remove
1808         uniconv/u8-strconv-to-locale.
1809         (configure.ac): Bump version number.
1810         * modules/unistr/u16-strcoll (Depends-on): Add
1811         uniconv/u16-strconv-to-enc, localcharset. Remove
1812         uniconv/u16-strconv-to-locale.
1813         (configure.ac): Bump version number.
1814         * modules/unistr/u32-strcoll (Depends-on): Add
1815         uniconv/u32-strconv-to-enc, localcharset. Remove
1816         uniconv/u32-strconv-to-locale.
1817         (configure.ac): Bump version number.
1818
1819 2010-05-24  Bruno Haible  <bruno@clisp.org>
1820
1821         Avoid a test failure on NetBSD 5.0.
1822         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
1823         an iconv() bug.
1824
1825 2010-05-24  Bruno Haible  <bruno@clisp.org>
1826
1827         Adjust #include directive style.
1828         * modules/regex (Includes): Recommend to write <regex.h>.
1829
1830 2010-05-24  Bruno Haible  <bruno@clisp.org>
1831
1832         regex: Don't require alloca.
1833         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
1834         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
1835         only inside if (0).
1836
1837 2010-05-23  Jim Meyering  <meyering@redhat.com>
1838
1839         test-renameat.c: include <sys/stat.h>
1840         * tests/test-renameat.c: Include <sys/stat.h>; required for
1841         definition of S_IS* macros.
1842
1843 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
1844
1845         Update maintainer documentation for 'relocatable-prog' module.
1846         * doc/relocatable-maint.texi: Update.
1847         Comments by Bruno Haible.
1848
1849 2010-05-23  Bruno Haible  <bruno@clisp.org>
1850
1851         git-merge-changelog: Enable --split-merged-entry by default.
1852         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
1853         (usage): Don't mention this option any more.
1854         Reported by Ralf Wildenhues.
1855
1856 2010-05-23  Jim Meyering  <meyering@redhat.com>
1857
1858         test-pwrite: do not leave behind a test file named "out"
1859         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
1860         The trivial-looking use of init.sh is really necessary.
1861         It ensures that the temporary file, "out", is created in
1862         a temporary directory, and removed upon termination.
1863         * tests/test-pwrite.sh: Re-add file.
1864         * modules/pwrite-tests: Reference it.
1865
1866 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1867
1868         Fix output redirection buglet in init.sh.
1869         * tests/init.sh: Fix redirection of stderr.
1870
1871 2010-05-20  Simon Josefsson  <simon@josefsson.org>
1872
1873         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
1874
1875 2010-05-17  Simon Josefsson  <simon@josefsson.org>
1876
1877         * modules/valgrind-tests: New file.
1878         * m4/valgrind-tests.m4: New file.
1879         * doc/valgrind-tests.texi: New file.
1880         * doc/gnulib.texi (Running self-tests under valgrind): New
1881         section.
1882
1883 2010-05-19  Bruno Haible  <bruno@clisp.org>
1884
1885         Clean up dead code in recent commit.
1886         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
1887         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
1888         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
1889         Suggested by Paolo Bonzini.
1890
1891 2010-05-19  Bruno Haible  <bruno@clisp.org>
1892
1893         Avoid valgrind error reports from libunistring.
1894         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
1895         * modules/libunistring (Files): Add it.
1896         * modules/libunistring-optional (Files): Likewise.
1897
1898 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
1899             Bruno Haible  <bruno@clisp.org>
1900
1901         New module 'libunistring-optional'.
1902         * modules/libunistring-optional: New file.
1903         * m4/libunistring-base.m4: New file.
1904         * m4/libunistring-optional.m4: New file.
1905         * lib/unicase.in.h: Renamed from lib/unicase.h.
1906         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
1907         * lib/unictype.in.h: Renamed from lib/unictype.h.
1908         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
1909         * lib/uniname.in.h: Renamed from lib/uniname.h.
1910         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
1911         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
1912         * lib/unistr.in.h: Renamed from lib/unistr.h.
1913         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
1914         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
1915         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
1916         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
1917         gl_LIBUNISTRING. If the library was found, determine the installed
1918         version and set LIBUNISTRING_VERSION.
1919         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
1920         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
1921         handle a configuration option --with-included-libunistring.
1922         * modules/libunistring (Files): Add m4/absolute-header.m4.
1923         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
1924         Add m4/libunistring-base.m4.
1925         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1926         (Makefile.am): Build unicase.h from unicase.in.h.
1927         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
1928         Add m4/libunistring-base.m4.
1929         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1930         (Makefile.am): Build uniconv.h from uniconv.in.h.
1931         * modules/unictype/base (Files): Use unictype.in.h instead of
1932         unictype.h. Add m4/libunistring-base.m4.
1933         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1934         (Makefile.am): Build unictype.h from unictype.in.h.
1935         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
1936         Add m4/libunistring-base.m4.
1937         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1938         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
1939         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
1940         Add m4/libunistring-base.m4.
1941         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1942         (Makefile.am): Build uniname.h from uniname.in.h.
1943         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
1944         Add m4/libunistring-base.m4.
1945         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1946         (Makefile.am): Build uninorm.h from uninorm.in.h.
1947         * modules/unistdio/base (Files): Use unistdio.in.h instead of
1948         unistdio.h. Add m4/libunistring-base.m4.
1949         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1950         (Makefile.am): Build unistdio.h from unistdio.in.h.
1951         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
1952         Add m4/libunistring-base.m4.
1953         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1954         (Makefile.am): Build unistr.h from unistr.in.h.
1955         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
1956         Add m4/libunistring-base.m4.
1957         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1958         (Makefile.am): Build unitypes.h from unitypes.in.h.
1959         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
1960         Add m4/libunistring-base.m4.
1961         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1962         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
1963         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
1964         uniwidth.h. Add m4/libunistring-base.m4.
1965         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
1966         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
1967         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
1968         instead of augmenting lib_SOURCES.
1969         * modules/unicase/empty-suffix-context: Likewise.
1970         * modules/unicase/locale-language: Likewise.
1971         * modules/unicase/tolower: Likewise.
1972         * modules/unicase/totitle: Likewise.
1973         * modules/unicase/toupper: Likewise.
1974         * modules/unicase/u8-casecmp: Likewise.
1975         * modules/unicase/u8-casecoll: Likewise.
1976         * modules/unicase/u8-casefold: Likewise.
1977         * modules/unicase/u8-casexfrm: Likewise.
1978         * modules/unicase/u8-ct-casefold: Likewise.
1979         * modules/unicase/u8-ct-tolower: Likewise.
1980         * modules/unicase/u8-ct-totitle: Likewise.
1981         * modules/unicase/u8-ct-toupper: Likewise.
1982         * modules/unicase/u8-is-cased: Likewise.
1983         * modules/unicase/u8-is-casefolded: Likewise.
1984         * modules/unicase/u8-is-lowercase: Likewise.
1985         * modules/unicase/u8-is-titlecase: Likewise.
1986         * modules/unicase/u8-is-uppercase: Likewise.
1987         * modules/unicase/u8-prefix-context: Likewise.
1988         * modules/unicase/u8-suffix-context: Likewise.
1989         * modules/unicase/u8-tolower: Likewise.
1990         * modules/unicase/u8-totitle: Likewise.
1991         * modules/unicase/u8-toupper: Likewise.
1992         * modules/unicase/u16-casecmp: Likewise.
1993         * modules/unicase/u16-casecoll: Likewise.
1994         * modules/unicase/u16-casefold: Likewise.
1995         * modules/unicase/u16-casexfrm: Likewise.
1996         * modules/unicase/u16-ct-casefold: Likewise.
1997         * modules/unicase/u16-ct-tolower: Likewise.
1998         * modules/unicase/u16-ct-totitle: Likewise.
1999         * modules/unicase/u16-ct-toupper: Likewise.
2000         * modules/unicase/u16-is-cased: Likewise.
2001         * modules/unicase/u16-is-casefolded: Likewise.
2002         * modules/unicase/u16-is-lowercase: Likewise.
2003         * modules/unicase/u16-is-titlecase: Likewise.
2004         * modules/unicase/u16-is-uppercase: Likewise.
2005         * modules/unicase/u16-prefix-context: Likewise.
2006         * modules/unicase/u16-suffix-context: Likewise.
2007         * modules/unicase/u16-tolower: Likewise.
2008         * modules/unicase/u16-totitle: Likewise.
2009         * modules/unicase/u16-toupper: Likewise.
2010         * modules/unicase/u32-casecmp: Likewise.
2011         * modules/unicase/u32-casecoll: Likewise.
2012         * modules/unicase/u32-casefold: Likewise.
2013         * modules/unicase/u32-casexfrm: Likewise.
2014         * modules/unicase/u32-ct-casefold: Likewise.
2015         * modules/unicase/u32-ct-tolower: Likewise.
2016         * modules/unicase/u32-ct-totitle: Likewise.
2017         * modules/unicase/u32-ct-toupper: Likewise.
2018         * modules/unicase/u32-is-cased: Likewise.
2019         * modules/unicase/u32-is-casefolded: Likewise.
2020         * modules/unicase/u32-is-lowercase: Likewise.
2021         * modules/unicase/u32-is-titlecase: Likewise.
2022         * modules/unicase/u32-is-uppercase: Likewise.
2023         * modules/unicase/u32-prefix-context: Likewise.
2024         * modules/unicase/u32-suffix-context: Likewise.
2025         * modules/unicase/u32-tolower: Likewise.
2026         * modules/unicase/u32-totitle: Likewise.
2027         * modules/unicase/u32-toupper: Likewise.
2028         * modules/unicase/ulc-casecmp: Likewise.
2029         * modules/unicase/ulc-casecoll: Likewise.
2030         * modules/unicase/ulc-casexfrm: Likewise.
2031         * modules/uniconv/u8-conv-from-enc: Likewise.
2032         * modules/uniconv/u8-conv-to-enc: Likewise.
2033         * modules/uniconv/u8-strconv-from-enc: Likewise.
2034         * modules/uniconv/u8-strconv-from-locale: Likewise.
2035         * modules/uniconv/u8-strconv-to-enc: Likewise.
2036         * modules/uniconv/u8-strconv-to-locale: Likewise.
2037         * modules/uniconv/u16-conv-from-enc: Likewise.
2038         * modules/uniconv/u16-conv-to-enc: Likewise.
2039         * modules/uniconv/u16-strconv-from-enc: Likewise.
2040         * modules/uniconv/u16-strconv-from-locale: Likewise.
2041         * modules/uniconv/u16-strconv-to-enc: Likewise.
2042         * modules/uniconv/u16-strconv-to-locale: Likewise.
2043         * modules/uniconv/u32-conv-from-enc: Likewise.
2044         * modules/uniconv/u32-conv-to-enc: Likewise.
2045         * modules/uniconv/u32-strconv-from-enc: Likewise.
2046         * modules/uniconv/u32-strconv-from-locale: Likewise.
2047         * modules/uniconv/u32-strconv-to-enc: Likewise.
2048         * modules/uniconv/u32-strconv-to-locale: Likewise.
2049         * modules/unictype/bidicategory-byname: Likewise.
2050         * modules/unictype/bidicategory-name: Likewise.
2051         * modules/unictype/bidicategory-of: Likewise.
2052         * modules/unictype/bidicategory-test: Likewise.
2053         * modules/unictype/block-list: Likewise.
2054         * modules/unictype/block-test: Likewise.
2055         * modules/unictype/category-C: Likewise.
2056         * modules/unictype/category-Cc: Likewise.
2057         * modules/unictype/category-Cf: Likewise.
2058         * modules/unictype/category-Cn: Likewise.
2059         * modules/unictype/category-Co: Likewise.
2060         * modules/unictype/category-Cs: Likewise.
2061         * modules/unictype/category-L: Likewise.
2062         * modules/unictype/category-Ll: Likewise.
2063         * modules/unictype/category-Lm: Likewise.
2064         * modules/unictype/category-Lo: Likewise.
2065         * modules/unictype/category-Lt: Likewise.
2066         * modules/unictype/category-Lu: Likewise.
2067         * modules/unictype/category-M: Likewise.
2068         * modules/unictype/category-Mc: Likewise.
2069         * modules/unictype/category-Me: Likewise.
2070         * modules/unictype/category-Mn: Likewise.
2071         * modules/unictype/category-N: Likewise.
2072         * modules/unictype/category-Nd: Likewise.
2073         * modules/unictype/category-Nl: Likewise.
2074         * modules/unictype/category-No: Likewise.
2075         * modules/unictype/category-P: Likewise.
2076         * modules/unictype/category-Pc: Likewise.
2077         * modules/unictype/category-Pd: Likewise.
2078         * modules/unictype/category-Pe: Likewise.
2079         * modules/unictype/category-Pf: Likewise.
2080         * modules/unictype/category-Pi: Likewise.
2081         * modules/unictype/category-Po: Likewise.
2082         * modules/unictype/category-Ps: Likewise.
2083         * modules/unictype/category-S: Likewise.
2084         * modules/unictype/category-Sc: Likewise.
2085         * modules/unictype/category-Sk: Likewise.
2086         * modules/unictype/category-Sm: Likewise.
2087         * modules/unictype/category-So: Likewise.
2088         * modules/unictype/category-Z: Likewise.
2089         * modules/unictype/category-Zl: Likewise.
2090         * modules/unictype/category-Zp: Likewise.
2091         * modules/unictype/category-Zs: Likewise.
2092         * modules/unictype/category-and: Likewise.
2093         * modules/unictype/category-and-not: Likewise.
2094         * modules/unictype/category-byname: Likewise.
2095         * modules/unictype/category-name: Likewise.
2096         * modules/unictype/category-none: Likewise.
2097         * modules/unictype/category-of: Likewise.
2098         * modules/unictype/category-or: Likewise.
2099         * modules/unictype/category-test: Likewise.
2100         * modules/unictype/combining-class: Likewise.
2101         * modules/unictype/ctype-alnum: Likewise.
2102         * modules/unictype/ctype-alpha: Likewise.
2103         * modules/unictype/ctype-blank: Likewise.
2104         * modules/unictype/ctype-cntrl: Likewise.
2105         * modules/unictype/ctype-digit: Likewise.
2106         * modules/unictype/ctype-graph: Likewise.
2107         * modules/unictype/ctype-lower: Likewise.
2108         * modules/unictype/ctype-print: Likewise.
2109         * modules/unictype/ctype-punct: Likewise.
2110         * modules/unictype/ctype-space: Likewise.
2111         * modules/unictype/ctype-upper: Likewise.
2112         * modules/unictype/ctype-xdigit: Likewise.
2113         * modules/unictype/decimal-digit: Likewise.
2114         * modules/unictype/digit: Likewise.
2115         * modules/unictype/mirror: Likewise.
2116         * modules/unictype/numeric: Likewise.
2117         * modules/unictype/property-alphabetic: Likewise.
2118         * modules/unictype/property-ascii-hex-digit: Likewise.
2119         * modules/unictype/property-bidi-arabic-digit: Likewise.
2120         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
2121         * modules/unictype/property-bidi-block-separator: Likewise.
2122         * modules/unictype/property-bidi-boundary-neutral: Likewise.
2123         * modules/unictype/property-bidi-common-separator: Likewise.
2124         * modules/unictype/property-bidi-control: Likewise.
2125         * modules/unictype/property-bidi-embedding-or-override: Likewise.
2126         * modules/unictype/property-bidi-eur-num-separator: Likewise.
2127         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
2128         * modules/unictype/property-bidi-european-digit: Likewise.
2129         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
2130         * modules/unictype/property-bidi-left-to-right: Likewise.
2131         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
2132         * modules/unictype/property-bidi-other-neutral: Likewise.
2133         * modules/unictype/property-bidi-pdf: Likewise.
2134         * modules/unictype/property-bidi-segment-separator: Likewise.
2135         * modules/unictype/property-bidi-whitespace: Likewise.
2136         * modules/unictype/property-byname: Likewise.
2137         * modules/unictype/property-combining: Likewise.
2138         * modules/unictype/property-composite: Likewise.
2139         * modules/unictype/property-currency-symbol: Likewise.
2140         * modules/unictype/property-dash: Likewise.
2141         * modules/unictype/property-decimal-digit: Likewise.
2142         * modules/unictype/property-default-ignorable-code-point: Likewise.
2143         * modules/unictype/property-deprecated: Likewise.
2144         * modules/unictype/property-diacritic: Likewise.
2145         * modules/unictype/property-extender: Likewise.
2146         * modules/unictype/property-format-control: Likewise.
2147         * modules/unictype/property-grapheme-base: Likewise.
2148         * modules/unictype/property-grapheme-extend: Likewise.
2149         * modules/unictype/property-grapheme-link: Likewise.
2150         * modules/unictype/property-hex-digit: Likewise.
2151         * modules/unictype/property-hyphen: Likewise.
2152         * modules/unictype/property-id-continue: Likewise.
2153         * modules/unictype/property-id-start: Likewise.
2154         * modules/unictype/property-ideographic: Likewise.
2155         * modules/unictype/property-ids-binary-operator: Likewise.
2156         * modules/unictype/property-ids-trinary-operator: Likewise.
2157         * modules/unictype/property-ignorable-control: Likewise.
2158         * modules/unictype/property-iso-control: Likewise.
2159         * modules/unictype/property-join-control: Likewise.
2160         * modules/unictype/property-left-of-pair: Likewise.
2161         * modules/unictype/property-line-separator: Likewise.
2162         * modules/unictype/property-logical-order-exception: Likewise.
2163         * modules/unictype/property-lowercase: Likewise.
2164         * modules/unictype/property-math: Likewise.
2165         * modules/unictype/property-non-break: Likewise.
2166         * modules/unictype/property-not-a-character: Likewise.
2167         * modules/unictype/property-numeric: Likewise.
2168         * modules/unictype/property-other-alphabetic: Likewise.
2169         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
2170         * modules/unictype/property-other-grapheme-extend: Likewise.
2171         * modules/unictype/property-other-id-continue: Likewise.
2172         * modules/unictype/property-other-id-start: Likewise.
2173         * modules/unictype/property-other-lowercase: Likewise.
2174         * modules/unictype/property-other-math: Likewise.
2175         * modules/unictype/property-other-uppercase: Likewise.
2176         * modules/unictype/property-paired-punctuation: Likewise.
2177         * modules/unictype/property-paragraph-separator: Likewise.
2178         * modules/unictype/property-pattern-syntax: Likewise.
2179         * modules/unictype/property-pattern-white-space: Likewise.
2180         * modules/unictype/property-private-use: Likewise.
2181         * modules/unictype/property-punctuation: Likewise.
2182         * modules/unictype/property-quotation-mark: Likewise.
2183         * modules/unictype/property-radical: Likewise.
2184         * modules/unictype/property-sentence-terminal: Likewise.
2185         * modules/unictype/property-soft-dotted: Likewise.
2186         * modules/unictype/property-space: Likewise.
2187         * modules/unictype/property-terminal-punctuation: Likewise.
2188         * modules/unictype/property-test: Likewise.
2189         * modules/unictype/property-titlecase: Likewise.
2190         * modules/unictype/property-unassigned-code-value: Likewise.
2191         * modules/unictype/property-unified-ideograph: Likewise.
2192         * modules/unictype/property-uppercase: Likewise.
2193         * modules/unictype/property-variation-selector: Likewise.
2194         * modules/unictype/property-white-space: Likewise.
2195         * modules/unictype/property-xid-continue: Likewise.
2196         * modules/unictype/property-xid-start: Likewise.
2197         * modules/unictype/property-zero-width: Likewise.
2198         * modules/unictype/scripts: Likewise.
2199         * modules/unictype/syntax-c-ident: Likewise.
2200         * modules/unictype/syntax-c-whitespace: Likewise.
2201         * modules/unictype/syntax-java-ident: Likewise.
2202         * modules/unictype/syntax-java-whitespace: Likewise.
2203         * modules/unilbrk/u8-possible-linebreaks: Likewise.
2204         * modules/unilbrk/u8-width-linebreaks: Likewise.
2205         * modules/unilbrk/u16-possible-linebreaks: Likewise.
2206         * modules/unilbrk/u16-width-linebreaks: Likewise.
2207         * modules/unilbrk/u32-possible-linebreaks: Likewise.
2208         * modules/unilbrk/u32-width-linebreaks: Likewise.
2209         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
2210         * modules/unilbrk/ulc-width-linebreaks: Likewise.
2211         * modules/uniname/uniname: Likewise.
2212         * modules/uninorm/canonical-decomposition: Likewise.
2213         * modules/uninorm/composition: Likewise.
2214         * modules/uninorm/decomposing-form: Likewise.
2215         * modules/uninorm/decomposition: Likewise.
2216         * modules/uninorm/filter: Likewise.
2217         * modules/uninorm/nfc: Likewise.
2218         * modules/uninorm/nfd: Likewise.
2219         * modules/uninorm/nfkc: Likewise.
2220         * modules/uninorm/nfkd: Likewise.
2221         * modules/uninorm/u8-normalize: Likewise.
2222         * modules/uninorm/u8-normcmp: Likewise.
2223         * modules/uninorm/u8-normcoll: Likewise.
2224         * modules/uninorm/u8-normxfrm: Likewise.
2225         * modules/uninorm/u16-normalize: Likewise.
2226         * modules/uninorm/u16-normcmp: Likewise.
2227         * modules/uninorm/u16-normcoll: Likewise.
2228         * modules/uninorm/u16-normxfrm: Likewise.
2229         * modules/uninorm/u32-normalize: Likewise.
2230         * modules/uninorm/u32-normcmp: Likewise.
2231         * modules/uninorm/u32-normcoll: Likewise.
2232         * modules/uninorm/u32-normxfrm: Likewise.
2233         * modules/unistdio/u8-asnprintf: Likewise.
2234         * modules/unistdio/u8-asprintf: Likewise.
2235         * modules/unistdio/u8-snprintf: Likewise.
2236         * modules/unistdio/u8-sprintf: Likewise.
2237         * modules/unistdio/u8-u8-asnprintf: Likewise.
2238         * modules/unistdio/u8-u8-asprintf: Likewise.
2239         * modules/unistdio/u8-u8-snprintf: Likewise.
2240         * modules/unistdio/u8-u8-sprintf: Likewise.
2241         * modules/unistdio/u8-u8-vasnprintf: Likewise.
2242         * modules/unistdio/u8-u8-vasprintf: Likewise.
2243         * modules/unistdio/u8-u8-vsnprintf: Likewise.
2244         * modules/unistdio/u8-u8-vsprintf: Likewise.
2245         * modules/unistdio/u8-vasnprintf: Likewise.
2246         * modules/unistdio/u8-vasprintf: Likewise.
2247         * modules/unistdio/u8-vsnprintf: Likewise.
2248         * modules/unistdio/u8-vsprintf: Likewise.
2249         * modules/unistdio/u16-asnprintf: Likewise.
2250         * modules/unistdio/u16-asprintf: Likewise.
2251         * modules/unistdio/u16-snprintf: Likewise.
2252         * modules/unistdio/u16-sprintf: Likewise.
2253         * modules/unistdio/u16-u16-asnprintf: Likewise.
2254         * modules/unistdio/u16-u16-asprintf: Likewise.
2255         * modules/unistdio/u16-u16-snprintf: Likewise.
2256         * modules/unistdio/u16-u16-sprintf: Likewise.
2257         * modules/unistdio/u16-u16-vasnprintf: Likewise.
2258         * modules/unistdio/u16-u16-vasprintf: Likewise.
2259         * modules/unistdio/u16-u16-vsnprintf: Likewise.
2260         * modules/unistdio/u16-u16-vsprintf: Likewise.
2261         * modules/unistdio/u16-vasnprintf: Likewise.
2262         * modules/unistdio/u16-vasprintf: Likewise.
2263         * modules/unistdio/u16-vsnprintf: Likewise.
2264         * modules/unistdio/u16-vsprintf: Likewise.
2265         * modules/unistdio/u32-asnprintf: Likewise.
2266         * modules/unistdio/u32-asprintf: Likewise.
2267         * modules/unistdio/u32-snprintf: Likewise.
2268         * modules/unistdio/u32-sprintf: Likewise.
2269         * modules/unistdio/u32-u32-asnprintf: Likewise.
2270         * modules/unistdio/u32-u32-asprintf: Likewise.
2271         * modules/unistdio/u32-u32-snprintf: Likewise.
2272         * modules/unistdio/u32-u32-sprintf: Likewise.
2273         * modules/unistdio/u32-u32-vasnprintf: Likewise.
2274         * modules/unistdio/u32-u32-vasprintf: Likewise.
2275         * modules/unistdio/u32-u32-vsnprintf: Likewise.
2276         * modules/unistdio/u32-u32-vsprintf: Likewise.
2277         * modules/unistdio/u32-vasnprintf: Likewise.
2278         * modules/unistdio/u32-vasprintf: Likewise.
2279         * modules/unistdio/u32-vsnprintf: Likewise.
2280         * modules/unistdio/u32-vsprintf: Likewise.
2281         * modules/unistdio/ulc-asnprintf: Likewise.
2282         * modules/unistdio/ulc-asprintf: Likewise.
2283         * modules/unistdio/ulc-fprintf: Likewise.
2284         * modules/unistdio/ulc-snprintf: Likewise.
2285         * modules/unistdio/ulc-sprintf: Likewise.
2286         * modules/unistdio/ulc-vasnprintf: Likewise.
2287         * modules/unistdio/ulc-vasprintf: Likewise.
2288         * modules/unistdio/ulc-vfprintf: Likewise.
2289         * modules/unistdio/ulc-vsnprintf: Likewise.
2290         * modules/unistdio/ulc-vsprintf: Likewise.
2291         * modules/unistr/u8-check: Likewise.
2292         * modules/unistr/u8-chr: Likewise.
2293         * modules/unistr/u8-cmp: Likewise.
2294         * modules/unistr/u8-cmp2: Likewise.
2295         * modules/unistr/u8-cpy: Likewise.
2296         * modules/unistr/u8-cpy-alloc: Likewise.
2297         * modules/unistr/u8-endswith: Likewise.
2298         * modules/unistr/u8-mblen: Likewise.
2299         * modules/unistr/u8-mbsnlen: Likewise.
2300         * modules/unistr/u8-mbtouc: Likewise.
2301         * modules/unistr/u8-mbtouc-unsafe: Likewise.
2302         * modules/unistr/u8-mbtoucr: Likewise.
2303         * modules/unistr/u8-move: Likewise.
2304         * modules/unistr/u8-next: Likewise.
2305         * modules/unistr/u8-prev: Likewise.
2306         * modules/unistr/u8-set: Likewise.
2307         * modules/unistr/u8-startswith: Likewise.
2308         * modules/unistr/u8-stpcpy: Likewise.
2309         * modules/unistr/u8-stpncpy: Likewise.
2310         * modules/unistr/u8-strcat: Likewise.
2311         * modules/unistr/u8-strchr: Likewise.
2312         * modules/unistr/u8-strcmp: Likewise.
2313         * modules/unistr/u8-strcoll: Likewise.
2314         * modules/unistr/u8-strcpy: Likewise.
2315         * modules/unistr/u8-strcspn: Likewise.
2316         * modules/unistr/u8-strdup: Likewise.
2317         * modules/unistr/u8-strlen: Likewise.
2318         * modules/unistr/u8-strmblen: Likewise.
2319         * modules/unistr/u8-strmbtouc: Likewise.
2320         * modules/unistr/u8-strncat: Likewise.
2321         * modules/unistr/u8-strncmp: Likewise.
2322         * modules/unistr/u8-strncpy: Likewise.
2323         * modules/unistr/u8-strnlen: Likewise.
2324         * modules/unistr/u8-strpbrk: Likewise.
2325         * modules/unistr/u8-strrchr: Likewise.
2326         * modules/unistr/u8-strspn: Likewise.
2327         * modules/unistr/u8-strstr: Likewise.
2328         * modules/unistr/u8-strtok: Likewise.
2329         * modules/unistr/u8-to-u16: Likewise.
2330         * modules/unistr/u8-to-u32: Likewise.
2331         * modules/unistr/u8-uctomb: Likewise.
2332         * modules/unistr/u16-check: Likewise.
2333         * modules/unistr/u16-chr: Likewise.
2334         * modules/unistr/u16-cmp: Likewise.
2335         * modules/unistr/u16-cmp2: Likewise.
2336         * modules/unistr/u16-cpy: Likewise.
2337         * modules/unistr/u16-cpy-alloc: Likewise.
2338         * modules/unistr/u16-endswith: Likewise.
2339         * modules/unistr/u16-mblen: Likewise.
2340         * modules/unistr/u16-mbsnlen: Likewise.
2341         * modules/unistr/u16-mbtouc: Likewise.
2342         * modules/unistr/u16-mbtouc-unsafe: Likewise.
2343         * modules/unistr/u16-mbtoucr: Likewise.
2344         * modules/unistr/u16-move: Likewise.
2345         * modules/unistr/u16-next: Likewise.
2346         * modules/unistr/u16-prev: Likewise.
2347         * modules/unistr/u16-set: Likewise.
2348         * modules/unistr/u16-startswith: Likewise.
2349         * modules/unistr/u16-stpcpy: Likewise.
2350         * modules/unistr/u16-stpncpy: Likewise.
2351         * modules/unistr/u16-strcat: Likewise.
2352         * modules/unistr/u16-strchr: Likewise.
2353         * modules/unistr/u16-strcmp: Likewise.
2354         * modules/unistr/u16-strcoll: Likewise.
2355         * modules/unistr/u16-strcpy: Likewise.
2356         * modules/unistr/u16-strcspn: Likewise.
2357         * modules/unistr/u16-strdup: Likewise.
2358         * modules/unistr/u16-strlen: Likewise.
2359         * modules/unistr/u16-strmblen: Likewise.
2360         * modules/unistr/u16-strmbtouc: Likewise.
2361         * modules/unistr/u16-strncat: Likewise.
2362         * modules/unistr/u16-strncmp: Likewise.
2363         * modules/unistr/u16-strncpy: Likewise.
2364         * modules/unistr/u16-strnlen: Likewise.
2365         * modules/unistr/u16-strpbrk: Likewise.
2366         * modules/unistr/u16-strrchr: Likewise.
2367         * modules/unistr/u16-strspn: Likewise.
2368         * modules/unistr/u16-strstr: Likewise.
2369         * modules/unistr/u16-strtok: Likewise.
2370         * modules/unistr/u16-to-u32: Likewise.
2371         * modules/unistr/u16-to-u8: Likewise.
2372         * modules/unistr/u16-uctomb: Likewise.
2373         * modules/unistr/u32-check: Likewise.
2374         * modules/unistr/u32-chr: Likewise.
2375         * modules/unistr/u32-cmp: Likewise.
2376         * modules/unistr/u32-cmp2: Likewise.
2377         * modules/unistr/u32-cpy: Likewise.
2378         * modules/unistr/u32-cpy-alloc: Likewise.
2379         * modules/unistr/u32-endswith: Likewise.
2380         * modules/unistr/u32-mblen: Likewise.
2381         * modules/unistr/u32-mbsnlen: Likewise.
2382         * modules/unistr/u32-mbtouc: Likewise.
2383         * modules/unistr/u32-mbtouc-unsafe: Likewise.
2384         * modules/unistr/u32-mbtoucr: Likewise.
2385         * modules/unistr/u32-move: Likewise.
2386         * modules/unistr/u32-next: Likewise.
2387         * modules/unistr/u32-prev: Likewise.
2388         * modules/unistr/u32-set: Likewise.
2389         * modules/unistr/u32-startswith: Likewise.
2390         * modules/unistr/u32-stpcpy: Likewise.
2391         * modules/unistr/u32-stpncpy: Likewise.
2392         * modules/unistr/u32-strcat: Likewise.
2393         * modules/unistr/u32-strchr: Likewise.
2394         * modules/unistr/u32-strcmp: Likewise.
2395         * modules/unistr/u32-strcoll: Likewise.
2396         * modules/unistr/u32-strcpy: Likewise.
2397         * modules/unistr/u32-strcspn: Likewise.
2398         * modules/unistr/u32-strdup: Likewise.
2399         * modules/unistr/u32-strlen: Likewise.
2400         * modules/unistr/u32-strmblen: Likewise.
2401         * modules/unistr/u32-strmbtouc: Likewise.
2402         * modules/unistr/u32-strncat: Likewise.
2403         * modules/unistr/u32-strncmp: Likewise.
2404         * modules/unistr/u32-strncpy: Likewise.
2405         * modules/unistr/u32-strnlen: Likewise.
2406         * modules/unistr/u32-strpbrk: Likewise.
2407         * modules/unistr/u32-strrchr: Likewise.
2408         * modules/unistr/u32-strspn: Likewise.
2409         * modules/unistr/u32-strstr: Likewise.
2410         * modules/unistr/u32-strtok: Likewise.
2411         * modules/unistr/u32-to-u16: Likewise.
2412         * modules/unistr/u32-to-u8: Likewise.
2413         * modules/unistr/u32-uctomb: Likewise.
2414         * modules/uniwbrk/u8-wordbreaks: Likewise.
2415         * modules/uniwbrk/u16-wordbreaks: Likewise.
2416         * modules/uniwbrk/u32-wordbreaks: Likewise.
2417         * modules/uniwbrk/ulc-wordbreaks: Likewise.
2418         * modules/uniwbrk/wordbreak-property: Likewise.
2419         * modules/uniwidth/u8-strwidth: Likewise.
2420         * modules/uniwidth/u8-width: Likewise.
2421         * modules/uniwidth/u16-strwidth: Likewise.
2422         * modules/uniwidth/u16-width: Likewise.
2423         * modules/uniwidth/u32-strwidth: Likewise.
2424         * modules/uniwidth/u32-width: Likewise.
2425         * modules/uniwidth/width: Likewise.
2426         * modules/unicase/cased-tests (Makefile.am): Link all test programs
2427         with $(LIBUNISTRING).
2428         * modules/unicase/ignorable-tests: Likewise.
2429         * modules/unicase/locale-language-tests: Likewise.
2430         * modules/unicase/tolower-tests: Likewise.
2431         * modules/unicase/totitle-tests: Likewise.
2432         * modules/unicase/toupper-tests: Likewise.
2433         * modules/unicase/u8-casecmp-tests: Likewise.
2434         * modules/unicase/u8-casecoll-tests: Likewise.
2435         * modules/unicase/u8-casefold-tests: Likewise.
2436         * modules/unicase/u8-is-cased-tests: Likewise.
2437         * modules/unicase/u8-is-casefolded-tests: Likewise.
2438         * modules/unicase/u8-is-lowercase-tests: Likewise.
2439         * modules/unicase/u8-is-titlecase-tests: Likewise.
2440         * modules/unicase/u8-is-uppercase-tests: Likewise.
2441         * modules/unicase/u8-tolower-tests: Likewise.
2442         * modules/unicase/u8-totitle-tests: Likewise.
2443         * modules/unicase/u8-toupper-tests: Likewise.
2444         * modules/unicase/u16-casecmp-tests: Likewise.
2445         * modules/unicase/u16-casecoll-tests: Likewise.
2446         * modules/unicase/u16-casefold-tests: Likewise.
2447         * modules/unicase/u16-is-cased-tests: Likewise.
2448         * modules/unicase/u16-is-casefolded-tests: Likewise.
2449         * modules/unicase/u16-is-lowercase-tests: Likewise.
2450         * modules/unicase/u16-is-titlecase-tests: Likewise.
2451         * modules/unicase/u16-is-uppercase-tests: Likewise.
2452         * modules/unicase/u16-tolower-tests: Likewise.
2453         * modules/unicase/u16-totitle-tests: Likewise.
2454         * modules/unicase/u16-toupper-tests: Likewise.
2455         * modules/unicase/u32-casecmp-tests: Likewise.
2456         * modules/unicase/u32-casecoll-tests: Likewise.
2457         * modules/unicase/u32-casefold-tests: Likewise.
2458         * modules/unicase/u32-is-cased-tests: Likewise.
2459         * modules/unicase/u32-is-casefolded-tests: Likewise.
2460         * modules/unicase/u32-is-lowercase-tests: Likewise.
2461         * modules/unicase/u32-is-titlecase-tests: Likewise.
2462         * modules/unicase/u32-is-uppercase-tests: Likewise.
2463         * modules/unicase/u32-tolower-tests: Likewise.
2464         * modules/unicase/u32-totitle-tests: Likewise.
2465         * modules/unicase/u32-toupper-tests: Likewise.
2466         * modules/unicase/ulc-casecmp-tests: Likewise.
2467         * modules/unicase/ulc-casecoll-tests: Likewise.
2468         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
2469         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
2470         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
2471         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
2472         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
2473         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
2474         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
2475         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
2476         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
2477         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
2478         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
2479         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
2480         * modules/unictype/bidicategory-byname-tests: Likewise.
2481         * modules/unictype/bidicategory-name-tests: Likewise.
2482         * modules/unictype/bidicategory-of-tests: Likewise.
2483         * modules/unictype/bidicategory-test-tests: Likewise.
2484         * modules/unictype/block-list-tests: Likewise.
2485         * modules/unictype/block-of-tests: Likewise.
2486         * modules/unictype/block-test-tests: Likewise.
2487         * modules/unictype/category-C-tests: Likewise.
2488         * modules/unictype/category-Cc-tests: Likewise.
2489         * modules/unictype/category-Cf-tests: Likewise.
2490         * modules/unictype/category-Cn-tests: Likewise.
2491         * modules/unictype/category-Co-tests: Likewise.
2492         * modules/unictype/category-Cs-tests: Likewise.
2493         * modules/unictype/category-L-tests: Likewise.
2494         * modules/unictype/category-Ll-tests: Likewise.
2495         * modules/unictype/category-Lm-tests: Likewise.
2496         * modules/unictype/category-Lo-tests: Likewise.
2497         * modules/unictype/category-Lt-tests: Likewise.
2498         * modules/unictype/category-Lu-tests: Likewise.
2499         * modules/unictype/category-M-tests: Likewise.
2500         * modules/unictype/category-Mc-tests: Likewise.
2501         * modules/unictype/category-Me-tests: Likewise.
2502         * modules/unictype/category-Mn-tests: Likewise.
2503         * modules/unictype/category-N-tests: Likewise.
2504         * modules/unictype/category-Nd-tests: Likewise.
2505         * modules/unictype/category-Nl-tests: Likewise.
2506         * modules/unictype/category-No-tests: Likewise.
2507         * modules/unictype/category-P-tests: Likewise.
2508         * modules/unictype/category-Pc-tests: Likewise.
2509         * modules/unictype/category-Pd-tests: Likewise.
2510         * modules/unictype/category-Pe-tests: Likewise.
2511         * modules/unictype/category-Pf-tests: Likewise.
2512         * modules/unictype/category-Pi-tests: Likewise.
2513         * modules/unictype/category-Po-tests: Likewise.
2514         * modules/unictype/category-Ps-tests: Likewise.
2515         * modules/unictype/category-S-tests: Likewise.
2516         * modules/unictype/category-Sc-tests: Likewise.
2517         * modules/unictype/category-Sk-tests: Likewise.
2518         * modules/unictype/category-Sm-tests: Likewise.
2519         * modules/unictype/category-So-tests: Likewise.
2520         * modules/unictype/category-Z-tests: Likewise.
2521         * modules/unictype/category-Zl-tests: Likewise.
2522         * modules/unictype/category-Zp-tests: Likewise.
2523         * modules/unictype/category-Zs-tests: Likewise.
2524         * modules/unictype/category-and-not-tests: Likewise.
2525         * modules/unictype/category-and-tests: Likewise.
2526         * modules/unictype/category-byname-tests: Likewise.
2527         * modules/unictype/category-name-tests: Likewise.
2528         * modules/unictype/category-none-tests: Likewise.
2529         * modules/unictype/category-of-tests: Likewise.
2530         * modules/unictype/category-or-tests: Likewise.
2531         * modules/unictype/category-test-withtable-tests: Likewise.
2532         * modules/unictype/combining-class-tests: Likewise.
2533         * modules/unictype/ctype-alnum-tests: Likewise.
2534         * modules/unictype/ctype-alpha-tests: Likewise.
2535         * modules/unictype/ctype-blank-tests: Likewise.
2536         * modules/unictype/ctype-cntrl-tests: Likewise.
2537         * modules/unictype/ctype-digit-tests: Likewise.
2538         * modules/unictype/ctype-graph-tests: Likewise.
2539         * modules/unictype/ctype-lower-tests: Likewise.
2540         * modules/unictype/ctype-print-tests: Likewise.
2541         * modules/unictype/ctype-punct-tests: Likewise.
2542         * modules/unictype/ctype-space-tests: Likewise.
2543         * modules/unictype/ctype-upper-tests: Likewise.
2544         * modules/unictype/ctype-xdigit-tests: Likewise.
2545         * modules/unictype/decimal-digit-tests: Likewise.
2546         * modules/unictype/digit-tests: Likewise.
2547         * modules/unictype/mirror-tests: Likewise.
2548         * modules/unictype/numeric-tests: Likewise.
2549         * modules/unictype/property-alphabetic-tests: Likewise.
2550         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
2551         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
2552         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
2553         * modules/unictype/property-bidi-block-separator-tests: Likewise.
2554         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
2555         * modules/unictype/property-bidi-common-separator-tests: Likewise.
2556         * modules/unictype/property-bidi-control-tests: Likewise.
2557         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
2558         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
2559         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
2560         * modules/unictype/property-bidi-european-digit-tests: Likewise.
2561         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
2562         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
2563         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
2564         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
2565         * modules/unictype/property-bidi-pdf-tests: Likewise.
2566         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
2567         * modules/unictype/property-bidi-whitespace-tests: Likewise.
2568         * modules/unictype/property-byname-tests: Likewise.
2569         * modules/unictype/property-combining-tests: Likewise.
2570         * modules/unictype/property-composite-tests: Likewise.
2571         * modules/unictype/property-currency-symbol-tests: Likewise.
2572         * modules/unictype/property-dash-tests: Likewise.
2573         * modules/unictype/property-decimal-digit-tests: Likewise.
2574         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
2575         * modules/unictype/property-deprecated-tests: Likewise.
2576         * modules/unictype/property-diacritic-tests: Likewise.
2577         * modules/unictype/property-extender-tests: Likewise.
2578         * modules/unictype/property-format-control-tests: Likewise.
2579         * modules/unictype/property-grapheme-base-tests: Likewise.
2580         * modules/unictype/property-grapheme-extend-tests: Likewise.
2581         * modules/unictype/property-grapheme-link-tests: Likewise.
2582         * modules/unictype/property-hex-digit-tests: Likewise.
2583         * modules/unictype/property-hyphen-tests: Likewise.
2584         * modules/unictype/property-id-continue-tests: Likewise.
2585         * modules/unictype/property-id-start-tests: Likewise.
2586         * modules/unictype/property-ideographic-tests: Likewise.
2587         * modules/unictype/property-ids-binary-operator-tests: Likewise.
2588         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
2589         * modules/unictype/property-ignorable-control-tests: Likewise.
2590         * modules/unictype/property-iso-control-tests: Likewise.
2591         * modules/unictype/property-join-control-tests: Likewise.
2592         * modules/unictype/property-left-of-pair-tests: Likewise.
2593         * modules/unictype/property-line-separator-tests: Likewise.
2594         * modules/unictype/property-logical-order-exception-tests: Likewise.
2595         * modules/unictype/property-lowercase-tests: Likewise.
2596         * modules/unictype/property-math-tests: Likewise.
2597         * modules/unictype/property-non-break-tests: Likewise.
2598         * modules/unictype/property-not-a-character-tests: Likewise.
2599         * modules/unictype/property-numeric-tests: Likewise.
2600         * modules/unictype/property-other-alphabetic-tests: Likewise.
2601         * modules/unictype/property-other-default-ignorable-code-point-tests:
2602         Likewise.
2603         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
2604         * modules/unictype/property-other-id-continue-tests: Likewise.
2605         * modules/unictype/property-other-id-start-tests: Likewise.
2606         * modules/unictype/property-other-lowercase-tests: Likewise.
2607         * modules/unictype/property-other-math-tests: Likewise.
2608         * modules/unictype/property-other-uppercase-tests: Likewise.
2609         * modules/unictype/property-paired-punctuation-tests: Likewise.
2610         * modules/unictype/property-paragraph-separator-tests: Likewise.
2611         * modules/unictype/property-pattern-syntax-tests: Likewise.
2612         * modules/unictype/property-pattern-white-space-tests: Likewise.
2613         * modules/unictype/property-private-use-tests: Likewise.
2614         * modules/unictype/property-punctuation-tests: Likewise.
2615         * modules/unictype/property-quotation-mark-tests: Likewise.
2616         * modules/unictype/property-radical-tests: Likewise.
2617         * modules/unictype/property-sentence-terminal-tests: Likewise.
2618         * modules/unictype/property-soft-dotted-tests: Likewise.
2619         * modules/unictype/property-space-tests: Likewise.
2620         * modules/unictype/property-terminal-punctuation-tests: Likewise.
2621         * modules/unictype/property-test-tests: Likewise.
2622         * modules/unictype/property-titlecase-tests: Likewise.
2623         * modules/unictype/property-unassigned-code-value-tests: Likewise.
2624         * modules/unictype/property-unified-ideograph-tests: Likewise.
2625         * modules/unictype/property-uppercase-tests: Likewise.
2626         * modules/unictype/property-variation-selector-tests: Likewise.
2627         * modules/unictype/property-white-space-tests: Likewise.
2628         * modules/unictype/property-xid-continue-tests: Likewise.
2629         * modules/unictype/property-xid-start-tests: Likewise.
2630         * modules/unictype/property-zero-width-tests: Likewise.
2631         * modules/unictype/scripts-tests: Likewise.
2632         * modules/unictype/syntax-c-ident-tests: Likewise.
2633         * modules/unictype/syntax-c-whitespace-tests: Likewise.
2634         * modules/unictype/syntax-java-ident-tests: Likewise.
2635         * modules/unictype/syntax-java-whitespace-tests: Likewise.
2636         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
2637         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
2638         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
2639         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
2640         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
2641         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
2642         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
2643         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
2644         * modules/uniname/uniname-tests: Likewise.
2645         * modules/uninorm/canonical-decomposition-tests: Likewise.
2646         * modules/uninorm/compat-decomposition-tests: Likewise.
2647         * modules/uninorm/composition-tests: Likewise.
2648         * modules/uninorm/decomposing-form-tests: Likewise.
2649         * modules/uninorm/decomposition-tests: Likewise.
2650         * modules/uninorm/filter-tests: Likewise.
2651         * modules/uninorm/nfc-tests: Likewise.
2652         * modules/uninorm/nfd-tests: Likewise.
2653         * modules/uninorm/nfkc-tests: Likewise.
2654         * modules/uninorm/nfkd-tests: Likewise.
2655         * modules/uninorm/u8-normcmp-tests: Likewise.
2656         * modules/uninorm/u8-normcoll-tests: Likewise.
2657         * modules/uninorm/u16-normcmp-tests: Likewise.
2658         * modules/uninorm/u16-normcoll-tests: Likewise.
2659         * modules/uninorm/u32-normcmp-tests: Likewise.
2660         * modules/uninorm/u32-normcoll-tests: Likewise.
2661         * modules/unistdio/u8-asnprintf-tests: Likewise.
2662         * modules/unistdio/u8-vasnprintf-tests: Likewise.
2663         * modules/unistdio/u8-vasprintf-tests: Likewise.
2664         * modules/unistdio/u8-vsnprintf-tests: Likewise.
2665         * modules/unistdio/u8-vsprintf-tests: Likewise.
2666         * modules/unistdio/u16-asnprintf-tests: Likewise.
2667         * modules/unistdio/u16-vasnprintf-tests: Likewise.
2668         * modules/unistdio/u16-vasprintf-tests: Likewise.
2669         * modules/unistdio/u16-vsnprintf-tests: Likewise.
2670         * modules/unistdio/u16-vsprintf-tests: Likewise.
2671         * modules/unistdio/u32-asnprintf-tests: Likewise.
2672         * modules/unistdio/u32-vasnprintf-tests: Likewise.
2673         * modules/unistdio/u32-vasprintf-tests: Likewise.
2674         * modules/unistdio/u32-vsnprintf-tests: Likewise.
2675         * modules/unistdio/u32-vsprintf-tests: Likewise.
2676         * modules/unistdio/ulc-asnprintf-tests: Likewise.
2677         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
2678         * modules/unistdio/ulc-vasprintf-tests: Likewise.
2679         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
2680         * modules/unistdio/ulc-vsprintf-tests: Likewise.
2681         * modules/unistr/u8-check-tests: Likewise.
2682         * modules/unistr/u8-chr-tests: Likewise.
2683         * modules/unistr/u8-cmp-tests: Likewise.
2684         * modules/unistr/u8-cmp2-tests: Likewise.
2685         * modules/unistr/u8-cpy-alloc-tests: Likewise.
2686         * modules/unistr/u8-cpy-tests: Likewise.
2687         * modules/unistr/u8-mblen-tests: Likewise.
2688         * modules/unistr/u8-mbsnlen-tests: Likewise.
2689         * modules/unistr/u8-mbtouc-tests: Likewise.
2690         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
2691         * modules/unistr/u8-mbtoucr-tests: Likewise.
2692         * modules/unistr/u8-move-tests: Likewise.
2693         * modules/unistr/u8-next-tests: Likewise.
2694         * modules/unistr/u8-prev-tests: Likewise.
2695         * modules/unistr/u8-set-tests: Likewise.
2696         * modules/unistr/u8-stpcpy-tests: Likewise.
2697         * modules/unistr/u8-stpncpy-tests: Likewise.
2698         * modules/unistr/u8-strcat-tests: Likewise.
2699         * modules/unistr/u8-strcmp-tests: Likewise.
2700         * modules/unistr/u8-strcoll-tests: Likewise.
2701         * modules/unistr/u8-strcpy-tests: Likewise.
2702         * modules/unistr/u8-strdup-tests: Likewise.
2703         * modules/unistr/u8-strlen-tests: Likewise.
2704         * modules/unistr/u8-strmblen-tests: Likewise.
2705         * modules/unistr/u8-strmbtouc-tests: Likewise.
2706         * modules/unistr/u8-strncat-tests: Likewise.
2707         * modules/unistr/u8-strncmp-tests: Likewise.
2708         * modules/unistr/u8-strncpy-tests: Likewise.
2709         * modules/unistr/u8-strnlen-tests: Likewise.
2710         * modules/unistr/u8-to-u16-tests: Likewise.
2711         * modules/unistr/u8-to-u32-tests: Likewise.
2712         * modules/unistr/u8-uctomb-tests: Likewise.
2713         * modules/unistr/u16-check-tests: Likewise.
2714         * modules/unistr/u16-chr-tests: Likewise.
2715         * modules/unistr/u16-cmp-tests: Likewise.
2716         * modules/unistr/u16-cmp2-tests: Likewise.
2717         * modules/unistr/u16-cpy-alloc-tests: Likewise.
2718         * modules/unistr/u16-cpy-tests: Likewise.
2719         * modules/unistr/u16-mblen-tests: Likewise.
2720         * modules/unistr/u16-mbsnlen-tests: Likewise.
2721         * modules/unistr/u16-mbtouc-tests: Likewise.
2722         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
2723         * modules/unistr/u16-mbtoucr-tests: Likewise.
2724         * modules/unistr/u16-move-tests: Likewise.
2725         * modules/unistr/u16-next-tests: Likewise.
2726         * modules/unistr/u16-prev-tests: Likewise.
2727         * modules/unistr/u16-set-tests: Likewise.
2728         * modules/unistr/u16-stpcpy-tests: Likewise.
2729         * modules/unistr/u16-stpncpy-tests: Likewise.
2730         * modules/unistr/u16-strcat-tests: Likewise.
2731         * modules/unistr/u16-strcmp-tests: Likewise.
2732         * modules/unistr/u16-strcoll-tests: Likewise.
2733         * modules/unistr/u16-strcpy-tests: Likewise.
2734         * modules/unistr/u16-strdup-tests: Likewise.
2735         * modules/unistr/u16-strlen-tests: Likewise.
2736         * modules/unistr/u16-strmblen-tests: Likewise.
2737         * modules/unistr/u16-strmbtouc-tests: Likewise.
2738         * modules/unistr/u16-strncat-tests: Likewise.
2739         * modules/unistr/u16-strncmp-tests: Likewise.
2740         * modules/unistr/u16-strncpy-tests: Likewise.
2741         * modules/unistr/u16-strnlen-tests: Likewise.
2742         * modules/unistr/u16-to-u32-tests: Likewise.
2743         * modules/unistr/u16-to-u8-tests: Likewise.
2744         * modules/unistr/u16-uctomb-tests: Likewise.
2745         * modules/unistr/u32-check-tests: Likewise.
2746         * modules/unistr/u32-chr-tests: Likewise.
2747         * modules/unistr/u32-cmp-tests: Likewise.
2748         * modules/unistr/u32-cmp2-tests: Likewise.
2749         * modules/unistr/u32-cpy-alloc-tests: Likewise.
2750         * modules/unistr/u32-cpy-tests: Likewise.
2751         * modules/unistr/u32-mblen-tests: Likewise.
2752         * modules/unistr/u32-mbsnlen-tests: Likewise.
2753         * modules/unistr/u32-mbtouc-tests: Likewise.
2754         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
2755         * modules/unistr/u32-mbtoucr-tests: Likewise.
2756         * modules/unistr/u32-move-tests: Likewise.
2757         * modules/unistr/u32-next-tests: Likewise.
2758         * modules/unistr/u32-prev-tests: Likewise.
2759         * modules/unistr/u32-set-tests: Likewise.
2760         * modules/unistr/u32-stpcpy-tests: Likewise.
2761         * modules/unistr/u32-stpncpy-tests: Likewise.
2762         * modules/unistr/u32-strcat-tests: Likewise.
2763         * modules/unistr/u32-strcmp-tests: Likewise.
2764         * modules/unistr/u32-strcoll-tests: Likewise.
2765         * modules/unistr/u32-strcpy-tests: Likewise.
2766         * modules/unistr/u32-strdup-tests: Likewise.
2767         * modules/unistr/u32-strlen-tests: Likewise.
2768         * modules/unistr/u32-strmblen-tests: Likewise.
2769         * modules/unistr/u32-strmbtouc-tests: Likewise.
2770         * modules/unistr/u32-strncat-tests: Likewise.
2771         * modules/unistr/u32-strncmp-tests: Likewise.
2772         * modules/unistr/u32-strncpy-tests: Likewise.
2773         * modules/unistr/u32-strnlen-tests: Likewise.
2774         * modules/unistr/u32-to-u16-tests: Likewise.
2775         * modules/unistr/u32-to-u8-tests: Likewise.
2776         * modules/unistr/u32-uctomb-tests: Likewise.
2777         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
2778         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
2779         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
2780         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
2781         * modules/uniwidth/u8-strwidth-tests: Likewise.
2782         * modules/uniwidth/u8-width-tests: Likewise.
2783         * modules/uniwidth/u16-strwidth-tests: Likewise.
2784         * modules/uniwidth/u16-width-tests: Likewise.
2785         * modules/uniwidth/u32-strwidth-tests: Likewise.
2786         * modules/uniwidth/u32-width-tests: Likewise.
2787         * modules/uniwidth/width-tests: Likewise.
2788
2789 2010-05-18  Richard Jones  <rjones@redhat.com>
2790
2791         doc: users.txt: list hivex
2792         * users.txt: Add hivex.
2793
2794 2010-05-18  Richard Jones  <rjones@redhat.com>
2795
2796         doc: users.txt: list febootstrap
2797         * users.txt: Add febootstrap.
2798
2799 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
2800
2801         bootstrap: fix an error when gnulib is not used as a git submodule
2802         * build-aux/bootstrap (gnulib_path): If its length is zero then
2803         assign "gnulib" to it.
2804         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
2805
2806 2010-05-16  Bruno Haible  <bruno@clisp.org>
2807
2808         Avoid autoconf warnings about AM_ICONV.
2809         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
2810         2.64.
2811
2812 2010-05-16  Bruno Haible  <bruno@clisp.org>
2813
2814         absolute-header: Make the macro usable in more situations.
2815         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
2816         from gl_ABSOLUTE_HEADER.
2817         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
2818
2819 2010-05-16  James Youngman  <jay@gnu.org>
2820
2821         doc: update users.txt
2822         * users.txt: Add CSSC.
2823
2824 2010-05-16  Jim Meyering  <meyering@redhat.com>
2825
2826         init.sh: fix an error in the previous change; add more comments
2827         * tests/init.sh: Compare exit code in loop against 9, not 2.
2828         Patch by Bruno Haible.
2829         Make the two tests more similar by adding an empty "then" clause.
2830         Add comments.
2831
2832         init.sh: avoid unnecessary shell re-exec
2833         * tests/init.sh: Improve the re-exec-required check to first test the
2834         current shell.  If it passes the test, do not search for a shell that
2835         does pass, and do not re-exec.  This test is particularly contorted to
2836         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
2837         of $(...) evokes a syntax error and causes immediate shell exit with
2838         status 2.  Bruno Haible reported that the re-exec made it impossible
2839         to single-step through any init.sh-using script.
2840
2841 2010-05-16  Bruno Haible  <bruno@clisp.org>
2842
2843         Fix collision between gnulib's and libintl's printf replacements.
2844         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
2845         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
2846         (printf): When using GNU C, map the __printf__ function to rpl_printf
2847         via __asm__. When not using GNU C, define rpl_printf instead of
2848         __printf__.
2849         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
2850         commit.
2851         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
2852         commit.
2853         * m4/asm-underscore.m4: New file.
2854         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
2855         * modules/stdio (Files): Add m4/asm-underscore.m4.
2856         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
2857         Reported by Ben Pfaff.
2858
2859 2010-05-16  Bruno Haible  <bruno@clisp.org>
2860
2861         verify: Avoid skipping the test on openSUSE 11.0.
2862         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
2863
2864 2010-05-13  Bruno Haible  <bruno@clisp.org>
2865
2866         Avoid useless warnings from G++.
2867         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
2868         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
2869         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
2870
2871 2010-05-11  Jim Meyering  <meyering@redhat.com>
2872
2873         maint.mk: tweak preceding change
2874         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
2875         regexps tighter by anchoring at EOL, and make the new group "shy"
2876         for slightly decreased overhead.
2877
2878 2010-05-11  Eric Blake  <eblake@redhat.com>
2879
2880         maint.mk: gnulib doesn't guarantee NSIG
2881         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
2882
2883 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
2884
2885         test-pwrite.c: Remove unused variable declaration.
2886         * tests/test-pwrite.c (main): Remove read_buf declaration.
2887
2888         Remove useless test-pwrite.sh file.
2889         * tests/test-pwrite.sh: Delete file.
2890         * modules/pwrite-tests: Remove references.
2891         Reported by Bruno Haible.
2892
2893 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
2894
2895         init.sh: fix a typo
2896         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
2897
2898 2010-05-10  Jim Meyering  <meyering@redhat.com>
2899
2900         maint.mk: avoid using a temporary file in the always-defined-macros check
2901         * top/maint.mk (.re-defmac): Remove rule.
2902         (gl_trap_): Remove definition.
2903         (sc_prohibit_always-defined_macros): Rewrite not to create and
2904         depend on a temporary file.  Instead, depend on GNU grep's ability
2905         to read a list of regular expressions from stdin when given "-f -".
2906
2907 2010-05-09  Bruno Haible  <bruno@clisp.org>
2908
2909         Update to GNU gettext 0.18, part 1.
2910         * m4/gettext.m4: Update to GNU gettext 0.18.
2911         * m4/intl.m4: Likewise.
2912         * m4/po.m4: Likewise.
2913         * modules/gettext (Files): Add m4/fcntl-o.m4.
2914         (configure.ac): Require gettext infrastructure from version 0.18.
2915
2916 2010-05-09  Jim Meyering  <meyering@redhat.com>
2917
2918         init.sh: enable MALLOC_PERTURB_
2919         * tests/init.sh: Enable glibc's malloc-perturbing option.
2920
2921         maint.mk: improve sc_cross_check_PATH_usage_in_tests
2922         With my recent change in init.sh from the two-line form:
2923             -#   : ${srcdir=.}
2924             -#   . "$srcdir/init.sh"; path_prepend_ .
2925             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
2926         I noticed that using the one-line form would cause this test
2927         to fail with a false-positive, or to stop working altogether,
2928         depending on whether help-version changed or all the tests did.
2929         * top/maint.mk (_hv_regex): Remove this definition.
2930         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
2931         (_hv_regex_strong): Use a stronger regex to check for conformance.
2932         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
2933         Give a separate diagnostic for lack of conforming use.
2934
2935         maint.mk: prohibit definition of symbols defined by gnulib
2936         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
2937         definition of symbols defined by gnulib.
2938
2939 2010-05-09  Bruno Haible  <bruno@clisp.org>
2940
2941         acl: Avoid test failure on Cygwin-hosted mingw.
2942         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
2943
2944 2010-05-09  Bruno Haible  <bruno@clisp.org>
2945
2946         error: Use system's fcntl function.
2947         * lib/error.c (fcntl): Undefine.
2948
2949 2010-05-09  Jim Meyering  <meyering@redhat.com>
2950
2951         verify: adjust formatting to be more consistent
2952         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
2953         argument-list '('s, and after one comma.
2954
2955 2010-05-09  Bruno Haible  <bruno@clisp.org>
2956
2957         error: More reliable output on mingw.
2958         * lib/error.c: Include <windows.h>.
2959         (is_open): New function.
2960         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
2961         defined.
2962
2963 2010-05-09  Bruno Haible  <bruno@clisp.org>
2964
2965         vasnprintf: Fix syntax errors in libintl build on mingw.
2966         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
2967         pad_ourselves and prec_ourselves after use.
2968
2969 2010-05-08  Bruno Haible  <bruno@clisp.org>
2970
2971         * lib/config.charset: Update comments for Cygwin 1.7.
2972         * lib/localcharset.c: Likewise.
2973
2974 2010-05-07  Jim Meyering  <meyering@redhat.com>
2975
2976         init.sh: improve comments
2977         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
2978         . "${srcdir=.}/init.sh"; path_prepend_ .
2979         Add a note about path_prepend_ and the alternative of using
2980         TESTS_ENVIRONMENT.
2981
2982 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
2983
2984         exclude: Unescape hashed patterns in wildcard mode.
2985         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
2986         to the hash list.
2987         * tests/test-exclude8.sh: New test case.
2988         * modules/exclude-tests: Add new test.
2989
2990 2010-05-05  Eric Blake  <eblake@redhat.com>
2991
2992         verify: automate tests
2993         * modules/verify-tests: New module.
2994         * tests/test-verify.sh: New file.
2995         * tests/test-verify.c: Guard each negative test with a unique id.
2996         Also avoid warning about unused left hand of comma expressions.
2997
2998 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
2999
3000         Further improvements to verify.h, suggested by Eric Blake.
3001         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
3002         the GL_* versions, to avoid collision with OpenGL.
3003         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
3004         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
3005         than testing merely whether it's defined.
3006
3007         Modify verify.h to pacify gcc -Wredundant_decls.
3008         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
3009         These use the prefix "GL_" since they're likely to be useful elsewhere.
3010         We may need to break them out into a different .h file.
3011         (__COUNTER__): Define to 0 if the compiler doesn't support it.
3012         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
3013         of verify_function__.
3014
3015 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
3016
3017         Tests for module pwrite.
3018         * modules/pwrite-tests: New file.
3019         * tests/test-pwrite.sh: New file.
3020         * tests/test-pwrite.c: New file.
3021
3022         New module pwrite.
3023         * lib/unistd.in.h (pwrite): New declaration.
3024         * lib/pwrite.c: New file, from glibc with modifications.
3025         * m4/pwrite.m4: New file.
3026         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
3027         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
3028         REPLACE_PWRITE.
3029         * modules/pwrite: New file.
3030         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
3031         REPLACE_PWRITE.
3032         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
3033         * doc/posix-functions/pwrite.texi: Mention the new module.
3034
3035 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
3036
3037         pread: Update documentation.
3038         * doc/posix-functions/pread.texi: Mention the 'pread' module.
3039
3040 2010-05-04  Eric Blake  <eblake@redhat.com>
3041
3042         docs: update cygwin progress
3043         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
3044         this bug.
3045         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
3046         Added in cygwin 1.7.2.
3047         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
3048         Likewise.
3049         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
3050         Likewise.
3051         * doc/glibc-functions/dup3.texi (dup3): Likewise.
3052         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
3053         * doc/glibc-functions/accept4.texi (accept4): Likewise.
3054         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
3055         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
3056         Mention nproc module.
3057         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
3058         bug in cygwin 1.7.5 addition.
3059         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
3060         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
3061         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
3062         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
3063         1.7.5.
3064         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
3065         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
3066         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
3067         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
3068         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
3069         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
3070         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
3071         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
3072         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
3073         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
3074         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
3075         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
3076         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
3077         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
3078         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
3079         Likewise.
3080         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
3081         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
3082         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
3083         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
3084         Likewise.
3085         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
3086         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
3087         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
3088         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
3089         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
3090         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
3091         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
3092         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
3093         Likewise.
3094         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
3095         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
3096         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
3097         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
3098         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
3099         Likewise.
3100         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
3101         Likewise.
3102         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
3103         Likewise.
3104         * doc/glibc-functions/xdrrec_endofrecord.texi
3105         (xdrrec_endofrecord): Likewise.
3106         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
3107         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
3108         Likewise.
3109         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
3110         Likewise.
3111
3112 2010-05-04  Jim Meyering  <meyering@redhat.com>
3113
3114         gendocs.sh: make its "-s FILE" option more useful
3115         * build-aux/gendocs.sh: When honoring the -s FILE option, update
3116         $PACKAGE to reflect the probably-different basename of "FILE".
3117
3118 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
3119
3120         bootstrap: don't ignore download_po_files failure
3121         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
3122         failure.
3123
3124 2010-05-03  Jim Meyering  <meyering@redhat.com>
3125
3126         maint.mk: allow to pass options to gendocs.sh
3127         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
3128         (gendocs_options_): New overridable variable.
3129
3130         gnu-web-doc-update: don't ignore configure or build failure
3131         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
3132
3133         announce-gen: backslash-escape '@'s in --help output
3134         * build-aux/announce-gen: Fix syntax errors.
3135
3136         maint.mk, announce-gen: allow project-specific announcement mail headers
3137         * top/maint.mk (translation_project_): Define default.
3138         (announcement_Cc_, announcement_mail_headers_): Likewise.
3139         (announcement): Invoke announce-gen with new --mail-headers option.
3140         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
3141
3142         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
3143         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
3144         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
3145         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
3146         line in the "err2" output file when running "make check" in verbose
3147         mode (i.e., with set -x enabled).
3148
3149 2010-05-03  Bruno Haible  <bruno@clisp.org>
3150
3151         wctob: Fix for weird platforms.
3152         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
3153         argument value.
3154
3155 2010-05-03  Jim Meyering  <meyering@redhat.com>
3156
3157         maint.mk: prohibit unwarranted use of <strings.h>
3158         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
3159         strings.h in a file that does not also use strcasecmp, strncasecmp,
3160         ffs or ffsll.
3161
3162         maint.mk: remove obsolete comments
3163         * top/maint.mk: Remove stale, commented-out rules.
3164
3165 2010-05-02  Bruno Haible  <bruno@clisp.org>
3166
3167         wcwidth: Declare also when it's aliased.
3168         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
3169         macro.
3170
3171 2010-05-02  Bruno Haible  <bruno@clisp.org>
3172
3173         Fix regression from 2010-04-25.
3174         * gnulib-tool (func_modules_transitive_closure): Check the status of
3175         all modules, not only of the tests that are of the form foo-tests where
3176         foo is a module.
3177
3178 2010-05-02  Bruno Haible  <bruno@clisp.org>
3179
3180         wctob: Work around nasty Cygwin 1.7.2 bug.
3181         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
3182         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
3183
3184 2010-05-01  Bruno Haible  <bruno@clisp.org>
3185
3186         fpurge: Sharper test.
3187         * tests/test-fpurge.c (main): Add one more ftell check.
3188         * modules/fpurge-tests (Depends-on): Add ftell.
3189         Suggested by Eric Blake.
3190
3191 2010-05-01  Bruno Haible  <bruno@clisp.org>
3192
3193         ftello: Another test.
3194         * tests/test-ftello3.c: New file.
3195         * modules/ftello-tests (Files): Add it.
3196         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
3197         MOSTLYCLEANFILES.
3198
3199         ftell: Another test.
3200         * tests/test-ftell3.c: New file.
3201         * modules/ftell-tests (Files): Add it.
3202         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
3203         MOSTLYCLEANFILES.
3204
3205 2010-05-01  Bruno Haible  <bruno@clisp.org>
3206
3207         ftell, ftello: Work around Solaris bug.
3208         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
3209         * lib/ftello.c: Include stdio-impl.h.
3210         (ftello): On Solaris, when _IOWRT is set, compute the result without
3211         looking at _IOREAD.
3212         * modules/ftello (Files): Add lib/stdio-impl.h.
3213         * doc/posix-functions/ftell.texi: Mention Solaris bug.
3214         * doc/posix-functions/ftello.texi: Likewise.
3215         Reported by Eric Blake.
3216
3217 2010-05-01  Bruno Haible  <bruno@clisp.org>
3218
3219         freading: Adapt to special meaning of _IOREAD flag on Solaris.
3220         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
3221         the _IOWRT flag is also set.
3222
3223 2010-05-01  Bruno Haible  <bruno@clisp.org>
3224
3225         Fix doc about a HP-UX stdio bug.
3226         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
3227         * doc/posix-functions/ftello.texi: Likewise.
3228
3229 2010-05-01  Bruno Haible  <bruno@clisp.org>
3230
3231         lseek test: Fix failure on Solaris.
3232         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
3233         output.
3234
3235 2010-04-30  Jim Meyering  <meyering@redhat.com>
3236
3237         bootstrap: don't ignore failure to generate po*/Makevars
3238         * build-aux/bootstrap (with_gettext): Don't ignore failure
3239         to create po/Makevars or runtime-po/Makevars.
3240
3241 2010-04-29  Eric Blake  <eblake@redhat.com>
3242
3243         headers: relax license to LGPLv2+
3244         * modules/fcntl-h (License): Relax license.
3245         * modules/getopt-posix (License): Likewise.
3246         * modules/locale (License): Likewise.
3247         * modules/math (License): Likewise.
3248         * modules/pty (License): Likewise.
3249         * modules/sched (License): Likewise.
3250         * modules/search (License): Likewise.
3251         * modules/spawn (License): Likewise.
3252         * modules/stdarg (License): Likewise.
3253         * modules/sysexits (License): Likewise.
3254
3255 2010-04-29  Jim Meyering  <meyering@redhat.com>
3256
3257         inttypes: relax license to LGPLv2+
3258         * modules/inttypes (License): Relax license.
3259
3260 2010-04-29  Simon Josefsson  <simon@josefsson.org>
3261
3262         * top/maint.mk (indent): Run twice to produce idempotent results.
3263
3264 2010-04-28  Bruno Haible  <bruno@clisp.org>
3265
3266         getdate: Generate getdate.c in the source directory.
3267         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
3268         MOSTLYCLEANFILES.
3269         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
3270
3271 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
3272
3273         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
3274         is not declared as a const *; avoid warnings in that case.
3275
3276 2010-04-28  Eric Blake  <eblake@redhat.com>
3277
3278         canonicalize-lgpl: avoid compiler warning
3279         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
3280         declaration' / 'extraneous semicolon' warning with some compilers.
3281         Reported by Andreas Gruenbacher.
3282
3283 2010-04-28  Jim Meyering  <meyering@redhat.com>
3284
3285         init.sh: ensure a more reliable exit status when exiting via trap
3286         * tests/init.sh (setup_): Don't rely on $? in signal handler.
3287         Inspired by patches from Dmitry V. Levin.
3288         Also trap on signal 3 (SIGQUIT).
3289
3290 2010-04-27  Bruno Haible  <bruno@clisp.org>
3291
3292         Update doc about utimes().
3293         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
3294         'utimens' module.
3295         Reported by Andreas Gruenbacher <agruen@suse.de>.
3296
3297 2010-04-27  Eric Blake  <eblake@redhat.com>
3298
3299         full-read, full-write: relax license
3300         * modules/full-read (License): Drop to LGPLv2+.
3301         * modules/full-write (License): Likewise.
3302         * modules/safe-read (License): Likewise.
3303         * modules/safe-write (License): Likewise.
3304
3305         pthread: mention library for linking
3306         * modules/pthread (Link): Mention $(LIB_PTHREAD).
3307
3308 2010-04-27  Jim Meyering  <meyering@redhat.com>
3309
3310         maint.mk: fix a bug introduced in last change
3311         * top/maint.mk (gl_assured_headers_): Now that all names are on
3312         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
3313         is not anchored to end of word, it should be adequate.
3314
3315         maint.mk: avoid side-effect in latest syntax-check
3316         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
3317         to run commands via $(shell...), and hence to incur cost only when
3318         the new rule is actually run.
3319
3320         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
3321         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
3322         and use that to create a regexp used to detect all #if HAVE_..._H uses.
3323         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
3324         (gl_assured_headers_, az_, AZ_): Define.
3325         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
3326
3327 2010-04-26  Jim Meyering  <jim@meyering.net>
3328             Bruno Haible  <bruno@clisp.org>
3329
3330         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
3331         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
3332         Prompted by an exchange with Gilles Espinasse.
3333
3334 2010-04-26  Jim Meyering  <meyering@redhat.com>
3335
3336         git-version-gen: aesthetic tweak
3337         * build-aux/git-version-gen: Use "$nl" rather than a literal,
3338         so that the command remains on a single line.
3339
3340 2010-04-26  Eric Blake  <eblake@redhat.com>
3341
3342         git-version-gen: allow use on EBCDIC hosts
3343         * build-aux/git-version-gen (dirty): Use literal rather than tying
3344         ourselves to ascii.
3345         Reported by Steve Goetze.
3346
3347 2010-04-25  Bruno Haible  <bruno@clisp.org>
3348
3349         netdb: Add support for GNULIB_POSIXCHECK.
3350         * lib/netdb.in.h: Include warn-on-use.h.
3351         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
3352         functions are used when GNULIB_POSIXCHECK is defined and the
3353         getaddrinfo module is not in use.
3354         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
3355         freeaddrinfo, gai_strerror, getnameinfo are declared.
3356         * modules/netdb (Depends-on): Add warn-on-use.
3357         (Makefile.am): Include warn-on-use.h in netdb.h.
3358
3359 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
3360
3361         build: avoid "make check" failure without .git/ directory
3362         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
3363         there is no .git/ directory.
3364
3365 2010-04-25  Bruno Haible  <bruno@clisp.org>
3366
3367         ptsname: Fix misuse of ttyname_r.
3368         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
3369         of errno.
3370
3371 2010-04-25  Bruno Haible  <bruno@clisp.org>
3372
3373         ttyname_r: Make it work on Solaris 10.
3374         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
3375         if the system function has the POSIX declaration. Test whether the
3376         function fails if the buffer is less than 128 bytes large.
3377         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
3378         system's ttyname_r function. Provide a reasonably large buffer.
3379         * modules/ttyname_r (Depends-on): Add extensions.
3380         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
3381
3382 2010-04-25  Bruno Haible  <bruno@clisp.org>
3383
3384         Use the 'extensions' module for some more functions on Solaris.
3385         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
3386         module.
3387         * doc/posix-functions/ctime_r.texi: Likewise.
3388         * doc/posix-functions/getgrgid_r.texi: Likewise.
3389         * doc/posix-functions/getgrnam_r.texi: Likewise.
3390         * doc/posix-functions/getpwnam_r.texi: Likewise.
3391         * doc/posix-functions/getpwuid_r.texi: Likewise.
3392         * doc/posix-functions/readdir_r.texi: Likewise.
3393         * doc/posix-functions/sigwait.texi: Likewise.
3394         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
3395         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
3396
3397 2010-04-25  Bruno Haible  <bruno@clisp.org>
3398
3399         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
3400         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
3401         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
3402         * lib/ttyname_r.c: Include <limits.h>.
3403         (ttyname_r): Define using the system's ttyname_r function, if it exists
3404         and not on Solaris.
3405         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
3406         set.
3407         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
3408         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
3409         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
3410         Reported by Simon Josefsson.
3411
3412 2010-04-25  Bruno Haible  <bruno@clisp.org>
3413
3414         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
3415         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
3416         * doc/posix-functions/ctime_r.texi: Likewise.
3417         * doc/posix-functions/getgrgid_r.texi: Likewise.
3418         * doc/posix-functions/getgrnam_r.texi: Likewise.
3419         * doc/posix-functions/getlogin_r.texi: Likewise.
3420         * doc/posix-functions/getpwnam_r.texi: Likewise.
3421         * doc/posix-functions/getpwuid_r.texi: Likewise.
3422         * doc/posix-functions/readdir_r.texi: Likewise.
3423         * doc/posix-functions/sigwait.texi: Likewise.
3424         * doc/posix-functions/ttyname_r.texi: Likewise.
3425         Reported by Simon Josefsson.
3426
3427 2010-04-25  Bruno Haible  <bruno@clisp.org>
3428
3429         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
3430         * gnulib-tool (func_usage): Document that --with-*-tests options apply
3431         also to --create-testdir.
3432         (func_acceptable): Don't consider the status of *-tests modules here.
3433         (func_modules_transitive_closure): Consider it here, before including a
3434         test module.
3435         (func_import, func_create_testdir): Set inc_all_direct_tests,
3436         inc_all_indirect_tests.
3437         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
3438         --create-testdir and --create-megatestdir.
3439
3440 2010-04-25  Bruno Haible  <bruno@clisp.org>
3441
3442         gnulib-tool: Add --without-*-tests options.
3443         * gnulib-tool (func_usage): Document the --without-*-tests options.
3444         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
3445         excl_unportable_tests): New variables.
3446         Fail if they are specified with --import or --update.
3447         (func_acceptable): Respect the excl_*_tests variables.
3448         (func_import): Set the excl_*_tests variables to empty.
3449
3450 2010-04-25  Simon Josefsson  <simon@josefsson.org>
3451             Bruno Haible  <bruno@clisp.org>
3452
3453         Work around a MacOS X 10.4 bug with openpty.
3454         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
3455         * tests/test-openpty.c (main): Close the master side explicitly.
3456
3457 2010-04-25  Bruno Haible  <bruno@clisp.org>
3458
3459         strnlen: Fix a C++ test error on MacOS X and Solaris.
3460         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
3461         the function is not declared.
3462         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
3463         Simon Josefsson.
3464
3465 2010-04-24  Bruno Haible  <bruno@clisp.org>
3466
3467         Avoid a gcc warning.
3468         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
3469         of correct type for %08lx directive.
3470         Reported by Eric Blake.
3471
3472 2010-04-24  Bruno Haible  <bruno@clisp.org>
3473
3474         vasnprintf: Correct errno value in case of out-of-memory.
3475         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
3476         or sprintf. Use the errno value from SNPRINTF or sprintf.
3477         Reported by Ian Beckwith <ianb@erislabs.net>.
3478
3479 2010-04-24  Bruno Haible  <bruno@clisp.org>
3480
3481         ansi-c++-opt: Find correct compiler when cross-compiling.
3482         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
3483         AC_CHECK_PROGS.
3484         Reported by Simon Josefsson.
3485
3486 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
3487
3488         vc-list-files: Add support for subversion
3489         * build-aux/vc-list-files: Use "svn list" to generate the list of
3490         files controlled by subversion.
3491
3492 2010-04-23  Jim Meyering  <meyering@redhat.com>
3493
3494         vc-list-files tests: convert to use init.sh
3495         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
3496         path_prepend_.
3497         Use Exit, not exit.
3498         Use skip_ rather than open coding it.
3499         Remove trap set-up and compare definitions.
3500         * tests/test-vc-list-files-git.sh: Likewise.
3501         * modules/vc-list-files-tests (Files): Add tests/init.sh.
3502
3503 2010-04-22  Simon Josefsson  <simon@josefsson.org>
3504
3505         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
3506         backup files.
3507
3508 2010-04-21  Simon Josefsson  <simon@josefsson.org>
3509
3510         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
3511
3512 2010-04-20  Eric Blake  <eblake@redhat.com>
3513
3514         tests: be robust to ignored SIGPIPE
3515         * tests/test-select-in.sh: Consume all output.
3516         * tests/test-lseek.sh: Check correct exit status, while avoiding
3517         EPIPE.
3518
3519 2010-04-20  Simon Josefsson  <simon@josefsson.org>
3520             Bruno Haible  <bruno@clisp.org>
3521
3522         visibility: Don't use -fvisibility if it leads to a warning.
3523         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
3524         yes, don't pretend that visibility works if it leads to a warning.
3525         Reported by Mike Gran <spk121@yahoo.com>.
3526
3527 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
3528
3529         * build-aux/bootstrap: Use "git -h" for testing for supported options
3530         instead of "git --help".  The short-form option only shows a summary,
3531         and doesn't layout the full man page.  Grep for the full option name
3532         in the summary, too.
3533
3534 2010-04-19  Bruno Haible  <bruno@clisp.org>
3535
3536         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
3537         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
3538         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
3539         mention of RELOCATABLE_STRIP.
3540         Reported by Sylvain Beucler <beuc@beuc.net>.
3541
3542 2010-04-19  Bruno Haible  <bruno@clisp.org>
3543
3544         * lib/diffseq.h: Fix typo in comment.
3545         Reported by Eric Blake.
3546
3547 2010-04-19  Bruno Haible  <bruno@clisp.org>
3548
3549         ioctl: Move autoconf macro to a .m4 file.
3550         * m4/ioctl.m4: New file, extracted from modules/ioctl.
3551         * modules/ioctl (Files): Add it.
3552         (configure.ac): Simply invoke gl_FUNC_IOCTL.
3553         Reported by Ian Beckwith <ianb@erislabs.net>.
3554
3555 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
3556             Bruno Haible  <bruno@clisp.org>
3557
3558         diffseq: Accommodate use-case with abstract arrays.
3559         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
3560         is not defined.
3561         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
3562         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
3563
3564 2010-04-18  Bruno Haible  <bruno@clisp.org>
3565
3566         * doc/posix-headers/stdbool.texi: More precise wording.
3567
3568 2010-04-17  Jim Meyering  <meyering@redhat.com>
3569
3570         maint.mk: use gnu-style indentation in an embedded perl script
3571         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
3572         Rename variable: s/two/last_two_bytes/
3573
3574 2010-04-16  Eric Blake  <eblake@redhat.com>
3575
3576         test-stdbool: skip test that fails with Solaris CC
3577         * tests/test-stdbool.c (f): Skip test that causes compilation
3578         error under buggy C++ compiler.
3579         * lib/stdbool.in.h: Document the limitation.
3580         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
3581
3582         setenv: allow compilation with C++
3583         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
3584         register keyword.
3585
3586         stdint: allow test to pass with C++
3587         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
3588
3589         getopt: allow compilation with C++
3590         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
3591         struct.
3592         * lib/getopt.c (_getopt_internal_r): Use correct type.
3593         Reported by Dagobert Michelson, via Joel E. Denny.
3594
3595 2010-04-16  Bruno Haible  <bruno@clisp.org>
3596
3597         Override netdb.h always.
3598         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
3599         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
3600         Reported by Ludovic Courtès <ludo@gnu.org>.
3601
3602 2010-04-15  Bruno Haible  <bruno@clisp.org>
3603
3604         openpty: Fix mistake from 2010-03-21.
3605         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
3606         Reported by Simon Josefsson.
3607
3608 2010-04-15  Eric Blake  <eblake@redhat.com>
3609
3610         test-forkpty: fix expected signature
3611         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
3612         Reported by Simon Josefsson.
3613
3614 2010-04-15  Jim Meyering  <meyering@redhat.com>
3615
3616         maint.mk: texinfo_suffix_re_: correct the default regexp
3617         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
3618
3619         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
3620         make it configurable via texinfo_suffix_re_.
3621
3622 2010-04-14  Eric Blake  <eblake@redhat.com>
3623
3624         strtok_r: relax license to LGPLv2+
3625         * modules/strtok_r (License): Relax license.
3626         Reported by Matthias Bolte.
3627
3628 2010-04-14  Simon Josefsson  <simon@josefsson.org>
3629
3630         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
3631         version 1.4.4 by default instead of requiring the libgcrypt
3632         version used during build.  This makes it possible to use the
3633         application with older but still binary compatible libgcrypt
3634         versions.
3635
3636 2010-04-13  Eric Blake  <eblake@redhat.com>
3637
3638         getopt-gnu: match recent glibc fixes and posix ruling
3639         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
3640         '+' handling, when requesting extensions.
3641         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
3642         'W;' handling.
3643         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
3644         * doc/posix-functions/getopt.texi (getopt): Document this.
3645         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
3646         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3647         Likewise.
3648
3649         getopt: merge bug fixes from glibc
3650         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
3651         diagnostics.  Honor '+:' correctly.  Reject ';'.
3652
3653         getopt-posix: detect MacOS bug
3654         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
3655         optind when missing a required argument.
3656         * doc/posix-functions/getopt.texi (getopt): Document the bug.
3657         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
3658         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
3659         Likewise.
3660
3661         getopt-posix: avoid spurious failure on Solaris
3662         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
3663         an indicator that setting optind=1 is sufficient for reset.
3664
3665         getopt-posix: avoid spurious failure on FreeBSD
3666         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
3667         in POSIX mode, since the m4 test uses it.
3668
3669         gnulib-tool: silence warning on BSD sh
3670         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
3671
3672 2010-04-13  Jim Meyering  <meyering@redhat.com>
3673
3674         doc: users.txt: GNU patch now uses gnulib
3675         * users.txt: Add patch.
3676
3677 2010-04-12  Jim Meyering  <meyering@redhat.com>
3678
3679         maint.mk: generate more concise timing data for syntax-check rules
3680         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
3681         " done" from each line that reports a syntax-check test duration.
3682
3683 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
3684
3685         git-version-gen: use "git update-index..." rather than "git status"
3686         * build-aux/git-version-gen: Use git update-index --refresh, not
3687         "git status".  With some versions of git, "git status" would fail
3688         to update the index and result in an unwarranted "-dirty" suffix.
3689
3690 2010-04-11  Jim Meyering  <meyering@redhat.com>
3691
3692         openat: correct formatting (no semantic change)
3693         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
3694         Suggested by Bruno Haible.
3695
3696 2010-04-11  Bruno Haible  <bruno@clisp.org>
3697
3698         Stricter declaration checking in testdirs.
3699         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
3700         If for_tests is true, augment AM_CPPFLAGS to define
3701         GNULIB_STRICT_CHECKING.
3702         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
3703         GNULIB_STRICT_CHECKING is defined, verify that the function is
3704         declared.
3705
3706 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
3707             Bruno Haible  <bruno@clisp.org>
3708
3709         libunistring: Improve configure output.
3710         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
3711         Don't say "consider installing GNU libunistring" when checking again
3712         with libiconv.
3713
3714 2010-04-11  Bruno Haible  <bruno@clisp.org>
3715
3716         libunistring: Correct value of $LTLIBUNISTRING.
3717         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
3718         correct the value of $LTLIBUNISTRING.
3719
3720 2010-04-11  Bruno Haible  <bruno@clisp.org>
3721
3722         havelib: Add static libraries to LIBS in the right order.
3723         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
3724         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
3725
3726 2010-04-11  Bruno Haible  <bruno@clisp.org>
3727
3728         libunistring: Detect libunistring also when it depends on libiconv.
3729         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
3730         the second AC_LIB_HAVE_LINKFLAGS invocation.
3731
3732 2010-04-11  James Youngman  <jay@gnu.org>
3733
3734         close-stream: declare local scalars to be "const"
3735         * lib/close-stream.c (close_stream): Make boolean variables const
3736         to document the fact that we set but do not change them.
3737
3738 2010-04-11  Bruno Haible  <bruno@clisp.org>
3739
3740         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
3741
3742 2010-04-11  Jim Meyering  <meyering@redhat.com>
3743
3744         maint.mk: don't include dist-check.mk
3745         * top/maint.mk: Remove bogus include directive.
3746
3747         maint.mk: improve empty-line-at-EOF check
3748         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
3749         solution, rather than tail+Perl-based one.  The latter would read
3750         a few kilobytes from the end of each file, and did not handle empty
3751         files properly.
3752
3753         maint.mk: print the elapsed time for each syntax-check rule
3754         * top/maint.mk (sc_m_rules_): Save start time in a file.
3755         (sc_z_rules_): New rules: remove temp file and print elapsed time.
3756         (local-check): Interpose the .z rules
3757
3758 2010-04-11  Jim Meyering  <meyering@redhat.com>
3759
3760         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
3761         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
3762         empty file with one that ends in an empty line.
3763
3764 2010-04-10  Bruno Haible  <bruno@clisp.org>
3765
3766         mkdir: Make it work on mingw64.
3767         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
3768         * lib/mkdir.c: Update comment.
3769         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
3770
3771 2010-04-10  Bruno Haible  <bruno@clisp.org>
3772
3773         Don't override improved macro from newer autoconf.
3774         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
3775         autoconf >= 2.62.
3776         Reported by Joel E. Denny <jdenny@clemson.edu>.
3777
3778 2010-04-10  Jim Meyering  <meyering@redhat.com>
3779
3780         maint.mk: new syntax-check rule: prohibit empty lines at end of file
3781         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
3782
3783         maint.mk: correct a diagnostic
3784         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
3785         in diagnostic; now use $prohibit.
3786
3787 2010-04-10  Bruno Haible  <address@hidden>
3788
3789         fchownat: Fix a C++ test error on Solaris 8.
3790         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
3791         the function does not exist.
3792
3793 2010-04-10  Bruno Haible  <bruno@clisp.org>
3794
3795         vasnprintf: Add more tests.
3796         * tests/test-vasnprintf-posix.c: Include <errno.h>.
3797         (test_function): Test converting an invalid wide string.
3798
3799         vasnprintf: Correct handling of unconvertible wide string arguments.
3800         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
3801         VASNPRINTF.
3802         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
3803         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
3804         smaller than the expected maximum need for the directive. Set errno to
3805         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
3806         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
3807         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
3808         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
3809         * modules/vasnprintf (Files): Add m4/printf.m4.
3810         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3811
3812 2010-04-10  Bruno Haible  <bruno@clisp.org>
3813
3814         vasnprintf: Fix crash in %ls directive.
3815         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
3816         string is passed as argument to %ls, with no precision and no width.
3817         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3818
3819 2010-04-10  Bruno Haible  <bruno@clisp.org>
3820
3821         vasnprintf: Fix multiple test failures on mingw.
3822         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
3823         _snprintf, or snwprintf, not _snwprintf.
3824
3825 2010-04-10  Bruno Haible  <bruno@clisp.org>
3826
3827         write: Fix a C++ test error on mingw.
3828         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
3829
3830 2010-04-10  Bruno Haible  <bruno@clisp.org>
3831
3832         vasnprintf test: Reduce code duplication.
3833         * tests/test-vasnprintf.c (test_function): New function, extracted from
3834         test_vasnprintf.
3835         (test_vasnprintf, test_asnprintf): Invoke it.
3836
3837 2010-04-10  Bruno Haible  <bruno@clisp.org>
3838
3839         strnlen: Fix warning in C++ mode on MacOS X.
3840         * lib/string.in.h (strnlen): Use the modern idiom.
3841         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
3842         defining strnlen as a macro already in <config.h>.
3843         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3844         REPLACE_STRNLEN.
3845         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
3846         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3847
3848 2010-04-08  James Youngman  <jay@gnu.org>
3849
3850         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
3851         the example.
3852
3853 2010-04-09  Jim Meyering  <meyering@redhat.com>
3854
3855         maint.mk: print better diagnostic when there is no $(_hv_file)
3856         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
3857         announce that when $(_hv_file) (aka help-version) does not exist.
3858
3859         init.sh: run tr in the "C" locale to avoid multibyte interpretation
3860         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
3861         not try to interpret its random input bytes.  Jarno Rajahalme reported
3862         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
3863         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
3864         (mktempd_): Likewise, just in case.
3865
3866         ftruncate: add two years to projected module removal date: 2012
3867         * m4/ftruncate.m4: Adjust comments.
3868
3869         ftruncate: mark module as obsolete; even MinGW provides it, now
3870         * modules/ftruncate (Status): Obsolete.
3871         (Notice): Say that.
3872         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
3873         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
3874
3875 2010-04-08  Bruno Haible  <bruno@clisp.org>
3876
3877         Fix side effects from tests-related modules.
3878         * modules/dprintf-posix (Comment): New section.
3879         * modules/fprintf-posix (Comment): Likewise.
3880         * modules/obstack-printf-posix (Comment): Likewise.
3881         * modules/printf-posix (Comment): Likewise.
3882         * modules/snprintf-posix (Comment): Likewise.
3883         * modules/sprintf-posix (Comment): Likewise.
3884         * modules/vasnprintf-posix (Comment): Likewise.
3885         * modules/vasprintf-posix (Comment): Likewise.
3886         * modules/vdprintf-posix (Comment): Likewise.
3887         * modules/vfprintf-posix (Comment): Likewise.
3888         * modules/vprintf-posix (Comment): Likewise.
3889         * modules/vsnprintf-posix (Comment): Likewise.
3890         * modules/vsprintf-posix (Comment): Likewise.
3891         * modules/xprintf-posix (Comment): Likewise.
3892         * modules/xvasprintf-posix (Comment): Likewise.
3893         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
3894         * modules/floorf-tests (Depends-on): Likewise.
3895         * modules/round-tests (Depends-on): Likewise.
3896         * modules/roundf-tests (Depends-on): Likewise.
3897         * modules/trunc-tests (Depends-on): Likewise.
3898         * modules/truncf-tests (Depends-on): Likewise.
3899         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
3900         'fprintf-posix' module is not present.
3901         * tests/test-floorf2.c (check): Likewise.
3902         * tests/test-trunc2.c (check): Likewise.
3903         * tests/test-truncf2.c (check): Likewise.
3904         * tests/test-round2.c (equal): Likewise.
3905         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
3906
3907 2010-04-07  Karl Berry  <karl@gnu.org>
3908
3909         * config/srclist.txt,
3910         * config/srclistvars.sh,
3911         * config/srclist-update: doc fixes.
3912
3913 2010-04-07  Jim Meyering  <meyering@redhat.com>
3914
3915         maint.mk: add a PATH crosschecking syntax-check rule
3916         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
3917         Useful if you use a test like the one in help-version (coreutils,
3918         diffutils, grep, gzip) that ensures $(VERSION) matches what is
3919         printed by prog --version.
3920
3921 2010-04-06  Bruno Haible  <bruno@clisp.org>
3922
3923         Fix link error on mingw.
3924         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
3925         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
3926
3927 2010-04-06  Bruno Haible  <bruno@clisp.org>
3928
3929         Assume rmdir exists.
3930         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
3931
3932 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
3933
3934         doc: update users.txt
3935         * users.txt: Add gcal.
3936
3937 2010-04-06  Jim Meyering  <meyering@redhat.com>
3938
3939         init.sh: simply unset TMPDIR rather than risking env -i
3940         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
3941         although it probably works fine on all Unix-based systems, some
3942         systems (Cygwin?) cannot tolerate a totally cleared environment.
3943         Suggestion from Eric Blake.
3944
3945 2010-04-06  Jim Meyering  <meyering@redhat.com>
3946
3947         init.sh: portability fix: use env's POSIX-specified -i option not -u
3948         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
3949         than unportable env -u.  Solaris 5.11's env lacks support for -u.
3950
3951 2010-04-05  Bruno Haible  <bruno@clisp.org>
3952
3953         btowc: Work around Cygwin 1.7.2 bug.
3954         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
3955         does not map NUL to 0.
3956         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
3957
3958 2010-04-05  Bruno Haible  <bruno@clisp.org>
3959
3960         Make the multithread modules work on Cygwin 1.7.2.
3961         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
3962         imported symbols can be declared weak, so that it returns "no" on
3963         Cygwin 1.7.2.
3964
3965 2010-04-05  Bruno Haible  <bruno@clisp.org>
3966
3967         Use the module 'strncat'.
3968         * modules/unistr/u8-strncat (Depends-on): Add strncat.
3969
3970         Tests for module 'strncat'.
3971         * modules/strncat-tests: New file.
3972         * tests/test-strncat.c: New file.
3973
3974         New module 'strncat'.
3975         * lib/string.in.h (strncat): New declaration.
3976         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
3977         * m4/strncat.m4: New file, based on m4/memchr.m4.
3978         * modules/strncat: New file.
3979         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
3980         is declared.
3981         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
3982         REPLACE_STRNCAT.
3983         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
3984         REPLACE_STRNCAT.
3985         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
3986         module.
3987         * tests/test-string-c++.cc: Check signature of strncat.
3988
3989 2010-04-05  Jim Meyering  <meyering@redhat.com>
3990
3991         xstrtoumax-tests: convert to use init.sh
3992         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
3993         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
3994         Use Exit, not exit.
3995         Remove uses of $EXEEXT and "./" to run a program in the current dir.
3996
3997         xstrtoimax-tests: convert to use init.sh
3998         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
3999         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
4000         Use Exit, not exit.
4001         Remove uses of $EXEEXT and "./" to run a program in the current dir.
4002
4003 2010-04-05  Bruno Haible  <bruno@clisp.org>
4004
4005         sys_socket: Avoid #define replacements in C++ mode.
4006         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
4007         warning to the function if possible, rather than #defining the symbol
4008         to a dysfunctional alias.
4009
4010 2010-04-05  Bruno Haible  <bruno@clisp.org>
4011
4012         fseeko: Fix C++ test error on mingw.
4013         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
4014         gl_FUNC_FSEEKO.
4015         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
4016         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
4017         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
4018         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
4019
4020 2010-04-05  Bruno Haible  <bruno@clisp.org>
4021
4022         duplocale: Improve test output.
4023         * tests/test-duplocale.c (main): Print reason for skipped test.
4024
4025 2010-04-05  Bruno Haible  <bruno@clisp.org>
4026
4027         Assume rmdir exists.
4028         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
4029         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
4030
4031 2010-04-05  Bruno Haible  <bruno@clisp.org>
4032
4033         Fix link error on Solaris 8 with cc.
4034         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
4035
4036 2010-04-05  Bruno Haible  <bruno@clisp.org>
4037
4038         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
4039         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
4040
4041 2010-04-05  Bruno Haible  <bruno@clisp.org>
4042
4043         vasprintf: Update documentation.
4044         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
4045
4046 2010-04-05  Bruno Haible  <bruno@clisp.org>
4047
4048         ptsname: Improve test.
4049         * tests/test-ptsname.c (main): Also try the various master names of BSD
4050         systems.
4051
4052 2010-04-05  Bruno Haible  <bruno@clisp.org>
4053
4054         memchr: Avoid a possible C++ test error.
4055         * lib/string.in.h (memchr): Provide declaration if function is missing.
4056         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
4057         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
4058         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
4059         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
4060
4061 2010-04-05  Bruno Haible  <bruno@clisp.org>
4062
4063         strtok_r: Improve idiom.
4064         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
4065         AC_LIBOBJ is used.
4066
4067 2010-04-05  Bruno Haible  <bruno@clisp.org>
4068
4069         strdup: Improve idiom.
4070         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
4071         AC_LIBOBJ is used.
4072         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
4073         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
4074         when AC_LIBOBJ is used.
4075
4076 2010-04-05  Bruno Haible  <bruno@clisp.org>
4077
4078         mbsinit, mbrtowc, wcrtomb: Improve idioms.
4079         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
4080         don't set REPLACE_MBSINIT to 1.
4081         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
4082         don't set REPLACE_MBRTOWC to 1.
4083         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
4084         exist, don't set REPLACE_MBSRTOWCS to 1.
4085         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
4086         exist, don't set REPLACE_MBSNRTOWCS to 1.
4087         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
4088         don't set REPLACE_WCRTOMB to 1.
4089         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
4090         exist, don't set REPLACE_WCSRTOMBS to 1.
4091         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
4092         exist, don't set REPLACE_WCSNRTOMBS to 1.
4093
4094 2010-04-05  Bruno Haible  <bruno@clisp.org>
4095
4096         ldexpl: Improve idiom.
4097         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
4098         make sure to set HAVE_DECL_LDEXPL to 0.
4099
4100 2010-04-05  Jim Meyering  <meyering@redhat.com>
4101
4102         xstrtol-tests: convert to use init.sh
4103         * modules/xstrtol-tests (Files): Add tests/init.sh.
4104         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
4105         Use Exit, not exit.
4106         Remove uses of $EXEEXT and "./" to run a program in the current dir.
4107
4108         atexit-tests: convert to use init.sh
4109         * modules/atexit-tests (Files): Add tests/init.sh.
4110         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
4111         Use Exit, not exit.
4112         Remove uses of $EXEEXT and "./" to run a program in the current dir.
4113
4114         init.sh: fix typo
4115         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
4116
4117         init.sh: make it easier for a test script to write to the tty, ...
4118         when using automake's parallel-tests mode.
4119         * tests/init.sh (stderr_fileno_): Define overridable variable.
4120         (warn_): New function, to use it.
4121         (fail_, skip_, framework_failure_): Use warn_.
4122
4123 2010-04-04  Bruno Haible  <bruno@clisp.org>
4124
4125         btowc: Avoid warning.
4126         * lib/btowc.c: Include <stdlib.h>.
4127         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
4128
4129 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
4130             Bruno Haible  <bruno@clisp.org>
4131
4132         wchar: Port to NetBSD 1.5.
4133         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
4134         * lib/wctype.in.h (WEOF): Likewise.
4135
4136 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
4137             Bruno Haible  <bruno@clisp.org>
4138
4139         Port extended stdio to NetBSD 1.5.
4140         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
4141         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
4142         older.
4143
4144 2010-04-04  Bruno Haible  <bruno@clisp.org>
4145
4146         string: Remove unused substitution.
4147         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
4148         HAVE_DECL_STRERROR.
4149         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
4150
4151 2010-04-04  Bruno Haible  <bruno@clisp.org>
4152
4153         strtod: Avoid a possible C++ test error.
4154         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
4155         set REPLACE_STRTOD.
4156
4157 2010-04-04  Bruno Haible  <bruno@clisp.org>
4158
4159         strerror: Update documentation.
4160         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
4161
4162 2010-04-04  Bruno Haible  <bruno@clisp.org>
4163
4164         stdio: Fix some C++ test errors on Solaris 8 with GCC.
4165         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
4166         _GL_CXXALIAS_SYS_CAST.
4167
4168 2010-04-04  Bruno Haible  <bruno@clisp.org>
4169
4170         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
4171         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
4172         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
4173         REPLACE_FREXPL to 1.
4174         * doc/posix-functions/frexpl.texi: Update documentation.
4175
4176 2010-04-04  Bruno Haible  <bruno@clisp.org>
4177
4178         math: Fix some C++ test errors on Solaris 8 and Cygwin.
4179         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
4180
4181 2010-04-04  Bruno Haible  <bruno@clisp.org>
4182
4183         Implement nanosleep for native Windows.
4184         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
4185
4186 2010-04-04  Bruno Haible  <bruno@clisp.org>
4187
4188         math: Fix some C++ test errors on Solaris 8.
4189         * lib/math.in.h (truncf, trunc): Use simpler idiom.
4190
4191 2010-04-04  Bruno Haible  <bruno@clisp.org>
4192
4193         math: Fix some C++ test errors on Cygwin.
4194         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
4195         truncl): Provide declaration if the system does not have it.
4196         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
4197         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
4198         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
4199         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
4200         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
4201         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
4202         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
4203         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
4204         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
4205         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
4206         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
4207         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
4208         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
4209         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
4210         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
4211         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
4212         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
4213         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
4214         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
4215         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
4216         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
4217         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
4218
4219 2010-04-04  Bruno Haible  <bruno@clisp.org>
4220
4221         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
4222         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
4223         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
4224         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
4225         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
4226         * m4/isinf.m4 (gl_ISINF): Likewise.
4227         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
4228
4229 2010-04-04  Bruno Haible  <bruno@clisp.org>
4230
4231         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
4232         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
4233
4234 2010-04-04  Bruno Haible  <bruno@clisp.org>
4235
4236         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
4237         * modules/tmpfile (configure.ac): Update.
4238
4239         tmpfile: Fix C++ test error on mingw.
4240         * lib/stdio.in.h (tmpfile): New declaration.
4241         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
4242         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
4243         * modules/tmpfile (Depends-on): Add stdio.
4244         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
4245         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
4246         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
4247         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
4248         REPLACE_TMPFILE.
4249         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
4250
4251 2010-04-04  Bruno Haible  <bruno@clisp.org>
4252
4253         ioctl: Fix C++ test error on mingw.
4254         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
4255         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
4256         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
4257
4258 2010-04-03  Bruno Haible  <bruno@clisp.org>
4259
4260         wcwidth: Fix C++ test error on mingw.
4261         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
4262         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
4263         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
4264
4265 2010-04-03  Bruno Haible  <bruno@clisp.org>
4266
4267         nanosleep: Fix C++ test error on mingw.
4268         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
4269         * lib/time.in.h (nanosleep): Use modern idiom.
4270         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
4271         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
4272         REPLACE_NANOSLEEP to 1.
4273         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
4274         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
4275
4276 2010-04-03  Bruno Haible  <bruno@clisp.org>
4277
4278         strptime: Fix C++ test error on mingw.
4279         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
4280         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
4281         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
4282         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
4283         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
4284         not REPLACE_STRPTIME.
4285         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
4286         REPLACE_STRPTIME.
4287
4288 2010-04-03  Bruno Haible  <bruno@clisp.org>
4289
4290         timegm: Fix C++ test error on mingw.
4291         * lib/time.in.h (timegm): Use modern idiom.
4292         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
4293         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
4294         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
4295         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
4296
4297 2010-04-03  Bruno Haible  <bruno@clisp.org>
4298
4299         timegm: Assume declaration if function exists.
4300         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
4301         if it exists. Don't clobber ac_cv_func_timegm.
4302
4303 2010-04-03  Bruno Haible  <bruno@clisp.org>
4304
4305         time_r: Fix C++ test error on mingw.
4306         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
4307         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
4308         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
4309         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
4310         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
4311
4312 2010-04-03  Bruno Haible  <bruno@clisp.org>
4313
4314         time_r: Minor updates.
4315         * modules/time_r (Description): Mention the provided functions.
4316         * lib/time_r.c: Don't include <string.h>.
4317         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
4318         * doc/posix-functions/localtime_r.texi: Likewise.
4319
4320 2010-04-03  Bruno Haible  <bruno@clisp.org>
4321
4322         time: Fix regression introduced on 2010-03-08.
4323         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
4324         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
4325
4326 2010-04-03  Jim Meyering  <meyering@redhat.com>
4327
4328         maint.mk: don't silently disable project-specific syntax-check rules
4329         * top/maint.mk (_prohibit_regexp): Define, to help people realize
4330         that they need to convert their project-specific syntax-check rules
4331         to use the new _sc_search_regexp.
4332
4333 2010-04-03  Bruno Haible  <bruno@clisp.org>
4334
4335         fchdir: Fix regression introduced on 2010-03-08.
4336         * lib/unistd.in.h (fchdir): Fix declaration.
4337         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
4338         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
4339         REPLACE_FCHDIR.
4340         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
4341         REPLACE_FCHDIR.
4342
4343 2010-04-03  Bruno Haible  <bruno@clisp.org>
4344
4345         getpagesize: Fix C++ test error on mingw.
4346         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
4347         system does not declare the function.
4348         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
4349         declared.
4350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4351         HAVE_DECL_GETPAGESIZE.
4352         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
4353
4354 2010-04-03  Bruno Haible  <bruno@clisp.org>
4355
4356         stdio: Make C++ tests work on mingw.
4357         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
4358         does not declare the function.
4359
4360 2010-04-03  Bruno Haible  <bruno@clisp.org>
4361
4362         ftello: Fix C++ test error on mingw.
4363         * lib/stdio.in.h (ftello): Use modern idiom.
4364         * lib/ftello.c (ftello): Renamed from rpl_ftello.
4365         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
4366         is missing and that it needs to be replaced.
4367         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
4368         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
4369         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
4370
4371 2010-04-03  Bruno Haible  <bruno@clisp.org>
4372
4373         fseeko: Fix C++ test error on mingw.
4374         * lib/stdio.in.h (fseeko): Use modern idiom.
4375         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
4376         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
4377         is missing and that it needs to be replaced.
4378         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
4379         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
4380         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
4381
4382 2010-04-03  Bruno Haible  <bruno@clisp.org>
4383
4384         mkstemp: Fix C++ test error on mingw.
4385         * lib/stdlib.in.h (mkstemp): Use modern idiom.
4386         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
4387         function is missing and that it needs to be replaced.
4388         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
4389         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
4390
4391 2010-04-03  Bruno Haible  <bruno@clisp.org>
4392
4393         stpncpy: Fix C++ test error on mingw.
4394         * lib/string.in.h (stpncpy): Use modern idiom.
4395         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
4396         function is missing and that it needs to be replaced.
4397         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
4398         REPLACE_STPNCPY.
4399         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
4400
4401 2010-04-03  Bruno Haible  <bruno@clisp.org>
4402
4403         sys_stat: Fix C++ test error on mingw.
4404         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
4405         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
4406
4407 2010-04-03  Bruno Haible  <bruno@clisp.org>
4408
4409         pty: Update doc.
4410         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
4411
4412 2010-04-03  Bruno Haible  <bruno@clisp.org>
4413
4414         unistd: Fix C++ test error on mingw.
4415         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
4416
4417 2010-04-03  Bruno Haible  <bruno@clisp.org>
4418
4419         Update doc regarding mingw.
4420         * doc/glibc-functions/openpty.texi: Update regarding mingw.
4421         * doc/glibc-functions/login_tty.texi: Likewise.
4422         * doc/glibc-functions/forkpty.texi: Likewise.
4423
4424 2010-04-03  Bruno Haible  <bruno@clisp.org>
4425
4426         stdlib: Avoid compilation failure of c-strtold on mingw.
4427         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
4428
4429 2010-04-03  Bruno Haible  <bruno@clisp.org>
4430
4431         locale: Make C++ tests work on Cygwin and mingw.
4432         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
4433         cannot provide the function.
4434         Reported by Simon Josefsson.
4435
4436 2010-04-03  Bruno Haible  <bruno@clisp.org>
4437
4438         localename: Port to MacOS X 10.6.
4439         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
4440         memory layout of the locales in MacOS X 10.6 as well.
4441         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
4442
4443 2010-04-02  Bruno Haible  <bruno@clisp.org>
4444
4445         gnulib-tool: Ensure that long-running tests are executed last.
4446         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
4447         running tests after the one for the other tests.
4448
4449 2010-04-02  Bruno Haible  <bruno@clisp.org>
4450
4451         gnulib-tool: Ensure the tests in the main directory are executed first.
4452         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
4453         start with the current directory.
4454
4455 2010-04-02  Bruno Haible  <bruno@clisp.org>
4456
4457         Tests for module 'havelib', moved here from GNU gettext.
4458         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
4459         modifications.
4460         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
4461         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
4462         with modifications.
4463         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
4464         modifications.
4465         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
4466         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
4467         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
4468         with modifications.
4469         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
4470         with modifications.
4471         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
4472         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
4473         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
4474         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
4475         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
4476         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
4477         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
4478         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
4479         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
4480         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
4481         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
4482         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
4483         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
4484         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
4485         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
4486         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
4487         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
4488         with modifications.
4489         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
4490         with modifications.
4491         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
4492         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
4493         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
4494         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
4495         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
4496         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
4497         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
4498         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
4499         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
4500         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
4501         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
4502         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
4503         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
4504         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
4505         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
4506         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
4507         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
4508         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
4509         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
4510         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
4511         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
4512         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
4513         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
4514         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
4515         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
4516         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
4517         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
4518         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
4519         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
4520         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
4521         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
4522         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
4523         * tests/havelib/rpathx/rpathx.c: New file, from
4524         gettext/autoconf-lib-link.
4525         * tests/havelib/rpathx/Makefile.am: New file, from
4526         gettext/autoconf-lib-link.
4527         * tests/havelib/rpathx/configure.ac: New file, from
4528         gettext/autoconf-lib-link with modifications.
4529         * tests/havelib/rpathy/rpathy.c: New file, from
4530         gettext/autoconf-lib-link.
4531         * tests/havelib/rpathy/Makefile.am: New file, from
4532         gettext/autoconf-lib-link.
4533         * tests/havelib/rpathy/configure.ac: New file, from
4534         gettext/autoconf-lib-link with modifications.
4535         * tests/havelib/rpathz/rpathz.c: New file, from
4536         gettext/autoconf-lib-link.
4537         * tests/havelib/rpathz/Makefile.am: New file, from
4538         gettext/autoconf-lib-link.
4539         * tests/havelib/rpathz/configure.ac: New file, from
4540         gettext/autoconf-lib-link with modifications.
4541         * tests/havelib/rpathlx/usex.c: New file, from
4542         gettext/autoconf-lib-link.
4543         * tests/havelib/rpathlx/Makefile.am: New file, from
4544         gettext/autoconf-lib-link.
4545         * tests/havelib/rpathlx/configure.ac: New file, from
4546         gettext/autoconf-lib-link with modifications.
4547         * tests/havelib/rpathly/usey.c: New file, from
4548         gettext/autoconf-lib-link.
4549         * tests/havelib/rpathly/Makefile.am: New file, from
4550         gettext/autoconf-lib-link.
4551         * tests/havelib/rpathly/configure.ac: New file, from
4552         gettext/autoconf-lib-link with modifications.
4553         * tests/havelib/rpathlz/usez.c: New file, from
4554         gettext/autoconf-lib-link.
4555         * tests/havelib/rpathlz/Makefile.am: New file, from
4556         gettext/autoconf-lib-link.
4557         * tests/havelib/rpathlz/configure.ac: New file, from
4558         gettext/autoconf-lib-link with modifications.
4559         * tests/havelib/rpathlyx/usey.c: New file, from
4560         gettext/autoconf-lib-link.
4561         * tests/havelib/rpathlyx/Makefile.am: New file, from
4562         gettext/autoconf-lib-link.
4563         * tests/havelib/rpathlyx/configure.ac: New file, from
4564         gettext/autoconf-lib-link with modifications.
4565         * tests/havelib/rpathlzyx/usez.c: New file, from
4566         gettext/autoconf-lib-link.
4567         * tests/havelib/rpathlzyx/Makefile.am: New file, from
4568         gettext/autoconf-lib-link.
4569         * tests/havelib/rpathlzyx/configure.ac: New file, from
4570         gettext/autoconf-lib-link with modifications.
4571         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
4572         with modifications.
4573
4574 2010-04-02  Bruno Haible  <bruno@clisp.org>
4575
4576         gnulib-tool: Create distributed built sources also for the tests.
4577         * gnulib-tool (func_create_testdir): Also generate distributed built
4578         sources in the tests directory.
4579
4580 2010-04-02  Bruno Haible  <bruno@clisp.org>
4581
4582         gnulib-tool: Obey user's environment variables.
4583         * gnulib-tool (func_create_testdir): When creating built sources,
4584         respect the environment variables for autoconf, automake, etc. given by
4585         the user.
4586
4587 2010-04-02  Bruno Haible  <bruno@clisp.org>
4588
4589         gnulib-tool: Provide the value of --m4-base to modules.
4590         * gnulib-tool (func_import, func_create_testdir): Emit a definition
4591         of gl_m4_base.
4592
4593 2010-04-02  Eric Blake  <eblake@redhat.com>
4594
4595         maint.mk: fix some fallout
4596         * NEWS: Document the incompatible change, and its effect on cfg.mk.
4597         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
4598
4599 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
4600
4601         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
4602         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
4603         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
4604         (sc_cast_of_x_alloc_return_value): Likewise.
4605         (sc_cast_of_alloca_return_value): Likewise.
4606         (sc_space_tab): Likewise.
4607         (sc_prohibit_atoi_atof): Likewise.
4608         (sc_prohibit_magic_number_exit): Likewise.
4609         (sc_error_exit_success): Likewise.
4610         (sc_file_system): Likewise.
4611         (sc_prohibit_have_config_h): Likewise.
4612         (sc_require_config_h): Likewise.
4613         (sc_prohibit_HAVE_MBRTOWC): Likewise.
4614         (sc_obsolete_symbols): Likewise.
4615         (sc_changelog): Likewise.
4616         (sc_program_name): Likewise.
4617         (sc_the_the): Likewise.
4618         (sc_trailing_blank): Likewise.
4619         (sc_two_space_separator_in_usage): Likewise.
4620         (sc_useless_cpp_parens): Likewise.
4621         (sc_GPL_version): Likewise.
4622         (sc_GFDL_version): Likewise.
4623         (sc_texinfo_acronym): Likewise.
4624         (sc_prohibit_cvs_keyword): Likewise.
4625         (sc_prohibit_stat_st_blocks): Likewise.
4626         (sc_prohibit_S_IS_definition): Likewise.
4627         (sc_redundant_const): Likewise.
4628         (sc_makefile_TAB_only_indentation): Likewise.
4629         (sc_m4_quote_check): Likewise.
4630         (sc_makefile_path_separator_check): Likewise.
4631         (sc_copyright_check): Likewise.
4632         (sc_Wundef_boolean): Likewise.
4633         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
4634
4635         maint.mk: match 0 or more whitespace-before-function-call '('
4636         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
4637         that have zero or two-and-more spaces between the function name
4638         and the open parenthesis.
4639         (sc_error_message_warn_fatal): Likewise.
4640         (sc_error_message_uppercase): Likewise.
4641         (sc_error_message_period): Likewise.
4642
4643 2010-03-31  Eric Blake  <eblake@redhat.com>
4644
4645         maint.mk: check for [ as well as test
4646         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
4647         Based on a libvirt report by Matthias Bolte.
4648
4649         gnumakefile: don't squelch _version output
4650         * top/GNUmakefile (_version): Create one-shot dependency rather
4651         than using $(shell) when version must be regenerated.
4652         (_autoreconf): Run verbosely, by default.
4653
4654         sys_time: avoid compiler warnings
4655         * lib/sys_time.in.h (includes): Ensure gcc pragma is
4656         unconditional, fixing regression from 2010-03-29.
4657         Reported by Simon Josefsson.
4658
4659 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
4660
4661         maint.mk: s/_header_without_use/_sc_header_without_use/
4662         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
4663         (sc_prohibit_assert_without_use): Use the new name.
4664         (sc_prohibit_close_stream_without_use): Likewise.
4665         (sc_prohibit_getopt_without_use): Likewise.
4666         (sc_prohibit_quotearg_without_use): Likewise.
4667         (sc_prohibit_quote_without_use): Likewise.
4668         (sc_prohibit_long_options_without_use): Likewise.
4669         (sc_prohibit_inttostr_without_use): Likewise.
4670         (sc_prohibit_ignore_value_without_use): Likewise.
4671         (sc_prohibit_error_without_use): Likewise.
4672         (sc_prohibit_xalloc_without_use): Likewise.
4673         (sc_prohibit_hash_without_use): Likewise.
4674         (sc_prohibit_hash_pjw_without_use): Likewise.
4675         (sc_prohibit_safe_read_without_use): Likewise.
4676         (sc_prohibit_argmatch_without_use): Likewise.
4677         (sc_prohibit_canonicalize_without_use): Likewise.
4678         (sc_prohibit_root_dev_ino_without_use): Likewise.
4679         (sc_prohibit_openat_without_use): Likewise.
4680         (sc_prohibit_c_ctype_without_use): Likewise.
4681         (sc_prohibit_signal_without_use): Likewise.
4682         (sc_prohibit_intprops_without_use): Likewise.
4683
4684 2010-03-30  Eric Blake  <eblake@redhat.com>
4685
4686         maint: improve module indicators
4687         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
4688         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
4689         columns, and avoid extra macro expansion.
4690
4691         fdopendir: work around FreeBSD bug
4692         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
4693         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
4694         * modules/dirent (Makefile.am): Substitute it.
4695         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
4696         declaration.
4697         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
4698         fix.
4699         Reported by Christian Weisgerber <naddy@mips.inka.de>.
4700
4701 2010-03-29  Bruno Haible  <bruno@clisp.org>
4702
4703         Emit #pragma system_header after the inclusion guard, not before.
4704         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
4705         guard that spans the entire file, not before. This enables an
4706         optimization in GCC's preprocessor.
4707         * lib/ctype.in.h: Likewise.
4708         * lib/dirent.in.h: Likewise.
4709         * lib/errno.in.h: Likewise.
4710         * lib/float.in.h: Likewise.
4711         * lib/getopt.in.h: Likewise.
4712         * lib/iconv.in.h: Likewise.
4713         * lib/langinfo.in.h: Likewise.
4714         * lib/locale.in.h: Likewise.
4715         * lib/math.in.h: Likewise.
4716         * lib/netdb.in.h: Likewise.
4717         * lib/netinet_in.in.h: Likewise.
4718         * lib/pty.in.h: Likewise.
4719         * lib/sched.in.h: Likewise.
4720         * lib/se-selinux.in.h: Likewise.
4721         * lib/search.in.h: Likewise.
4722         * lib/spawn.in.h: Likewise.
4723         * lib/stdarg.in.h: Likewise.
4724         * lib/stdint.in.h: Likewise.
4725         * lib/string.in.h: Likewise.
4726         * lib/strings.in.h: Likewise.
4727         * lib/sys_file.in.h: Likewise.
4728         * lib/sys_ioctl.in.h: Likewise.
4729         * lib/sys_time.in.h: Likewise.
4730         * lib/sys_times.in.h: Likewise.
4731         * lib/sys_utsname.in.h: Likewise.
4732         * lib/sys_wait.in.h: Likewise.
4733         * lib/sysexits.in.h: Likewise.
4734         * lib/wctype.in.h: Likewise.
4735
4736 2010-03-28  James Youngman  <jay@gnu.org>
4737
4738         save-cwd: don't leak a file descriptor when the caller execs.
4739         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
4740         saved file descriptor.
4741         * modules/save-cwd (Depends-on): Depend on cloexec.
4742
4743 2010-03-29  Bruno Haible  <bruno@clisp.org>
4744
4745         Remove vestiges of fts-lgpl module.
4746         * lib/fts_.h: Assume GNULIB_FTS is 1.
4747         * lib/fts.c: Likewise.
4748         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
4749
4750 2010-03-28  Bruno Haible  <bruno@clisp.org>
4751
4752         Fix definition of tests witness macro.
4753         * gnulib-tool (func_import): Fix definition of witness macro.
4754
4755 2010-03-28  Bruno Haible  <bruno@clisp.org>
4756
4757         Fix ioctl's protoype on glibc systems.
4758         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
4759         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
4760         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
4761         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
4762         signature. If not, arrange to replace the ioctl function.
4763         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
4764         REPLACE_IOCTL.
4765         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
4766         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
4767         Reported by Ludovic Courtès <ludo@gnu.org>.
4768
4769 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
4770
4771         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
4772         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
4773         made it so grep -r --include=GLOB* ... did not work.
4774
4775 2010-03-26  Jim Meyering  <meyering@redhat.com>
4776             Eric Blake  <eblake@redhat.com>
4777
4778         maint.mk: prohibit use of test's -o and -a operators
4779         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
4780
4781 2010-03-28  Bruno Haible  <bruno@clisp.org>
4782
4783         Remove unused GNULIB_XYZ macro definitions.
4784         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
4785         invocation.
4786
4787 2010-03-28  Bruno Haible  <bruno@clisp.org>
4788
4789         Mark privileged tests modules.
4790         * modules/idpriv-drop-tests (Status): New section.
4791         * modules/idpriv-droptemp-tests (Status): New section.
4792
4793 2010-03-28  Bruno Haible  <bruno@clisp.org>
4794
4795         Split C++ tests into separate tests modules.
4796         * modules/dirent-c++-tests: New file, extracted from
4797         modules/dirent-tests.
4798         * modules/dirent-tests: Depend on it.
4799         * modules/fcntl-h-c++-tests: New file, extracted from
4800         modules/fcntl-h-tests.
4801         * modules/fcntl-h-tests: Depend on it.
4802         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
4803         * modules/glob-tests: Depend on it.
4804         * modules/iconv-h-c++-tests: New file, extracted from
4805         modules/iconv-h-tests.
4806         * modules/iconv-h-tests: Depend on it.
4807         * modules/langinfo-c++-tests: New file, extracted from
4808         modules/langinfo-tests.
4809         * modules/langinfo-tests: Depend on it.
4810         * modules/locale-c++-tests: New file, extracted from
4811         modules/locale-tests.
4812         * modules/locale-tests: Depend on it.
4813         * modules/math-c++-tests: New file, extracted from modules/math-tests.
4814         * modules/math-tests: Depend on it.
4815         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
4816         * modules/pty-tests: Depend on it.
4817         * modules/search-c++-tests: New file, extracted from
4818         modules/search-tests.
4819         * modules/search-tests: Depend on it.
4820         * modules/signal-c++-tests: New file, extracted from
4821         modules/signal-tests.
4822         * modules/signal-tests: Depend on it.
4823         * modules/spawn-c++-tests: New file, extracted from
4824         modules/spawn-tests.
4825         * modules/spawn-tests: Depend on it.
4826         * modules/stdio-c++-tests: New file, extracted from
4827         modules/stdio-tests.
4828         * modules/stdio-tests: Depend on it.
4829         * modules/stdlib-c++-tests: New file, extracted from
4830         modules/stdlib-tests.
4831         * modules/stdlib-tests: Depend on it.
4832         * modules/string-c++-tests: New file, extracted from
4833         modules/string-tests.
4834         * modules/string-tests: Depend on it.
4835         * modules/sys_ioctl-c++-tests: New file, extracted from
4836         modules/sys_ioctl-tests.
4837         * modules/sys_ioctl-tests: Depend on it.
4838         * modules/sys_select-c++-tests: New file, extracted from
4839         modules/sys_select-tests.
4840         * modules/sys_select-tests: Depend on it.
4841         * modules/sys_socket-c++-tests: New file, extracted from
4842         modules/sys_socket-tests.
4843         * modules/sys_socket-tests: Depend on it.
4844         * modules/sys_stat-c++-tests: New file, extracted from
4845         modules/sys_stat-tests.
4846         * modules/sys_stat-tests: Depend on it.
4847         * modules/sys_time-c++-tests: New file, extracted from
4848         modules/sys_time-tests.
4849         * modules/sys_time-tests: Depend on it.
4850         * modules/time-c++-tests: New file, extracted from modules/time-tests.
4851         * modules/time-tests: Depend on it.
4852         * modules/unistd-c++-tests: New file, extracted from
4853         modules/unistd-tests.
4854         * modules/unistd-tests: Depend on it.
4855         * modules/wchar-c++-tests: New file, extracted from
4856         modules/wchar-tests.
4857         * modules/wchar-tests: Depend on it.
4858         * modules/wctype-c++-tests: New file, extracted from
4859         modules/wctype-tests.
4860         * modules/wctype-tests: Depend on it.
4861         Reported by Simon Josefsson.
4862
4863 2010-03-28  Bruno Haible  <bruno@clisp.org>
4864
4865         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
4866         * gnulib-tool (func_exists_module): New function, extracted from
4867         func_verify_module.
4868         (func_verify_module): Use it.
4869         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
4870         'foo' only if 'foo' exists.
4871         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
4872         module.
4873
4874 2010-03-28  Bruno Haible  <bruno@clisp.org>
4875
4876         gnulib-tool: Add support for special categories of tests.
4877         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
4878         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
4879         (func_usage): Document them.
4880         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
4881         inc_unportable_tests, inc_all_tests): New variables.
4882         (func_acceptable): Consider these variables.
4883         (func_modules_transitive_closure): Make it work when the 'Status' field
4884         consists of multiple words.
4885         (func_import): Store and restore the values of inc_cxx_tests,
4886         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
4887         inc_all_tests in gnulib-comp.m4.
4888         (func_create_testdir): Set inc_all_tests to true.
4889         * doc/gnulib.texi (Extra tests modules): New section.
4890         Suggested by Jim Meyering.
4891
4892 2010-03-28  Bruno Haible  <bruno@clisp.org>
4893
4894         ansi-c++-opt: Allow turning off the C++ build by default.
4895         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
4896         gl_CXX_CHOICE_DEFAULT_NO is defined.
4897         Requested by Eric Blake.
4898
4899 2010-03-28  Bruno Haible  <bruno@clisp.org>
4900
4901         unistd: Avoid #define replacements in C++ mode.
4902         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
4903         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
4904         setsockopt, shutdown, select): In C++, attach a warning to the function
4905         if possible, rather than #defining the symbol to a dysfunctional alias.
4906         Reported by John W. Eaton <jwe@gnu.org>.
4907
4908 2010-03-28  Bruno Haible  <bruno@clisp.org>
4909
4910         Fix link errors on mingw.
4911         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
4912         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
4913         $(LIBSOCKET).
4914         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
4915         $(LIBSOCKET).
4916
4917 2010-03-28  Bruno Haible  <bruno@clisp.org>
4918             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4919
4920         lib-ignore: Determine different options for different compilers.
4921         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
4922         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
4923         Add comments.
4924         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
4925         * NEWS: Mention the change.
4926
4927 2010-03-27  Bruno Haible  <bruno@clisp.org>
4928
4929         Remove unused GNULIB_XYZ macro definitions.
4930         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
4931         * modules/fseek (configure.ac): Likewise.
4932         * modules/ioctl (configure.ac): Likewise.
4933         * modules/open (configure.ac): Likewise.
4934         * modules/stdlib-safer (configure.ac): Likewise.
4935
4936 2010-03-27  Bruno Haible  <bruno@clisp.org>
4937
4938         Add a remark about certain modules.
4939         * modules/malloc (Comment): New section.
4940         * modules/realloc (Comment): Likewise.
4941         * modules/sigpipe (Comment): Likewise.
4942
4943 2010-03-27  Bruno Haible  <bruno@clisp.org>
4944
4945         Resolve conflict between the two kinds of module indicators.
4946         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
4947         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
4948         * modules/canonicalize (configure.ac): Invoke
4949         gl_MODULE_INDICATOR_FOR_TESTS.
4950         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
4951         GNULIB_XYZ.
4952         * tests/test-dirent-c++.cc: Likewise.
4953         * tests/test-dirent-safer.c: Likewise.
4954         * tests/test-dup2.c: Likewise.
4955         * tests/test-fchdir.c: Likewise.
4956         * tests/test-fcntl-h-c++.cc: Likewise.
4957         * tests/test-getopt.c: Likewise.
4958         * tests/test-getopt.h: Likewise.
4959         * tests/test-langinfo-c++.cc: Likewise.
4960         * tests/test-locale-c++.cc: Likewise.
4961         * tests/test-math-c++.cc: Likewise.
4962         * tests/test-pty-c++.cc: Likewise.
4963         * tests/test-search-c++.cc: Likewise.
4964         * tests/test-signal-c++.cc: Likewise.
4965         * tests/test-spawn-c++.cc: Likewise.
4966         * tests/test-stdio-c++.cc: Likewise.
4967         * tests/test-stdlib-c++.cc: Likewise.
4968         * tests/test-string-c++.cc: Likewise.
4969         * tests/test-sys_ioctl-c++.cc: Likewise.
4970         * tests/test-sys_select-c++.cc: Likewise.
4971         * tests/test-sys_socket-c++.cc: Likewise.
4972         * tests/test-sys_stat-c++.cc: Likewise.
4973         * tests/test-sys_time-c++.cc: Likewise.
4974         * tests/test-time-c++.cc: Likewise.
4975         * tests/test-unistd-c++.cc: Likewise.
4976         * tests/test-wchar-c++.cc: Likewise.
4977         * tests/uninorm/test-u8-nfc.c: Likewise.
4978         * tests/uninorm/test-u8-nfd.c: Likewise.
4979         * tests/uninorm/test-u8-nfkc.c: Likewise.
4980         * tests/uninorm/test-u8-nfkd.c: Likewise.
4981         * tests/uninorm/test-u16-nfc.c: Likewise.
4982         * tests/uninorm/test-u16-nfd.c: Likewise.
4983         * tests/uninorm/test-u16-nfkc.c: Likewise.
4984         * tests/uninorm/test-u16-nfkd.c: Likewise.
4985         * tests/uninorm/test-u32-nfc.c: Likewise.
4986         * tests/uninorm/test-u32-nfc-big.c: Likewise.
4987         * tests/uninorm/test-u32-nfd.c: Likewise.
4988         * tests/uninorm/test-u32-nfd-big.c: Likewise.
4989         * tests/uninorm/test-u32-nfkc.c: Likewise.
4990         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
4991         * tests/uninorm/test-u32-nfkd.c: Likewise.
4992         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
4993         * tests/uninorm/test-u32-normalize-big.c: Likewise.
4994
4995 2010-03-27  Bruno Haible  <bruno@clisp.org>
4996
4997         Distinguish two kinds of module indicators.
4998         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
4999         gl_MODULE_INDICATOR.
5000         (gl_MODULE_INDICATOR): New macro.
5001         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
5002         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
5003         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
5004         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
5005         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
5006         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
5007         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
5008         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
5009         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
5010         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
5011         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
5012         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
5013         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
5014         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
5015         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
5016         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
5017         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
5018         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
5019         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
5020         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
5021         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
5022         * modules/cloexec (configure.ac): Likewise.
5023         * modules/getopt-gnu (configure.ac): Likewise.
5024         * modules/uninorm/u8-normalize (configure.ac): Likewise.
5025         * modules/uninorm/u16-normalize (configure.ac): Likewise.
5026         * modules/uninorm/u32-normalize (configure.ac): Likewise.
5027         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
5028
5029 2010-03-27  Bruno Haible  <bruno@clisp.org>
5030
5031         New module description field 'Comment'.
5032         * gnulib-tool: New option --extract-comment.
5033         (func_usage): Document it.
5034         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
5035         (func_get_comment): New function.
5036         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
5037
5038 2010-03-27  Bruno Haible  <bruno@clisp.org>
5039
5040         Addendum to 2010-02-07 commit.
5041         * gnulib-tool (func_usage): Document --extract-applicability option.
5042
5043 2010-03-27  Bruno Haible  <bruno@clisp.org>
5044
5045         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
5046         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
5047         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
5048         rather than link errors.
5049
5050 2010-03-27  Bruno Haible  <bruno@clisp.org>
5051
5052         Avoid side effects from tests-related modules on the compilation of lib.
5053         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
5054         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
5055         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
5056         parameter. Emit into AM_CPPFLAGS a definition of the designated C
5057         macro.
5058         (func_import): Define a witness macro. Assign it a value that depends
5059         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
5060         tests-related modules.
5061         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
5062         Reported by Jim Meyering.
5063
5064 2010-03-27  Bruno Haible  <bruno@clisp.org>
5065
5066         Factorize common .m4 code.
5067         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
5068         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
5069         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
5070         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
5071         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
5072         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
5073         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
5074         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
5075         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
5076         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
5077         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
5078         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
5079         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
5080         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
5081         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
5082         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
5083         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
5084         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
5085         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
5086         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
5087         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
5088         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
5089         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
5090         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
5091         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
5092         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
5093         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
5094         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
5095         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
5096         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
5097         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
5098         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
5099
5100 2010-03-27  Bruno Haible  <bruno@clisp.org>
5101
5102         Fix a compilation error on Cygwin with g++ >= 4.3.
5103         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
5104         if it is undefined or if we alias it to chmod.
5105         (lstat): Don't warn about the use of this function if it is undefined
5106         or if we alias it to stat.
5107         Reported by Simon Josefsson.
5108
5109 2010-03-27  Bruno Haible  <bruno@clisp.org>
5110
5111         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
5112         * modules/getlogin (configure.ac): Update.
5113
5114         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
5115         * modules/getlogin_r (configure.ac): Update.
5116
5117         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
5118         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
5119         * modules/inet_ntop (configure.ac): Update.
5120
5121         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
5122         * modules/inet_pton (configure.ac): Update.
5123
5124         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
5125         * modules/mbslen (configure.ac): Update.
5126
5127         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
5128         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
5129         * modules/forkpty (configure.ac): Update.
5130         * modules/openpty (configure.ac): Update.
5131
5132 2010-03-26  Simon Josefsson  <simon@josefsson.org>
5133
5134         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
5135         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
5136
5137 2010-03-25  Eric Blake  <eblake@redhat.com>
5138
5139         maint: use pragma consistently across replacement headers
5140         * lib/ctype.in.h (system_header): Hoist for consistent placement.
5141         * lib/dirent.in.h (system_header): Likewise.
5142         * lib/errno.in.h (system_header): Likewise.
5143         * lib/float.in.h (system_header): Likewise.
5144         * lib/getopt.in.h (system_header): Likewise.
5145         * lib/iconv.in.h (system_header): Likewise.
5146         * lib/inttypes.in.h (system_header): Likewise.
5147         * lib/langinfo.in.h (system_header): Likewise.
5148         * lib/locale.in.h (system_header): Likewise.
5149         * lib/math.in.h (system_header): Likewise.
5150         * lib/netdb.in.h (system_header): Likewise.
5151         * lib/netinet_in.in.h (system_header): Likewise.
5152         * lib/pty.in.h (system_header): Likewise.
5153         * lib/sched.in.h (system_header): Likewise.
5154         * lib/se-selinux.in.h (system_header): Likewise.
5155         * lib/search.in.h (system_header): Likewise.
5156         * lib/spawn.in.h (system_header): Likewise.
5157         * lib/stdarg.in.h (system_header): Likewise.
5158         * lib/stdint.in.h (system_header): Likewise.
5159         * lib/string.in.h (system_header): Likewise.
5160         * lib/strings.in.h (system_header): Likewise.
5161         * lib/sys_file.in.h (system_header): Likewise.
5162         * lib/sys_ioctl.in.h (system_header): Likewise.
5163         * lib/sys_socket.in.h (system_header): Likewise.
5164         * lib/sys_times.in.h (system_header): Likewise.
5165         * lib/sys_utsname.in.h (system_header): Likewise.
5166         * lib/sys_wait.in.h (system_header): Likewise.
5167         * lib/sysexits.in.h (system_header): Likewise.
5168         * lib/unistd.in.h (system_header): Likewise.
5169         * lib/wctype.in.h (system_header): Likewise.
5170
5171         arpa/inet: fix mingw compilation warning
5172         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
5173         Reported by Matthew Bolte.
5174
5175 2010-03-25  Bruno Haible  <bruno@clisp.org>
5176
5177         Avoid collision between gnulib wrapper and libintl wrapper.
5178         * lib/printf.c (printf): Don't define if a printf wrapper is already
5179         defined in intl/printf.c.
5180         Reported by Michel Boaventura <michel@michelboaventura.com>.
5181
5182 2010-03-25  Bruno Haible  <bruno@clisp.org>
5183
5184         Use ANSI C.
5185         * lib/readutmp.h (getutent): Provide ANSI C prototype.
5186
5187 2010-03-25  Bruno Haible  <bruno@clisp.org>
5188
5189         Minor formatting changes.
5190         * lib/acosl.c: Insert space before function argument list.
5191         * lib/argz.c: Likewise.
5192         * lib/asinl.c: Likewise.
5193         * lib/expl.c: Likewise.
5194         * lib/gen-uni-tables.c: Likewise.
5195         * lib/gettext.h: Likewise.
5196         * lib/glthread/lock.h: Likewise.
5197         * lib/tanl.c: Likewise.
5198         * lib/uniname/uniname.c: Likewise.
5199         * tests/test-idpriv-drop.c: Likewise.
5200         * tests/test-idpriv-droptemp.c: Likewise.
5201         * tests/test-lock.c: Likewise.
5202         * tests/test-tls.c: Likewise.
5203         * lib/argp-help.c: Insert space before function-like macro argument
5204         list.
5205         * lib/memcmp.c: Likewise.
5206         * tests/test-base64.c: Likewise.
5207         * lib/localename.c: Insert space before sizeof's argument list.
5208         * lib/safe-alloc.h: Likewise.
5209         * lib/file-set.h: Insert space before macro argument list.
5210         * tests/test-argp.c: Likewise.
5211         * lib/argp-namefrob.h: Insert space before function parameter list.
5212         * lib/getaddrinfo.c: Likewise.
5213         * lib/netdb.in.h: Likewise.
5214         * lib/parse-duration.h: Likewise.
5215         * lib/parse-duration.c: Likewise.
5216         * lib/poll.c: Likewise.
5217         * lib/select.c: Likewise.
5218         * lib/trim.h: Likewise.
5219         * tests/test-usleep.c: Likewise.
5220         * lib/ldexpl.c: Insert space before function parameter list and before
5221         function argument list.
5222         * lib/logl.c: Likewise.
5223         * lib/sqrtl.c: Likewise.
5224         * lib/trim.c: Likewise.
5225         * lib/cosl.c: Use GNU style indentation. Insert space before function
5226         argument list.
5227         * lib/sinl.c: Likewise.
5228         * lib/tsearch.c: Insert space after 'for'.
5229         Reported by Jim Meyering.
5230
5231 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
5232
5233         * maint.mk (sc_Wundef_boolean): Check for the presence of the
5234         config header before grepping, as it's not present before
5235         autoreconf/configure are run.  Reported by Simon Josefsson.
5236
5237 2010-03-23  Bruno Haible  <bruno@clisp.org>
5238
5239         pt_chown: Make it work with automake < 1.11.
5240         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
5241         Reported by Simon Josefsson.
5242
5243 2010-03-23  Bruno Haible  <bruno@clisp.org>
5244
5245         pt_chown: Don't depend on GPLed modules.
5246         * lib/pt_chown.c: Don't include idpriv.h.
5247         (main): Don't drop privileges.
5248         * modules/pt_chown (Depends-on): Remove idpriv-drop.
5249         Reported by Simon Josefsson.
5250
5251 2010-03-24  Simon Josefsson  <simon@josefsson.org>
5252
5253         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
5254         suggestions from karl@freefriends.org (Karl Berry).
5255
5256 2010-03-22  Eric Blake  <eblake@redhat.com>
5257
5258         gethostname: further tweaks
5259         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
5260         are overriding gethostname.
5261         Suggested by Bruno Haible.
5262
5263 2010-03-21  Bruno Haible  <bruno@clisp.org>
5264
5265         Fix comments.
5266         * lib/forkpty.c (rpl_forkpty): Fix comment.
5267         * lib/openpty.c (rpl_openpty): Likewise.
5268         Reported by Eric Blake.
5269
5270 2010-03-22  Eric Blake  <eblake@redhat.com>
5271
5272         gethostname: fix build on mingw
5273         * lib/unistd.in.h (includes): Work around fact that mingw
5274         <winsock2.h> re-includes <unistd.h>, by avoiding any
5275         redeclarations if we are being included by <winsock2.h>.
5276         Reported by Matthias Bolte.
5277
5278 2010-03-21  Bruno Haible  <bruno@clisp.org>
5279
5280         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
5281         * lib/forkpty.c (forkpty): New replacement function, from glibc with
5282         modifications.
5283         * lib/pty.in.h (forkpty): Update declaration. Add comments.
5284         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
5285         provide the replacement.
5286         * modules/forkpty (Depends-on): Add openpty, login_tty.
5287         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
5288         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
5289         * doc/glibc-functions/forkpty.texi: More supported platforms.
5290         * config/srclist.txt: Add forkpty.c (commented).
5291
5292 2010-03-21  Bruno Haible  <bruno@clisp.org>
5293
5294         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
5295         (Makefile.am): Verify that PTY_LIB is defined.
5296
5297         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
5298
5299 2010-03-21  Bruno Haible  <bruno@clisp.org>
5300
5301         Tests for module 'login_tty'.
5302         * modules/login_tty-tests: New file.
5303         * tests/test-login_tty.c: New file.
5304
5305         New module 'login_tty'.
5306         * lib/login_tty.c: New file.
5307         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
5308         * modules/login_tty: New file.
5309         * doc/glibc-functions/login_tty.texi: Mention the new module.
5310
5311 2010-03-21  Bruno Haible  <bruno@clisp.org>
5312
5313         login_tty: Documentation.
5314         * doc/glibc-functions/login_tty.texi: New file.
5315         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
5316
5317 2010-03-21  Bruno Haible  <bruno@clisp.org>
5318
5319         pty: Consistent macro naming.
5320         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
5321         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
5322         * modules/pty (configure.ac): Update.
5323
5324 2010-03-21  Bruno Haible  <bruno@clisp.org>
5325
5326         Tests for openpty: Make stricter.
5327         * tests/test-openpty.c (main): Add test of canonical processing and
5328         erase.
5329         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
5330
5331         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
5332         * lib/openpty.c (openpty): New replacement function.
5333         * lib/pty.in.h: Include <termios.h>.
5334         (openpty): Update declaration. Add comments.
5335         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
5336         is not declared, arrange to provide the replacement. Check for _getpty
5337         and posix_openpt.
5338         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
5339         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
5340         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
5341         * modules/pty-tests (test_pty_c___LDADD): New variable.
5342         * doc/glibc-functions/openpty.texi: More supported platforms.
5343
5344 2010-03-21  Bruno Haible  <bruno@clisp.org>
5345
5346         setenv: Tweaks.
5347         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
5348         the test program.
5349         * doc/posix-functions/setenv.texi: Update platforms list.
5350
5351 2010-03-21  Bruno Haible  <bruno@clisp.org>
5352
5353         New module 'unlockpt'.
5354         * lib/unlockpt.c: New file, from glibc with modifications.
5355         * m4/unlockpt.m4: New file.
5356         * modules/unlockpt: New file.
5357         * lib/stdlib.in.h (unlockpt): New declaration.
5358         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
5359         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
5360         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
5361         HAVE_UNLOCKPT.
5362         * doc/posix-functions/unlockpt.texi: Mention the new module.
5363         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
5364         * config/srclist.txt: Add unlockpt.c (commented).
5365
5366 2010-03-21  Jim Meyering  <meyering@redhat.com>
5367
5368         maint.mk: prohibit inclusion of "intprops.h" without use
5369         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
5370
5371 2010-03-21  Bruno Haible  <bruno@clisp.org>
5372
5373         New module 'grantpt'.
5374         * lib/grantpt.c: New file, from glibc with modifications.
5375         * m4/grantpt.m4: New file.
5376         * modules/grantpt: New file.
5377         * lib/stdlib.in.h (grantpt): New declaration.
5378         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
5379         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
5380         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
5381         HAVE_GRANTPT.
5382         * doc/posix-functions/grantpt.texi: Mention the new module.
5383         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
5384         * config/srclist.txt: Add grantpt.c (commented).
5385
5386 2010-03-21  Bruno Haible  <bruno@clisp.org>
5387
5388         New module 'pt_chown'.
5389         * lib/pt_chown.c: New file, from glibc with modifications.
5390         * lib/pty-private.h: New file, from glibc with modifications.
5391         * modules/pt_chown: New file.
5392         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
5393
5394 2010-03-21  Bruno Haible  <bruno@clisp.org>
5395
5396         Tests for module 'ptsname'.
5397         * modules/ptsname-tests: New file.
5398         * tests/test-ptsname.c: New file.
5399
5400         New module 'ptsname'.
5401         * lib/ptsname.c: New file, from glibc with modifications.
5402         * m4/ptsname.m4: New file.
5403         * modules/ptsname: New file.
5404         * lib/stdlib.in.h (ptsname): New declaration.
5405         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
5406         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
5407         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
5408         HAVE_PTSNAME.
5409         * doc/posix-functions/ptsname.texi: Mention the new module.
5410         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
5411         * config/srclist.txt: Add ptsname.c (commented).
5412
5413 2010-03-21  Bruno Haible  <bruno@clisp.org>
5414
5415         Tests for module 'ttyname_r'.
5416         * modules/ttyname_r-tests: New file.
5417         * tests/test-ttyname_r.c: New file.
5418
5419         New module 'ttyname_r'.
5420         * lib/ttyname_r.c: New file.
5421         * m4/ttyname_r.m4: New file.
5422         * modules/ttyname_r: New file.
5423         * lib/unistd.in.h (ttyname_r): New declaration.
5424         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
5425         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
5426         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
5427         HAVE_TTYNAME_R.
5428         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
5429         * doc/posix-functions/ttyname_r.texi: Mention the new module.
5430
5431 2010-03-20  Bruno Haible  <bruno@clisp.org>
5432
5433         signal: Undefine macro definitions in C++ mode.
5434         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
5435         sigfillset): Undefine macro definitions from the system header in C++
5436         mode.
5437         Reported by John W. Eaton <jwe@gnu.org>.
5438
5439 2010-03-20  Bruno Haible  <bruno@clisp.org>
5440
5441         Ensure no #include statements inside extern "C" { ... }.
5442         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
5443         contain #include statements.
5444         * lib/time.in.h: Likewise.
5445
5446 2010-03-20  Bruno Haible  <bruno@clisp.org>
5447
5448         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
5449         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
5450         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
5451         Reported by John W. Eaton <jwe@gnu.org>.
5452
5453 2010-03-20  Bruno Haible  <bruno@clisp.org>
5454
5455         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
5456         Reported by Jim Meyering.
5457
5458 2010-03-20  Bruno Haible  <bruno@clisp.org>
5459
5460         pipe: Set errno upon failure.
5461         * lib/pipe.h: Specify that when -1 is returned, errno is set.
5462         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
5463         errno value in error message.
5464
5465 2010-03-20  Bruno Haible  <bruno@clisp.org>
5466             Jim Meyering  <meyering@redhat.com>
5467
5468         lchown: Avoid "unused variable" warning.
5469         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
5470
5471 2010-03-20  Bruno Haible  <bruno@clisp.org>
5472
5473         Work around unlink() bug on MacOS X 10.5.6.
5474         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
5475         attempting to unlink a parent directory.
5476         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
5477         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
5478         activate for the replacement function.
5479         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
5480
5481 2010-03-20  Bruno Haible  <bruno@clisp.org>
5482
5483         Fix link errors on Solaris 8.
5484         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
5485         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
5486
5487 2010-03-19  Jim Meyering  <meyering@redhat.com>
5488
5489         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
5490         The _LIBC implementation of build_range_exp correctly honors the
5491         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
5492         However, the non-_LIBC implementation would ignore that syntax-bit
5493         flag and return REG_ERANGE unconditionally.
5494         This change makes it honor that flag.
5495         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
5496         Make two pointer parameters "const".
5497         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
5498         (parse_bracket_exp): Update caller.
5499
5500         regex.m4: correct the reversed range endpoint ([b-a]) test
5501         * m4/regex.m4: When requiring that [b-a] evoke failure,
5502         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
5503         test pass once again for x86-based systems.
5504
5505 2010-03-19  Bruno Haible  <bruno@clisp.org>
5506
5507         scandir: Fix link error on Solaris 8.
5508         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
5509         macros.
5510
5511 2010-03-19  Bruno Haible  <bruno@clisp.org>
5512
5513         getusershell: Fix documentation.
5514         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
5515         module.
5516         * doc/glibc-functions/setusershell.texi: Likewise.
5517
5518         getusershell: Provide declaration, missing on Solaris 9.
5519         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
5520         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
5521         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
5522         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
5523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5524         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
5525         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
5526         HAVE_GETUSERSHELL.
5527         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
5528
5529 2010-03-19  Bruno Haible  <bruno@clisp.org>
5530
5531         wctype: Provide iswblank function.
5532         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
5533         exists and is fine.
5534         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
5535         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
5536         * tests/test-wctype.c (main): Re-enable the iswblank tests.
5537         * doc/posix-functions/iswblank.texi: Update.
5538
5539 2010-03-19  Bruno Haible  <bruno@clisp.org>
5540
5541         Tests of module 'pty' in C++ mode.
5542         * modules/pty-tests: New file.
5543         * tests/test-pty-c++.cc: New file.
5544         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5545
5546 2010-03-19  Eric Blake  <eblake@redhat.com>
5547
5548         logb: fix documentation
5549         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
5550         1.5 declaration bug.
5551
5552         forkpty, openpty: prefer glibc's const-safe prototype
5553         * lib/forkpty.c (rpl_forkpty): New file.
5554         * lib/openpty.c (rpl_openpty): Likewise.
5555         * modules/forkpty (Files): Distribute it.
5556         * modules/openpty (Files): Likewise.
5557         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
5558         check...
5559         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
5560         replacement for for non-const BSD signature.
5561         * modules/pty (Makefile.am): Substitute witnesses.
5562         * lib/pty.in.h (forkpty, openpty): Declare replacements.
5563         * tests/test-forkpty.c: Update signature check.
5564         * tests/test-openpty.c: Likewise.
5565         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
5566         * doc/glibc-functions/openpty.texi (openpty): Likewise.
5567
5568         forkpty, openpty: split functions into new modules
5569         * modules/pty (Makefile.am): Substitute new witnesses.
5570         (Libraries): Move library detection...
5571         * modules/forkpty: ...into new module.
5572         * modules/openpty: Another new module.
5573         * modules/pty-tests: Rename and split...
5574         * modules/forkpty-tests: ...to this...
5575         * modules/openpty-tests: ...and this.
5576         * tests/test-pty.c: Rename and split...
5577         * tests/test-forkpty.c: ...to this...
5578         * tests/test-openpty.c: ...and this.
5579         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
5580         (gl_PTY): Split library searching...
5581         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
5582         (gl_FORKPTY, gl_OPENPTY): New macros.
5583         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
5584         * NEWS: Mention the split.
5585         * MODULES.html.sh (Misc): Document the modules.
5586         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
5587         * doc/glibc-functions/openpty.texi (openpty): Likewise.
5588
5589         pty: improve replacement header
5590         * lib/pty.in.h: New file.
5591         * modules/pty (Files): Ship it.
5592         (Makefile.am): Always build replacement.
5593         * m4/pty.m4: Rename...
5594         * m4/pty_h.m4: ...to this.
5595         (gl_PTY): Modernize setting of witness macros; update check of
5596         forkpty to take proper advantage of cache.
5597         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
5598
5599         getopt: avoid compiler warning
5600         * lib/getopt.c (attribute_hidden): Remove unused macro.
5601
5602 2010-03-18  Bruno Haible  <bruno@clisp.org>
5603
5604         Fix link errors on Solaris 8.
5605         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
5606         * modules/search-tests (test_search_c___LDADD): Likewise.
5607         * modules/signal-tests (test_signal_c___LDADD): Likewise.
5608         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
5609         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
5610         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
5611         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
5612         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
5613         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
5614
5615 2010-03-18  Bruno Haible  <bruno@clisp.org>
5616
5617         Fix bug introduced on 2010-03-14.
5618         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
5619         (gl_SPAWN_H): Require it.
5620         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
5621         Reported by Simon Josefsson.
5622
5623 2010-03-18  Bruno Haible  <bruno@clisp.org>
5624
5625         Fix typo introduced on 2009-12-31.
5626         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
5627         posix_spawn_file_actions_adddup2.
5628
5629 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
5630         and Eric Blake  <eblake@redhat.com>
5631
5632         test-vc-list-files-git: make more robust
5633         * tests/test-vc-list-files-git.sh: Unset problematic environment
5634         variables.  Chain commands together.
5635
5636 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
5637
5638         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
5639         `AC_CHECK_DECL' invocation.
5640
5641 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
5642
5643         * lib/inttostr.c (inttostr): Make sure the invocation of verify
5644         appears before executable statements. Suggested by Petr Sumbera
5645         <Petr.Sumbera@Sun.COM>.
5646
5647 2010-03-14  Bruno Haible  <bruno@clisp.org>
5648
5649         * tests/test-flock.c (test_exclusive): Comment out a test that causes
5650         portability problems. Instead use a simpler test.
5651         (main): Check that invalid arguments are rejected only on Linux.
5652
5653 2010-03-14  Bruno Haible  <bruno@clisp.org>
5654
5655         Fix bug introduced on 2009-12-31.
5656         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
5657         gl_PREREQ_SYS_H_WINSOCK2 always.
5658         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
5659         SYS_SOCKET_H variable.
5660         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
5661         Update comments.
5662         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
5663         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
5664         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5665         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
5666         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
5667
5668 2010-03-14  Bruno Haible  <bruno@clisp.org>
5669
5670         Fix values returned by sinl, cosl.
5671         * lib/trigl.h: Add specification comments.
5672         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
5673         that combines the values from the precomputed table with the values of
5674         the Chebyshev polynomials.
5675
5676 2010-03-14  Bruno Haible  <bruno@clisp.org>
5677
5678         Fix compilation error when modules 'posix_spawn[p]' are not used.
5679         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
5680         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
5681
5682 2010-03-14  Bruno Haible  <bruno@clisp.org>
5683
5684         Fix compilation error on mingw when module 'time_r' is not used.
5685         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
5686         is 1.
5687         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
5688         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
5689         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
5690         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
5691
5692 2010-03-14  Bruno Haible  <bruno@clisp.org>
5693
5694         Fix compilation error with Sun C.
5695         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
5696         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
5697         instead of GCC specific ULONG_LONG_MAX.
5698         * lib/xstrtoll.c: Likewise.
5699         * lib/xstrtoull.c: Likewise.
5700
5701 2010-03-13  Bruno Haible  <bruno@clisp.org>
5702
5703         Allow the user to disable C++ code and tests.
5704         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
5705         (gl_PROG_ANSI_CXX): Require it.
5706
5707 2010-03-13  Bruno Haible  <bruno@clisp.org>
5708
5709         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
5710         cases.
5711
5712 2010-03-13  Bruno Haible  <bruno@clisp.org>
5713
5714         Test that gnulib does not break the standard C++ headers.
5715         * tests/test-locale-c++2.cc: New file.
5716         * modules/locale-tests (Files): Add it.
5717         (Makefile.am): Compile it for test-locale-c++.
5718         * tests/test-math-c++2.cc: New file.
5719         * modules/math-tests (Files): Add it.
5720         (Makefile.am): Compile it for test-math-c++.
5721         * tests/test-signal-c++2.cc: New file.
5722         * modules/signal-tests (Files): Add it.
5723         (Makefile.am): Compile it for test-signal-c++.
5724         * tests/test-stdio-c++2.cc: New file.
5725         * modules/stdio-tests (Files): Add it.
5726         (Makefile.am): Compile it for test-stdio-c++.
5727         * tests/test-stdlib-c++2.cc: New file.
5728         * modules/stdlib-tests (Files): Add it.
5729         (Makefile.am): Compile it for test-stdlib-c++.
5730         * tests/test-string-c++2.cc: New file.
5731         * modules/string-tests (Files): Add it.
5732         (Makefile.am): Compile it for test-string-c++.
5733         * tests/test-time-c++2.cc: New file.
5734         * modules/time-tests (Files): Add it.
5735         (Makefile.am): Compile it for test-time-c++.
5736         Reported by John W. Eaton <jwe@gnu.org>.
5737
5738 2010-03-13  Bruno Haible  <bruno@clisp.org>
5739
5740         * gnulib-tool (func_usage): Clarify which options are available for
5741         --create-testdir and --create-megatestdir.
5742
5743 2010-03-13  Bruno Haible  <bruno@clisp.org>
5744
5745         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
5746         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
5747         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
5748         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
5749         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
5750         when appropriate.
5751         Reported by Jim Meyering.
5752
5753 2010-03-12  Simon Josefsson  <simon@josefsson.org>
5754
5755         * gnulib-tool (func_import): Explain origin of code.
5756
5757 2010-03-12  Bruno Haible  <bruno@clisp.org>
5758
5759         Fix problem with automake's definition of CXXLINK.
5760         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
5761         Reported by Simon Josefsson and Ludovic Courtès.
5762
5763 2010-03-12  Bruno Haible  <bruno@clisp.org>
5764
5765         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
5766         stable releases.
5767
5768 2010-03-11  Bruno Haible  <bruno@clisp.org>
5769
5770         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
5771         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
5772         whether the system provides one variant or multiple variants of the
5773         function.
5774         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
5775         C++ compilers.
5776         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
5777         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
5778         Reported by Jim Meyering.
5779
5780 2010-03-09  Simon Josefsson  <simon@josefsson.org>
5781
5782         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
5783
5784 2010-03-08  Bruno Haible  <bruno@clisp.org>
5785
5786         gnulib-tool: Add support for --libtool in --create-testdir.
5787         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
5788         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
5789
5790 2010-03-08  Eric Blake  <eblake@redhat.com>
5791
5792         gnulib-tool.texi: mention possibility of git submodule
5793         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
5794         submodules.
5795         * doc/.gitignore: Ignore another generated file.
5796
5797 2010-03-08  Karl Berry  <karl@gnu.org>
5798
5799         * doc/gnulib-tool.texi (VCS Issues): Mention third option
5800         of committing gnulib files while skipping others.
5801
5802 2010-03-07  Bruno Haible  <bruno@clisp.org>
5803
5804         Tests of module 'wctype' in C++ mode.
5805         * tests/test-wctype-c++.cc: New file.
5806         * modules/wctype-tests (Files): Add it and tests/signature.h.
5807         (Depends-on): Add ansi-c++-opt.
5808         (Makefile.am): Arrange to compile and run test-wctype-c++.
5809
5810         Tests of module 'wchar' in C++ mode.
5811         * tests/test-wchar-c++.cc: New file.
5812         * modules/wchar-tests (Files): Add it and tests/signature.h.
5813         (Depends-on): Add ansi-c++-opt.
5814         (Makefile.am): Arrange to compile and run test-wchar-c++.
5815         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
5816         gl_MODULE_INDICATOR.
5817
5818         Tests of module 'unistd' in C++ mode.
5819         * tests/test-unistd-c++.cc: New file.
5820         * modules/unistd-tests (Files): Add it and tests/signature.h.
5821         (Depends-on): Add ansi-c++-opt.
5822         (Makefile.am): Arrange to compile and run test-unistd-c++.
5823         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
5824         gl_MODULE_INDICATOR.
5825
5826         Tests of module 'time' in C++ mode.
5827         * tests/test-time-c++.cc: New file.
5828         * modules/time-tests (Files): Add it and tests/signature.h.
5829         (Depends-on): Add ansi-c++-opt.
5830         (Makefile.am): Arrange to compile and run test-time-c++.
5831         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5832
5833         Tests of module 'sys_time' in C++ mode.
5834         * tests/test-sys_time-c++.cc: New file.
5835         * modules/sys_time-tests (Files): Add it and tests/signature.h.
5836         (Depends-on): Add ansi-c++-opt.
5837         (Makefile.am): Arrange to compile and run test-sys_time-c++.
5838         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
5839         gl_MODULE_INDICATOR.
5840
5841         Tests of module 'sys_stat' in C++ mode.
5842         * tests/test-sys_stat-c++.cc: New file.
5843         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
5844         (Depends-on): Add ansi-c++-opt.
5845         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
5846         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
5847         gl_MODULE_INDICATOR.
5848
5849         Tests of module 'sys_socket' in C++ mode.
5850         * tests/test-sys_socket-c++.cc: New file.
5851         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
5852         (Depends-on): Add ansi-c++-opt.
5853         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
5854         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
5855         gl_MODULE_INDICATOR.
5856
5857         Tests of module 'sys_select' in C++ mode.
5858         * tests/test-sys_select-c++.cc: New file.
5859         * modules/sys_select-tests (Files): Add it and tests/signature.h.
5860         (Depends-on): Add ansi-c++-opt.
5861         (Makefile.am): Arrange to compile and run test-sys_select-c++.
5862         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
5863         gl_MODULE_INDICATOR.
5864
5865         Tests of module 'sys_ioctl' in C++ mode.
5866         * tests/test-sys_ioctl-c++.cc: New file.
5867         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
5868         (Depends-on): Add ansi-c++-opt.
5869         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
5870         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
5871         gl_MODULE_INDICATOR.
5872
5873         Tests of module 'string' in C++ mode.
5874         * tests/test-string-c++.cc: New file.
5875         * modules/string-tests (Files): Add it and tests/signature.h.
5876         (Depends-on): Add ansi-c++-opt.
5877         (Makefile.am): Arrange to compile and run test-string-c++.
5878         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
5879         gl_MODULE_INDICATOR.
5880
5881         Tests of module 'stdlib' in C++ mode.
5882         * tests/test-stdlib-c++.cc: New file.
5883         * modules/stdlib-tests (Files): Add it and tests/signature.h.
5884         (Depends-on): Add ansi-c++-opt.
5885         (Makefile.am): Arrange to compile and run test-stdlib-c++.
5886         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
5887         gl_MODULE_INDICATOR.
5888
5889         Tests of module 'stdio' in C++ mode.
5890         * tests/test-stdio-c++.cc: New file.
5891         * modules/stdio-tests (Files): Add it and tests/signature.h.
5892         (Depends-on): Add ansi-c++-opt.
5893         (Makefile.am): Arrange to compile and run test-stdio-c++.
5894         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
5895         gl_MODULE_INDICATOR.
5896
5897         Tests of module 'spawn' in C++ mode.
5898         * tests/test-spawn-c++.cc: New file.
5899         * modules/spawn-tests (Files): Add it and tests/signature.h.
5900         (Depends-on): Add ansi-c++-opt.
5901         (Makefile.am): Arrange to compile and run test-spawn-c++.
5902         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
5903         gl_MODULE_INDICATOR.
5904
5905         Tests of module 'signal' in C++ mode.
5906         * tests/test-signal-c++.cc: New file.
5907         * modules/signal-tests (Files): Add it and tests/signature.h.
5908         (Depends-on): Add ansi-c++-opt.
5909         (Makefile.am): Arrange to compile and run test-signal-c++.
5910         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
5911         gl_MODULE_INDICATOR.
5912
5913         Tests of module 'search' in C++ mode.
5914         * tests/test-search-c++.cc: New file.
5915         * modules/search-tests (Files): Add it and tests/signature.h.
5916         (Depends-on): Add ansi-c++-opt.
5917         (Makefile.am): Arrange to compile and run test-search-c++.
5918         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
5919         gl_MODULE_INDICATOR.
5920
5921         Tests of module 'math' in C++ mode.
5922         * tests/test-math-c++.cc: New file.
5923         * modules/math-tests (Files): Add it and tests/signature.h.
5924         (Depends-on): Add ansi-c++-opt.
5925         (Makefile.am): Arrange to compile and run test-math-c++.
5926         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
5927
5928         Tests of module 'locale' in C++ mode.
5929         * tests/test-locale-c++.cc: New file.
5930         * modules/locale-tests (Files): Add it and tests/signature.h.
5931         (Depends-on): Add ansi-c++-opt.
5932         (Makefile.am): Arrange to compile and run test-locale-c++.
5933         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
5934         gl_MODULE_INDICATOR.
5935
5936         Tests of module 'langinfo' in C++ mode.
5937         * tests/test-langinfo-c++.cc: New file.
5938         * modules/langinfo-tests (Files): Add it and tests/signature.h.
5939         (Depends-on): Add ansi-c++-opt.
5940         (Makefile.am): Arrange to compile and run test-langinfo-c++.
5941         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
5942         gl_MODULE_INDICATOR.
5943
5944         Tests of module 'iconv-h' in C++ mode.
5945         * tests/test-iconv-h-c++.cc: New file.
5946         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
5947         (Depends-on): Add ansi-c++-opt.
5948         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
5949
5950         Tests of module 'glob' in C++ mode.
5951         * tests/test-glob-c++.cc: New file.
5952         * modules/glob-tests (Files): Add it.
5953         (Depends-on): Add ansi-c++-opt.
5954         (Makefile.am): Arrange to compile and run test-glob-c++.
5955
5956         Tests of module 'fcntl-h' in C++ mode.
5957         * tests/test-fcntl-h-c++.cc: New file.
5958         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
5959         (Depends-on): Add ansi-c++-opt.
5960         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
5961         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
5962         gl_MODULE_INDICATOR.
5963
5964         Tests of module 'dirent' in C++ mode.
5965         * tests/test-dirent-c++.cc: New file.
5966         * modules/dirent-tests (Files): Add it and tests/signature.h.
5967         (Depends-on): Add ansi-c++-opt.
5968         (Makefile.am): Arrange to compile and run test-dirent-c++.
5969         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
5970         gl_MODULE_INDICATOR.
5971
5972         New module 'ansi-c++-opt'.
5973         * modules/ansi-c++-opt: New file.
5974         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
5975
5976         Document C++ namespace mode.
5977         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
5978
5979         wctype: Avoid #define replacements in C++ mode.
5980         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
5981         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
5982         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
5983         In C++, define a namespaced alias symbol.
5984         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
5985         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
5986         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
5987         rule.
5988
5989         wchar: Avoid #define replacements in C++ mode.
5990         * lib/wchar.in.h: Include c++defs.h.
5991         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
5992         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
5993         symbol.
5994         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
5995         * modules/wchar (Depends-on): Add c++defs.
5996         (Makefile.am): Update wchar.h rule.
5997
5998         unistd: Avoid #define replacements in C++ mode.
5999         * lib/unistd.in.h: Include c++defs.h.
6000         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
6001         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
6002         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
6003         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
6004         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
6005         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
6006         symbol.
6007         (environ): Update.
6008         * modules/unistd (Depends-on): Add c++defs.
6009         (Makefile.am): Update unistd.h rule.
6010
6011         time: Avoid #define replacements in C++ mode.
6012         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
6013         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
6014         define a namespaced alias symbol.
6015         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
6016         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
6017         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
6018         * modules/time (Depends-on): Add c++defs, warn-on-use.
6019         (Makefile.am): Update time.h rule.
6020         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
6021         * modules/nanosleep (configure.ac): Likewise.
6022         * modules/strptime (configure.ac): Likewise.
6023         * modules/timegm (configure.ac): Likewise.
6024
6025         sys_time: Avoid #define replacements in C++ mode.
6026         * lib/sys_time.in.h: Include c++defs.h.
6027         (gettimeofday): In C++, define a namespaced alias symbol.
6028         * modules/sys_time (Depends-on): Add c++defs.
6029         (Makefile.am): Update sys/time.h rule.
6030
6031         sys_stat: Avoid #define replacements in C++ mode.
6032         * lib/sys_stat.in.h: Include c++defs.h.
6033         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
6034         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
6035         namespaced alias symbol.
6036         In C++, define a namespaced alias symbol.
6037         * modules/sys_stat (Depends-on): Add c++defs.
6038         (Makefile.am): Update sys/stat.h rule.
6039
6040         sys_socket: Avoid #define replacements in C++ mode.
6041         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
6042         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
6043         definitions also when the system has a <sys/socket.h>.
6044         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
6045         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
6046         In C++, define a namespaced alias symbol.
6047         * modules/sys_socket (Depends-on): Add c++defs.
6048         (Makefile.am): Update sys/socket.h rule.
6049
6050         sys_select: Avoid #define replacements in C++ mode.
6051         * lib/sys_select.in.h: Include c++defs.h. Enable the function
6052         definitions also when the system has a <sys/select.h>.
6053         (select): In C++, define a namespaced alias symbol.
6054         * modules/sys_select (Depends-on): Add c++defs.
6055         (Makefile.am): Update sys/select.h rule.
6056
6057         sys_ioctl: Avoid #define replacements in C++ mode.
6058         * lib/sys_ioctl.in.h: Include c++defs.h.
6059         (ioctl): In C++, define a namespaced alias symbol.
6060         * modules/sys_ioctl (Depends-on): Add c++defs.
6061         (Makefile.am): Update sys/ioctl.h rule.
6062
6063         string: Avoid #define replacements in C++ mode.
6064         * lib/string.in.h: Include c++defs.h.
6065         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
6066         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
6067         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
6068         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
6069         strsignal, strverscmp): In C++, define a namespaced alias symbol.
6070         * modules/string (Depends-on): Add c++defs.
6071         (Makefile.am): Update string.h rule.
6072
6073         stdlib: Avoid #define replacements in C++ mode.
6074         * lib/stdlib.in.h: Include c++defs.h.
6075         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
6076         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
6077         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
6078         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
6079         symbol.
6080         * modules/stdlib (Depends-on): Add c++defs.
6081         (Makefile.am): Update stdlib.h rule.
6082
6083         stdio: Avoid #define replacements in C++ mode.
6084         * lib/stdio.in.h: Include c++defs.h.
6085         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
6086         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
6087         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
6088         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
6089         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
6090         namespaced alias symbol.
6091         * modules/stdio (Depends-on): Add c++defs.
6092         (Makefile.am): Update stdio.h rule.
6093
6094         spawn: Avoid #define replacements in C++ mode.
6095         * lib/spawn.in.h: Include c++defs.h.
6096         (posix_spawn, posix_spawnp, posix_spawnattr_init,
6097         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
6098         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
6099         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
6100         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
6101         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
6102         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
6103         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
6104         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
6105         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
6106         In C++, define a namespaced alias symbol.
6107         * modules/spawn (Depends-on): Add c++defs.
6108         (Makefile.am): Update spawn.h rule.
6109
6110         signal: Avoid #define replacements in C++ mode.
6111         * lib/signal.in.h: Include c++defs.h.
6112         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
6113         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
6114         namespaced alias symbol.
6115         * modules/signal (Depends-on): Add c++defs.
6116         (Makefile.am): Update signal.h rule.
6117
6118         search: Avoid #define replacements in C++ mode.
6119         * lib/search.in.h: Include c++defs.h.
6120         (_gl_search_compar_fn, _gl_search_action_fn): New types.
6121         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
6122         symbol.
6123         * modules/search (Depends-on): Add c++defs.
6124         (Makefile.am): Update search.h rule.
6125
6126         math: Avoid #define replacements in C++ mode.
6127         * lib/math.in.h: Include c++defs.h.
6128         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
6129         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
6130         trunc, truncl): In C++, define a namespaced alias symbol.
6131         * modules/math (Depends-on): Add c++defs.
6132         (Makefile.am): Update math.h rule.
6133
6134         locale: Avoid #define replacements in C++ mode.
6135         * lib/locale.in.h: Include c++defs.h.
6136         (duplocale): In C++, define a namespaced alias symbol.
6137         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
6138         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
6139         * modules/locale (Depends-on): Add c++defs.
6140         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
6141
6142         langinfo: Avoid #define replacements in C++ mode.
6143         * lib/langinfo.in.h: Include c++defs.h.
6144         (nl_langinfo): In C++, define a namespaced alias symbol.
6145         * modules/langinfo (Depends-on): Add c++defs.
6146         (Makefile.am): Update langinfo.h rule.
6147
6148         iconv-h: Avoid #define replacements in C++ mode.
6149         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
6150         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
6151         symbol.
6152         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
6153         whenever iconv is present.
6154         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
6155         (Makefile.am): Update iconv.h rule.
6156
6157         glob: Avoid #define replacements in C++ mode.
6158         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
6159         (_gl_glob_errfunc_fn): New type.
6160         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
6161         symbol.
6162         * modules/glob (Depends-on): Add c++defs, warn-on-use.
6163         (Makefile.am): Update glob.h rule.
6164
6165         fcntl-h: Avoid #define replacements in C++ mode.
6166         * lib/fcntl.in.h: Include c++defs.h.
6167         (fcntl, open, openat): In C++, define a namespaced alias symbol.
6168         * modules/fcntl-h (Depends-on): Add c++defs.
6169         (Makefile.am): Update fcntl.h rule.
6170
6171         dirent: Avoid #define replacements in C++ mode.
6172         * lib/dirent.in.h: Include c++defs.h.
6173         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
6174         namespaced alias symbol.
6175         (dirfd): Update declaration.
6176         * modules/dirent (Depends-on): Add c++defs.
6177         (Makefile.am): Update dirent.h rule.
6178
6179         ctype: Make it usable in C++ code.
6180         * lib/ctype.in.h: Include c++defs.h.
6181         (isblank): Declare as extern "C".
6182         * modules/ctype (Depends-on): Add c++defs.
6183         (Makefile.am): Update ctype.h rule.
6184
6185         New module 'c++defs'.
6186         * modules/c++defs: New file.
6187         * build-aux/c++defs.h: New file.
6188         Reported by John W. Eaton <jwe@gnu.org>.
6189
6190 2010-03-07  Bruno Haible  <bruno@clisp.org>
6191
6192         logb: Provide missing declaration for Cygwin.
6193         * lib/math.in.h (logb): New declaration.
6194         * m4/logb.m4: New file.
6195         * modules/logb (Files): Add m4/logb.m4.
6196         (Depends-on): Add math.
6197         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
6198         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
6199         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
6200         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
6201         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
6202
6203 2010-03-07  Bruno Haible  <bruno@clisp.org>
6204
6205         Fix test-cond link error.
6206         * tests/test-cond.c: Include <stdio.h>.
6207
6208 2010-03-07  Bruno Haible  <bruno@clisp.org>
6209
6210         Fix test-dirent-safer link error.
6211         * modules/dirent-safer-tests (Makefile.am): Define
6212         test_dirent_safer_LDADD.
6213
6214 2010-03-07  Bruno Haible  <bruno@clisp.org>
6215
6216         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
6217         among default module list.
6218
6219 2010-03-07  Bruno Haible  <bruno@clisp.org>
6220
6221         Fix link error on platforms with GNU libiconv.
6222         * modules/unistr/u8-strcoll-tests (Makefile): Define
6223         test_u8_strcoll_LDADD.
6224         * modules/unistr/u16-strcoll-tests (Makefile): Define
6225         test_u16_strcoll_LDADD.
6226         * modules/unistr/u32-strcoll-tests (Makefile): Define
6227         test_u32_strcoll_LDADD.
6228
6229 2010-03-07  Bruno Haible  <bruno@clisp.org>
6230
6231         Use POSIX declarations for socket functions.
6232         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
6233         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
6234         rpl_sendto): Change declaration to match POSIX.
6235         * lib/connect.c (rpl_connect): Likewise.
6236         * lib/accept.c (rpl_accept): Likewise.
6237         * lib/bind.c (rpl_bind): Likewise.
6238         * lib/getpeername.c (rpl_getpeername): Likewise.
6239         * lib/getsockname.c (rpl_getsockname): Likewise.
6240         * lib/recv.c (rpl_recv): Likewise.
6241         * lib/send.c (rpl_send): Likewise.
6242         * lib/recvfrom.c (rpl_recvfrom): Likewise.
6243         * lib/sendto.c (rpl_sendto): Likewise.
6244
6245 2010-03-06  Bruno Haible  <bruno@clisp.org>
6246
6247         Clarify access, euidaccess, faccessat.
6248         * doc/posix-functions/faccessat.texi: Mention security problem under
6249         "Other problems", not "Portability problems".
6250         * doc/posix-functions/access.texi: Likewise. Mention a related security
6251         problem.
6252         * doc/glibc-functions/euidaccess.texi: Mention security problems.
6253         * lib/euidaccess.c: Add comments about platforms.
6254         * lib/unistd.in.h (access, euidaccess): Add warnings.
6255
6256 2010-03-07  Bruno Haible  <bruno@clisp.org>
6257
6258         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
6259         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
6260         (POSIX_SPAWN_SETSCHEDULER): Likewise.
6261         (POSIX_SPAWN_USEVFORK): Define in a way that works when
6262         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
6263         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
6264         declare when POSIX_SPAWN_SETSCHEDULER is zero.
6265         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
6266         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
6267         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
6268         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
6269         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
6270         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
6271         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
6272         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
6273         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
6274         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
6275         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
6276         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
6277         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
6278         Likewise.
6279         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
6280         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
6281         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
6282         Likewise.
6283         * tests/test-spawn.c (main): Make it work when
6284         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
6285
6286 2010-03-07  Bruno Haible  <bruno@clisp.org>
6287
6288         Fix incorrect Makefile.am generation in German locale.
6289         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
6290         Execute sed command with character range in C locale.
6291
6292 2010-03-06  Bruno Haible  <bruno@clisp.org>
6293
6294         Tests for module 'iconv-h'.
6295         * modules/iconv-h-tests: New file.
6296         * tests/test-iconv-h.c: New file.
6297
6298         New module 'iconv-h'.
6299         * modules/iconv-h: New file.
6300         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
6301         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
6302         (configure.ac): Remove gl_ICONV_H.
6303         (Makefile.am): Remove rule for iconv.h.
6304
6305 2010-03-06  Bruno Haible  <bruno@clisp.org>
6306
6307         More consistent naming of *.m4 files.
6308         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
6309         * modules/wctype (Files): Update.
6310
6311         More consistent naming of *.m4 files.
6312         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
6313         * modules/wchar (Files): Update.
6314
6315 2010-03-06  Jim Meyering  <meyering@redhat.com>
6316
6317         euidaccess: relax license to LGPLv2+
6318         * modules/euidaccess (License): Relax to LGPLv2+.
6319
6320 2010-03-06  Bruno Haible  <bruno@clisp.org>
6321
6322         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
6323         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
6324         (Makefile.am): Augment lib_SOURCES instead.
6325
6326 2010-03-04  Jim Meyering  <meyering@redhat.com>
6327
6328         utime: remove obsolete module
6329         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
6330         unnecessary for years, and has been marked as obsolete for 10 months.
6331         * modules/utime: Remove file.
6332         * lib/utime.c: Remove file.
6333         * m4/utime.m4: Remove file.
6334         * m4/utimes-null.m4: Remove file.
6335         * doc/posix-functions/utime.texi (utime): Remove reference to
6336         the module.  Move the sole "fixed by gnulib" item into the
6337         "problems not fixed by Gnulib" list.
6338         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
6339
6340 2010-03-05  Simon Josefsson  <simon@josefsson.org>
6341
6342         * modules/exit (License): Relax license to LGPLv2+.
6343         (Status): Mark as obsolete.
6344         * NEWS: Mention deprecated 'exit' module.
6345         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
6346         of now obsolete 'exit'.
6347
6348 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6349
6350         fts-lgpl: remove unused module
6351         * modules/fts-lgpl: Remove.
6352         * MODULES.html.sh (func_all_modules): Adjust.
6353         * check-module (find_included_lib_files): Adjust.
6354         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
6355
6356 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
6357
6358         copy-acl: enhance Solaris ACL error handling
6359         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
6360         * lib/set-mode-acl.c (qset_acl): Likewise.
6361
6362 2010-03-02  Bruno Haible  <bruno@clisp.org>
6363
6364         spawn: Don't override the system defined values on FreeBSD 8.
6365         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
6366         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
6367         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
6368         if HAVE_POSIX_SPAWN is 1.
6369         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
6370
6371 2010-03-01  Bruno Haible  <bruno@clisp.org>
6372
6373         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
6374         regarding Automake.
6375
6376 2010-02-25  Bruno Haible  <bruno@clisp.org>
6377
6378         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
6379         * gnulib-tool: Define 'echo' as a function only before the ksh alias
6380         setting, not afterwards.
6381         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
6382
6383 2010-02-24  Eric Blake  <eblake@redhat.com>
6384
6385         bootstrap, git-version-gen: use timestamp
6386         * build-aux/git-version-gen (scriptversion): Force UTC.
6387         * build-aux/bootstrap (scriptversion): New variable.
6388
6389         bootstrap: allow older git
6390         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
6391         older than 1.6.4.  Requested by the libvirt project.
6392
6393 2010-02-23  Eric Blake  <eblake@redhat.com>
6394
6395         warn-on-use: work with old autoconf
6396         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
6397         AS_VAR semantics of autoconf 2.60.
6398         Reported by Bruno Haible.
6399
6400         bootstrap: improve some comments
6401         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
6402         clarification comments.
6403
6404         gettimeofday: provide correct function
6405         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
6406         when replacement is declared, otherwise provide gettimeofday.
6407         Reported by Michael Goffioul.
6408
6409 2010-02-23  Jim Meyering  <meyering@redhat.com>
6410
6411         lib-ignore: relax license to "unlimited", not LGPLv2+
6412         * modules/lib-ignore (License): Relax to "unlimited".
6413
6414 2010-02-23  Jim Meyering  <meyering@redhat.com>
6415
6416         lib-ignore: relax license to LGPLv2+
6417         * modules/lib-ignore (License): Relax to LGPLv2+.
6418
6419 2010-02-22  Eric Blake  <eblake@redhat.com>
6420
6421         lseek: avoid bash 3.2 broken pipe bug
6422         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
6423         warning from bash 3.2.
6424         Reported by Ben Pfaff, with analysis from Bruno Haible.
6425
6426         bootstrap: support non-FSF copyright holder
6427         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
6428         bootstrap.conf override of COPYRIGHT_HOLDER.
6429         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
6430
6431         bootstrap: interoperate with gettext 0.14.1
6432         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
6433
6434         bootstrap: allow for alternate submodule location
6435         * build-aux/bootstrap (gnulib_path): New variable; use instead of
6436         hardcoding submodule location.
6437         (gnulib_mk): Allow direct use of Makefile.am.
6438
6439         bootstrap: use GNULIB_SRCDIR to reduce disk usage
6440         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
6441         rather than reconfiguring where the submodule points.
6442
6443         gettimeofday: restore support for platforms that lack function
6444         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
6445         replacement if function is missing.
6446         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
6447         * modules/sys_time (Makefile.am): Substitute it.
6448         * lib/sys_time.in.h (gettimeofday): Check it.
6449         Reported by Michael Goffioul.
6450
6451 2010-02-21  Bruno Haible  <bruno@clisp.org>
6452
6453         * lib/stdio.in.h (obstack_printf): Fix typo.
6454
6455 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
6456
6457         vc-list-files: use bzr ls's -R option
6458         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
6459         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
6460
6461 2010-02-21  Jim Meyering  <meyering@redhat.com>
6462
6463         init.sh: fix EXEEXT shims to work also for names like test-prog
6464         * tests/init.sh: Re-exec a better shell, when needed.
6465         If the current shell lacks support for posix $(...), an init.sh-using
6466         test will now try to find a shell that supports that.  If EXEEXT is
6467         nonempty, we also require support for hyphen-in-alias-name and shell
6468         substitutions like ${var#glob}.  Failure to find such a shell results
6469         in a skipped test.
6470
6471 2010-02-21  Bruno Haible  <bruno@clisp.org>
6472
6473         Really work around around "broken pipe" error message from bash 3.2.
6474         * gnulib-tool (func_reset_sigpipe): Remove function.
6475         (echo): In bash 3.2, define to a function that uses printf.
6476         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
6477
6478 2010-02-20  Bruno Haible  <bruno@clisp.org>
6479
6480         Restore support for automake 1.9.6 with autoconf 2.61.
6481         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
6482         Reported by James Youngman <jay@gnu.org>.
6483
6484 2010-02-20  Bruno Haible  <bruno@clisp.org>
6485
6486         Improve *printf warning condition.
6487         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
6488         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
6489         and the function is overridden due to SIGPIPE emulation.
6490
6491 2010-02-20  Bruno Haible  <bruno@clisp.org>
6492
6493         * lib/stdio.in.h: Tweak comments.
6494
6495 2010-02-19  Bruno Haible  <bruno@clisp.org>
6496
6497         Make it easier to find modules. New gnulib-tool option '--find'.
6498         * gnulib-tool: New option --find.
6499         (func_usage): Document it.
6500         (func_sanitize_modulelist): New function, extracted from
6501         func_all_modules.
6502         (func_all_modules): Invoke it.
6503         * doc/gnulib-tool.texi (Which modules?): New node.
6504
6505 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
6506
6507         * lib/sys_select.in.h: Provide select replacement even if
6508         sys/select.h exists on a system, for Interix.
6509
6510 2010-02-18  Jim Meyering  <meyering@redhat.com>
6511
6512         init.sh: don't use $(...) just yet
6513         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
6514         to accommodate e.g., Solaris' /bin/sh.
6515
6516 2010-02-17  Bruno Haible  <bruno@clisp.org>
6517
6518         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
6519         Reported by Ludovic Courtès <ludo@gnu.org>.
6520
6521 2010-02-16  Simon Josefsson  <simon@josefsson.org>
6522
6523         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
6524         linking with -lintl.
6525
6526 2010-02-17  Simon Josefsson  <simon@josefsson.org>
6527
6528         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
6529         if not provided by the system's netdb.h.  Reported by
6530         ludo@gnu.org (Ludovic Courtès).
6531
6532 2010-02-15  Jim Meyering  <meyering@redhat.com>
6533
6534         init.sh: improve portability and efficiency
6535         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
6536         "dummy" in a for loop.
6537         Use '!', not '^' to select the complement of a character set used
6538         in a "case" statement.
6539         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
6540         Suggestions from Eric Blake.
6541
6542         init.sh: automatically accommodate programs with the .exe suffix
6543         Automatically arrange for an invocation of "prog" to execute the
6544         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
6545         may use the simpler "prog", yet still work when built on a system
6546         that requires specifying the added suffix.
6547         Do this by constructing a function named "prog" that invokes
6548         "prog.exe" for each .exe file in selected directories.
6549         * tests/init.sh (find_exe_basenames_): New function.
6550         (create_exe_shim_functions_): New function.
6551         (path_prepend_): Use it.
6552
6553         maint.mk: mark syntax-check sc_*.m rules as .PHONY
6554         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
6555         "make -t syntax-check" doesn't create a ton of sc_*.m files.
6556
6557 2010-02-14  Jim Meyering  <meyering@redhat.com>
6558
6559         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
6560         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
6561         (sc_prohibit_hash_pjw_without_use): New rule.
6562
6563         maint.mk: allow the default upload destination dir to be overridden
6564         * top/maint.mk (upload_dest_dir_): Define with a default that
6565         preserves the status quo.
6566         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
6567         Reported by Peter Simons.
6568
6569         maint.mk: prohibit inclusion of "hash.h" without_use
6570         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
6571
6572 2010-02-10  Jim Meyering  <meyering@redhat.com>
6573
6574         maint.mk: prohibit inclusion of "ignore-value.h" without_use
6575         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
6576
6577 2010-02-09  Eric Blake  <ebb9@byu.net>
6578         and Bruno Haible  <bruno@clisp.org>
6579
6580         obstack-printf-posix: ensure declaration
6581         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
6582         extracted from gl_FUNC_OBSTACK_PRINTF.
6583         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
6584         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
6585         Likewise.
6586         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
6587         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
6588         0.
6589
6590 2010-02-08  Bruno Haible  <bruno@clisp.org>
6591
6592         gnulib-tool: Fix typo in 2010-02-07 commit.
6593         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
6594         Reported by Eric Blake.
6595
6596 2010-02-07  Bruno Haible  <bruno@clisp.org>
6597
6598         gnulib-tool: Fix up caching patches.
6599         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
6600         option --no-cache. Use associative arrays when supported by the shell.
6601         (sed_comments): New variable.
6602         (modcache): Renamed from do_cache.
6603         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
6604         abbreviate unnecessarily.
6605         (have_associative): New variable.
6606         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
6607         way also for ksh and zsh.
6608         (func_init_sed_convert_to_cache_statements): New function, extracted
6609         from func_cache_lookup_module. Add support for associative arrays.
6610         Don't set the c_MODULE_cached variable here. Ignore all lines before
6611         the first field header. Remove only the final newline, not all trailing
6612         newlines. Support empty fields correctly. Limit the use of 'eval' to
6613         assignments.
6614         (func_get_description, func_get_status, func_get_notice,
6615         func_get_applicability, func_get_filelist, func_get_dependencies,
6616         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
6617         func_get_automake_snippet, func_get_include_directive,
6618         func_get_link_directive, func_get_license, func_get_maintainer):
6619         Update documentation. List the unoptimized code first. Add support for
6620         associative arrays. Limit the use of 'eval' to assignments.
6621         (func_get_applicability): Undo stylistic pessimisations.
6622         (func_get_automake_snippet, func_get_include_directive): Reduce code
6623         duplication.
6624         (func_modules_transitive_closure, func_modules_add_dummy,
6625         func_modules_notice, func_modules_to_filelist, func_add_file,
6626         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
6627         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
6628         func_create_testdir, func_create_megatestdir): Update documentation.
6629
6630 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6631
6632         * gnulib-tool (func_cache_lookup_module): Store the module name
6633         belonging to the cache variable; error out if two different
6634         module names map to the same cache variable name.
6635
6636 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6637
6638         gnulib-tool: Make caching optional.
6639         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
6640         Update matching short versions of --no-changelog.
6641         (func_usage): Update.
6642         (sed_extract_cache_prog): Renamed from ...
6643         (sed_extract_prog): ... this; revert to old extraction script.
6644         (func_get_description, func_get_status)
6645         (func_get_notice, func_get_applicability, func_get_filelist)
6646         (func_get_dependencies, func_get_autoconf_early_snippet)
6647         (func_get_autoconf_snippet, func_get_automake_snippet)
6648         (func_get_include_directive, func_get_link_directive)
6649         (func_get_license, func_get_maintainer): If $do_cache is false,
6650         use old, non-caching extraction scripts.
6651         Suggestion by Bruno Haible.
6652
6653 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6654
6655         gnulib-tool: cache module metainformation.
6656         * gnulib-tool (sed_extract_prog): Match newline before each
6657         header, and rewrite header to a shell variable suffix.
6658         (func_cache_var, func_cache_lookup_module): New functions,
6659         to turn a module name into a cache variable prefix, and to
6660         look up and cache module metainformation.
6661         (func_get_description, func_get_status)
6662         (func_get_notice, func_get_applicability, func_get_filelist)
6663         (func_get_dependencies, func_get_autoconf_early_snippet)
6664         (func_get_autoconf_snippet, func_get_automake_snippet)
6665         (func_get_include_directive, func_get_link_directive)
6666         (func_get_license, func_get_maintainer): Use
6667         func_cache_lookup_module.
6668
6669 2010-02-07  Bruno Haible  <bruno@clisp.org>
6670
6671         fnctl: Fix missing dependency.
6672         * modules/fcntl (Depends-on): Add getdtablesize.
6673         Reported by John W. Eaton <jwe@gnu.org>.
6674
6675 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
6676
6677         Argp: fix recognition of short alias options.
6678
6679         * lib/argp-parse.c (convert_options): Fix improper use of
6680         `|' between character values.
6681         * tests/test-argp.c (group1_option): New alias option
6682         --read (-r).
6683         (group1_parser): Special handling for 'r'.
6684         (test15): New test case.
6685         (test_fun): Add test15.
6686         * tests/test-argp-2.sh: Update expected --help and --usage
6687         outputs.
6688
6689 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
6690
6691         * tests/test-argp.c: Fix indentation.
6692
6693 2010-02-04  Eric Blake  <ebb9@byu.net>
6694
6695         gettimeofday: expose type of second argument
6696         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
6697         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
6698         * tests/test-gettimeofday.c: Use it to silence warning.
6699         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
6700         the issue.
6701
6702 2010-02-03  Jim Meyering  <meyering@redhat.com>
6703
6704         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
6705         * lib/regcomp.c (TYPE_SIGNED): Define.
6706         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
6707
6708         regcomp.c: avoid a new -Wshadow warning
6709         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
6710
6711 2010-02-01  Jim Meyering  <meyering@redhat.com>
6712
6713         removing useless parentheses in cpp #define directives
6714         For motivation, see commit c0221df4, "define STREQ(a,b)
6715         consistently, removing useless parentheses"
6716         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
6717         * lib/mountlist.c (MNT_IGNORE): Likewise.
6718         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
6719
6720 2010-02-01  Eric Blake  <ebb9@byu.net>
6721
6722         sys_time: use link-warning
6723         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
6724         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
6725         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
6726         * modules/sys_time (Depends-on): Add warn-on-use.
6727         (Makefile.am): Always build replacement.
6728         (configure.ac): Update substitutions.
6729         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
6730         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
6731         bother with SYS_TIME_H.
6732         * modules/gettimeofday (configure.ac): Declare indicator.
6733         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
6734         in use.
6735
6736         closein-tests: silence compiler warning
6737         * tests/test-closein.c (main): Ignore fread result.
6738         * modules/closein-tests (Depends-on): Add ignore-value.
6739
6740         tests: silence warning about system return
6741         * tests/test-areadlink-with-size.c (main): Ignore system result.
6742         * tests/test-areadlink.c (main): Likewise.
6743         * tests/test-areadlinkat-with-size.c (main): Likewise.
6744         * tests/test-areadlinkat.c (main): Likewise.
6745         * tests/test-canonicalize-lgpl.c (main): Likewise.
6746         * tests/test-canonicalize.c (main): Likewise.
6747         * tests/test-chown.c (main): Likewise.
6748         * tests/test-fchownat.c (main): Likewise.
6749         * tests/test-fdutimensat.c (main): Likewise.
6750         * tests/test-fstatat.c (main): Likewise.
6751         * tests/test-futimens.c (main): Likewise.
6752         * tests/test-lchown.c (main): Likewise.
6753         * tests/test-link.c (main): Likewise.
6754         * tests/test-linkat.c (main): Likewise.
6755         * tests/test-lstat.c (main): Likewise.
6756         * tests/test-mkdir.c (main): Likewise.
6757         * tests/test-mkdirat.c (main): Likewise.
6758         * tests/test-mkfifo.c (main): Likewise.
6759         * tests/test-mkfifoat.c (main): Likewise.
6760         * tests/test-mknod.c (main): Likewise.
6761         * tests/test-readlink.c (main): Likewise.
6762         * tests/test-remove.c (main): Likewise.
6763         * tests/test-rename.c (main): Likewise.
6764         * tests/test-renameat.c (main): Likewise.
6765         * tests/test-rmdir.c (main): Likewise.
6766         * tests/test-symlink.c (main): Likewise.
6767         * tests/test-symlinkat.c (main): Likewise.
6768         * tests/test-unlink.c (main): Likewise.
6769         * tests/test-unlinkat.c (main): Likewise.
6770         * tests/test-utimens.c (main): Likewise.
6771         * tests/test-utimensat.c (main): Likewise.
6772         * modules/areadlink-tests (Depends-on): Add ignore-value.
6773         * modules/areadlink-with-size-tests (Depends-on): Likewise.
6774         * modules/areadlinkat-tests (Depends-on): Likewise.
6775         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
6776         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
6777         * modules/canonicalize-tests (Depends-on): Likewise.
6778         * modules/chown-tests (Depends-on): Likewise.
6779         * modules/fdutimensat-tests (Depends-on): Likewise.
6780         * modules/futimens-tests (Depends-on): Likewise.
6781         * modules/lchown-tests (Depends-on): Likewise.
6782         * modules/link-tests (Depends-on): Likewise.
6783         * modules/linkat-tests (Depends-on): Likewise.
6784         * modules/lstat-tests (Depends-on): Likewise.
6785         * modules/mkdir-tests (Depends-on): Likewise.
6786         * modules/mkfifo-tests (Depends-on): Likewise.
6787         * modules/mkfifoat-tests (Depends-on): Likewise.
6788         * modules/mknod-tests (Depends-on): Likewise.
6789         * modules/openat-tests (Depends-on): Likewise.
6790         * modules/readlink-tests (Depends-on): Likewise.
6791         * modules/remove-tests (Depends-on): Likewise.
6792         * modules/rename-tests (Depends-on): Likewise.
6793         * modules/renameat-tests (Depends-on): Likewise.
6794         * modules/rmdir-tests (Depends-on): Likewise.
6795         * modules/symlink-tests (Depends-on): Likewise.
6796         * modules/symlinkat-tests (Depends-on): Likewise.
6797         * modules/unlink-tests (Depends-on): Likewise.
6798         * modules/utimens-tests (Depends-on): Likewise.
6799         * modules/utimensat-tests (Depends-on): Likewise.
6800
6801 2010-01-31  Bruno Haible  <bruno@clisp.org>
6802
6803         Perform the same test for many <math.h> functions.
6804         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
6805         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
6806         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
6807         of gl_MATHFUNC.
6808         * modules/acos (configure.ac): Likewise.
6809         * modules/asin (configure.ac): Likewise.
6810         * modules/atan (configure.ac): Likewise.
6811         * modules/atan2 (configure.ac): Likewise.
6812         * modules/cbrt (configure.ac): Likewise.
6813         * modules/copysign (configure.ac): Likewise.
6814         * modules/cos (configure.ac): Likewise.
6815         * modules/cosh (configure.ac): Likewise.
6816         * modules/erf (configure.ac): Likewise.
6817         * modules/erfc (configure.ac): Likewise.
6818         * modules/exp (configure.ac): Likewise.
6819         * modules/fmod (configure.ac): Likewise.
6820         * modules/hypot (configure.ac): Likewise.
6821         * modules/j0 (configure.ac): Likewise.
6822         * modules/j1 (configure.ac): Likewise.
6823         * modules/jn (configure.ac): Likewise.
6824         * modules/lgamma (configure.ac): Likewise.
6825         * modules/log (configure.ac): Likewise.
6826         * modules/log10 (configure.ac): Likewise.
6827         * modules/log1p (configure.ac): Likewise.
6828         * modules/pow (configure.ac): Likewise.
6829         * modules/remainder (configure.ac): Likewise.
6830         * modules/sin (configure.ac): Likewise.
6831         * modules/sinh (configure.ac): Likewise.
6832         * modules/tan (configure.ac): Likewise.
6833         * modules/tanh (configure.ac): Likewise.
6834         * modules/y0 (configure.ac): Likewise.
6835         * modules/y1 (configure.ac): Likewise.
6836         * modules/yn (configure.ac): Likewise.
6837         Suggested by Paolo Bonzini.
6838
6839 2010-01-31  Bruno Haible  <bruno@clisp.org>
6840
6841         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
6842
6843 2010-01-31  Bruno Haible  <bruno@clisp.org>
6844
6845         Work around getdelim() bug on FreeBSD 8.0.
6846         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
6847         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
6848         not work.
6849         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
6850         is 1.
6851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
6852         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
6853         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
6854         a non-zero size.
6855         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
6856
6857 2010-01-31  Bruno Haible  <bruno@clisp.org>
6858
6859         Work around getline() bug on FreeBSD 8.0.
6860         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
6861         and a non-zero size.
6862         * tests/test-getline.c (main): Likewise.
6863         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
6864         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
6865
6866 2010-01-28  Eric Blake  <ebb9@byu.net>
6867
6868         regex: fix build failure
6869         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
6870         platforms.
6871
6872 2010-01-28  Jim Meyering  <meyering@redhat.com>
6873
6874         regex: do not ignore memory allocation failure
6875         * lib/regex_internal.c (create_cd_newstate): Detect
6876         re_node_set_init_copy failure.   Extracted from glibc commit
6877         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6878
6879         regex: sync more white-space changes from libc
6880         * lib/regex_internal.c: White-space only changes.
6881         * lib/regexec.c: Likewise.
6882
6883         regex: add many uses of __attribute_warn_unused_result__
6884         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
6885         * lib/regexec.c: Likewise.
6886         Extracted from a messy glibc commit.
6887
6888         regcomp.c: spelling and merge-artifact from glibc
6889         * lib/regcomp.c: Merge remainder of glibc's
6890         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6891
6892         regcomp.c: sync white-space changes from glibc
6893         * lib/regcomp.c: Merge to accommodate white space
6894         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
6895
6896         regcomp.c: do not ignore internal return values
6897         * lib/regcomp.c: Do not ignore internal return values.
6898         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
6899         but without its white-space changes and spelling fixes.
6900
6901         regex_internal.h: define __attribute_warn_unused_result__
6902         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
6903
6904         maint: add a syntax-check rule to check for vulnerable Makefile.in
6905         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
6906
6907 2010-01-27  Jim Meyering  <meyering@redhat.com>
6908
6909         ncftpput-ftp: clean up spaces
6910         * build-aux/ncftpput-ftp: Make Copyright line consistent.
6911         Remove trailing blanks.
6912
6913 2010-01-27  Simon Josefsson  <simon@josefsson.org>
6914
6915         * build-aux/git-version-gen: Fix copyright statement.
6916         * build-aux/gnupload: Likewise.
6917         * tests/test-arcfour.c: Likewise.
6918         * tests/test-arctwo.c: Likewise.
6919         * tests/test-count-one-bits.c: Likewise.
6920         * tests/test-crc.c: Likewise.
6921         * tests/test-des.c: Likewise.
6922         * tests/test-gc-arcfour.c: Likewise.
6923         * tests/test-gc-arctwo.c: Likewise.
6924         * tests/test-gc-des.c: Likewise.
6925         * tests/test-gc-hmac-md5.c: Likewise.
6926         * tests/test-gc-hmac-sha1.c: Likewise.
6927         * tests/test-gc-md2.c: Likewise.
6928         * tests/test-gc-md4.c: Likewise.
6929         * tests/test-gc-md5.c: Likewise.
6930         * tests/test-gc-pbkdf2-sha1.c: Likewise.
6931         * tests/test-gc-rijndael.c: Likewise.
6932         * tests/test-gc-sha1.c: Likewise.
6933         * tests/test-gc.c: Likewise.
6934         * tests/test-gethostname.c: Likewise.
6935         * tests/test-gettimeofday.c: Likewise.
6936         * tests/test-hash.c: Likewise.
6937         * tests/test-hmac-md5.c: Likewise.
6938         * tests/test-hmac-sha1.c: Likewise.
6939         * tests/test-md2.c: Likewise.
6940         * tests/test-md4.c: Likewise.
6941         * tests/test-md5.c: Likewise.
6942         * tests/test-memchr.c: Likewise.
6943         * tests/test-memchr2.c: Likewise.
6944         * tests/test-memcmp.c: Likewise.
6945         * tests/test-memmem.c: Likewise.
6946         * tests/test-memrchr.c: Likewise.
6947         * tests/test-rawmemchr.c: Likewise.
6948         * tests/test-read-file.c: Likewise.
6949         * tests/test-rijndael.c: Likewise.
6950         * tests/test-sockets.c: Likewise.
6951         * tests/test-strchrnul.c: Likewise.
6952         * tests/test-strstr.c: Likewise.
6953         * tests/test-strtod.c: Likewise.
6954         * build-aux/ncftpput-ftp: Likewise.
6955
6956 2010-01-26  Eric Blake  <ebb9@byu.net>
6957
6958         ignore-value: update recommended header name
6959         * modules/ignore-value (Include): Only use <> for headers that
6960         exist in glibc.
6961
6962 2010-01-26  Jim Meyering  <meyering@redhat.com>
6963
6964         test-userspec.c: avoid compiler warnings
6965         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
6966         and "initialization discards qualifiers..." warnings.
6967         Put the first "uid" in its own scope, and make char* members "const".
6968
6969 2010-01-25  Bruno Haible  <bruno@clisp.org>
6970
6971         gnulib-tool: Make warning diagnostics consistent.
6972         * gnulib-tool (func_warning): New function.
6973         Use it everywhere where gnulib-tool produces output to stderr and it is
6974         not a fatal error.
6975
6976 2010-01-25  Bruno Haible  <bruno@clisp.org>
6977
6978         Fix test dependencies.
6979         * modules/xstrtol-tests (Depends-on): Add inttypes.
6980         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
6981
6982 2010-01-25 Pádraig Brady <P@draigBrady.com>
6983
6984         syntax-check: detect incorrect boolean macro values in config.h
6985         * modules/maintainer-makefile (configure.ac): Parameterize the location
6986         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
6987         The logic is from Eric Blake and the location indicated by Jim Meyering.
6988         Note the more natural CONFIG_HEADER name is prohibited by automake
6989         for backwards compatibility reasons.
6990         * top/maint.mk (sc_Wundef_boolean): New rule.
6991
6992 2010-01-25  Jim Meyering  <meyering@redhat.com>
6993
6994         bootstrap: detect MacOS 10.6's shasum, too
6995         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
6996         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
6997
6998 2010-01-23  Jim Meyering  <meyering@redhat.com>
6999
7000         xstrtoll: new module
7001         * modules/xstrtoll: New file.
7002         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
7003         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
7004         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
7005         ./configure fails if you use this module and lack "long long".
7006         * modules/xstrtoll-tests: New module.
7007         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
7008         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
7009         new init.sh-based test framework.
7010
7011 2010-01-24  Bruno Haible  <bruno@clisp.org>
7012
7013         Tests for module 'yn'.
7014         * modules/yn-tests: New file.
7015         * tests/test-yn.c: New file.
7016
7017         Tests for module 'y1'.
7018         * modules/y1-tests: New file.
7019         * tests/test-y1.c: New file.
7020
7021         Tests for module 'y0'.
7022         * modules/y0-tests: New file.
7023         * tests/test-y0.c: New file.
7024
7025         Tests for module 'tanh'.
7026         * modules/tanh-tests: New file.
7027         * tests/test-tanh.c: New file.
7028
7029         Tests for module 'tan'.
7030         * modules/tan-tests: New file.
7031         * tests/test-tan.c: New file.
7032
7033         Tests for module 'sqrt'.
7034         * modules/sqrt-tests: New file.
7035         * tests/test-sqrt.c: New file.
7036
7037         Tests for module 'sinh'.
7038         * modules/sinh-tests: New file.
7039         * tests/test-sinh.c: New file.
7040
7041         Tests for module 'sin'.
7042         * modules/sin-tests: New file.
7043         * tests/test-sin.c: New file.
7044
7045         Tests for module 'rint'.
7046         * modules/rint-tests: New file.
7047         * tests/test-rint.c: New file.
7048
7049         Tests for module 'remainder'.
7050         * modules/remainder-tests: New file.
7051         * tests/test-remainder.c: New file.
7052
7053         Tests for module 'pow'.
7054         * modules/pow-tests: New file.
7055         * tests/test-pow.c: New file.
7056
7057         Tests for module 'nextafter'.
7058         * modules/nextafter-tests: New file.
7059         * tests/test-nextafter.c: New file.
7060
7061         Tests for module 'modf'.
7062         * modules/modf-tests: New file.
7063         * tests/test-modf.c: New file.
7064
7065         Tests for module 'logb'.
7066         * modules/logb-tests: New file.
7067         * tests/test-logb.c: New file.
7068
7069         Tests for module 'log1p'.
7070         * modules/log1p-tests: New file.
7071         * tests/test-log1p.c: New file.
7072
7073         Tests for module 'log10'.
7074         * modules/log10-tests: New file.
7075         * tests/test-log10.c: New file.
7076
7077         Tests for module 'log'.
7078         * modules/log-tests: New file.
7079         * tests/test-log.c: New file.
7080
7081         Tests for module 'lgamma'.
7082         * modules/lgamma-tests: New file.
7083         * tests/test-lgamma.c: New file.
7084
7085         Tests for module 'ldexp'.
7086         * modules/ldexp-tests: New file.
7087         * tests/test-ldexp.c: New file.
7088
7089         Tests for module 'jn'.
7090         * modules/jn-tests: New file.
7091         * tests/test-jn.c: New file.
7092
7093         Tests for module 'j1'.
7094         * modules/j1-tests: New file.
7095         * tests/test-j1.c: New file.
7096
7097         Tests for module 'j0'.
7098         * modules/j0-tests: New file.
7099         * tests/test-j0.c: New file.
7100
7101         Tests for module 'hypot'.
7102         * modules/hypot-tests: New file.
7103         * tests/test-hypot.c: New file.
7104
7105         Tests for module 'fmod'.
7106         * modules/fmod-tests: New file.
7107         * tests/test-fmod.c: New file.
7108
7109         Tests for module 'fabs'.
7110         * modules/fabs-tests: New file.
7111         * tests/test-fabs.c: New file.
7112
7113         Tests for module 'exp'.
7114         * modules/exp-tests: New file.
7115         * tests/test-exp.c: New file.
7116
7117         Tests for module 'erfc'.
7118         * modules/erfc-tests: New file.
7119         * tests/test-erfc.c: New file.
7120
7121         Tests for module 'erf'.
7122         * modules/erf-tests: New file.
7123         * tests/test-erf.c: New file.
7124
7125         Tests for module 'cosh'.
7126         * modules/cosh-tests: New file.
7127         * tests/test-cosh.c: New file.
7128
7129         Tests for module 'cos'.
7130         * modules/cos-tests: New file.
7131         * tests/test-cos.c: New file.
7132
7133         Tests for module 'copysign'.
7134         * modules/copysign-tests: New file.
7135         * tests/test-copysign.c: New file.
7136
7137         Tests for module 'cbrt'.
7138         * modules/cbrt-tests: New file.
7139         * tests/test-cbrt.c: New file.
7140
7141         Tests for module 'atan2'.
7142         * modules/atan2-tests: New file.
7143         * tests/test-atan2.c: New file.
7144
7145         Tests for module 'atan'.
7146         * modules/atan-tests: New file.
7147         * tests/test-atan.c: New file.
7148
7149         Tests for module 'asin'.
7150         * modules/asin-tests: New file.
7151         * tests/test-asin.c: New file.
7152
7153         Tests for module 'acos'.
7154         * modules/acos-tests: New file.
7155         * tests/test-acos.c: New file.
7156
7157 2010-01-24  Bruno Haible  <bruno@clisp.org>
7158
7159         Fix tests for common <math.h> functions.
7160         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
7161         code snippet that references the function pointer, rather than merely
7162         calling the function. Substitute the FUNC_LIBM variable.
7163         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
7164         * modules/acos (configure.ac): Likewise.
7165         * modules/asin (configure.ac): Likewise.
7166         * modules/atan (configure.ac): Likewise.
7167         * modules/atan2 (configure.ac): Likewise.
7168         * modules/cbrt (configure.ac): Likewise.
7169         * modules/copysign (configure.ac): Likewise.
7170         * modules/cos (configure.ac): Likewise.
7171         * modules/cosh (configure.ac): Likewise.
7172         * modules/erf (configure.ac): Likewise.
7173         * modules/erfc (configure.ac): Likewise.
7174         * modules/exp (configure.ac): Likewise.
7175         * modules/fabs (configure.ac): Likewise.
7176         * modules/fmod (configure.ac): Likewise.
7177         * modules/hypot (configure.ac): Likewise.
7178         * modules/j0 (configure.ac): Likewise.
7179         * modules/j1 (configure.ac): Likewise.
7180         * modules/jn (configure.ac): Likewise.
7181         * modules/ldexp (configure.ac): Likewise.
7182         * modules/lgamma (configure.ac): Likewise.
7183         * modules/log (configure.ac): Likewise.
7184         * modules/log10 (configure.ac): Likewise.
7185         * modules/log1p (configure.ac): Likewise.
7186         * modules/logb (configure.ac): Likewise.
7187         * modules/modf (configure.ac): Likewise.
7188         * modules/nextafter (configure.ac): Likewise.
7189         * modules/pow (configure.ac): Likewise.
7190         * modules/remainder (configure.ac): Likewise.
7191         * modules/rint (configure.ac): Likewise.
7192         * modules/sin (configure.ac): Likewise.
7193         * modules/sinh (configure.ac): Likewise.
7194         * modules/tan (configure.ac): Likewise.
7195         * modules/tanh (configure.ac): Likewise.
7196         * modules/y0 (configure.ac): Likewise.
7197         * modules/y1 (configure.ac): Likewise.
7198         * modules/yn (configure.ac): Likewise.
7199
7200 2010-01-24  Bruno Haible  <bruno@clisp.org>
7201
7202         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
7203         * tests/test-acosl.c (x): New variable.
7204         (main): Store argument in x and fetch it from x.
7205         * tests/test-asinl.c (x): New variable.
7206         (main): Store argument in x and fetch it from x.
7207         * tests/test-atanl.c (x): New variable.
7208         (main): Store argument in x and fetch it from x.
7209         * tests/test-cosl.c (x): New variable.
7210         (main): Store argument in x and fetch it from x.
7211         * tests/test-expl.c (x): New variable.
7212         (main): Store argument in x and fetch it from x.
7213         * tests/test-logl.c (x): New variable.
7214         (main): Store argument in x and fetch it from x.
7215         * tests/test-sinl.c (x): New variable.
7216         (main): Store argument in x and fetch it from x.
7217         * tests/test-sqrtl.c (x): New variable.
7218         (main): Store argument in x and fetch it from x.
7219         * tests/test-tanl.c (x): New variable.
7220         (main): Store argument in x and fetch it from x.
7221
7222 2010-01-24  Bruno Haible  <bruno@clisp.org>
7223
7224         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
7225         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
7226         assignments to the initial TESTS_ENVIRONMENT.
7227         * doc/gnulib.texi (Unit test modules): Document it.
7228         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
7229         TESTS_ENVIRONMENT.
7230         * modules/btowc-tests (Makefile.am): Likewise.
7231         * modules/c-stack-tests (Makefile.am): Likewise.
7232         * modules/c-strcase-tests (Makefile.am): Likewise.
7233         * modules/copy-file-tests (Makefile.am): Likewise.
7234         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
7235         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
7236         * modules/mbrtowc-tests (Makefile.am): Likewise.
7237         * modules/mbscasecmp-tests (Makefile.am): Likewise.
7238         * modules/mbscasestr-tests (Makefile.am): Likewise.
7239         * modules/mbschr-tests (Makefile.am): Likewise.
7240         * modules/mbscspn-tests (Makefile.am): Likewise.
7241         * modules/mbsinit-tests (Makefile.am): Likewise.
7242         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
7243         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
7244         * modules/mbspbrk-tests (Makefile.am): Likewise.
7245         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
7246         * modules/mbsrchr-tests (Makefile.am): Likewise.
7247         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
7248         * modules/mbsspn-tests (Makefile.am): Likewise.
7249         * modules/mbsstr-tests (Makefile.am): Likewise.
7250         * modules/nl_langinfo-tests (Makefile.am): Likewise.
7251         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
7252         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
7253         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
7254         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
7255         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
7256         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
7257         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
7258         * modules/wcrtomb-tests (Makefile.am): Likewise.
7259         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
7260         * modules/wcsrtombs-tests (Makefile.am): Likewise.
7261         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
7262         assignments from TESTS_ENVIRONMENT.
7263         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
7264         augmentation.
7265         * modules/argp-version-etc-tests (Makefile.am): Likewise.
7266         * modules/atexit-tests (Makefile.am): Likewise.
7267         * modules/binary-io-tests (Makefile.am): Likewise.
7268         * modules/closein-tests (Makefile.am): Likewise.
7269         * modules/dprintf-posix-tests (Makefile.am): Likewise.
7270         * modules/exclude-tests (Makefile.am): Likewise.
7271         * modules/fflush-tests (Makefile.am): Likewise.
7272         * modules/fpending-tests (Makefile.am): Likewise.
7273         * modules/fprintf-posix-tests (Makefile.am): Likewise.
7274         * modules/freadahead-tests (Makefile.am): Likewise.
7275         * modules/freadptr-tests (Makefile.am): Likewise.
7276         * modules/freadseek-tests (Makefile.am): Likewise.
7277         * modules/fseek-tests (Makefile.am): Likewise.
7278         * modules/fseeko-tests (Makefile.am): Likewise.
7279         * modules/ftell-tests (Makefile.am): Likewise.
7280         * modules/ftello-tests (Makefile.am): Likewise.
7281         * modules/idpriv-drop-tests (Makefile.am): Likewise.
7282         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
7283         * modules/lseek-tests (Makefile.am): Likewise.
7284         * modules/parse-duration-tests (Makefile.am): Likewise.
7285         * modules/perror-tests (Makefile.am): Likewise.
7286         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
7287         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
7288         * modules/pipe-tests (Makefile.am): Likewise.
7289         * modules/pread-tests (Makefile.am): Likewise.
7290         * modules/printf-posix-tests (Makefile.am): Likewise.
7291         * modules/select-tests (Makefile.am): Likewise.
7292         * modules/sigpipe-tests (Makefile.am): Likewise.
7293         * modules/tsearch-tests (Makefile.am): Likewise.
7294         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
7295         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
7296         * modules/uniname/uniname-tests (Makefile.am): Likewise.
7297         * modules/uniwidth/width-tests (Makefile.am): Likewise.
7298         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
7299         * modules/version-etc-tests (Makefile.am): Likewise.
7300         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
7301         * modules/vprintf-posix-tests (Makefile.am): Likewise.
7302         * modules/xalloc-die-tests (Makefile.am): Likewise.
7303         * modules/xprintf-posix-tests (Makefile.am): Likewise.
7304         * modules/xstrtoimax-tests (Makefile.am): Likewise.
7305         * modules/xstrtol-tests (Makefile.am): Likewise.
7306         * modules/xstrtoumax-tests (Makefile.am): Likewise.
7307         * modules/yesno-tests (Makefile.am): Likewise.
7308         Suggested by Jim Meyering.
7309
7310 2010-01-24  Bruno Haible  <bruno@clisp.org>
7311
7312         More documentation.
7313         * doc/gnulib.texi (Writing modules): New chapter.
7314         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
7315         the new chapter.
7316
7317 2010-01-24  Jim Meyering  <meyering@redhat.com>
7318
7319         maint.mk: do not prepend "./" after filtering
7320         * top/maint.mk (_prepend_srcdir_prefix): New variable
7321         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
7322         "./" when $(srcdir) is ".".
7323
7324         define STREQ(a,b) consistently, removing useless parentheses
7325         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
7326         since the only risk is that "a" or "b" contains an unparenthesized
7327         comma, but if either did that, STREQ would have 3 or more arguments.
7328         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
7329         * lib/fts.c (STREQ): Remove unnecessary parentheses.
7330         * lib/hash-triple.c (STREQ): Likewise.
7331         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
7332         * lib/getugroups.c (STREQ): Likewise.
7333
7334 2010-01-23  Jim Meyering  <meyering@redhat.com>
7335
7336         maint.mk: fix syntax-check in a non-srcdir build directory
7337         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
7338         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
7339
7340 2010-01-22  Jim Meyering  <meyering@redhat.com>
7341
7342         userspec: add unit tests
7343         * tests/test-userspec.c: New file.
7344         * modules/userspec-tests: Likewise.
7345
7346 2010-01-21  Jim Meyering  <meyering@redhat.com>
7347
7348         maint.mk: handle source file names containing "." robustly
7349         * top/maint.mk (_dot_escaped_srcdir): Define.
7350         (VC_LIST): Use it in LHS of sed substitution.
7351
7352 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
7353
7354         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
7355         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
7356         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
7357         from a non-srcdir build.
7358
7359 2010-01-20  Eric Blake  <ebb9@byu.net>
7360
7361         warn-on-use: use instead of link-warning
7362         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
7363         * modules/unistd (Depends-on, Makefile.am): Likewise.
7364         * modules/arpa_inet (Depends-on): Replace link-warning with
7365         warn-on-use.
7366         (Makefile.am): Update rules accordingly.
7367         * modules/ctype (Depends-on, Makefile.am): Likewise.
7368         * modules/dirent (Depends-on, Makefile.am): Likewise.
7369         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
7370         * modules/inttypes (Depends-on, Makefile.am): Likewise.
7371         * modules/langinfo (Depends-on, Makefile.am): Likewise.
7372         * modules/locale (Depends-on, Makefile.am): Likewise.
7373         * modules/math (Depends-on, Makefile.am): Likewise.
7374         * modules/search (Depends-on, Makefile.am): Likewise.
7375         * modules/signal (Depends-on, Makefile.am): Likewise.
7376         * modules/spawn (Depends-on, Makefile.am): Likewise.
7377         * modules/stdlib (Depends-on, Makefile.am): Likewise.
7378         * modules/string (Depends-on, Makefile.am): Likewise.
7379         * modules/strings (Depends-on, Makefile.am): Likewise.
7380         * modules/sys_file (Depends-on, Makefile.am): Likewise.
7381         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
7382         * modules/sys_select (Depends-on, Makefile.am): Likewise.
7383         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
7384         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
7385         * modules/sys_times (Depends-on, Makefile.am): Likewise.
7386         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
7387         * modules/wchar (Depends-on, Makefile.am): Likewise.
7388         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
7389         should be poisoned.
7390         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
7391         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
7392         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
7393         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
7394         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
7395         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
7396         * m4/math_h.m4 (gl_MATH_H): Likewise.
7397         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
7398         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
7399         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7400         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
7401         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
7402         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
7403         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
7404         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
7405         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
7406         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
7407         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
7408         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7409         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7410         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7411         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
7412         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
7413         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
7414         GL_LINK_WARNING.
7415         * lib/ctype.in.h: Likewise.
7416         * lib/dirent.in.h: Likewise.
7417         * lib/fcntl.in.h: Likewise.
7418         * lib/inttypes.in.h: Likewise.
7419         * lib/langinfo.in.h: Likewise.
7420         * lib/locale.in.h: Likewise.
7421         * lib/math.in.h: Likewise.
7422         * lib/search.in.h: Likewise.
7423         * lib/signal.in.h: Likewise.
7424         * lib/spawn.in.h: Likewise.
7425         * lib/stdio.in.h: Likewise.
7426         * lib/stdlib.in.h: Likewise.
7427         * lib/string.in.h: Likewise.
7428         * lib/strings.in.h: Likewise.
7429         * lib/sys_file.in.h: Likewise.
7430         * lib/sys_ioctl.in.h: Likewise.
7431         * lib/sys_select.in.h: Likewise.
7432         * lib/sys_socket.in.h: Likewise.
7433         * lib/sys_stat.in.h: Likewise.
7434         * lib/sys_times.in.h: Likewise.
7435         * lib/sys_utsname.in.h: Likewise.
7436         * lib/unistd.in.h: Likewise.
7437         * lib/wchar.in.h: Likewise.
7438
7439 2010-01-20  Bruno Haible  <bruno@clisp.org>
7440
7441         Avoid duplicate -lm.
7442         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
7443         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
7444         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
7445         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
7446         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
7447         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
7448         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
7449         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
7450         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
7451         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
7452         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
7453         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
7454         Reported by Paolo Bonzini.
7455
7456 2010-01-19  Bruno Haible  <bruno@clisp.org>
7457
7458         langinfo, nl_langinfo: Relicense under LGPLv2+.
7459         * modules/langinfo (License): Change to LGPLv2+.
7460         * modules/nl_langinfo (License): Likewise.
7461         Patch by David Lutterkort <lutter@redhat.com>.
7462
7463 2010-01-19  Bruno Haible  <bruno@clisp.org>
7464
7465         Avoid compilation error with cc on OSF/1 5.1.
7466         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
7467         statement, not before.
7468         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7469
7470 2010-01-18  Bruno Haible  <bruno@clisp.org>
7471
7472         Avoid a link error due to the __printf__ symbol.
7473         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
7474         and 2.6.x.
7475         (__format__, __printf__): Remove definitions.
7476         * lib/argp-fmtstream.h: Likewise.
7477         * lib/argp.h: Likewise.
7478         * lib/error.h: Likewise.
7479         * lib/vasnprintf.h: Likewise.
7480         * lib/xprintf.h: Likewise.
7481         * lib/xvasprintf.h: Likewise.
7482         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7483
7484 2010-01-18  Bruno Haible  <bruno@clisp.org>
7485
7486         Tests for module 'tanl'.
7487         * modules/tanl-tests: New file.
7488         * tests/test-tanl.c: New file.
7489
7490         Tests for module 'sqrtl'.
7491         * modules/sqrtl-tests: New file.
7492         * tests/test-sqrtl.c: New file.
7493
7494         Tests for module 'sinl'.
7495         * modules/sinl-tests: New file.
7496         * tests/test-sinl.c: New file.
7497
7498         Tests for module 'logl'.
7499         * modules/logl-tests: New file.
7500         * tests/test-logl.c: New file.
7501
7502         Tests for module 'expl'.
7503         * modules/expl-tests: New file.
7504         * tests/test-expl.c: New file.
7505
7506         Tests for module 'cosl'.
7507         * modules/cosl-tests: New file.
7508         * tests/test-cosl.c: New file.
7509
7510         Tests for module 'atanl'.
7511         * modules/atanl-tests: New file.
7512         * tests/test-atanl.c: New file.
7513
7514         Tests for module 'asinl'.
7515         * modules/asinl-tests: New file.
7516         * tests/test-asinl.c: New file.
7517
7518         Tests for module 'acosl'.
7519         * modules/acosl-tests: New file.
7520         * tests/test-acosl.c: New file.
7521
7522         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
7523         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
7524         tanl): Use the standard gnulib idiom.
7525         * lib/cosl.c: Don't include trigl.c and sincosl.c.
7526         * lib/sinl.c: Likewise.
7527         * lib/tanl.c: Don't include trigl.c.
7528         (kernel_tanl): Make static.
7529         * lib/sincosl.c: Include trigl.h first.
7530         * lib/trigl.c: Likewise.
7531         * m4/acosl.m4: New file.
7532         * m4/asinl.m4: New file.
7533         * m4/atanl.m4: New file.
7534         * m4/cosl.m4: New file.
7535         * m4/expl.m4: New file.
7536         * m4/logl.m4: New file.
7537         * m4/sinl.m4: New file.
7538         * m4/sqrtl.m4: New file.
7539         * m4/tanl.m4: New file.
7540         * m4/mathl.m4: Remove file.
7541         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
7542         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
7543         Don't initialize GNULIB_MATHL.
7544         * modules/acosl: New file.
7545         * modules/asinl: New file.
7546         * modules/atanl: New file.
7547         * modules/cosl: New file.
7548         * modules/expl: New file.
7549         * modules/logl: New file.
7550         * modules/sinl: New file.
7551         * modules/sqrtl: New file.
7552         * modules/tanl: New file.
7553         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
7554         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
7555         substitute GNULIB_MATHL.
7556         * modules/mathl: Rewritten.
7557         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
7558         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
7559         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
7560         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
7561         * doc/posix-functions/expl.texi: Mention the 'expl' module.
7562         * doc/posix-functions/logl.texi: Mention the 'logl' module.
7563         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
7564         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
7565         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
7566
7567 2010-01-18  Bruno Haible  <bruno@clisp.org>
7568
7569         sqrt: Make gl_FUNC_SQRT requirable.
7570         * m4/sqrt.m4: New file.
7571         * modules/sqrt (Files): Add it.
7572         (configure.ac): Invoke gl_FUNC_SQRT.
7573
7574 2010-01-18  Bruno Haible  <bruno@clisp.org>
7575
7576         New modules for common <math.h> functions.
7577         * m4/mathfunc.m4: New file.
7578         * modules/acos: New file.
7579         * modules/asin: New file.
7580         * modules/atan: New file.
7581         * modules/atan2: New file.
7582         * modules/cbrt: New file.
7583         * modules/copysign: New file.
7584         * modules/cos: New file.
7585         * modules/cosh: New file.
7586         * modules/erf: New file.
7587         * modules/erfc: New file.
7588         * modules/exp: New file.
7589         * modules/fabs: New file.
7590         * modules/fmod: New file.
7591         * modules/hypot: New file.
7592         * modules/j0: New file.
7593         * modules/j1: New file.
7594         * modules/jn: New file.
7595         * modules/ldexp: New file.
7596         * modules/lgamma: New file.
7597         * modules/log: New file.
7598         * modules/log10: New file.
7599         * modules/log1p: New file.
7600         * modules/logb: New file.
7601         * modules/modf: New file.
7602         * modules/nextafter: New file.
7603         * modules/pow: New file.
7604         * modules/remainder: New file.
7605         * modules/rint: New file.
7606         * modules/sin: New file.
7607         * modules/sinh: New file.
7608         * modules/sqrt: New file.
7609         * modules/tan: New file.
7610         * modules/tanh: New file.
7611         * modules/y0: New file.
7612         * modules/y1: New file.
7613         * modules/yn: New file.
7614         * doc/posix-functions/acos.texi: Mention the 'acos' module.
7615         * doc/posix-functions/asin.texi: Mention the 'asin' module.
7616         * doc/posix-functions/atan.texi: Mention the 'atan' module.
7617         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
7618         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
7619         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
7620         * doc/posix-functions/cos.texi: Mention the 'cos' module.
7621         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
7622         * doc/posix-functions/erf.texi: Mention the 'erf' module.
7623         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
7624         * doc/posix-functions/exp.texi: Mention the 'exp' module.
7625         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
7626         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
7627         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
7628         * doc/posix-functions/j0.texi: Mention the 'j0' module.
7629         * doc/posix-functions/j1.texi: Mention the 'j1' module.
7630         * doc/posix-functions/jn.texi: Mention the 'jn' module.
7631         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
7632         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
7633         * doc/posix-functions/log.texi: Mention the 'log' module.
7634         * doc/posix-functions/log10.texi: Mention the 'log10' module.
7635         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
7636         * doc/posix-functions/logb.texi: Mention the 'logb' module.
7637         * doc/posix-functions/modf.texi: Mention the 'modf' module.
7638         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
7639         * doc/posix-functions/pow.texi: Mention the 'pow' module.
7640         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
7641         * doc/posix-functions/rint.texi: Mention the 'rint' module.
7642         * doc/posix-functions/sin.texi: Mention the 'sin' module.
7643         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
7644         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
7645         * doc/posix-functions/tan.texi: Mention the 'tan' module.
7646         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
7647         * doc/posix-functions/y0.texi: Mention the 'y0' module.
7648         * doc/posix-functions/y1.texi: Mention the 'y1' module.
7649         * doc/posix-functions/yn.texi: Mention the 'yn' module.
7650
7651 2010-01-18  Jim Meyering  <meyering@redhat.com>
7652
7653         ignore-value: relax license to LGPLv2+
7654         * modules/ignore-value (License): Relax to LGPLv2+.
7655
7656         getdate: don't leak when TZ contains two or more '"'s
7657         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
7658         double quote in TZ after the first one.
7659
7660         readtokens: do not leak internal token_lengths buffer
7661         * lib/readtokens.c (readtokens): Free the local, lengths,
7662         when the supplied "token_lengths" parameter is NULL.
7663
7664 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7665
7666         Fix a couple of missing LIBTHREAD link failures on AIX.
7667         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
7668         $(LIBTHREAD).
7669         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
7670
7671         Link test-poll against INET_PTON_LIB.
7672         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
7673         for inet_pton on Solaris 10.
7674
7675 2010-01-17  Bruno Haible  <bruno@clisp.org>
7676
7677         unistdio/*-sprintf: Fix typo in module description.
7678         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
7679         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
7680         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
7681         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
7682         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
7683         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
7684         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
7685         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
7686
7687 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7688
7689         gnulib-tool: fix filelist for AIX, HP-UX ksh.
7690         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
7691         variables in shell case patterns, for AIX and HP-UX ksh.
7692
7693         Split large sed scripts, for HP-UX sed.
7694         * modules/stdio: Split sed scripts around 50 sed commands,
7695         to avoid HP-UX limit of 99 commands, in the near future.
7696         * modules/string: Likewise.
7697         * modules/unistd: Likewise.
7698
7699         gnulib-tool: avoid writing in the current directory.
7700         * gnulib-tool (func_emit_lib_Makefile_am)
7701         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
7702         not in the current directory, so concurrent gnulib-tool
7703         instances do not interfere.
7704
7705 2010-01-16  Jim Meyering  <meyering@redhat.com>
7706
7707         doc: update users.txt
7708         * users.txt: Add grep.
7709         (diffutils, gzip): Update URLs.
7710
7711 2010-01-12  Bruno Haible  <bruno@clisp.org>
7712
7713         posix_spawn: Avoid test failure on Cygwin.
7714         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
7715         characters.
7716         Reported by Simon Josefsson.
7717
7718 2010-01-12  Bruno Haible  <bruno@clisp.org>
7719
7720         * tests/test-cond.c (main): When skipping the test, show the reason.
7721
7722 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7723
7724         * lib/striconv.c (str_cd_iconv): Avoid if before free.
7725
7726 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7727
7728         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
7729         VC_LIST_ALWAYS_EXCLUDE_REGEX.
7730
7731 2010-01-12  Eric Blake  <ebb9@byu.net>
7732
7733         build: guarantee AS_VAR_IF
7734         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
7735         (gl_AS_VAR_IF): Move...
7736         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
7737         Reported by Simon Josefsson.
7738
7739 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7740
7741         * lib/stdio.in.h: Fix typo.
7742
7743 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7744
7745         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
7746         libgpg-error.
7747
7748 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7749
7750         * tests/test-xalloc-die.sh: Use $EXEEXT.
7751
7752 2010-01-12  Simon Josefsson  <simon@josefsson.org>
7753             Bruno Haible  <bruno@clisp.org>
7754
7755         getlogin, getlogin_r: Avoid test failure.
7756         * tests/test-getlogin.c: Include <stdio.h>.
7757         (main): Skip the test when the function fails because stdin is not a
7758         tty.
7759         * tests/test-getlogin_r.c: Include <stdio.h>.
7760         (main): Skip the test when the function fails because stdin is not a
7761         tty.
7762
7763 2010-01-11  Eric Blake  <ebb9@byu.net>
7764
7765         tests: avoid more large file warnings
7766         * tests/test-fflush.c: Avoid warning about ftell use.
7767         * tests/test-fseek.c: Avoid warning about fseek use.
7768
7769 2010-01-10  Bruno Haible  <bruno@clisp.org>
7770
7771         nproc: Work better on Linux when /proc and /sys are not mounted.
7772         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
7773         as lower bound when, on glibc/Linux systems,
7774         sysconf (_SC_NPROCESSORS_CONF) returns 1.
7775         Suggested by Pádraig Brady <P@draigbrady.com>.
7776         Reported by Dmitry V. Levin <ldv@altlinux.org>.
7777
7778         nproc: Refactor.
7779         * lib/nproc.c (num_processors_via_affinity_mask): New function,
7780         extracted from num_processors.
7781         (num_processors): Call it.
7782
7783 2010-01-11  Jim Meyering  <meyering@redhat.com>
7784
7785         utimecmp: avoid new warning from upcoming gcc-4.5.0
7786         * lib/utimecmp.c (BILLION): Define using #define rather than an
7787         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
7788
7789 2010-01-11  Eric Blake  <ebb9@byu.net>
7790
7791         math: add portability warnings for classification macros
7792         * modules/math (Depends-on): Add warn-on-use.
7793         (Makefile.am): Provide new substitutions.
7794         * m4/math_h.m4 (gl_MATH_H): Require inline.
7795         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
7796         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
7797         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
7798         implement warnings.
7799
7800         unistd: warn on use of environ without module
7801         * modules/unistd (Depends-on): Add warn-on-use.
7802         (Makefile.am): Provide new substitutions.
7803         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
7804         * lib/unistd.in.h (environ): Wrap with a warning helper function.
7805
7806         stdio: warn on suspicious uses
7807         * modules/stdio (Depends-on): Add warn-on-use.
7808         (Makefile.am): Provide new substitutions.
7809         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
7810         fseeko.
7811         * lib/stdio.in.h (gets): Always warn on use.
7812         (fseek, ftell): Adjust when warnings are issued, and honor
7813         _GL_NO_LARGE_FILES as a way to silence the warning.
7814         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
7815         any warning about large file offsets.
7816         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
7817         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
7818         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
7819         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
7820         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
7821         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
7822         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
7823         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
7824
7825         warn-on-use: new module
7826         * modules/warn-on-use: New file.
7827         * build-aux/warn-on-use.h: Likewise.
7828         * m4/warn-on-use.m4: Likewise.
7829         * MODULES.html.sh (Support for building): Mention it.
7830
7831 2010-01-10  Bruno Haible  <bruno@clisp.org>
7832
7833         Tests for module 'unistr/u32-strdup'.
7834         * modules/unistr/u32-strdup-tests: New file.
7835         * tests/unistr/test-u32-strdup.c: New file.
7836
7837         Tests for module 'unistr/u16-strdup'.
7838         * modules/unistr/u16-strdup-tests: New file.
7839         * tests/unistr/test-u16-strdup.c: New file.
7840
7841         Tests for module 'unistr/u8-strdup'.
7842         * modules/unistr/u8-strdup-tests: New file.
7843         * tests/unistr/test-u8-strdup.c: New file.
7844         * tests/unistr/test-strdup.h: New file.
7845
7846         Tests for module 'unistr/u32-strncmp'.
7847         * modules/unistr/u32-strncmp-tests: New file.
7848         * tests/unistr/test-u32-strncmp.c: New file.
7849
7850         Tests for module 'unistr/u16-strncmp'.
7851         * modules/unistr/u16-strncmp-tests: New file.
7852         * tests/unistr/test-u16-strncmp.c: New file.
7853
7854         Tests for module 'unistr/u8-strncmp'.
7855         * modules/unistr/u8-strncmp-tests: New file.
7856         * tests/unistr/test-u8-strncmp.c: New file.
7857         * tests/unistr/test-strncmp.h: New file.
7858
7859         Tests for module 'unistr/u32-strcoll'.
7860         * modules/unistr/u32-strcoll-tests: New file.
7861         * tests/unistr/test-u32-strcoll.c: New file.
7862
7863         Tests for module 'unistr/u16-strcoll'.
7864         * modules/unistr/u16-strcoll-tests: New file.
7865         * tests/unistr/test-u16-strcoll.c: New file.
7866
7867         Tests for module 'unistr/u8-strcoll'.
7868         * modules/unistr/u8-strcoll-tests: New file.
7869         * tests/unistr/test-u8-strcoll.c: New file.
7870
7871         Tests for module 'unistr/u32-strcmp'.
7872         * modules/unistr/u32-strcmp-tests: New file.
7873         * tests/unistr/test-u32-strcmp.c: New file.
7874         * tests/unistr/test-u32-strcmp.h: New file.
7875
7876         Tests for module 'unistr/u16-strcmp'.
7877         * modules/unistr/u16-strcmp-tests: New file.
7878         * tests/unistr/test-u16-strcmp.c: New file.
7879         * tests/unistr/test-u16-strcmp.h: New file.
7880
7881         Tests for module 'unistr/u8-strcmp'.
7882         * modules/unistr/u8-strcmp-tests: New file.
7883         * tests/unistr/test-u8-strcmp.c: New file.
7884         * tests/unistr/test-u8-strcmp.h: New file.
7885         * tests/unistr/test-strcmp.h: New file.
7886
7887         Tests for module 'unistr/u32-strncat'.
7888         * modules/unistr/u32-strncat-tests: New file.
7889         * tests/unistr/test-u32-strncat.c: New file.
7890
7891         Tests for module 'unistr/u16-strncat'.
7892         * modules/unistr/u16-strncat-tests: New file.
7893         * tests/unistr/test-u16-strncat.c: New file.
7894
7895         Tests for module 'unistr/u8-strncat'.
7896         * modules/unistr/u8-strncat-tests: New file.
7897         * tests/unistr/test-u8-strncat.c: New file.
7898         * tests/unistr/test-strncat.h: New file.
7899
7900         Tests for module 'unistr/u32-strcat'.
7901         * modules/unistr/u32-strcat-tests: New file.
7902         * tests/unistr/test-u32-strcat.c: New file.
7903
7904         Tests for module 'unistr/u16-strcat'.
7905         * modules/unistr/u16-strcat-tests: New file.
7906         * tests/unistr/test-u16-strcat.c: New file.
7907
7908         Tests for module 'unistr/u8-strcat'.
7909         * modules/unistr/u8-strcat-tests: New file.
7910         * tests/unistr/test-u8-strcat.c: New file.
7911         * tests/unistr/test-strcat.h: New file.
7912
7913         Tests for module 'unistr/u32-stpncpy'.
7914         * modules/unistr/u32-stpncpy-tests: New file.
7915         * tests/unistr/test-u32-stpncpy.c: New file.
7916
7917         Tests for module 'unistr/u16-stpncpy'.
7918         * modules/unistr/u16-stpncpy-tests: New file.
7919         * tests/unistr/test-u16-stpncpy.c: New file.
7920
7921         Tests for module 'unistr/u8-stpncpy'.
7922         * modules/unistr/u8-stpncpy-tests: New file.
7923         * tests/unistr/test-u8-stpncpy.c: New file.
7924         * tests/unistr/test-stpncpy.h: New file.
7925
7926         Tests for module 'unistr/u32-strncpy'.
7927         * modules/unistr/u32-strncpy-tests: New file.
7928         * tests/unistr/test-u32-strncpy.c: New file.
7929
7930         Tests for module 'unistr/u16-strncpy'.
7931         * modules/unistr/u16-strncpy-tests: New file.
7932         * tests/unistr/test-u16-strncpy.c: New file.
7933
7934         Tests for module 'unistr/u8-strncpy'.
7935         * modules/unistr/u8-strncpy-tests: New file.
7936         * tests/unistr/test-u8-strncpy.c: New file.
7937         * tests/unistr/test-strncpy.h: New file.
7938
7939         Tests for module 'unistr/u32-stpcpy'.
7940         * modules/unistr/u32-stpcpy-tests: New file.
7941         * tests/unistr/test-u32-stpcpy.c: New file.
7942
7943         Tests for module 'unistr/u16-stpcpy'.
7944         * modules/unistr/u16-stpcpy-tests: New file.
7945         * tests/unistr/test-u16-stpcpy.c: New file.
7946
7947         Tests for module 'unistr/u8-stpcpy'.
7948         * modules/unistr/u8-stpcpy-tests: New file.
7949         * tests/unistr/test-u8-stpcpy.c: New file.
7950         * tests/unistr/test-stpcpy.h: New file.
7951
7952         Tests for module 'unistr/u32-strcpy'.
7953         * modules/unistr/u32-strcpy-tests: New file.
7954         * tests/unistr/test-u32-strcpy.c: New file.
7955
7956         Tests for module 'unistr/u16-strcpy'.
7957         * modules/unistr/u16-strcpy-tests: New file.
7958         * tests/unistr/test-u16-strcpy.c: New file.
7959
7960         Tests for module 'unistr/u8-strcpy'.
7961         * modules/unistr/u8-strcpy-tests: New file.
7962         * tests/unistr/test-u8-strcpy.c: New file.
7963         * tests/unistr/test-strcpy.h: New file.
7964
7965         Tests for module 'unistr/u32-strnlen'.
7966         * modules/unistr/u32-strnlen-tests: New file.
7967         * tests/unistr/test-u32-strnlen.c: New file.
7968
7969         Tests for module 'unistr/u16-strnlen'.
7970         * modules/unistr/u16-strnlen-tests: New file.
7971         * tests/unistr/test-u16-strnlen.c: New file.
7972
7973         Tests for module 'unistr/u8-strnlen'.
7974         * modules/unistr/u8-strnlen-tests: New file.
7975         * tests/unistr/test-u8-strnlen.c: New file.
7976         * tests/unistr/test-strnlen.h: New file.
7977
7978         Tests for module 'unistr/u32-strlen'.
7979         * modules/unistr/u32-strlen-tests: New file.
7980         * tests/unistr/test-u32-strlen.c: New file.
7981
7982         Tests for module 'unistr/u16-strlen'.
7983         * modules/unistr/u16-strlen-tests: New file.
7984         * tests/unistr/test-u16-strlen.c: New file.
7985
7986         Tests for module 'unistr/u8-strlen'.
7987         * modules/unistr/u8-strlen-tests: New file.
7988         * tests/unistr/test-u8-strlen.c: New file.
7989
7990         Tests for module 'unistr/u32-prev'.
7991         * modules/unistr/u32-prev-tests: New file.
7992         * tests/unistr/test-u32-prev.c: New file.
7993
7994         Tests for module 'unistr/u16-prev'.
7995         * modules/unistr/u16-prev-tests: New file.
7996         * tests/unistr/test-u16-prev.c: New file.
7997
7998         Tests for module 'unistr/u8-prev'.
7999         * modules/unistr/u8-prev-tests: New file.
8000         * tests/unistr/test-u8-prev.c: New file.
8001
8002         Tests for module 'unistr/u32-next'.
8003         * modules/unistr/u32-next-tests: New file.
8004         * tests/unistr/test-u32-next.c: New file.
8005
8006         Tests for module 'unistr/u16-next'.
8007         * modules/unistr/u16-next-tests: New file.
8008         * tests/unistr/test-u16-next.c: New file.
8009
8010         Tests for module 'unistr/u8-next'.
8011         * modules/unistr/u8-next-tests: New file.
8012         * tests/unistr/test-u8-next.c: New file.
8013
8014         Tests for module 'unistr/u32-strmbtouc'.
8015         * modules/unistr/u32-strmbtouc-tests: New file.
8016         * tests/unistr/test-u32-strmbtouc.c: New file.
8017
8018         Tests for module 'unistr/u16-strmbtouc'.
8019         * modules/unistr/u16-strmbtouc-tests: New file.
8020         * tests/unistr/test-u16-strmbtouc.c: New file.
8021
8022         Tests for module 'unistr/u8-strmbtouc'.
8023         * modules/unistr/u8-strmbtouc-tests: New file.
8024         * tests/unistr/test-u8-strmbtouc.c: New file.
8025
8026         Tests for module 'unistr/u32-strmblen'.
8027         * modules/unistr/u32-strmblen-tests: New file.
8028         * tests/unistr/test-u32-strmblen.c: New file.
8029
8030         Tests for module 'unistr/u16-strmblen'.
8031         * modules/unistr/u16-strmblen-tests: New file.
8032         * tests/unistr/test-u16-strmblen.c: New file.
8033
8034         Tests for module 'unistr/u8-strmblen'.
8035         * modules/unistr/u8-strmblen-tests: New file.
8036         * tests/unistr/test-u8-strmblen.c: New file.
8037
8038         Tests for module 'unistr/u32-cpy-alloc'.
8039         * modules/unistr/u32-cpy-alloc-tests: New file.
8040         * tests/unistr/test-u32-cpy-alloc.c: New file.
8041
8042         Tests for module 'unistr/u16-cpy-alloc'.
8043         * modules/unistr/u16-cpy-alloc-tests: New file.
8044         * tests/unistr/test-u16-cpy-alloc.c: New file.
8045
8046         Tests for module 'unistr/u8-cpy-alloc'.
8047         * modules/unistr/u8-cpy-alloc-tests: New file.
8048         * tests/unistr/test-u8-cpy-alloc.c: New file.
8049         * tests/unistr/test-cpy-alloc.h: New file.
8050
8051         Tests for module 'unistr/u32-mbsnlen'.
8052         * modules/unistr/u32-mbsnlen-tests: New file.
8053         * tests/unistr/test-u32-mbsnlen.c: New file.
8054
8055         Tests for module 'unistr/u16-mbsnlen'.
8056         * modules/unistr/u16-mbsnlen-tests: New file.
8057         * tests/unistr/test-u16-mbsnlen.c: New file.
8058
8059         Tests for module 'unistr/u8-mbsnlen'.
8060         * modules/unistr/u8-mbsnlen-tests: New file.
8061         * tests/unistr/test-u8-mbsnlen.c: New file.
8062
8063         Tests for module 'unistr/u32-chr'.
8064         * modules/unistr/u32-chr-tests: New file.
8065         * tests/unistr/test-u32-chr.c: New file.
8066
8067         Tests for module 'unistr/u16-chr'.
8068         * modules/unistr/u16-chr-tests: New file.
8069         * tests/unistr/test-u16-chr.c: New file.
8070
8071         Tests for module 'unistr/u8-chr'.
8072         * modules/unistr/u8-chr-tests: New file.
8073         * tests/unistr/test-u8-chr.c: New file.
8074         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
8075
8076         Tests for module 'unistr/u32-cmp2'.
8077         * modules/unistr/u32-cmp2-tests: New file.
8078         * tests/unistr/test-u32-cmp2.c: New file.
8079
8080         Tests for module 'unistr/u16-cmp2'.
8081         * modules/unistr/u16-cmp2-tests: New file.
8082         * tests/unistr/test-u16-cmp2.c: New file.
8083
8084         Tests for module 'unistr/u8-cmp2'.
8085         * modules/unistr/u8-cmp2-tests: New file.
8086         * tests/unistr/test-u8-cmp2.c: New file.
8087         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
8088
8089         Tests for module 'unistr/u32-cmp'.
8090         * modules/unistr/u32-cmp-tests: New file.
8091         * tests/unistr/test-u32-cmp.c: New file.
8092
8093         Tests for module 'unistr/u16-cmp'.
8094         * modules/unistr/u16-cmp-tests: New file.
8095         * tests/unistr/test-u16-cmp.c: New file.
8096
8097         Tests for module 'unistr/u8-cmp'.
8098         * modules/unistr/u8-cmp-tests: New file.
8099         * tests/unistr/test-u8-cmp.c: New file.
8100         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
8101
8102         Tests for module 'unistr/u32-set'.
8103         * modules/unistr/u32-set-tests: New file.
8104         * tests/unistr/test-u32-set.c: New file.
8105
8106         Tests for module 'unistr/u16-set'.
8107         * modules/unistr/u16-set-tests: New file.
8108         * tests/unistr/test-u16-set.c: New file.
8109
8110         Tests for module 'unistr/u8-set'.
8111         * modules/unistr/u8-set-tests: New file.
8112         * tests/unistr/test-u8-set.c: New file.
8113         * tests/unistr/test-set.h: New file.
8114
8115         Tests for module 'unistr/u32-move'.
8116         * modules/unistr/u32-move-tests: New file.
8117         * tests/unistr/test-u32-move.c: New file.
8118
8119         Tests for module 'unistr/u16-move'.
8120         * modules/unistr/u16-move-tests: New file.
8121         * tests/unistr/test-u16-move.c: New file.
8122
8123         Tests for module 'unistr/u8-move'.
8124         * modules/unistr/u8-move-tests: New file.
8125         * tests/unistr/test-u8-move.c: New file.
8126         * tests/unistr/test-move.h: New file.
8127
8128         Tests for module 'unistr/u32-cpy'.
8129         * modules/unistr/u32-cpy-tests: New file.
8130         * tests/unistr/test-u32-cpy.c: New file.
8131
8132         Tests for module 'unistr/u16-cpy'.
8133         * modules/unistr/u16-cpy-tests: New file.
8134         * tests/unistr/test-u16-cpy.c: New file.
8135
8136         Tests for module 'unistr/u8-cpy'.
8137         * modules/unistr/u8-cpy-tests: New file.
8138         * tests/unistr/test-u8-cpy.c: New file.
8139         * tests/unistr/test-cpy.h: New file.
8140
8141 2010-01-09  Bruno Haible  <bruno@clisp.org>
8142
8143         Tests for module 'unistr/u32-uctomb'.
8144         * modules/unistr/u32-uctomb-tests: New file.
8145         * tests/unistr/test-u32-uctomb.c: New file.
8146
8147         Tests for module 'unistr/u16-uctomb'.
8148         * modules/unistr/u16-uctomb-tests: New file.
8149         * tests/unistr/test-u16-uctomb.c: New file.
8150
8151         Tests for module 'unistr/u8-uctomb'.
8152         * modules/unistr/u8-uctomb-tests: New file.
8153         * tests/unistr/test-u8-uctomb.c: New file.
8154
8155         Tests for module 'unistr/u32-mbtoucr'.
8156         * modules/unistr/u32-mbtoucr-tests: New file.
8157         * tests/unistr/test-u32-mbtoucr.c: New file.
8158
8159         Tests for module 'unistr/u16-mbtoucr'.
8160         * modules/unistr/u16-mbtoucr-tests: New file.
8161         * tests/unistr/test-u16-mbtoucr.c: New file.
8162
8163         Tests for module 'unistr/u8-mbtoucr'.
8164         * modules/unistr/u8-mbtoucr-tests: New file.
8165         * tests/unistr/test-u8-mbtoucr.c: New file.
8166
8167         Tests for module 'unistr/u32-mbtouc'.
8168         * modules/unistr/u32-mbtouc-tests: New file.
8169         * tests/unistr/test-u32-mbtouc.c: New file.
8170
8171         Tests for module 'unistr/u16-mbtouc'.
8172         * modules/unistr/u16-mbtouc-tests: New file.
8173         * tests/unistr/test-u16-mbtouc.c: New file.
8174
8175         Tests for module 'unistr/u8-mbtouc'.
8176         * modules/unistr/u8-mbtouc-tests: New file.
8177         * tests/unistr/test-u8-mbtouc.c: New file.
8178
8179         Tests for module 'unistr/u32-mbtouc-unsafe'.
8180         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
8181         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
8182         * tests/unistr/test-u32-mbtouc.h: New file.
8183
8184         Tests for module 'unistr/u16-mbtouc-unsafe'.
8185         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
8186         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
8187         * tests/unistr/test-u16-mbtouc.h: New file.
8188
8189         Tests for module 'unistr/u8-mbtouc-unsafe'.
8190         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
8191         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
8192         * tests/unistr/test-u8-mbtouc.h: New file.
8193
8194         Tests for module 'unistr/u32-mblen'.
8195         * modules/unistr/u32-mblen-tests: New file.
8196         * tests/unistr/test-u32-mblen.c: New file.
8197
8198         Tests for module 'unistr/u16-mblen'.
8199         * modules/unistr/u16-mblen-tests: New file.
8200         * tests/unistr/test-u16-mblen.c: New file.
8201
8202         Tests for module 'unistr/u8-mblen'.
8203         * modules/unistr/u8-mblen-tests: New file.
8204         * tests/unistr/test-u8-mblen.c: New file.
8205
8206         Tests for module 'unistr/u32-to-u16'.
8207         * modules/unistr/u32-to-u16-tests: New file.
8208         * tests/unistr/test-u32-to-u16.c: New file.
8209
8210         Tests for module 'unistr/u32-to-u8'.
8211         * modules/unistr/u32-to-u8-tests: New file.
8212         * tests/unistr/test-u32-to-u8.c: New file.
8213
8214         Tests for module 'unistr/u16-to-u32'.
8215         * modules/unistr/u16-to-u32-tests: New file.
8216         * tests/unistr/test-u16-to-u32.c: New file.
8217
8218         Tests for module 'unistr/u16-to-u8'.
8219         * modules/unistr/u16-to-u8-tests: New file.
8220         * tests/unistr/test-u16-to-u8.c: New file.
8221
8222         Tests for module 'unistr/u8-to-u32'.
8223         * modules/unistr/u8-to-u32-tests: New file.
8224         * tests/unistr/test-u8-to-u32.c: New file.
8225
8226         Tests for module 'unistr/u8-to-u16'.
8227         * modules/unistr/u8-to-u16-tests: New file.
8228         * tests/unistr/test-u8-to-u16.c: New file.
8229
8230         Tests for module 'unistr/u32-check'.
8231         * modules/unistr/u32-check-tests: New file.
8232         * tests/unistr/test-u32-check.c: New file.
8233
8234         Tests for module 'unistr/u16-check'.
8235         * modules/unistr/u16-check-tests: New file.
8236         * tests/unistr/test-u16-check.c: New file.
8237
8238         Tests for module 'unistr/u8-check'.
8239         * modules/unistr/u8-check-tests: New file.
8240         * tests/unistr/test-u8-check.c: New file.
8241
8242         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
8243         (category_equals): New function.
8244         (main): Add more tests.
8245         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
8246
8247         * tests/unictype/test-bidi_byname.c (main): Add more tests.
8248
8249 2010-01-10  Bruno Haible  <bruno@clisp.org>
8250
8251         unistr/u*-strcoll: Try harder to distinguish different strings.
8252         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
8253         compare s1 and s2 to see if they are different.
8254
8255 2010-01-10  Bruno Haible  <bruno@clisp.org>
8256
8257         unistr/u*-stpncpy: Fix the return value.
8258         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
8259         description of the return value consistent with stpncpy in glibc.
8260         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
8261         written non-NUL unit.
8262
8263 2010-01-10  Bruno Haible  <bruno@clisp.org>
8264
8265         unistr/u*-next: Add missing dependencies.
8266         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
8267         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
8268         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
8269
8270 2010-01-10  Bruno Haible  <bruno@clisp.org>
8271
8272         unistr/u8-mbsnlen: Fix return value for incomplete character.
8273         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
8274         u8_mblen.
8275         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
8276         Remove unistr/u8-mblen.
8277         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
8278         u16_mblen.
8279         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
8280         Remove unistr/u16-mblen.
8281
8282 2010-01-10  Bruno Haible  <bruno@clisp.org>
8283
8284         wchar: Fix compilation error when <wchar.h> is used from coreutils.
8285         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
8286         Reported by Brian Gough <bjg@gnu.org> and
8287         Chris Clayton <chris2553@googlemail.com> via
8288         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
8289
8290 2010-01-09  Bruno Haible  <bruno@clisp.org>
8291
8292         unistr/u16-to-u32: Reject invalid input.
8293         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
8294         u16_mbtouc.
8295         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
8296         Remove unistr/u16-mbtouc.
8297
8298         unistr/u16-to-u8: Reject invalid input.
8299         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
8300         u16_mbtouc.
8301         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
8302         Remove unistr/u16-mbtouc.
8303
8304         unistr/u8-to-u32: Reject invalid input.
8305         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
8306         u8_mbtouc.
8307         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
8308         Remove unistr/u8-mbtouc.
8309
8310         unistr/u8-to-u16: Reject invalid input.
8311         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
8312         u8_mbtouc.
8313         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
8314         Remove unistr/u8-mbtouc.
8315
8316 2010-01-09  Bruno Haible  <bruno@clisp.org>
8317
8318         Tests for module 'getlogin'.
8319         * modules/getlogin-tests: New file.
8320         * tests/test-getlogin.c: New file.
8321
8322         New module 'getlogin'.
8323         * lib/unistd.in.h (getlogin): New declaration.
8324         * lib/getlogin.c: New file.
8325         * m4/getlogin.m4: New file.
8326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
8327         HAVE_GETLOGIN.
8328         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
8329         HAVE_GETLOGIN.
8330         * modules/getlogin: New file.
8331         * doc/posix-functions/getlogin.texi: Mention the new module.
8332         Reported by John W. Eaton <jwe@gnu.org>.
8333
8334 2010-01-09  Bruno Haible  <bruno@clisp.org>
8335
8336         getlogin_r: Support for native Windows.
8337         * lib/getlogin_r.c: Include <windows.h>
8338         (getlogin_r): Implement for native Windows.
8339         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
8340         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
8341         via John W. Eaton <jwe@gnu.org>.
8342
8343 2010-01-09  Bruno Haible  <bruno@clisp.org>
8344
8345         getlogin_r: Small fixes.
8346         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
8347         succeeds.
8348         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
8349         before testing whether getlogin_r is declared. No need to set
8350         HAVE_DECL_GETLOGIN_R to 1.
8351         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
8352
8353 2010-01-09  Bruno Haible  <bruno@clisp.org>
8354
8355         * lib/unistd.in.h (getlogin_r): Add comment.
8356
8357 2010-01-09  Bruno Haible  <bruno@clisp.org>
8358
8359         Tests for module 'getlogin_r'.
8360         * modules/getlogin_r-tests: New file.
8361         * tests/test-getlogin_r.c: New file.
8362
8363 2010-01-09  Jim Meyering  <meyering@redhat.com>
8364
8365         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
8366         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
8367         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
8368
8369 2010-01-08  Simon Josefsson  <simon@josefsson.org>
8370
8371         * lib/dup2.c (rpl_dup2): Improve comment.
8372
8373 2010-01-08  Eric Blake  <ebb9@byu.net>
8374
8375         maint.mk: allow packages to add makefile @@ exceptions
8376         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
8377         (sc_makefile_check): Rename...
8378         (sc_makefile_at_at_check): ...to this, and use hook.
8379
8380         dup2: work around mingw bug
8381         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
8382         Reported by Simon Josefsson.
8383
8384 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
8385
8386         glob: Fix C++ compilation.
8387         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
8388         C++.
8389
8390 2010-01-07  Bruno Haible  <bruno@clisp.org>
8391
8392         Fix indentation of wctype.in.h, broken since 2007-01-06.
8393         * lib/wctype.in.h: Fix indentation of preprocessor directives.
8394
8395 2010-01-07  Bruno Haible  <bruno@clisp.org>
8396
8397         mbslen: Avoid collision with system function.
8398         * lib/string.in.h [MirBSD]: Include <wchar.h>.
8399         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
8400         * m4/mbslen.m4: New file.
8401         * modules/mbslen (Files): Add it.
8402         (configure.ac): Invoke gl_MBSLEN.
8403         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
8404         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
8405         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
8406         via Ian Beckwith <ianb@erislabs.net>.
8407
8408 2010-01-07  Bruno Haible  <bruno@clisp.org>
8409
8410         dirent: Document the last fix.
8411         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
8412
8413 2010-01-07  Bruno Haible  <bruno@clisp.org>
8414
8415         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
8416         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
8417         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
8418         va_list are defined.
8419         * doc/posix-headers/stdio.texi: Document the bug of missing types.
8420         Reported by Eric Blake.
8421
8422 2010-01-07  Bruno Haible  <bruno@clisp.org>
8423
8424         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
8425         * modules/xlist (Depends-on): Add 'list',
8426         * modules/xoset (Depends-on): Add 'oset'.
8427         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
8428
8429 2010-01-07  Bruno Haible  <bruno@clisp.org>
8430
8431         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
8432         * doc/posix-functions/strncasecmp.texi: Likewise.
8433
8434 2010-01-07  Bruno Haible  <bruno@clisp.org>
8435
8436         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
8437
8438 2010-01-07  John W. Eaton  <jwe@octave.org>
8439
8440         wctype: allow C++ use
8441         * lib/wctype.in.h: Add extern "C" block for C++.
8442
8443 2010-01-06  Eric Blake  <ebb9@byu.net>
8444
8445         maint.mk: detect incorrect GFDL usage
8446         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
8447
8448 2010-01-06  Jim Meyering  <meyering@redhat.com>
8449         and Eric Blake  <ebb9@byu.net>
8450
8451         maint.mk: ignore multi-line copyright in NEWS
8452         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
8453
8454 2010-01-06  Eric Blake  <ebb9@byu.net>
8455
8456         select: add missing dependency
8457         * modules/select-tests (Depends-on): Move sockets dependency...
8458         * modules/select (Depends-on): ...here.
8459         Reported by Ian Beckwith.
8460
8461         doc: regenerate INSTALL
8462         * doc/INSTALL: Reflect recent autoconf update.
8463         * doc/INSTALL.ISO: Likewise.
8464         * doc/INSTALL.UTF-8: Likewise.
8465
8466         pread: fix compilation on glibc
8467         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
8468         Reported by Ralf Wildenhues.
8469
8470         dirent: fix test failure
8471         * lib/dirent.in.h (includes): Guarantee ino_t.
8472         Reported by Ralf Wildenhues.
8473
8474 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
8475
8476         linkat, renameat: avoid bad free
8477         * lib/at-func2.c (at_func2): Fix typo.
8478         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
8479
8480 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8481
8482         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
8483         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
8484         to avoid failure of symlink test later.
8485
8486 2010-01-06  Eric Blake  <ebb9@byu.net>
8487
8488         stdio, unistd: guarantee ssize_t
8489         * lib/unistd.in.h (includes): Ensure that types required by POSIX
8490         2008 are exposed when needed.
8491         * lib/stdio.in.h (includes): Likewise.
8492         Reported by Ralf Wildenhues.
8493
8494 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
8495
8496         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
8497         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
8498         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
8499
8500 2010-01-06  Jim Meyering  <meyering@redhat.com>
8501
8502         readtokens: this module *does* require xalloc.h
8503         It uses only functions that were omitted by the old syntax-check rule.
8504         * lib/readtokens.c: Include "xalloc.h" once again.
8505         * modules/readtokens (Depends-on): Add xalloc.
8506         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
8507
8508 2010-01-05  Eric Blake  <ebb9@byu.net>
8509
8510         maint: support 'make announcement' from a VPATH build
8511         * top/maint.mk (announcement): Look for correct NEWS file.
8512
8513 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
8514
8515         utimens (fdutimens): ignore a negative FD, per contract
8516         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
8517         when we have a valid file descriptor.  Otherwise, using a brand
8518         new glibc (with just-patched futimens that now fails with EBADF)
8519         would cause this function to fail with ENOSYS.
8520         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
8521         See also http://bugzilla.redhat.com/552320.
8522
8523 2010-01-05  Eric Blake  <ebb9@byu.net>
8524
8525         strcase: document what it provides
8526         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
8527         gnulib module.
8528         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
8529         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
8530
8531 2010-01-05  Jim Meyering  <meyering@redhat.com>
8532
8533         maint: remove useless inclusions of "xalloc.h"
8534         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
8535         * lib/readtokens.c: Likewise.
8536         * lib/same.c: Likewise.
8537         * modules/getloadavg (Depends-on): Remove xalloc.
8538         * modules/readtokens: Likewise.
8539         * modules/same: Likewise.
8540
8541         maint.mk: include 4 more function names in alloca.h-checking regexp
8542         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
8543         regexp.  Before, we would give a false-positive (saying alloca.h
8544         is included unnecessarily) when the only uses involved omitted symbols.
8545
8546         xalloc.h: use consistent formatting
8547         * lib/xalloc.h: Move declarations to start in the first column.
8548
8549 2010-01-05  Eric Blake  <ebb9@byu.net>
8550
8551         mkdir: avoid xalloc
8552         * lib/mkdir.c (includes): Drop unused header.
8553         Reported by John W. Eaton.
8554
8555 2010-01-04  Jim Meyering  <meyering@redhat.com>
8556
8557         nl_langinfo: avoid configure-time syntax error
8558         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
8559         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
8560         the empty string.  Don't let that provoke a shell syntax error.
8561
8562         regcomp, regexec, fnmatch: avoid array bounds read error
8563         * lib/regcomp.c (build_equiv_class): From glibc:
8564         Use only the low 24 bits of a findidx return value as an index
8565         into the weights array.  Patch by Ulrich Drepper:
8566         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
8567         * lib/regexec.c (check_node_accept_bytes): Likewise.
8568         * lib/fnmatch_loop.c (FCT): Likewise.
8569
8570         regcomp: skip collseq lookup when there are no rules
8571         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
8572         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
8573
8574         regcomp: recognize ill-formed { } expressions
8575         * lib/regcomp.c (parse_dup_op): From glibc:
8576         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
8577
8578         regcomp: fix typo in comment
8579         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
8580         s/satisfy/satisfies/.
8581
8582         regcomp: sync from glibc: remove dead store
8583         * lib/regcomp.c (duplicate_node_closure): Remove useless
8584         search_duplicated_node call and dead store.
8585
8586         regcomp: sync from glibc; always use nl_langinfo
8587         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
8588         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
8589         * modules/regex (Depends-on): Add nl_langinfo.
8590
8591 2010-01-04  Eric Blake  <ebb9@byu.net>
8592
8593         fdopendir: fix configure test
8594         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
8595
8596 2010-01-01  Bruno Haible  <bruno@clisp.org>
8597
8598         wchar: Remove unused configure check.
8599         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
8600
8601 2010-01-01  Eric Blake  <ebb9@byu.net>
8602
8603         headers: make check of system header explicit
8604         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
8605         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
8606         ourselves.
8607         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8608         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8609         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
8610         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
8611         internals.
8612         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
8613         missing.
8614         Suggested by Bruno Haible.
8615
8616 2010-01-01  Jim Meyering  <meyering@redhat.com>
8617
8618         ChangeLog: tweak to eliminate unnecessary copyright line
8619         * ChangeLog: Remove a copyright line that was mistakenly updated
8620         by today's update-copyright run.  Reported by Eric Blake.
8621
8622         test-update-copyright: don't let envvar setting cause test failure
8623         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
8624
8625 2010-01-01  Bruno Haible  <bruno@clisp.org>
8626
8627         localename: Avoid gcc warning.
8628         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
8629         function if it is not used.
8630
8631 2010-01-01  Jim Meyering  <meyering@redhat.com>
8632
8633         update nearly all FSF copyright year lists to include 2010
8634         Use the same procedure as for 2009, outlined in
8635         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
8636
8637         version-etc: set COPYRIGHT_YEAR to 2010
8638         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
8639
8640 2009-12-31  Eric Blake  <ebb9@byu.net>
8641
8642         doc: correct availability of cygwin 1.5.x getopt
8643         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
8644         variables.
8645         * doc/posix-functions/opterr.texi (opterr): Likewise.
8646         * doc/posix-functions/optind.texi (optind): Likewise.
8647         * doc/posix-functions/optopt.texi (optopt): Likewise.
8648         * doc/posix-functions/tzname.texi (tzname): Likewise.
8649
8650         openat: update maintainer
8651         * modules/openat (Maintainer): Add myself.
8652
8653         utimens: avoid shadowing warning
8654         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
8655         buffers into one, to avoid shadowing, as well as avoiding a
8656         redundant stat.
8657         Reported by Jim Meyering.
8658
8659         test-dup2: avoid compiler warning
8660         * tests/test-dup2.c (is_inheritable): Only define if used.
8661
8662 2010-01-01  Bruno Haible  <bruno@clisp.org>
8663
8664         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
8665         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
8666         defined, use wctomb instead of wcrtomb.
8667
8668 2010-01-01  Bruno Haible  <bruno@clisp.org>
8669
8670         iconv: Reject native Solaris iconv.
8671         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
8672         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
8673
8674 2009-12-31  Bruno Haible  <bruno@clisp.org>
8675
8676         * tests/test-signal.c (main): Remove test of 'SIG'.
8677
8678 2009-12-31  Bruno Haible  <bruno@clisp.org>
8679
8680         spawn: Fix incomplete fix.
8681         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
8682         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
8683         warnings for GNULIB_POSIXCHECK again.
8684         Reported by Eric Blake.
8685
8686 2009-12-31  Bruno Haible  <bruno@clisp.org>
8687
8688         Avoid namespace pollution on glibc systems.
8689         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
8690         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
8691         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
8692         glibc systems.
8693
8694 2009-12-31  Bruno Haible  <bruno@clisp.org>
8695
8696         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
8697         (gl_REPLACE_WCHAR_H): Turn into a no-op.
8698         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
8699         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
8700         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
8701         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
8702         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
8703
8704 2009-12-31  Bruno Haible  <bruno@clisp.org>
8705
8706         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
8707         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
8708         afterwards.
8709
8710 2009-12-31  Bruno Haible  <bruno@clisp.org>
8711
8712         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
8713         SYS_UTSNAME_H.
8714
8715 2009-12-31  Bruno Haible  <bruno@clisp.org>
8716
8717         spawn: Fix misapplied patch.
8718         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
8719         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
8720         warnings for GNULIB_POSIXCHECK.
8721
8722 2009-12-31  Bruno Haible  <bruno@clisp.org>
8723
8724         times: Update after sys_times changed.
8725         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
8726         * modules/times (Files): Add it.
8727         (configure.ac): Invoke gl_FUNC_TIMES.
8728
8729 2009-12-31  Bruno Haible  <bruno@clisp.org>
8730
8731         Use AC_C_INLINE where necessary.
8732         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
8733         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
8734         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
8735         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
8736         * m4/mbfile.m4 (gl_MBFILE): Likewise.
8737         * m4/mbiter.m4 (gl_MBITER): Likewise.
8738         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
8739         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8740         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
8741         * modules/u64 (configure.ac): Likewise.
8742
8743 2009-12-31  Bruno Haible  <bruno@clisp.org>
8744
8745         Use AC_C_INLINE instead of module 'inline' where possible.
8746         * modules/inline (Description): Clarify purpose.
8747         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
8748         * modules/count-one-bits (Depends-on): Remove inline.
8749         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
8750         * modules/openat (Depends-on): Remove inline.
8751         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
8752         instead of depending on module 'inline'.
8753         * modules/filevercmp (Depends-on, configure.ac): Likewise.
8754         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
8755         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
8756         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
8757         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
8758         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
8759         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
8760         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
8761         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
8762         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
8763         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
8764         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
8765         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
8766         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
8767         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
8768         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
8769         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
8770         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
8771         Likewise.
8772         * modules/unictype/property-ascii-hex-digit (Depends-on,
8773         configure.ac): Likewise.
8774         * modules/unictype/property-bidi-arabic-digit (Depends-on,
8775         configure.ac): Likewise.
8776         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
8777         configure.ac): Likewise.
8778         * modules/unictype/property-bidi-block-separator (Depends-on,
8779         configure.ac): Likewise.
8780         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
8781         configure.ac): Likewise.
8782         * modules/unictype/property-bidi-common-separator (Depends-on,
8783         configure.ac): Likewise.
8784         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
8785         Likewise.
8786         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
8787         configure.ac): Likewise.
8788         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
8789         configure.ac): Likewise.
8790         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
8791         configure.ac): Likewise.
8792         * modules/unictype/property-bidi-european-digit (Depends-on,
8793         configure.ac): Likewise.
8794         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
8795         configure.ac): Likewise.
8796         * modules/unictype/property-bidi-left-to-right (Depends-on,
8797         configure.ac): Likewise.
8798         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
8799         configure.ac): Likewise.
8800         * modules/unictype/property-bidi-other-neutral (Depends-on,
8801         configure.ac): Likewise.
8802         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
8803         Likewise.
8804         * modules/unictype/property-bidi-segment-separator (Depends-on,
8805         configure.ac): Likewise.
8806         * modules/unictype/property-bidi-whitespace (Depends-on,
8807         configure.ac): Likewise.
8808         * modules/unictype/property-combining (Depends-on, configure.ac):
8809         Likewise.
8810         * modules/unictype/property-composite (Depends-on, configure.ac):
8811         Likewise.
8812         * modules/unictype/property-currency-symbol (Depends-on,
8813         configure.ac): Likewise.
8814         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
8815         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
8816         Likewise.
8817         * modules/unictype/property-default-ignorable-code-point (Depends-on,
8818         configure.ac): Likewise.
8819         * modules/unictype/property-deprecated (Depends-on, configure.ac):
8820         Likewise.
8821         * modules/unictype/property-diacritic (Depends-on, configure.ac):
8822         Likewise.
8823         * modules/unictype/property-extender (Depends-on, configure.ac):
8824         Likewise.
8825         * modules/unictype/property-format-control (Depends-on, configure.ac):
8826         Likewise.
8827         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
8828         Likewise.
8829         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
8830         Likewise.
8831         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
8832         Likewise.
8833         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
8834         Likewise.
8835         * modules/unictype/property-hyphen (Depends-on, configure.ac):
8836         Likewise.
8837         * modules/unictype/property-id-continue (Depends-on, configure.ac):
8838         Likewise.
8839         * modules/unictype/property-id-start (Depends-on, configure.ac):
8840         Likewise.
8841         * modules/unictype/property-ideographic (Depends-on, configure.ac):
8842         Likewise.
8843         * modules/unictype/property-ids-binary-operator (Depends-on,
8844         configure.ac): Likewise.
8845         * modules/unictype/property-ids-trinary-operator (Depends-on,
8846         configure.ac): Likewise.
8847         * modules/unictype/property-ignorable-control (Depends-on,
8848         configure.ac): Likewise.
8849         * modules/unictype/property-iso-control (Depends-on, configure.ac):
8850         Likewise.
8851         * modules/unictype/property-join-control (Depends-on, configure.ac):
8852         Likewise.
8853         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
8854         Likewise.
8855         * modules/unictype/property-line-separator (Depends-on, configure.ac):
8856         Likewise.
8857         * modules/unictype/property-logical-order-exception (Depends-on,
8858         configure.ac): Likewise.
8859         * modules/unictype/property-lowercase (Depends-on, configure.ac):
8860         Likewise.
8861         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
8862         * modules/unictype/property-non-break (Depends-on, configure.ac):
8863         Likewise.
8864         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
8865         Likewise.
8866         * modules/unictype/property-numeric (Depends-on, configure.ac):
8867         Likewise.
8868         * modules/unictype/property-other-alphabetic (Depends-on,
8869         configure.ac): Likewise.
8870         * modules/unictype/property-other-default-ignorable-code-point
8871         (Depends-on, configure.ac): Likewise.
8872         * modules/unictype/property-other-grapheme-extend (Depends-on,
8873         configure.ac): Likewise.
8874         * modules/unictype/property-other-id-continue (Depends-on,
8875         configure.ac): Likewise.
8876         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
8877         Likewise.
8878         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
8879         Likewise.
8880         * modules/unictype/property-other-math (Depends-on, configure.ac):
8881         Likewise.
8882         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
8883         Likewise.
8884         * modules/unictype/property-paired-punctuation (Depends-on,
8885         configure.ac): Likewise.
8886         * modules/unictype/property-paragraph-separator (Depends-on,
8887         configure.ac): Likewise.
8888         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
8889         Likewise.
8890         * modules/unictype/property-pattern-white-space (Depends-on,
8891         configure.ac): Likewise.
8892         * modules/unictype/property-private-use (Depends-on, configure.ac):
8893         Likewise.
8894         * modules/unictype/property-punctuation (Depends-on, configure.ac):
8895         Likewise.
8896         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
8897         Likewise.
8898         * modules/unictype/property-radical (Depends-on, configure.ac):
8899         Likewise.
8900         * modules/unictype/property-sentence-terminal (Depends-on,
8901         configure.ac): Likewise.
8902         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
8903         Likewise.
8904         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
8905         * modules/unictype/property-terminal-punctuation (Depends-on,
8906         configure.ac): Likewise.
8907         * modules/unictype/property-titlecase (Depends-on, configure.ac):
8908         Likewise.
8909         * modules/unictype/property-unassigned-code-value (Depends-on,
8910         configure.ac): Likewise.
8911         * modules/unictype/property-unified-ideograph (Depends-on,
8912         configure.ac): Likewise.
8913         * modules/unictype/property-uppercase (Depends-on, configure.ac):
8914         Likewise.
8915         * modules/unictype/property-variation-selector (Depends-on,
8916         configure.ac): Likewise.
8917         * modules/unictype/property-white-space (Depends-on, configure.ac):
8918         Likewise.
8919         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
8920         Likewise.
8921         * modules/unictype/property-xid-start (Depends-on, configure.ac):
8922         Likewise.
8923         * modules/unictype/property-zero-width (Depends-on, configure.ac):
8924         Likewise.
8925         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
8926         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
8927         Likewise.
8928
8929 2009-12-31  Bruno Haible  <bruno@clisp.org>
8930
8931         Remove unnecessary AC_C_INLINE invocation.
8932         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
8933         since 2009-08-21.
8934
8935 2009-12-31  Jim Meyering  <meyering@redhat.com>
8936
8937         maint.mk: don't require explicit gpg_key_ID in cfg.mk
8938         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
8939         With this change, we can all remove the gpg_key_ID = ... definition
8940         from our respective cfg.mk files.
8941
8942         maint.mk: create announcement template in ~/, not in /tmp
8943         * top/maint.mk (emit_upload_commands): Adjust.
8944         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
8945         Remove temporary file, .ci-msg.
8946
8947 2009-12-31  Eric Blake  <ebb9@byu.net>
8948
8949         link-warning: always build headers with link warnings
8950         * modules/arpa_inet (Makefile.am): Always build replacement
8951         header.
8952         * modules/ctype (Makefile.am): Likewise.
8953         * modules/dirent (Makefile.am): Likewise.
8954         * modules/inttypes (Makefile.am): Likewise.
8955         * modules/langinfo (Makefile.am): Likewise.
8956         * modules/locale (Makefile.am): Likewise.
8957         * modules/spawn (Makefile.am): Likewise.
8958         * modules/sys_file (Makefile.am): Likewise.
8959         * modules/sys_ioctl (Makefile.am): Likewise.
8960         * modules/sys_select (Makefile.am): Likewise.
8961         * modules/sys_socket (Makefile.am): Likewise.
8962         * modules/sys_times (Makefile.am): Likewise.
8963         * modules/sys_utsname (Makefile.am): Likewise.
8964         * modules/sys_wait (Makefile.am): Likewise.
8965         * modules/wchar (Makefile.am): Likewise.
8966         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
8967         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
8968         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
8969         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
8970         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
8971         Likewise.
8972         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
8973         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
8974         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
8975         Likewise.
8976         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
8977         Likewise.
8978         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
8979         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
8980         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
8981         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8982         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8983         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
8984         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
8985         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
8986         (gl_WCHAR_H_DEFAULTS): Likewise.
8987
8988 2009-12-31  Eric Blake  <ebb9@byu.net>
8989
8990         signal, spawn: use link warnings
8991         * lib/signal.in.h (sigset_t): Make unconditional.
8992         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
8993         (sigpending, sigprocmask, sigaction): Add link warnings.
8994         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
8995         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
8996         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
8997         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
8998         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
8999         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
9000         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
9001         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
9002         (posix_spawn_file_actions_destroy)
9003         (posix_spawn_file_actions_addopen)
9004         (posix_spawn_file_actions_addclose)
9005         (posix_spawn_file_actions_adddup2): Likewise.
9006         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
9007         * tests/test-signal.c (main): Enhance test.
9008
9009         spawn: improve wrapper support
9010         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
9011         (gl_SPAWN_H_DEFAULTS): New defaults.
9012         * modules/spawn (Makefile.am): Substitute them.
9013         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
9014         Only declare if missing or broken.
9015
9016         sys_times, sys_utsname: use include_next
9017         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
9018         header.
9019         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
9020         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
9021         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
9022         * modules/sys_times (Depends-on): Add include_next.
9023         (Makefile.am): Substitute additional values.
9024         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
9025         * lib/sys_times.in.h (includes): Include native header, if
9026         available.
9027         * lib/sys_utsname.in.h (includes): Likewise.
9028         * tests/test-sys_times.c (main): Enhance test.
9029
9030         fdutimensat: revert prior patch
9031         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
9032         utimens.h.
9033         Reported by Bruno Haible.
9034
9035 2009-12-30  Eric Blake  <ebb9@byu.net>
9036
9037         sys_wait: drop link-warning dependency
9038         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
9039         link-warning efforts.
9040         * lib/sys_wait.in.h: Likewise.
9041
9042         fdutimensat: remove bogus dependency
9043         * modules/fdutimensat (Depends-on): Drop inline.
9044
9045         unistd: fix typo
9046         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
9047
9048 2009-12-30  Bruno Haible  <bruno@clisp.org>
9049
9050         Fix compilation error with Solaris cc.
9051         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
9052         * lib/unicase/u16-is-invariant.c: Likewise.
9053         * lib/unicase/u32-is-invariant.c: Likewise.
9054         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
9055
9056 2009-12-30  Bruno Haible  <bruno@clisp.org>
9057
9058         Fix test crash.
9059         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
9060         locales.
9061         Reported by Simon Josefsson <simon@josefsson.org>.
9062
9063 2009-12-30  Bruno Haible  <bruno@clisp.org>
9064
9065         Fix compilation error on most platforms.
9066         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
9067         Reported by Simon Josefsson <simon@josefsson.org>
9068         and Nelson H. F. Beebe <beebe@math.utah.edu>.
9069
9070 2009-12-30  Eric Blake  <ebb9@byu.net>
9071
9072         futimens, utimensat: work around ntfs-3g bug
9073         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
9074         a ctime bug is present, and expand workaround to cover ntfs-3g.
9075         * lib/utimens.c (fdutimens, lutimens): Likewise.
9076         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
9077         (validate_timespec): Adjust return value.
9078         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
9079         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
9080         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
9081
9082 2009-12-29  Eric Blake  <ebb9@byu.net>
9083
9084         link-warning: make usage consistent
9085         * modules/ctype (Depends-on): Add link-warning.
9086         (Makefile.am): Update rules accordingly.
9087         * modules/langinfo (Depends-on, Makefile.am): Likewise.
9088         * modules/locale (Depends-on, Makefile.am): Likewise.
9089         * modules/sys_file (Makefile.am): Likewise.
9090         * modules/getopt-posix (Makefile.am): Delete unused link warning
9091         efforts.
9092         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
9093         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
9094         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
9095         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
9096
9097         stdio: remove unused variables
9098         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
9099         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
9100         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
9101
9102         tests: test more substitute headers
9103         * modules/ctype-tests: New file.
9104         * modules/dirent-tests: Likewise.
9105         * modules/spawn-tests: Likewise.
9106         * modules/sys_file-tests: Likewise.
9107         * modules/sys_ioctl-tests: Likewise.
9108         * modules/sys_wait-tests: Likewise.
9109         * tests/test-ctype.c: Likewise.
9110         * tests/test-dirent.c: Likewise.
9111         * tests/test-spawn.c: Likewise.
9112         * tests/test-sys_file.c: Likewise.
9113         * tests/test-sys_ioctl.c: Likewise.
9114         * tests/test-sys_wait.c: Likewise.
9115         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
9116         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
9117         whether or not flock is in use.
9118
9119         tests: remove License section from module
9120         * modules/arpa_inet-tests: Remove unneeded section.
9121         * modules/byteswap-tests: Likewise.
9122         * modules/ceilf-tests: Likewise.
9123         * modules/ceill-tests: Likewise.
9124         * modules/crypto/des-tests: Likewise.
9125         * modules/crypto/gc-arcfour-tests: Likewise.
9126         * modules/crypto/gc-arctwo-tests: Likewise.
9127         * modules/crypto/gc-des-tests: Likewise.
9128         * modules/crypto/gc-hmac-md5-tests: Likewise.
9129         * modules/crypto/gc-hmac-sha1-tests: Likewise.
9130         * modules/crypto/gc-md2-tests: Likewise.
9131         * modules/crypto/gc-md4-tests: Likewise.
9132         * modules/crypto/gc-md5-tests: Likewise.
9133         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
9134         * modules/crypto/gc-rijndael-tests: Likewise.
9135         * modules/crypto/gc-sha1-tests: Likewise.
9136         * modules/crypto/gc-tests: Likewise.
9137         * modules/crypto/md2-tests: Likewise.
9138         * modules/crypto/md4-tests: Likewise.
9139         * modules/fcntl-h-tests: Likewise.
9140         * modules/floorf-tests: Likewise.
9141         * modules/floorl-tests: Likewise.
9142         * modules/frexp-nolibm-tests: Likewise.
9143         * modules/frexp-tests: Likewise.
9144         * modules/frexpl-nolibm-tests: Likewise.
9145         * modules/frexpl-tests: Likewise.
9146         * modules/getaddrinfo-tests: Likewise.
9147         * modules/inttypes-tests: Likewise.
9148         * modules/isfinite-tests: Likewise.
9149         * modules/isinf-tests: Likewise.
9150         * modules/ldexpl-tests: Likewise.
9151         * modules/locale-tests: Likewise.
9152         * modules/math-tests: Likewise.
9153         * modules/netdb-tests: Likewise.
9154         * modules/netinet_in-tests: Likewise.
9155         * modules/printf-frexp-tests: Likewise.
9156         * modules/printf-frexpl-tests: Likewise.
9157         * modules/priv-set-tests: Likewise.
9158         * modules/random_r-tests: Likewise.
9159         * modules/round-tests: Likewise.
9160         * modules/roundf-tests: Likewise.
9161         * modules/roundl-tests: Likewise.
9162         * modules/search-tests: Likewise.
9163         * modules/select-tests: Likewise.
9164         * modules/signal-tests: Likewise.
9165         * modules/stdbool-tests: Likewise.
9166         * modules/stddef-tests: Likewise.
9167         * modules/stdint-tests: Likewise.
9168         * modules/stdio-tests: Likewise.
9169         * modules/stdlib-tests: Likewise.
9170         * modules/string-tests: Likewise.
9171         * modules/strings-tests: Likewise.
9172         * modules/sys_select-tests: Likewise.
9173         * modules/sys_socket-tests: Likewise.
9174         * modules/sys_stat-tests: Likewise.
9175         * modules/sys_time-tests: Likewise.
9176         * modules/sys_utsname-tests: Likewise.
9177         * modules/sysexits-tests: Likewise.
9178         * modules/time-tests: Likewise.
9179         * modules/trunc-tests: Likewise.
9180         * modules/truncf-tests: Likewise.
9181         * modules/truncl-tests: Likewise.
9182         * modules/tsearch-tests: Likewise.
9183         * modules/unistd-tests: Likewise.
9184         * modules/wchar-tests: Likewise.
9185         * modules/wctype-tests: Likewise.
9186
9187         tests: fix license on several tests
9188         * tests/test-des.c: Update to GPLv3+.
9189         * tests/test-flock.c: Likewise.
9190         * tests/test-fsync.c: Likewise.
9191         * tests/test-futimens.h: Likewise.
9192         * tests/test-gc-arcfour.c: Likewise.
9193         * tests/test-gc-arctwo.c: Likewise.
9194         * tests/test-gc-des.c: Likewise.
9195         * tests/test-gc-hmac-md5.c: Likewise.
9196         * tests/test-gc-hmac-sha1.c: Likewise.
9197         * tests/test-gc-md2.c: Likewise.
9198         * tests/test-gc-md4.c: Likewise.
9199         * tests/test-gc-md5.c: Likewise.
9200         * tests/test-gc-pbkdf2-sha1.c: Likewise.
9201         * tests/test-gc-rijndael.c: Likewise.
9202         * tests/test-gc-sha1.c: Likewise.
9203         * tests/test-gc.c: Likewise.
9204         * tests/test-getcwd.c: Likewise.
9205         * tests/test-link.c: Likewise.
9206         * tests/test-link.h: Likewise.
9207         * tests/test-lutimens.h: Likewise.
9208         * tests/test-md2.c: Likewise.
9209         * tests/test-md4.c: Likewise.
9210         * tests/test-mkdir.h: Likewise.
9211         * tests/test-rename.c: Likewise.
9212         * tests/test-rename.h: Likewise.
9213         * tests/test-safe-alloc.c: Likewise.
9214         * tests/test-utimens-common.h: Likewise.
9215         * tests/test-utimens.h: Likewise.
9216
9217         maint: sync license texts
9218         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
9219         * doc/gpl-3.0.texi: Revert copyright year update.
9220         * doc/lgpl-3.0.texi: Likewise.
9221
9222 2009-12-29  Jim Meyering  <meyering@redhat.com>
9223
9224         update nearly all FSF copyright year lists to include 2009
9225         The files named by the following are exempted:
9226             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
9227               test -f "$dst" && { echo "$dst"; continue; }
9228               test -d "$dst" || continue
9229               echo "$dst"/$(basename "$src")
9230             done > exempt
9231             git ls-files tests/unictype >> exempt
9232         In the remaining files, convert to all-interval notation if
9233         - there is already at least one year interval like 2000-2003
9234         - the file is maintained by me
9235         - the file is in lib/uni*/, where that style already prevails
9236         Otherwise, use update-copyright's default.
9237
9238 2009-12-29  Simon Josefsson  <simon@josefsson.org>
9239         and Eric Blake  <ebb9@byu.net>
9240
9241         tests: don't require debug system() to pass
9242         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
9243         * tests/test-rmdir.h (test_rmdir_func): Likewise.
9244         * tests/test-unlink.h (test_unlink_func): Likewise.
9245         * tests/test-fstatat.c (main): ...into callers.
9246         * tests/test-lstat.c (main): Likewise.
9247         * tests/test-rmdir.c (main): Likewise.
9248         * tests/test-unlink.c (main): Likewise.
9249         * tests/test-unlinkat.c (main): Likewise.
9250         * tests/test-areadlink-with-size.c (main): Don't require a
9251         debug-only system call to pass, aiding cross-testing to mingw.
9252         * tests/test-areadlink.c (main): Likewise.
9253         * tests/test-areadlinkat-with-size.c (main): Likewise.
9254         * tests/test-areadlinkat.c (main): Likewise.
9255         * tests/test-canonicalize-lgpl.c (main): Likewise.
9256         * tests/test-canonicalize.c (main): Likewise.
9257         * tests/test-chown.c (main): Likewise.
9258         * tests/test-fchownat.c (main): Likewise.
9259         * tests/test-lchown.c (main): Likewise.
9260         * tests/test-fdutimensat.c (main): Likewise.
9261         * tests/test-futimens.c (main): Likewise.
9262         * tests/test-link.c (main): Likewise.
9263         * tests/test-linkat.c (main): Likewise.
9264         * tests/test-mkdir.c (main): Likewise.
9265         * tests/test-mkdirat.c (main): Likewise.
9266         * tests/test-mkfifo.c (main): Likewise.
9267         * tests/test-mkfifoat.c (main): Likewise.
9268         * tests/test-mknod.c (main): Likewise.
9269         * tests/test-readlink.c (main): Likewise.
9270         * tests/test-remove.c (main): Likewise.
9271         * tests/test-rename.c (main): Likewise.
9272         * tests/test-renameat.c (main): Likewise.
9273         * tests/test-symlink.c (main): Likewise.
9274         * tests/test-symlinkat.c (main): Likewise.
9275         * tests/test-utimens.c (main): Likewise.
9276         * tests/test-utimensat.c (main): Likewise.
9277
9278 2009-12-29  Simon Josefsson  <simon@josefsson.org>
9279
9280         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
9281         on $(UNUSED_PARAMETER_H) to avoid build failure.
9282
9283 2009-12-28  Jim Meyering  <meyering@redhat.com>
9284
9285         update-copyright: you may specify a max. line length other than 72
9286         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
9287
9288         maint: use consistent FSF copyright line syntax
9289         * lib/posixtm.c: Add missing comma in FSF copyright line.
9290         * lib/posixtm.h: Likewise.
9291         * lib/getugroups.c: Add missing ", Inc.".
9292
9293         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
9294         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
9295         FSF copyright line.  Remove trailing blanks.
9296
9297 2009-12-28  Eric Blake  <ebb9@byu.net>
9298
9299         test-dup2: reduce dependencies
9300         * modules/cloexec (Configure.ac): Set witness.
9301         * modules/dup2-tests (Depends-on): Drop cloexec.
9302         * tests/test-dup2.c (main): Skip portion of test if cloexec module
9303         not present.
9304         Suggested by Bruno Haible.
9305
9306 2009-12-26  Bruno Haible  <bruno@clisp.org>
9307
9308         Remove an unneeded dependency.
9309         * modules/fseterr (Depends-on): Remove dup2.
9310
9311 2009-12-26  Eric Blake  <ebb9@byu.net>
9312
9313         tests: use macros.h in more places
9314         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
9315         (ASSERT_STREAM): Provide default of stderr.
9316         * tests/test-dirent-safer.c: Include macros.h, using alternate
9317         stream for assertions.
9318         * tests/test-dup-safer.c: Likewise.
9319         * tests/test-freopen-safer.c: Likewise.
9320         * tests/test-getopt.c: Likewise.
9321         * tests/test-openat-safer.c: Likewise.
9322         * tests/test-pipe.c: Likewise.
9323         * tests/test-popen-safer.c: Likewise.
9324         * modules/dirent-safer-tests (Files): Include macros.h.
9325         * modules/unistd-safer-tests (Files): Likewise.
9326         * modules/freopen-safer-tests (Files): Likewise.
9327         * modules/getopt-posix-tests (Files): Likewise.
9328         * modules/openat-safer-tests (Files): Likewise.
9329         * modules/pipe-tests (Files): Likewise.
9330
9331 2009-12-26  Bruno Haible  <bruno@clisp.org>
9332
9333         javacomp: Portability fix.
9334         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
9335         that it also works on Solaris.
9336
9337 2009-12-26  Bruno Haible  <bruno@clisp.org>
9338
9339         localename: Fix storage allocation of gl_locale_name_thread's result.
9340         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
9341         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
9342         all platforms that have 'uselocale'.
9343         (gl_locale_name_thread_unsafe): New function, extracted from
9344         gl_locale_name_thread.
9345         (gl_locale_name_thread): Call struniq on all platforms that have
9346         'uselocale'.
9347         * tests/test-localename.c (test_locale_name_thread): Check that the
9348         resulting strings are permanently allocated.
9349         * modules/localename-tests (Depends-on): Add strdup.
9350
9351 2009-12-26  Bruno Haible  <bruno@clisp.org>
9352
9353         * tests/test-localename.c (categories): Fill in the strings.
9354
9355 2009-12-26  Jim Meyering  <meyering@redhat.com>
9356
9357         isdir: complete the removal of m4/isdir.m4
9358         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
9359
9360         isdir: clean up, since at least grep still uses it
9361         * lib/isdir.c: Include "isdir.h".
9362         (S_ISDIR): Remove now-unneeded definition.
9363         * modules/isdir (Files): Add lib/isdir.h.
9364         * lib/isdir.h: New file, with declaration.
9365         * m4/isdir.m4: Remove file -- unneeded.
9366
9367 2009-12-25  Bruno Haible  <bruno@clisp.org>
9368
9369         selinux-h: Make generated .h files standalone.
9370         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
9371         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
9372         * lib/se-selinux.in.h: Likewise.
9373         * modules/selinux-h (Depends-on): Add unused-parameter.
9374         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
9375         selinux/selinux.h and selinux/context.h.
9376         Suggested by Eric Blake.
9377
9378 2009-12-25  Bruno Haible  <bruno@clisp.org>
9379
9380         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
9381         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
9382         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
9383         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
9384         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
9385
9386 2009-12-24  Bruno Haible  <bruno@clisp.org>
9387
9388         openat: Fix warning.
9389         * lib/openat-proc.c: Include <unistd.h>.
9390
9391 2009-12-24  Bruno Haible  <bruno@clisp.org>
9392
9393         New module 'unused-parameter'.
9394         * build-aux/unused-parameter.h: New file, extracted from earlier
9395         gnulib-common.m4.
9396         * modules/unused-parameter: New file.
9397         * lib/unistr.h: Include unused-parameter.h.
9398         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
9399         _GL_UNUSED.
9400         * modules/unistr/base (Depends-on): Add unused-parameter.
9401
9402 2009-12-24  Bruno Haible  <bruno@clisp.org>
9403
9404         Add missing dependencies to 'extensions' module.
9405         * m4/extensions.m4: Add comment.
9406         * modules/accept4 (Depends-on): Add extensions.
9407         * modules/dup3 (Depends-on): Likewise.
9408         * modules/fcntl (Depends-on): Likewise.
9409         * modules/futimens (Depends-on): Likewise.
9410         * modules/mknod (Depends-on): Likewise.
9411         * modules/pipe2 (Depends-on): Likewise.
9412         * modules/stat-time (Depends-on): Likewise.
9413         * modules/strcasestr-simple (Depends-on): Likewise.
9414         * modules/strsignal (Depends-on): Likewise.
9415         * modules/utimensat (Depends-on): Likewise.
9416         * modules/localcharset (Depends-on): Likewise. Needed because of
9417         gl_FCNTL_O_FLAGS.
9418         * modules/wcrtomb (Depends-on): Likewise. Needed because of
9419         AC_TYPE_MBSTATE_T.
9420         * modules/wcsnrtombs (Depends-on): Likewise.
9421         * modules/wcsrtombs (Depends-on): Likewise.
9422
9423 2009-12-24  Bruno Haible  <bruno@clisp.org>
9424
9425         binary-io: Avoid gcc warning due to SET_BINARY.
9426         * lib/binary-io.h (SET_BINARY): Cast the result to void.
9427         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
9428
9429 2009-12-24  Bruno Haible  <bruno@clisp.org>
9430
9431         Avoid future namespace pollution on glibc systems.
9432         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
9433         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
9434         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
9435         glibc systems.
9436
9437 2009-12-24  Bruno Haible  <bruno@clisp.org>
9438
9439         Refactor common macros used in tests.
9440         * tests/macros.h: New file.
9441         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
9442         and/or <stdlib.h>, if appropriate.
9443         (ASSERT, SIZEOF): Remove macros.
9444         * tests/test-areadlink-with-size.c: Likewise.
9445         * tests/test-areadlinkat.c: Likewise.
9446         * tests/test-areadlinkat-with-size.c: Likewise.
9447         * tests/test-argmatch.c: Likewise.
9448         * tests/test-argv-iter.c: Likewise.
9449         * tests/test-array-mergesort.c: Likewise.
9450         * tests/test-array_list.c: Likewise.
9451         * tests/test-array_oset.c: Likewise.
9452         * tests/test-avltree_list.c: Likewise.
9453         * tests/test-avltree_oset.c: Likewise.
9454         * tests/test-avltreehash_list.c: Likewise.
9455         * tests/test-base64.c: Likewise.
9456         * tests/test-binary-io.c: Likewise.
9457         * tests/test-bitrotate.c: Likewise.
9458         * tests/test-btowc.c: Likewise.
9459         * tests/test-byteswap.c: Likewise.
9460         * tests/test-c-ctype.c: Likewise.
9461         * tests/test-c-stack.c: Likewise.
9462         * tests/test-c-strcasecmp.c: Likewise.
9463         * tests/test-c-strcasestr.c: Likewise.
9464         * tests/test-c-strncasecmp.c: Likewise.
9465         * tests/test-c-strstr.c: Likewise.
9466         * tests/test-canonicalize-lgpl.c: Likewise.
9467         * tests/test-canonicalize.c: Likewise.
9468         * tests/test-carray_list.c: Likewise.
9469         * tests/test-ceilf1.c: Likewise.
9470         * tests/test-ceilf2.c: Likewise.
9471         * tests/test-ceill.c: Likewise.
9472         * tests/test-chown.c: Likewise.
9473         * tests/test-cloexec.c: Likewise.
9474         * tests/test-copy-acl.c: Likewise.
9475         * tests/test-copy-file.c: Likewise.
9476         * tests/test-count-one-bits.c: Likewise.
9477         * tests/test-dprintf-posix.c: Likewise.
9478         * tests/test-dup2.c: Likewise.
9479         * tests/test-dup3.c: Likewise.
9480         * tests/test-duplocale.c: Likewise.
9481         * tests/test-fbufmode.c: Likewise.
9482         * tests/test-fchdir.c: Likewise.
9483         * tests/test-fchownat.c: Likewise.
9484         * tests/test-fcntl-safer.c: Likewise.
9485         * tests/test-fcntl.c: Likewise.
9486         * tests/test-fdopendir.c: Likewise.
9487         * tests/test-fdutimensat.c: Likewise.
9488         * tests/test-fflush2.c: Likewise.
9489         * tests/test-file-has-acl.c: Likewise.
9490         * tests/test-filevercmp.c: Likewise.
9491         * tests/test-flock.c: Likewise.
9492         * tests/test-floorf1.c: Likewise.
9493         * tests/test-floorf2.c: Likewise.
9494         * tests/test-floorl.c: Likewise.
9495         * tests/test-fnmatch.c: Likewise.
9496         * tests/test-fopen.h: Likewise.
9497         * tests/test-fpending.c: Likewise.
9498         * tests/test-fprintf-posix.c: Likewise.
9499         * tests/test-fpurge.c: Likewise.
9500         * tests/test-freadable.c: Likewise.
9501         * tests/test-freadahead.c: Likewise.
9502         * tests/test-freading.c: Likewise.
9503         * tests/test-freadptr.c: Likewise.
9504         * tests/test-freadptr2.c: Likewise.
9505         * tests/test-freadseek.c: Likewise.
9506         * tests/test-freopen.c: Likewise.
9507         * tests/test-frexp.c: Likewise.
9508         * tests/test-frexpl.c: Likewise.
9509         * tests/test-fseek.c: Likewise.
9510         * tests/test-fseeko.c: Likewise.
9511         * tests/test-fstatat.c: Likewise.
9512         * tests/test-fstrcmp.c: Likewise.
9513         * tests/test-fsync.c: Likewise.
9514         * tests/test-ftell.c: Likewise.
9515         * tests/test-ftello.c: Likewise.
9516         * tests/test-func.c: Likewise.
9517         * tests/test-futimens.c: Likewise.
9518         * tests/test-fwritable.c: Likewise.
9519         * tests/test-fwriting.c: Likewise.
9520         * tests/test-getcwd.c: Likewise.
9521         * tests/test-getdate.c: Likewise.
9522         * tests/test-getdelim.c: Likewise.
9523         * tests/test-getdtablesize.c: Likewise.
9524         * tests/test-getgroups.c: Likewise.
9525         * tests/test-getline.c: Likewise.
9526         * tests/test-getndelim2.c: Likewise.
9527         * tests/test-glob.c: Likewise.
9528         * tests/test-hash.c: Likewise.
9529         * tests/test-i-ring.c: Likewise.
9530         * tests/test-iconv-utf.c: Likewise.
9531         * tests/test-iconv.c: Likewise.
9532         * tests/test-idpriv-drop.c: Likewise.
9533         * tests/test-idpriv-droptemp.c: Likewise.
9534         * tests/test-inet_ntop.c: Likewise.
9535         * tests/test-inet_pton.c: Likewise.
9536         * tests/test-isblank.c: Likewise.
9537         * tests/test-isfinite.c: Likewise.
9538         * tests/test-isinf.c: Likewise.
9539         * tests/test-isnan.c: Likewise.
9540         * tests/test-isnand.h: Likewise.
9541         * tests/test-isnanf.h: Likewise.
9542         * tests/test-isnanl.h: Likewise.
9543         * tests/test-lchown.c: Likewise.
9544         * tests/test-ldexpl.c: Likewise.
9545         * tests/test-link.c: Likewise.
9546         * tests/test-linkat.c: Likewise.
9547         * tests/test-linked_list.c: Likewise.
9548         * tests/test-linkedhash_list.c: Likewise.
9549         * tests/test-localename.c: Likewise.
9550         * tests/test-lseek.c: Likewise.
9551         * tests/test-lstat.c: Likewise.
9552         * tests/test-mbmemcasecmp.c: Likewise.
9553         * tests/test-mbmemcasecoll.c: Likewise.
9554         * tests/test-mbrtowc.c: Likewise.
9555         * tests/test-mbscasecmp.c: Likewise.
9556         * tests/test-mbscasestr1.c: Likewise.
9557         * tests/test-mbscasestr2.c: Likewise.
9558         * tests/test-mbscasestr3.c: Likewise.
9559         * tests/test-mbscasestr4.c: Likewise.
9560         * tests/test-mbschr.c: Likewise.
9561         * tests/test-mbscspn.c: Likewise.
9562         * tests/test-mbsinit.c: Likewise.
9563         * tests/test-mbsncasecmp.c: Likewise.
9564         * tests/test-mbsnrtowcs.c: Likewise.
9565         * tests/test-mbspbrk.c: Likewise.
9566         * tests/test-mbspcasecmp.c: Likewise.
9567         * tests/test-mbsrchr.c: Likewise.
9568         * tests/test-mbsrtowcs.c: Likewise.
9569         * tests/test-mbsspn.c: Likewise.
9570         * tests/test-mbsstr1.c: Likewise.
9571         * tests/test-mbsstr2.c: Likewise.
9572         * tests/test-mbsstr3.c: Likewise.
9573         * tests/test-memchr.c: Likewise.
9574         * tests/test-memchr2.c: Likewise.
9575         * tests/test-memcmp.c: Likewise.
9576         * tests/test-memmem.c: Likewise.
9577         * tests/test-memrchr.c: Likewise.
9578         * tests/test-mkdir.c: Likewise.
9579         * tests/test-mkdirat.c: Likewise.
9580         * tests/test-mkfifo.c: Likewise.
9581         * tests/test-mkfifoat.c: Likewise.
9582         * tests/test-mknod.c: Likewise.
9583         * tests/test-nanosleep.c: Likewise.
9584         * tests/test-nl_langinfo.c: Likewise.
9585         * tests/test-obstack-printf.c: Likewise.
9586         * tests/test-open.c: Likewise.
9587         * tests/test-openat.c: Likewise.
9588         * tests/test-pipe-filter-gi1.c: Likewise.
9589         * tests/test-pipe-filter-gi2-main.c: Likewise.
9590         * tests/test-pipe-filter-ii1.c: Likewise.
9591         * tests/test-pipe-filter-ii2-main.c: Likewise.
9592         * tests/test-pipe2.c: Likewise.
9593         * tests/test-popen.h: Likewise.
9594         * tests/test-posixtm.c: Likewise.
9595         * tests/test-pread.c: Likewise.
9596         * tests/test-printf-frexp.c: Likewise.
9597         * tests/test-printf-frexpl.c: Likewise.
9598         * tests/test-printf-posix.c: Likewise.
9599         * tests/test-priv-set.c: Likewise.
9600         * tests/test-quotearg.c: Likewise.
9601         * tests/test-random_r.c: Likewise.
9602         * tests/test-rawmemchr.c: Likewise.
9603         * tests/test-rbtree_list.c: Likewise.
9604         * tests/test-rbtree_oset.c: Likewise.
9605         * tests/test-rbtreehash_list.c: Likewise.
9606         * tests/test-readlink.c: Likewise.
9607         * tests/test-remove.c: Likewise.
9608         * tests/test-rename.c: Likewise.
9609         * tests/test-renameat.c: Likewise.
9610         * tests/test-rmdir.c: Likewise.
9611         * tests/test-round1.c: Likewise.
9612         * tests/test-roundf1.c: Likewise.
9613         * tests/test-roundl.c: Likewise.
9614         * tests/test-safe-alloc.c: Likewise.
9615         * tests/test-sameacls.c: Likewise.
9616         * tests/test-set-mode-acl.c: Likewise.
9617         * tests/test-setenv.c: Likewise.
9618         * tests/test-sigaction.c: Likewise.
9619         * tests/test-signbit.c: Likewise.
9620         * tests/test-sleep.c: Likewise.
9621         * tests/test-snprintf-posix.c: Likewise.
9622         * tests/test-snprintf.c: Likewise.
9623         * tests/test-sprintf-posix.c: Likewise.
9624         * tests/test-stat-time.c: Likewise.
9625         * tests/test-stat.c: Likewise.
9626         * tests/test-strcasestr.c: Likewise.
9627         * tests/test-strchrnul.c: Likewise.
9628         * tests/test-strerror.c: Likewise.
9629         * tests/test-striconv.c: Likewise.
9630         * tests/test-striconveh.c: Likewise.
9631         * tests/test-striconveha.c: Likewise.
9632         * tests/test-strsignal.c: Likewise.
9633         * tests/test-strstr.c: Likewise.
9634         * tests/test-strtod.c: Likewise.
9635         * tests/test-strverscmp.c: Likewise.
9636         * tests/test-symlink.c: Likewise.
9637         * tests/test-symlinkat.c: Likewise.
9638         * tests/test-trunc1.c: Likewise.
9639         * tests/test-trunc2.c: Likewise.
9640         * tests/test-truncf1.c: Likewise.
9641         * tests/test-truncf2.c: Likewise.
9642         * tests/test-truncl.c: Likewise.
9643         * tests/test-uname.c: Likewise.
9644         * tests/test-unlink.c: Likewise.
9645         * tests/test-unlinkat.c: Likewise.
9646         * tests/test-unsetenv.c: Likewise.
9647         * tests/test-usleep.c: Likewise.
9648         * tests/test-utimens.c: Likewise.
9649         * tests/test-utimensat.c: Likewise.
9650         * tests/test-vasnprintf-posix.c: Likewise.
9651         * tests/test-vasnprintf-posix2.c: Likewise.
9652         * tests/test-vasnprintf.c: Likewise.
9653         * tests/test-vasprintf-posix.c: Likewise.
9654         * tests/test-vasprintf.c: Likewise.
9655         * tests/test-vdprintf-posix.c: Likewise.
9656         * tests/test-vfprintf-posix.c: Likewise.
9657         * tests/test-vprintf-posix.c: Likewise.
9658         * tests/test-vsnprintf-posix.c: Likewise.
9659         * tests/test-vsnprintf.c: Likewise.
9660         * tests/test-vsprintf-posix.c: Likewise.
9661         * tests/test-wcrtomb.c: Likewise.
9662         * tests/test-wcsnrtombs.c: Likewise.
9663         * tests/test-wcsrtombs.c: Likewise.
9664         * tests/test-wctype.c: Likewise.
9665         * tests/test-wcwidth.c: Likewise.
9666         * tests/test-xfprintf-posix.c: Likewise.
9667         * tests/test-xmemdup0.c: Likewise.
9668         * tests/test-xprintf-posix.c: Likewise.
9669         * tests/test-xvasprintf.c: Likewise.
9670         * tests/unicase/test-locale-language.c: Likewise.
9671         * tests/unicase/test-mapping-part1.h: Likewise.
9672         * tests/unicase/test-predicate-part1.h: Likewise.
9673         * tests/unicase/test-u8-casecmp.c: Likewise.
9674         * tests/unicase/test-u8-casecoll.c: Likewise.
9675         * tests/unicase/test-u8-casefold.c: Likewise.
9676         * tests/unicase/test-u8-is-cased.c: Likewise.
9677         * tests/unicase/test-u8-is-casefolded.c: Likewise.
9678         * tests/unicase/test-u8-is-lowercase.c: Likewise.
9679         * tests/unicase/test-u8-is-titlecase.c: Likewise.
9680         * tests/unicase/test-u8-is-uppercase.c: Likewise.
9681         * tests/unicase/test-u8-tolower.c: Likewise.
9682         * tests/unicase/test-u8-totitle.c: Likewise.
9683         * tests/unicase/test-u8-toupper.c: Likewise.
9684         * tests/unicase/test-u16-casecmp.c: Likewise.
9685         * tests/unicase/test-u16-casecoll.c: Likewise.
9686         * tests/unicase/test-u16-casefold.c: Likewise.
9687         * tests/unicase/test-u16-is-cased.c: Likewise.
9688         * tests/unicase/test-u16-is-casefolded.c: Likewise.
9689         * tests/unicase/test-u16-is-lowercase.c: Likewise.
9690         * tests/unicase/test-u16-is-titlecase.c: Likewise.
9691         * tests/unicase/test-u16-is-uppercase.c: Likewise.
9692         * tests/unicase/test-u16-tolower.c: Likewise.
9693         * tests/unicase/test-u16-totitle.c: Likewise.
9694         * tests/unicase/test-u16-toupper.c: Likewise.
9695         * tests/unicase/test-u32-casecmp.c: Likewise.
9696         * tests/unicase/test-u32-casecoll.c: Likewise.
9697         * tests/unicase/test-u32-casefold.c: Likewise.
9698         * tests/unicase/test-u32-is-cased.c: Likewise.
9699         * tests/unicase/test-u32-is-casefolded.c: Likewise.
9700         * tests/unicase/test-u32-is-lowercase.c: Likewise.
9701         * tests/unicase/test-u32-is-titlecase.c: Likewise.
9702         * tests/unicase/test-u32-is-uppercase.c: Likewise.
9703         * tests/unicase/test-u32-tolower.c: Likewise.
9704         * tests/unicase/test-u32-totitle.c: Likewise.
9705         * tests/unicase/test-u32-toupper.c: Likewise.
9706         * tests/unicase/test-ulc-casecmp.c: Likewise.
9707         * tests/unicase/test-ulc-casecoll.c: Likewise.
9708         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
9709         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
9710         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
9711         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
9712         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
9713         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
9714         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
9715         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
9716         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
9717         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
9718         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
9719         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
9720         * tests/unictype/test-bidi_byname.c: Likewise.
9721         * tests/unictype/test-bidi_name.c: Likewise.
9722         * tests/unictype/test-bidi_of.c: Likewise.
9723         * tests/unictype/test-bidi_test.c: Likewise.
9724         * tests/unictype/test-block_list.c: Likewise.
9725         * tests/unictype/test-block_of.c: Likewise.
9726         * tests/unictype/test-block_test.c: Likewise.
9727         * tests/unictype/test-categ_and.c: Likewise.
9728         * tests/unictype/test-categ_and_not.c: Likewise.
9729         * tests/unictype/test-categ_byname.c: Likewise.
9730         * tests/unictype/test-categ_name.c: Likewise.
9731         * tests/unictype/test-categ_none.c: Likewise.
9732         * tests/unictype/test-categ_of.c: Likewise.
9733         * tests/unictype/test-categ_or.c: Likewise.
9734         * tests/unictype/test-categ_test_withtable.c: Likewise.
9735         * tests/unictype/test-combining.c: Likewise.
9736         * tests/unictype/test-decdigit.c: Likewise.
9737         * tests/unictype/test-digit.c: Likewise.
9738         * tests/unictype/test-mirror.c: Likewise.
9739         * tests/unictype/test-numeric.c: Likewise.
9740         * tests/unictype/test-pr_byname.c: Likewise.
9741         * tests/unictype/test-pr_test.c: Likewise.
9742         * tests/unictype/test-predicate-part1.h: Likewise.
9743         * tests/unictype/test-scripts.c: Likewise.
9744         * tests/unictype/test-sy_c_ident.c: Likewise.
9745         * tests/unictype/test-sy_java_ident.c: Likewise.
9746         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
9747         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
9748         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
9749         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
9750         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
9751         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
9752         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
9753         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
9754         * tests/uninorm/test-canonical-decomposition.c: Likewise.
9755         * tests/uninorm/test-compat-decomposition.c: Likewise.
9756         * tests/uninorm/test-composition.c: Likewise.
9757         * tests/uninorm/test-decomposing-form.c: Likewise.
9758         * tests/uninorm/test-decomposition.c: Likewise.
9759         * tests/uninorm/test-u8-nfc.c: Likewise.
9760         * tests/uninorm/test-u8-nfd.c: Likewise.
9761         * tests/uninorm/test-u8-nfkc.c: Likewise.
9762         * tests/uninorm/test-u8-nfkd.c: Likewise.
9763         * tests/uninorm/test-u8-normcmp.c: Likewise.
9764         * tests/uninorm/test-u8-normcoll.c: Likewise.
9765         * tests/uninorm/test-u16-nfc.c: Likewise.
9766         * tests/uninorm/test-u16-nfd.c: Likewise.
9767         * tests/uninorm/test-u16-nfkc.c: Likewise.
9768         * tests/uninorm/test-u16-nfkd.c: Likewise.
9769         * tests/uninorm/test-u16-normcmp.c: Likewise.
9770         * tests/uninorm/test-u16-normcoll.c: Likewise.
9771         * tests/uninorm/test-u32-nfc.c: Likewise.
9772         * tests/uninorm/test-u32-nfd.c: Likewise.
9773         * tests/uninorm/test-u32-nfkc.c: Likewise.
9774         * tests/uninorm/test-u32-nfkd.c: Likewise.
9775         * tests/uninorm/test-u32-normalize-big.c: Likewise.
9776         * tests/uninorm/test-u32-normcmp.c: Likewise.
9777         * tests/uninorm/test-u32-normcoll.c: Likewise.
9778         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
9779         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
9780         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
9781         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
9782         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
9783         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
9784         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
9785         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
9786         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
9787         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
9788         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
9789         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
9790         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
9791         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
9792         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
9793         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
9794         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
9795         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
9796         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
9797         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
9798         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
9799         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
9800         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
9801         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
9802         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
9803         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
9804         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
9805         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
9806         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
9807         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
9808         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
9809         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
9810         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
9811         * tests/uniwidth/test-u8-strwidth.c: Likewise.
9812         * tests/uniwidth/test-u8-width.c: Likewise.
9813         * tests/uniwidth/test-u16-strwidth.c: Likewise.
9814         * tests/uniwidth/test-u16-width.c: Likewise.
9815         * tests/uniwidth/test-u32-strwidth.c: Likewise.
9816         * tests/uniwidth/test-u32-width.c: Likewise.
9817         * tests/uniwidth/test-uc_width.c: Likewise.
9818         * tests/uniwidth/test-uc_width2.c: Likewise.
9819         * modules/acl-tests (Files): Add tests/macros.h.
9820         * modules/areadlink-tests (Files): Likewise.
9821         * modules/areadlink-with-size-tests (Files): Likewise.
9822         * modules/areadlinkat-tests (Files): Likewise.
9823         * modules/areadlinkat-with-size-tests (Files): Likewise.
9824         * modules/argmatch-tests (Files): Likewise.
9825         * modules/argv-iter-tests (Files): Likewise.
9826         * modules/array-list-tests (Files): Likewise.
9827         * modules/array-mergesort-tests (Files): Likewise.
9828         * modules/array-oset-tests (Files): Likewise.
9829         * modules/avltree-list-tests (Files): Likewise.
9830         * modules/avltree-oset-tests (Files): Likewise.
9831         * modules/avltreehash-list-tests (Files): Likewise.
9832         * modules/base64-tests (Files): Likewise.
9833         * modules/binary-io-tests (Files): Likewise.
9834         * modules/bitrotate-tests (Files): Likewise.
9835         * modules/btowc-tests (Files): Likewise.
9836         * modules/byteswap-tests (Files): Likewise.
9837         * modules/c-ctype-tests (Files): Likewise.
9838         * modules/c-stack-tests (Files): Likewise.
9839         * modules/c-strcase-tests (Files): Likewise.
9840         * modules/c-strcasestr-tests (Files): Likewise.
9841         * modules/c-strstr-tests (Files): Likewise.
9842         * modules/canonicalize-lgpl-tests (Files): Likewise.
9843         * modules/canonicalize-tests (Files): Likewise.
9844         * modules/carray-list-tests (Files): Likewise.
9845         * modules/ceilf-tests (Files): Likewise.
9846         * modules/ceill-tests (Files): Likewise.
9847         * modules/chown-tests (Files): Likewise.
9848         * modules/cloexec-tests (Files): Likewise.
9849         * modules/copy-file-tests (Files): Likewise.
9850         * modules/count-one-bits-tests (Files): Likewise.
9851         * modules/dprintf-posix-tests (Files): Likewise.
9852         * modules/dup2-tests (Files): Likewise.
9853         * modules/dup3-tests (Files): Likewise.
9854         * modules/duplocale-tests (Files): Likewise.
9855         * modules/fbufmode-tests (Files): Likewise.
9856         * modules/fchdir-tests (Files): Likewise.
9857         * modules/fcntl-safer-tests (Files): Likewise.
9858         * modules/fcntl-tests (Files): Likewise.
9859         * modules/fdopendir-tests (Files): Likewise.
9860         * modules/fdutimensat-tests (Files): Likewise.
9861         * modules/fflush-tests (Files): Likewise.
9862         * modules/filevercmp-tests (Files): Likewise.
9863         * modules/flock-tests (Files): Likewise.
9864         * modules/floorf-tests (Files): Likewise.
9865         * modules/floorl-tests (Files): Likewise.
9866         * modules/fnmatch-tests (Files): Likewise.
9867         * modules/fopen-safer-tests (Files): Likewise.
9868         * modules/fopen-tests (Files): Likewise.
9869         * modules/fpending-tests (Files): Likewise.
9870         * modules/fprintf-posix-tests (Files): Likewise.
9871         * modules/fpurge-tests (Files): Likewise.
9872         * modules/freadable-tests (Files): Likewise.
9873         * modules/freadahead-tests (Files): Likewise.
9874         * modules/freading-tests (Files): Likewise.
9875         * modules/freadptr-tests (Files): Likewise.
9876         * modules/freadseek-tests (Files): Likewise.
9877         * modules/freopen-tests (Files): Likewise.
9878         * modules/frexp-nolibm-tests (Files): Likewise.
9879         * modules/frexp-tests (Files): Likewise.
9880         * modules/frexpl-nolibm-tests (Files): Likewise.
9881         * modules/frexpl-tests (Files): Likewise.
9882         * modules/fseek-tests (Files): Likewise.
9883         * modules/fseeko-tests (Files): Likewise.
9884         * modules/fstrcmp-tests (Files): Likewise.
9885         * modules/fsync-tests (Files): Likewise.
9886         * modules/ftell-tests (Files): Likewise.
9887         * modules/ftello-tests (Files): Likewise.
9888         * modules/func-tests (Files): Likewise.
9889         * modules/futimens-tests (Files): Likewise.
9890         * modules/fwritable-tests (Files): Likewise.
9891         * modules/fwriting-tests (Files): Likewise.
9892         * modules/getcwd-tests (Files): Likewise.
9893         * modules/getdate-tests (Files): Likewise.
9894         * modules/getdelim-tests (Files): Likewise.
9895         * modules/getdtablesize-tests (Files): Likewise.
9896         * modules/getgroups-tests (Files): Likewise.
9897         * modules/getline-tests (Files): Likewise.
9898         * modules/getndelim2-tests (Files): Likewise.
9899         * modules/glob-tests (Files): Likewise.
9900         * modules/hash-tests (Files): Likewise.
9901         * modules/i-ring-tests (Files): Likewise.
9902         * modules/iconv-tests (Files): Likewise.
9903         * modules/iconv_open-utf-tests (Files): Likewise.
9904         * modules/idpriv-drop-tests (Files): Likewise.
9905         * modules/idpriv-droptemp-tests (Files): Likewise.
9906         * modules/inet_ntop-tests (Files): Likewise.
9907         * modules/inet_pton-tests (Files): Likewise.
9908         * modules/isblank-tests (Files): Likewise.
9909         * modules/isfinite-tests (Files): Likewise.
9910         * modules/isinf-tests (Files): Likewise.
9911         * modules/isnan-tests (Files): Likewise.
9912         * modules/isnand-nolibm-tests (Files): Likewise.
9913         * modules/isnand-tests (Files): Likewise.
9914         * modules/isnanf-nolibm-tests (Files): Likewise.
9915         * modules/isnanf-tests (Files): Likewise.
9916         * modules/isnanl-nolibm-tests (Files): Likewise.
9917         * modules/isnanl-tests (Files): Likewise.
9918         * modules/lchown-tests (Files): Likewise.
9919         * modules/ldexpl-tests (Files): Likewise.
9920         * modules/link-tests (Files): Likewise.
9921         * modules/linkat-tests (Files): Likewise.
9922         * modules/linked-list-tests (Files): Likewise.
9923         * modules/linkedhash-list-tests (Files): Likewise.
9924         * modules/localename-tests (Files): Likewise.
9925         * modules/lseek-tests (Files): Likewise.
9926         * modules/lstat-tests (Files): Likewise.
9927         * modules/mbmemcasecmp-tests (Files): Likewise.
9928         * modules/mbmemcasecoll-tests (Files): Likewise.
9929         * modules/mbrtowc-tests (Files): Likewise.
9930         * modules/mbscasecmp-tests (Files): Likewise.
9931         * modules/mbscasestr-tests (Files): Likewise.
9932         * modules/mbschr-tests (Files): Likewise.
9933         * modules/mbscspn-tests (Files): Likewise.
9934         * modules/mbsinit-tests (Files): Likewise.
9935         * modules/mbsncasecmp-tests (Files): Likewise.
9936         * modules/mbsnrtowcs-tests (Files): Likewise.
9937         * modules/mbspbrk-tests (Files): Likewise.
9938         * modules/mbspcasecmp-tests (Files): Likewise.
9939         * modules/mbsrchr-tests (Files): Likewise.
9940         * modules/mbsrtowcs-tests (Files): Likewise.
9941         * modules/mbsspn-tests (Files): Likewise.
9942         * modules/mbsstr-tests (Files): Likewise.
9943         * modules/memchr-tests (Files): Likewise.
9944         * modules/memchr2-tests (Files): Likewise.
9945         * modules/memcmp-tests (Files): Likewise.
9946         * modules/memmem-tests (Files): Likewise.
9947         * modules/memrchr-tests (Files): Likewise.
9948         * modules/mkdir-tests (Files): Likewise.
9949         * modules/mkfifo-tests (Files): Likewise.
9950         * modules/mkfifoat-tests (Files): Likewise.
9951         * modules/mknod-tests (Files): Likewise.
9952         * modules/nanosleep-tests (Files): Likewise.
9953         * modules/nl_langinfo-tests (Files): Likewise.
9954         * modules/obstack-printf-tests (Files): Likewise.
9955         * modules/open-tests (Files): Likewise.
9956         * modules/openat-tests (Files): Likewise.
9957         * modules/pipe-filter-gi-tests (Files): Likewise.
9958         * modules/pipe-filter-ii-tests (Files): Likewise.
9959         * modules/pipe2-tests (Files): Likewise.
9960         * modules/popen-safer-tests (Files): Likewise.
9961         * modules/popen-tests (Files): Likewise.
9962         * modules/posixtm-tests (Files): Likewise.
9963         * modules/pread-tests (Files): Likewise.
9964         * modules/printf-frexp-tests (Files): Likewise.
9965         * modules/printf-frexpl-tests (Files): Likewise.
9966         * modules/printf-posix-tests (Files): Likewise.
9967         * modules/priv-set-tests (Files): Likewise.
9968         * modules/quotearg-tests (Files): Likewise.
9969         * modules/random_r-tests (Files): Likewise.
9970         * modules/rawmemchr-tests (Files): Likewise.
9971         * modules/rbtree-list-tests (Files): Likewise.
9972         * modules/rbtree-oset-tests (Files): Likewise.
9973         * modules/rbtreehash-list-tests (Files): Likewise.
9974         * modules/readlink-tests (Files): Likewise.
9975         * modules/remove-tests (Files): Likewise.
9976         * modules/rename-tests (Files): Likewise.
9977         * modules/renameat-tests (Files): Likewise.
9978         * modules/rmdir-tests (Files): Likewise.
9979         * modules/round-tests (Files): Likewise.
9980         * modules/roundf-tests (Files): Likewise.
9981         * modules/roundl-tests (Files): Likewise.
9982         * modules/safe-alloc-tests (Files): Likewise.
9983         * modules/setenv-tests (Files): Likewise.
9984         * modules/sigaction-tests (Files): Likewise.
9985         * modules/signbit-tests (Files): Likewise.
9986         * modules/sleep-tests (Files): Likewise.
9987         * modules/snprintf-posix-tests (Files): Likewise.
9988         * modules/snprintf-tests (Files): Likewise.
9989         * modules/sprintf-posix-tests (Files): Likewise.
9990         * modules/stat-tests (Files): Likewise.
9991         * modules/stat-time-tests (Files): Likewise.
9992         * modules/strcasestr-tests (Files): Likewise.
9993         * modules/strchrnul-tests (Files): Likewise.
9994         * modules/strerror-tests (Files): Likewise.
9995         * modules/striconv-tests (Files): Likewise.
9996         * modules/striconveh-tests (Files): Likewise.
9997         * modules/striconveha-tests (Files): Likewise.
9998         * modules/strsignal-tests (Files): Likewise.
9999         * modules/strstr-tests (Files): Likewise.
10000         * modules/strtod-tests (Files): Likewise.
10001         * modules/strverscmp-tests (Files): Likewise.
10002         * modules/symlink-tests (Files): Likewise.
10003         * modules/symlinkat-tests (Files): Likewise.
10004         * modules/trunc-tests (Files): Likewise.
10005         * modules/truncf-tests (Files): Likewise.
10006         * modules/truncl-tests (Files): Likewise.
10007         * modules/uname-tests (Files): Likewise.
10008         * modules/unicase/cased-tests (Files): Likewise.
10009         * modules/unicase/ignorable-tests (Files): Likewise.
10010         * modules/unicase/locale-language-tests (Files): Likewise.
10011         * modules/unicase/tolower-tests (Files): Likewise.
10012         * modules/unicase/totitle-tests (Files): Likewise.
10013         * modules/unicase/toupper-tests (Files): Likewise.
10014         * modules/unicase/u8-casecmp-tests (Files): Likewise.
10015         * modules/unicase/u8-casecoll-tests (Files): Likewise.
10016         * modules/unicase/u8-casefold-tests (Files): Likewise.
10017         * modules/unicase/u8-is-cased-tests (Files): Likewise.
10018         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
10019         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
10020         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
10021         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
10022         * modules/unicase/u8-tolower-tests (Files): Likewise.
10023         * modules/unicase/u8-totitle-tests (Files): Likewise.
10024         * modules/unicase/u8-toupper-tests (Files): Likewise.
10025         * modules/unicase/u16-casecmp-tests (Files): Likewise.
10026         * modules/unicase/u16-casecoll-tests (Files): Likewise.
10027         * modules/unicase/u16-casefold-tests (Files): Likewise.
10028         * modules/unicase/u16-is-cased-tests (Files): Likewise.
10029         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
10030         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
10031         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
10032         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
10033         * modules/unicase/u16-tolower-tests (Files): Likewise.
10034         * modules/unicase/u16-totitle-tests (Files): Likewise.
10035         * modules/unicase/u16-toupper-tests (Files): Likewise.
10036         * modules/unicase/u32-casecmp-tests (Files): Likewise.
10037         * modules/unicase/u32-casecoll-tests (Files): Likewise.
10038         * modules/unicase/u32-casefold-tests (Files): Likewise.
10039         * modules/unicase/u32-is-cased-tests (Files): Likewise.
10040         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
10041         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
10042         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
10043         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
10044         * modules/unicase/u32-tolower-tests (Files): Likewise.
10045         * modules/unicase/u32-totitle-tests (Files): Likewise.
10046         * modules/unicase/u32-toupper-tests (Files): Likewise.
10047         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
10048         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
10049         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
10050         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
10051         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
10052         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
10053         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
10054         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
10055         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
10056         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
10057         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
10058         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
10059         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
10060         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
10061         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
10062         * modules/unictype/bidicategory-name-tests (Files): Likewise.
10063         * modules/unictype/bidicategory-of-tests (Files): Likewise.
10064         * modules/unictype/bidicategory-test-tests (Files): Likewise.
10065         * modules/unictype/block-list-tests (Files): Likewise.
10066         * modules/unictype/block-of-tests (Files): Likewise.
10067         * modules/unictype/block-test-tests (Files): Likewise.
10068         * modules/unictype/category-C-tests (Files): Likewise.
10069         * modules/unictype/category-Cc-tests (Files): Likewise.
10070         * modules/unictype/category-Cf-tests (Files): Likewise.
10071         * modules/unictype/category-Cn-tests (Files): Likewise.
10072         * modules/unictype/category-Co-tests (Files): Likewise.
10073         * modules/unictype/category-Cs-tests (Files): Likewise.
10074         * modules/unictype/category-L-tests (Files): Likewise.
10075         * modules/unictype/category-Ll-tests (Files): Likewise.
10076         * modules/unictype/category-Lm-tests (Files): Likewise.
10077         * modules/unictype/category-Lo-tests (Files): Likewise.
10078         * modules/unictype/category-Lt-tests (Files): Likewise.
10079         * modules/unictype/category-Lu-tests (Files): Likewise.
10080         * modules/unictype/category-M-tests (Files): Likewise.
10081         * modules/unictype/category-Mc-tests (Files): Likewise.
10082         * modules/unictype/category-Me-tests (Files): Likewise.
10083         * modules/unictype/category-Mn-tests (Files): Likewise.
10084         * modules/unictype/category-N-tests (Files): Likewise.
10085         * modules/unictype/category-Nd-tests (Files): Likewise.
10086         * modules/unictype/category-Nl-tests (Files): Likewise.
10087         * modules/unictype/category-No-tests (Files): Likewise.
10088         * modules/unictype/category-P-tests (Files): Likewise.
10089         * modules/unictype/category-Pc-tests (Files): Likewise.
10090         * modules/unictype/category-Pd-tests (Files): Likewise.
10091         * modules/unictype/category-Pe-tests (Files): Likewise.
10092         * modules/unictype/category-Pf-tests (Files): Likewise.
10093         * modules/unictype/category-Pi-tests (Files): Likewise.
10094         * modules/unictype/category-Po-tests (Files): Likewise.
10095         * modules/unictype/category-Ps-tests (Files): Likewise.
10096         * modules/unictype/category-S-tests (Files): Likewise.
10097         * modules/unictype/category-Sc-tests (Files): Likewise.
10098         * modules/unictype/category-Sk-tests (Files): Likewise.
10099         * modules/unictype/category-Sm-tests (Files): Likewise.
10100         * modules/unictype/category-So-tests (Files): Likewise.
10101         * modules/unictype/category-Z-tests (Files): Likewise.
10102         * modules/unictype/category-Zl-tests (Files): Likewise.
10103         * modules/unictype/category-Zp-tests (Files): Likewise.
10104         * modules/unictype/category-Zs-tests (Files): Likewise.
10105         * modules/unictype/category-and-not-tests (Files): Likewise.
10106         * modules/unictype/category-and-tests (Files): Likewise.
10107         * modules/unictype/category-byname-tests (Files): Likewise.
10108         * modules/unictype/category-name-tests (Files): Likewise.
10109         * modules/unictype/category-none-tests (Files): Likewise.
10110         * modules/unictype/category-of-tests (Files): Likewise.
10111         * modules/unictype/category-or-tests (Files): Likewise.
10112         * modules/unictype/category-test-withtable-tests (Files): Likewise.
10113         * modules/unictype/combining-class-tests (Files): Likewise.
10114         * modules/unictype/ctype-alnum-tests (Files): Likewise.
10115         * modules/unictype/ctype-alpha-tests (Files): Likewise.
10116         * modules/unictype/ctype-blank-tests (Files): Likewise.
10117         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
10118         * modules/unictype/ctype-digit-tests (Files): Likewise.
10119         * modules/unictype/ctype-graph-tests (Files): Likewise.
10120         * modules/unictype/ctype-lower-tests (Files): Likewise.
10121         * modules/unictype/ctype-print-tests (Files): Likewise.
10122         * modules/unictype/ctype-punct-tests (Files): Likewise.
10123         * modules/unictype/ctype-space-tests (Files): Likewise.
10124         * modules/unictype/ctype-upper-tests (Files): Likewise.
10125         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
10126         * modules/unictype/decimal-digit-tests (Files): Likewise.
10127         * modules/unictype/digit-tests (Files): Likewise.
10128         * modules/unictype/mirror-tests (Files): Likewise.
10129         * modules/unictype/numeric-tests (Files): Likewise.
10130         * modules/unictype/property-alphabetic-tests (Files): Likewise.
10131         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
10132         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
10133         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
10134         Likewise.
10135         * modules/unictype/property-bidi-block-separator-tests (Files):
10136         Likewise.
10137         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
10138         Likewise.
10139         * modules/unictype/property-bidi-common-separator-tests (Files):
10140         Likewise.
10141         * modules/unictype/property-bidi-control-tests (Files): Likewise.
10142         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
10143         Likewise.
10144         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
10145         Likewise.
10146         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
10147         Likewise.
10148         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
10149         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
10150         Likewise.
10151         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
10152         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
10153         Likewise.
10154         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
10155         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
10156         * modules/unictype/property-bidi-segment-separator-tests (Files):
10157         Likewise.
10158         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
10159         * modules/unictype/property-byname-tests (Files): Likewise.
10160         * modules/unictype/property-combining-tests (Files): Likewise.
10161         * modules/unictype/property-composite-tests (Files): Likewise.
10162         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
10163         * modules/unictype/property-dash-tests (Files): Likewise.
10164         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
10165         * modules/unictype/property-default-ignorable-code-point-tests (Files):
10166         Likewise.
10167         * modules/unictype/property-deprecated-tests (Files): Likewise.
10168         * modules/unictype/property-diacritic-tests (Files): Likewise.
10169         * modules/unictype/property-extender-tests (Files): Likewise.
10170         * modules/unictype/property-format-control-tests (Files): Likewise.
10171         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
10172         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
10173         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
10174         * modules/unictype/property-hex-digit-tests (Files): Likewise.
10175         * modules/unictype/property-hyphen-tests (Files): Likewise.
10176         * modules/unictype/property-id-continue-tests (Files): Likewise.
10177         * modules/unictype/property-id-start-tests (Files): Likewise.
10178         * modules/unictype/property-ideographic-tests (Files): Likewise.
10179         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
10180         * modules/unictype/property-ids-trinary-operator-tests (Files):
10181         Likewise.
10182         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
10183         * modules/unictype/property-iso-control-tests (Files): Likewise.
10184         * modules/unictype/property-join-control-tests (Files): Likewise.
10185         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
10186         * modules/unictype/property-line-separator-tests (Files): Likewise.
10187         * modules/unictype/property-logical-order-exception-tests (Files):
10188         Likewise.
10189         * modules/unictype/property-lowercase-tests (Files): Likewise.
10190         * modules/unictype/property-math-tests (Files): Likewise.
10191         * modules/unictype/property-non-break-tests (Files): Likewise.
10192         * modules/unictype/property-not-a-character-tests (Files): Likewise.
10193         * modules/unictype/property-numeric-tests (Files): Likewise.
10194         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
10195         * modules/unictype/property-other-default-ignorable-code-point-tests
10196         (Files): Likewise.
10197         * modules/unictype/property-other-grapheme-extend-tests (Files):
10198         Likewise.
10199         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
10200         * modules/unictype/property-other-id-start-tests (Files): Likewise.
10201         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
10202         * modules/unictype/property-other-math-tests (Files): Likewise.
10203         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
10204         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
10205         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
10206         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
10207         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
10208         * modules/unictype/property-private-use-tests (Files): Likewise.
10209         * modules/unictype/property-punctuation-tests (Files): Likewise.
10210         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
10211         * modules/unictype/property-radical-tests (Files): Likewise.
10212         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
10213         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
10214         * modules/unictype/property-space-tests (Files): Likewise.
10215         * modules/unictype/property-terminal-punctuation-tests (Files):
10216         Likewise.
10217         * modules/unictype/property-test-tests (Files): Likewise.
10218         * modules/unictype/property-titlecase-tests (Files): Likewise.
10219         * modules/unictype/property-unassigned-code-value-tests (Files):
10220         Likewise.
10221         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
10222         * modules/unictype/property-uppercase-tests (Files): Likewise.
10223         * modules/unictype/property-variation-selector-tests (Files): Likewise.
10224         * modules/unictype/property-white-space-tests (Files): Likewise.
10225         * modules/unictype/property-xid-continue-tests (Files): Likewise.
10226         * modules/unictype/property-xid-start-tests (Files): Likewise.
10227         * modules/unictype/property-zero-width-tests (Files): Likewise.
10228         * modules/unictype/scripts-tests (Files): Likewise.
10229         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
10230         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
10231         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
10232         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
10233         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
10234         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
10235         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
10236         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
10237         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
10238         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
10239         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
10240         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
10241         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
10242         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
10243         * modules/uninorm/composition-tests (Files): Likewise.
10244         * modules/uninorm/decomposing-form-tests (Files): Likewise.
10245         * modules/uninorm/decomposition-tests (Files): Likewise.
10246         * modules/uninorm/filter-tests (Files): Likewise.
10247         * modules/uninorm/nfc-tests (Files): Likewise.
10248         * modules/uninorm/nfd-tests (Files): Likewise.
10249         * modules/uninorm/nfkc-tests (Files): Likewise.
10250         * modules/uninorm/nfkd-tests (Files): Likewise.
10251         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
10252         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
10253         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
10254         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
10255         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
10256         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
10257         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
10258         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
10259         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
10260         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
10261         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
10262         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
10263         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
10264         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
10265         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
10266         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
10267         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
10268         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
10269         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
10270         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
10271         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
10272         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
10273         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
10274         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
10275         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
10276         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
10277         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
10278         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
10279         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
10280         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
10281         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
10282         * modules/uniwidth/u8-width-tests (Files): Likewise.
10283         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
10284         * modules/uniwidth/u16-width-tests (Files): Likewise.
10285         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
10286         * modules/uniwidth/u32-width-tests (Files): Likewise.
10287         * modules/uniwidth/width-tests (Files): Likewise.
10288         * modules/unlink-tests (Files): Likewise.
10289         * modules/unsetenv-tests (Files): Likewise.
10290         * modules/usleep-tests (Files): Likewise.
10291         * modules/utimens-tests (Files): Likewise.
10292         * modules/utimensat-tests (Files): Likewise.
10293         * modules/vasnprintf-posix-tests (Files): Likewise.
10294         * modules/vasnprintf-tests (Files): Likewise.
10295         * modules/vasprintf-posix-tests (Files): Likewise.
10296         * modules/vasprintf-tests (Files): Likewise.
10297         * modules/vdprintf-posix-tests (Files): Likewise.
10298         * modules/vfprintf-posix-tests (Files): Likewise.
10299         * modules/vprintf-posix-tests (Files): Likewise.
10300         * modules/vsnprintf-posix-tests (Files): Likewise.
10301         * modules/vsnprintf-tests (Files): Likewise.
10302         * modules/vsprintf-posix-tests (Files): Likewise.
10303         * modules/wcrtomb-tests (Files): Likewise.
10304         * modules/wcsnrtombs-tests (Files): Likewise.
10305         * modules/wcsrtombs-tests (Files): Likewise.
10306         * modules/wctype-tests (Files): Likewise.
10307         * modules/wcwidth-tests (Files): Likewise.
10308         * modules/xmemdup0-tests (Files): Likewise.
10309         * modules/xprintf-posix-tests (Files): Likewise.
10310         * modules/xvasprintf-tests (Files): Likewise.
10311
10312 2009-12-24  Eric Blake  <ebb9@byu.net>
10313
10314         test-nanosleep: fix typo
10315         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
10316         patch.
10317         Reported by Bruno Haible.
10318
10319 2009-12-24  Bruno Haible  <bruno@clisp.org>
10320
10321         Reduce namespace pollution on glibc systems.
10322         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
10323         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
10324         systems.
10325         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
10326         <getopt.h> on glibc systems.
10327         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
10328         systems.
10329         * lib/fcntl.c: Include <unistd.h> here instead.
10330
10331 2009-12-24  Bruno Haible  <bruno@clisp.org>
10332
10333         * lib/stdlib.in.h (includes): Fix typo in today's commit.
10334
10335 2009-12-24  Eric Blake  <ebb9@byu.net>
10336
10337         tests: add signature checks
10338         * tests/signature.h (SIGNATURE_CHECK): New file.
10339         * modules/atexit-tests (Files): Use it.
10340         * modules/btowc-tests (Files): Likewise.
10341         * modules/canonicalize-lgpl-tests (Files): Likewise.
10342         * modules/ceilf-tests (Files): Likewise.
10343         * modules/ceill-tests (Files): Likewise.
10344         * modules/chown-tests (Files): Likewise.
10345         * modules/dprintf-posix-tests (Files): Likewise.
10346         * modules/dup2-tests (Files): Likewise.
10347         * modules/dup3-tests (Files): Likewise.
10348         * modules/duplocale-tests (Files): Likewise.
10349         * modules/fchdir-tests (Files): Likewise.
10350         * modules/fcntl-tests (Files): Likewise.
10351         * modules/fdopendir-tests (Files): Likewise.
10352         * modules/fflush-tests (Files): Likewise.
10353         * modules/flock-tests (Files): Likewise.
10354         * modules/floorf-tests (Files): Likewise.
10355         * modules/floorl-tests (Files): Likewise.
10356         * modules/fnmatch-tests (Files): Likewise.
10357         * modules/fopen-tests (Files): Likewise.
10358         * modules/fprintf-posix-tests (Files): Likewise.
10359         * modules/freopen-tests (Files): Likewise.
10360         * modules/frexp-nolibm-tests (Files): Likewise.
10361         * modules/frexp-tests (Files): Likewise.
10362         * modules/frexpl-nolibm-tests (Files): Likewise.
10363         * modules/frexpl-tests (Files): Likewise.
10364         * modules/fseek-tests (Files): Likewise.
10365         * modules/fseeko-tests (Files): Likewise.
10366         * modules/fsync-tests (Files): Likewise.
10367         * modules/ftell-tests (Files): Likewise.
10368         * modules/ftello-tests (Files): Likewise.
10369         * modules/futimens-tests (Files): Likewise.
10370         * modules/getaddrinfo-tests (Files): Likewise.
10371         * modules/getcwd-tests (Files): Likewise.
10372         * modules/getdelim-tests (Files): Likewise.
10373         * modules/getdtablesize-tests (Files): Likewise.
10374         * modules/getgroups-tests (Files): Likewise.
10375         * modules/gethostname-tests (Files): Likewise.
10376         * modules/getline-tests (Files): Likewise.
10377         * modules/getopt-posix-tests (Files): Likewise.
10378         * modules/gettimeofday-tests (Files): Likewise.
10379         * modules/glob-tests (Files): Likewise.
10380         * modules/iconv-tests (Files): Likewise.
10381         * modules/inet_ntop-tests (Files): Likewise.
10382         * modules/inet_pton-tests (Files): Likewise.
10383         * modules/isblank-tests (Files): Likewise.
10384         * modules/lchown-tests (Files): Likewise.
10385         * modules/ldexpl-tests (Files): Likewise.
10386         * modules/link-tests (Files): Likewise.
10387         * modules/linkat-tests (Files): Likewise.
10388         * modules/lseek-tests (Files): Likewise.
10389         * modules/lstat-tests (Files): Likewise.
10390         * modules/mbrtowc-tests (Files): Likewise.
10391         * modules/mbsinit-tests (Files): Likewise.
10392         * modules/mbsnrtowcs-tests (Files): Likewise.
10393         * modules/mbsrtowcs-tests (Files): Likewise.
10394         * modules/memchr-tests (Files): Likewise.
10395         * modules/memcmp-tests (Files): Likewise.
10396         * modules/memmem-tests (Files): Likewise.
10397         * modules/memrchr-tests (Files): Likewise.
10398         * modules/mkdir-tests (Files): Likewise.
10399         * modules/mkfifo-tests (Files): Likewise.
10400         * modules/mkfifoat-tests (Files): Likewise.
10401         * modules/mknod-tests (Files): Likewise.
10402         * modules/nanosleep-tests (Files): Likewise.
10403         * modules/nl_langinfo-tests (Files): Likewise.
10404         * modules/obstack-printf-tests (Files): Likewise.
10405         * modules/open-tests (Files): Likewise.
10406         * modules/openat-tests (Files): Likewise.
10407         * modules/perror-tests (Files): Likewise.
10408         * modules/pipe2-tests (Files): Likewise.
10409         * modules/poll-tests (Files): Likewise.
10410         * modules/popen-tests (Files): Likewise.
10411         * modules/posix_spawn-tests (Files): Likewise.
10412         * modules/posix_spawnp-tests (Files): Likewise.
10413         * modules/pread-tests (Files): Likewise.
10414         * modules/printf-posix-tests (Files): Likewise.
10415         * modules/pty-tests (Files): Likewise.
10416         * modules/random_r-tests (Files): Likewise.
10417         * modules/rawmemchr-tests (Files): Likewise.
10418         * modules/readlink-tests (Files): Likewise.
10419         * modules/remove-tests (Files): Likewise.
10420         * modules/rename-tests (Files): Likewise.
10421         * modules/renameat-tests (Files): Likewise.
10422         * modules/rmdir-tests (Files): Likewise.
10423         * modules/round-tests (Files): Likewise.
10424         * modules/roundf-tests (Files): Likewise.
10425         * modules/roundl-tests (Files): Likewise.
10426         * modules/select-tests (Files): Likewise.
10427         * modules/setenv-tests (Files): Likewise.
10428         * modules/sigaction-tests (Files): Likewise.
10429         * modules/sleep-tests (Files): Likewise.
10430         * modules/snprintf-posix-tests (Files): Likewise.
10431         * modules/snprintf-tests (Files): Likewise.
10432         * modules/sprintf-posix-tests (Files): Likewise.
10433         * modules/stat-tests (Files): Likewise.
10434         * modules/strcasestr-tests (Files): Likewise.
10435         * modules/strchrnul-tests (Files): Likewise.
10436         * modules/strerror-tests (Files): Likewise.
10437         * modules/strsignal-tests (Files): Likewise.
10438         * modules/strstr-tests (Files): Likewise.
10439         * modules/strtod-tests (Files): Likewise.
10440         * modules/strverscmp-tests (Files): Likewise.
10441         * modules/symlink-tests (Files): Likewise.
10442         * modules/symlinkat-tests (Files): Likewise.
10443         * modules/times-tests (Files): Likewise.
10444         * modules/trunc-tests (Files): Likewise.
10445         * modules/truncf-tests (Files): Likewise.
10446         * modules/truncl-tests (Files): Likewise.
10447         * modules/tsearch-tests (Files): Likewise.
10448         * modules/uname-tests (Files): Likewise.
10449         * modules/unlink-tests (Files): Likewise.
10450         * modules/unsetenv-tests (Files): Likewise.
10451         * modules/usleep-tests (Files): Likewise.
10452         * modules/utimensat-tests (Files): Likewise.
10453         * modules/vasprintf-tests (Files): Likewise.
10454         * modules/vdprintf-posix-tests (Files): Likewise.
10455         * modules/vfprintf-posix-tests (Files): Likewise.
10456         * modules/vprintf-posix-tests (Files): Likewise.
10457         * modules/vsnprintf-posix-tests (Files): Likewise.
10458         * modules/vsnprintf-tests (Files): Likewise.
10459         * modules/vsprintf-posix-tests (Files): Likewise.
10460         * modules/wcrtomb-tests (Files): Likewise.
10461         * modules/wcsnrtombs-tests (Files): Likewise.
10462         * modules/wcsrtombs-tests (Files): Likewise.
10463         * modules/wcwidth-tests (Files): Likewise.
10464         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
10465         * tests/test-isinf.c (isinf): Likewise.
10466         * tests/test-isnan.c (isnan): Likewise.
10467         * tests/test-signbit.c (signbit): Likewise.
10468         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
10469         declaration, either as macro or with correct signature.
10470         (select): Ensure function under test is declared with correct
10471         signature in correct header.
10472         * tests/test-atexit.c (atexit): Likewise.
10473         * tests/test-btowc.c (btowc): Likewise.
10474         * tests/test-canonicalize-lgpl.c (realpath)
10475         (canonicalize_file_name): Likewise.
10476         * tests/test-ceilf1.c (ceilf): Likewise.
10477         * tests/test-ceill.c (ceill): Likewise.
10478         * tests/test-chown.c (chown): Likewise.
10479         * tests/test-dprintf-posix.c (dprintf): Likewise.
10480         * tests/test-dup2.c (dup2): Likewise.
10481         * tests/test-dup3.c (dup3): Likewise.
10482         * tests/test-duplocale.c (duplocale): Likewise.
10483         * tests/test-fchdir.c (fchdir): Likewise.
10484         * tests/test-fchownat.c (fchownat): Likewise.
10485         * tests/test-fcntl.c (fcntl): Likewise.
10486         * tests/test-fdopendir.c (fdopendir): Likewise.
10487         * tests/test-fflush.c (fflush): Likewise.
10488         * tests/test-flock.c (flock): Likewise.
10489         * tests/test-floorf1.c (floorf): Likewise.
10490         * tests/test-floorl.c (floorl): Likewise.
10491         * tests/test-fnmatch.c (fnmatch): Likewise.
10492         * tests/test-fopen.c (fopen): Likewise.
10493         * tests/test-fprintf-posix.c (fprintf): Likewise.
10494         * tests/test-freopen.c (freopen): Likewise.
10495         * tests/test-frexp.c (frexp): Likewise.
10496         * tests/test-frexpl.c (frexpl): Likewise.
10497         * tests/test-fseek.c (fseek): Likewise.
10498         * tests/test-fseeko.c (fseeko): Likewise.
10499         * tests/test-fstatat.c (fstatat): Likewise.
10500         * tests/test-fsync.c (fsync): Likewise.
10501         * tests/test-ftell.c (ftell): Likewise.
10502         * tests/test-ftello.c (ftello): Likewise.
10503         * tests/test-futimens.c (futimens): Likewise.
10504         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
10505         (gai_strerror): Likewise.
10506         * tests/test-getcwd.c (getcwd): Likewise.
10507         * tests/test-getdelim.c (getdelim): Likewise.
10508         * tests/test-getdtablesize.c (getdtablesize): Likewise.
10509         * tests/test-getgroups.c (getgroups): Likewise.
10510         * tests/test-gethostname.c (gethostname): Likewise.
10511         * tests/test-getline.c (getline): Likewise.
10512         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
10513         Likewise.
10514         * tests/test-gettimeofday.c (gettimeofday): Likewise.
10515         * tests/test-glob.c (glob, globfree): Likewise.
10516         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
10517         * tests/test-inet_ntop.c (inet_ntop): Likewise.
10518         * tests/test-inet_pton.c (inet_pton): Likewise.
10519         * tests/test-isblank.c (isblank): Likewise.
10520         * tests/test-lchown.c (lchown): Likewise.
10521         * tests/test-ldexpl.c (ldexpl): Likewise.
10522         * tests/test-link.c (link): Likewise.
10523         * tests/test-linkat.c (linkat): Likewise.
10524         * tests/test-lseek.c (lseek): Likewise.
10525         * tests/test-lstat.c (lstat): Likewise.
10526         * tests/test-mbrtowc.c (mbrtowc): Likewise.
10527         * tests/test-mbsinit.c (mbsinit): Likewise.
10528         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
10529         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
10530         * tests/test-memchr.c (memchr): Likewise.
10531         * tests/test-memcmp.c (memcmp): Likewise.
10532         * tests/test-memmem.c (memmem): Likewise.
10533         * tests/test-memrchr.c (memrchr): Likewise.
10534         * tests/test-mkdir.c (mkdir): Likewise.
10535         * tests/test-mkdirat.c (mkdirat): Likewise.
10536         * tests/test-mkfifo.c (mkfifo): Likewise.
10537         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
10538         * tests/test-mknod.c (mknod): Likewise.
10539         * tests/test-nanosleep.c (nanosleep): Likewise.
10540         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
10541         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
10542         Likewise.
10543         * tests/test-open.c (open): Likewise.
10544         * tests/test-openat.c (openat): Likewise.
10545         * tests/test-perror.c (perror): Likewise.
10546         * tests/test-pipe2.c (pipe2): Likewise.
10547         * tests/test-poll.c (poll): Likewise.
10548         * tests/test-popen.c (popen, pclose): Likewise.
10549         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
10550         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
10551         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
10552         (posix_spawn_file_actions_destroy)
10553         (posix_spawn_file_actions_addclose)
10554         (posix_spawn_file_actions_addopen)
10555         (posix_spawn_file_actions_adddup2): Likewise.
10556         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
10557         * tests/test-pread.c (pread): Likewise.
10558         * tests/test-printf-posix.c (printf): Likewise.
10559         * tests/test-pty.c (openpty, forkpty): Likewise.
10560         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
10561         (random_r): Likewise.
10562         * tests/test-rawmemchr.c (rawmemchr): Likewise.
10563         * tests/test-readlink.c (readlink): Likewise.
10564         * tests/test-remove.c (remove): Likewise.
10565         * tests/test-rename.c (rename): Likewise.
10566         * tests/test-renameat.c (renameat): Likewise.
10567         * tests/test-rmdir.c (rmdir): Likewise.
10568         * tests/test-round1.c (round): Likewise.
10569         * tests/test-roundf1.c (roundf): Likewise.
10570         * tests/test-roundl.c (roundl): Likewise.
10571         * tests/test-setenv.c (setenv): Likewise.
10572         * tests/test-sigaction.c (sigaction): Likewise.
10573         * tests/test-sleep.c (sleep): Likewise.
10574         * tests/test-snprintf.c (snprintf): Likewise.
10575         * tests/test-sprintf-posix.c (sprintf): Likewise.
10576         * tests/test-stat.c (stat): Likewise.
10577         * tests/test-stpncpy.c (stpncpy): Likewise.
10578         * tests/test-strcasestr.c (strcasestr): Likewise.
10579         * tests/test-strchrnul.c (strchrnul): Likewise.
10580         * tests/test-strerror.c (strerror): Likewise.
10581         * tests/test-strsignal.c (strsignal): Likewise.
10582         * tests/test-strstr.c (strstr): Likewise.
10583         * tests/test-strtod.c (strtod): Likewise.
10584         * tests/test-strverscmp.c (strverscmp): Likewise.
10585         * tests/test-symlink.c (symlink): Likewise.
10586         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
10587         * tests/test-times.c (times): Likewise.
10588         * tests/test-trunc1.c (trunc): Likewise.
10589         * tests/test-truncf1.c (truncf): Likewise.
10590         * tests/test-truncl.c (truncl): Likewise.
10591         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
10592         Likewise.
10593         * tests/test-uname.c (uname): Likewise.
10594         * tests/test-unlink.c (unlink): Likewise.
10595         * tests/test-unlinkat.c (unlinkat): Likewise.
10596         * tests/test-unsetenv.c (unsetenv): Likewise.
10597         * tests/test-usleep.c (usleep): Likewise.
10598         * tests/test-utimensat.c (utimensat): Likewise.
10599         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
10600         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
10601         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
10602         * tests/test-vprintf-posix.c (vprintf): Likewise.
10603         * tests/test-vsnprintf.c (vsnprintf): Likewise.
10604         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
10605         * tests/test-wcrtomb.c (wcrtomb): Likewise.
10606         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
10607         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
10608         * tests/test-wcwidth.c (wcwidth): Likewise.
10609
10610         build: pull in conditional headers during GNULIB_POSIXCHECK
10611         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
10612         definitions from any conditionally-included headers.
10613         * lib/stdlib.in.h (includes): Likewise.
10614         * lib/unistd.in.h (includes): Likewise.
10615
10616 2009-12-24  Bruno Haible  <bruno@clisp.org>
10617
10618         * tests/test-argv-iter.c: Include header file being tested immediately
10619         after config.h.
10620         * tests/test-base64.c: Likewise.
10621         * tests/test-flock.c: Likewise.
10622         * tests/test-fsync.c: Likewise.
10623         * tests/test-getdate.c: Likewise.
10624         * tests/test-getndelim2.c: Likewise.
10625         * tests/test-isfinite.c: Likewise.
10626         * tests/test-isinf.c: Likewise.
10627         * tests/test-strerror.c: Likewise.
10628         * tests/test-strsignal.c: Likewise.
10629
10630 2009-12-23  Eric Blake  <ebb9@byu.net>
10631
10632         unistd: work around cygwin bug
10633         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
10634         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
10635         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
10636
10637 2009-12-23  Bruno Haible  <bruno@clisp.org>
10638
10639         localename: More tests.
10640         * tests/test-localename.c (SIZEOF): New macro.
10641         (categories): New variable.
10642         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
10643         test_locale_name_default): Add test w.r.t. thread locale.
10644         (test_locale_name_thread): New function.
10645         (main): Invoke it.
10646
10647         localename: Make aware of thread locale.
10648         * lib/localename.h (gl_locale_name_thread): New declaration.
10649         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
10650         behaviour with respect to thread locale.
10651         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
10652         <langinfo.h>, glthread/lock.h.
10653         (SIZE_BITS): New macro.
10654         (string_hash): New function.
10655         (struct hash_node): New type.
10656         (HASH_TABLE_SIZE): New macro.
10657         (struniq_hash_table, struniq_lock): New variables.
10658         (struniq): New function.
10659         (gl_locale_name_thread): New function.
10660         (gl_locale_name): Invoke it.
10661         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
10662         * modules/localename (Depends-on): Add lock.
10663         Reported by Mike Gran <spk121@yahoo.com>.
10664
10665 2009-12-23  Eric Blake  <ebb9@byu.net>
10666
10667         va-args: new module
10668         * modules/va-args: New file.
10669         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
10670         * MODULES.html.sh (Core language properties): Mention it.
10671
10672         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
10673         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
10674         named alias for __attribute__((__unused__)).
10675         * lib/chown.c: Update client.
10676         * lib/fchmodat.c: Likewise.
10677         * lib/fts.c: Likewise.
10678         * lib/getdate.y: Likewise.
10679         * lib/getgroups.c: Likewise.
10680         * lib/getopt.c: Likewise.
10681         * lib/getugroups.c: Likewise.
10682         * lib/mkdir.c: Likewise.
10683         * lib/mkfifo.c: Likewise.
10684         * lib/mkfifoat.c: Likewise.
10685         * lib/mknod.c: Likewise.
10686         * lib/mknodat.c: Likewise.
10687         * lib/readlink.c: Likewise.
10688         * lib/se-context.in.h: Likewise.
10689         * lib/se-selinux.in.h: Likewise.
10690         * lib/sockets.c: Likewise.
10691         * lib/symlink.c: Likewise.
10692         * lib/symlinkat.c: Likewise.
10693         * lib/unicodeio.c: Likewise.
10694         * lib/unistr.h: Likewise.
10695         * tests/test-areadlink.c: Likewise.
10696         * tests/test-areadlinkat.c: Likewise.
10697         * tests/test-filenamecat.c: Likewise.
10698         * tests/test-fseeko.c: Likewise.
10699         * tests/test-ftello.c: Likewise.
10700         * tests/test-getdate.c: Likewise.
10701         * tests/test-getgroups.c: Likewise.
10702         * tests/test-gethostname.c: Likewise.
10703         * tests/test-quotearg.c: Likewise.
10704         * tests/test-version-etc.c: Likewise.
10705         * tests/test-xalloc-die.c: Likewise.
10706         * tests/test-xfprintf-posix.c: Likewise.
10707         * tests/test-xprintf-posix.c: Likewise.
10708         * tests/test-xvasprintf.c: Likewise.
10709
10710         tests: avoid compiler warnings
10711         * tests/test-fcntl.c (main): Delete unused parameters.
10712         * tests/test-freopen-safer.c (main): Likewise.
10713         * tests/test-xalloc-die.c (main): Mark unused parameters.
10714         * tests/test-fseeko.c (main): Likewise.
10715         * tests/test-ftello.c (main): Likewise.
10716         * tests/test-nanosleep.c (main): Avoid declaration warning.
10717         * tests/test-sleep.c (main): Likewise.
10718         * tests/test-unsetenv.c (main): Silence warning about string
10719         literal.
10720         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
10721
10722 2009-12-23  Bruno Haible  <bruno@clisp.org>
10723
10724         * tests/test-localename.c (test_locale_name): New function, extracted
10725         from main. Also test mixed situations.
10726         (test_locale_name_posix, test_locale_name_environ,
10727         test_locale_name_default): New functions.
10728         (main): Invoke them all.
10729         * modules/localename-tests (configure.ac): Test for newlocale.
10730
10731 2009-12-23  Bruno Haible  <bruno@clisp.org>
10732
10733         unistd: Ensure getcwd gets declared before being overridden.
10734         * lib/unistd.in.h: Conditionally include <io.h>.
10735
10736 2009-12-22  Bruno Haible  <bruno@clisp.org>
10737
10738         wchar: Diagnose broken combination of glibc and gcc versions and flags.
10739         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
10740         (gl_WCHAR_H): Invoke it.
10741         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
10742         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
10743         Reported by Karl Berry <karl@freefriends.org>.
10744
10745 2009-12-22  Eric Blake  <ebb9@byu.net>
10746
10747         math, unistd: avoid redundant includes
10748         * lib/math.in.h (isnan): No need to re-include <math.h>.
10749         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
10750
10751         getsubopt: work around cygwin bug
10752         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
10753         avoid conflicting with system getsubopt.
10754         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
10755         bug.
10756
10757         getopt: synchronize from glibc
10758         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
10759         parameter order.  Adjust all callers.
10760         (_getopt_internal_r, main): Adjust quoting in error messages.
10761         Drop considerations for outdated POSIX 1003.2 error message.
10762         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
10763         callers.
10764         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
10765
10766         test-getopt: test stderr behavior
10767         * modules/getopt-posix-tests (Depends-on): Add dup2.
10768         * tests/test-getopt.c (ASSERT): Avoid stderr.
10769         (main): Move stderr to a temporary file.
10770         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
10771         Instead, add parameter to inform caller if output occurred.
10772         (test_getopt): Adjust all existing tests to expect silence, and
10773         add new tests of leading ":".
10774         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
10775         glibc shortcomings with leading "-:" or "+:" in optstring.
10776         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10777         Likewise.
10778         * doc/posix-functions/getopt.texi (getopt): Likewise.
10779
10780         test-getopt: enhance test
10781         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
10782         supports optind=0.
10783         * tests/test-getopt.c (OPTIND_MIN): Move...
10784         * tests/test-getopt.h (OPTIND_MIN): ...here.
10785         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
10786         Require that optind=0 works, since modern BSD supports it in
10787         addition to optreset, and since coreutils expects it.
10788         (test_getopt_long_only): New test.
10789         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
10790         glibc shortcomings with 'W;', and enforcement of optind=0.
10791         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10792         Likewise.
10793
10794 2009-12-21  Bruno Haible  <bruno@clisp.org>
10795
10796         localename: Improvements for MacOS X and Cygwin.
10797         * lib/localename.h (gl_locale_name_environ): New declaration.
10798         * lib/localename.c (gl_locale_name_environ): New function, extracted from
10799         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
10800         (gl_locale_name_posix): Invoke it.
10801         (gl_locale_name_default): Add comments. Use Windows native API also on
10802         Cygwin.
10803
10804 2009-12-21  Bruno Haible  <bruno@clisp.org>
10805
10806         Update list of Win32 locale ids.
10807         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
10808         (LANG_SAMI): Renamed from LANG_SAAMI.
10809         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
10810         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
10811         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
10812         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
10813         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
10814         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
10815         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
10816         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
10817         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
10818         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
10819         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
10820         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
10821         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
10822         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
10823         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
10824         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
10825         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
10826         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
10827         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
10828         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
10829         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
10830         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
10831         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
10832         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
10833         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
10834         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
10835         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
10836         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
10837         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
10838         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
10839         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
10840         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
10841         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
10842         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
10843         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
10844         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
10845         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
10846         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
10847         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
10848         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
10849         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
10850         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
10851         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
10852         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
10853         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
10854         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
10855         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
10856         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
10857         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
10858         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
10859         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
10860         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
10861         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
10862         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
10863         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
10864         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
10865         Add more languages and countries for Sami, Sorbian. Add more countries
10866         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
10867         for Pashto. Change country for Syriac, Tswana.
10868
10869 2009-12-21  Eric Blake  <ebb9@byu.net>
10870
10871         test-utimens: avoid spurious failure
10872         * tests/test-chown.h (nap): Factor...
10873         * tests/nap.h: ...into new file.
10874         * tests/test-lchown.h (nap): Avoid duplication.
10875         * tests/test-utimens-common.h (nap): Use shared implementation,
10876         necessary on file systems with 1-second resolution.
10877         * modules/chown-tests (Files): Include new file.
10878         * modules/fdutimensat-tests (Files): Likewise.
10879         * modules/futimens-tests (Files): Likewise.
10880         * modules/lchown-tests (Files): Likewise.
10881         * modules/openat-tests (Files): Likewise.
10882         * modules/utimens-tests (Files): Likewise.
10883         * modules/utimensat-tests (Files): Likewise.
10884
10885 2009-12-19  Eric Blake  <ebb9@byu.net>
10886
10887         futimens, utimensat: work around Linux bug
10888         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
10889         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10890         * lib/utimensat.c (rpl_utimensat): Work around it.
10891         * lib/futimens.c (rpl_futimens): Adjust comment.
10892
10893         utimens: work around Linux ctime bug
10894         * lib/utimens.c (detect_ctime_bug): New helper function.
10895         (update_timespec): Differentiate between workaround needed for
10896         this bug vs. what is needed for systems that lack utimensat.
10897         (fdutimens, lutimens): Work around bug.
10898
10899         utimens: check for ctime update
10900         * tests/test-utimens-common.h (check_ctime): Define.
10901         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
10902         * tests/test-futimens.h (test_futimens): Likewise.
10903         * tests/test-lutimens.h (test_lutimens): Likewise.
10904         * doc/posix-functions/futimens.texi (futimens): Document the bug.
10905         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
10906
10907 2009-12-19  Bruno Haible  <bruno@clisp.org>
10908
10909         dprintf-posix: Check against memory leak fixed on 2009-12-15.
10910         * tests/test-dprintf-posix2.sh: New file.
10911         * tests/test-dprintf-posix2.c: New file.
10912         * modules/dprintf-posix-tests (Files): Add them.
10913         (configure.ac): Check for getrlimit and setrlimit.
10914         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
10915
10916 2009-12-19  Bruno Haible  <bruno@clisp.org>
10917
10918         fprintf-posix: Check against memory leak fixed on 2009-12-15.
10919         * tests/test-fprintf-posix3.sh: New file.
10920         * tests/test-fprintf-posix3.c: New file.
10921         * modules/fprintf-posix-tests (Files): Add them.
10922         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
10923
10924 2009-12-19  Eric Blake  <ebb9@byu.net>
10925
10926         dirfd: fix prototype
10927         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
10928         * lib/dirfd.c (dirfd): Likewise.
10929
10930         canonicalize: reduce memory usage
10931         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
10932         allocation to size.
10933         Reported by Solar Designer <solar@openwall.com>.
10934
10935 2009-12-19  Bruno Haible  <bruno@clisp.org>
10936
10937         New module attribute 'Applicability'.
10938         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
10939         * gnulib-tool: New option --extract-applicability.
10940         (func_usage): Document it.
10941         (sed_extract_prog): Recognize it.
10942         (func_get_applicability): New function.
10943         (func_import): Generalize handling of 'link-warning' module.
10944         * modules/link-warning (Applicability): New section.
10945         * modules/arg-nonnull (Applicability): New section.
10946         Repoted by Simon Josefsson <simon@josefsson.org>.
10947
10948 2009-12-19  Bruno Haible  <bruno@clisp.org>
10949
10950         fflush: tweak
10951         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
10952         * lib/fseeko.c (rpl_fseeko): Likewise.
10953
10954 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
10955
10956         * lib/gl_list.h: Fix typo in comment.
10957
10958 2009-12-16  Eric Blake  <ebb9@byu.net>
10959
10960         fcntl: use to simplify other modules
10961         * modules/cloexec (Depends-on): Add fcntl.
10962         * modules/fchdir (Depends-on): Likewise.
10963         * modules/fd-safer-flag (Depends-on): Likewise.
10964         * modules/unistd-safer (Depends-on): Likewise.
10965         * modules/dup3 (configure.ac): Set module indicator.
10966         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
10967         missing.
10968         * lib/fchdir.c (_gl_register_dup): Fix comment.
10969         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
10970         * lib/dup-safer.c (dup_safer): Likewise.
10971         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
10972         * lib/dup3.c (dup3): Likewise.
10973         * tests/test-fchdir.c (main): Enhance test.
10974         Fixes a dup_cloexec bug reported by Ondřej Vašík.
10975
10976         fcntl: port portions of fcntl to mingw
10977         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
10978         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
10979         replacement for mingw.
10980         * modules/fcntl (Description): Update.
10981         (Depends-on): Add dup2.
10982         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
10983         * modules/fcntl-h (Makefile.am): Substitute it.
10984         * lib/fcntl.in.h (fcntl): Update declaration.
10985         (F_DUPFD, F_GETFD): New macros, when needed.
10986         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
10987         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
10988         * tests/test-fcntl.c (check_flags, main): Enhance test for items
10989         we now guarantee.
10990
10991         fcntl: work around cygwin bug in F_DUPFD
10992         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
10993         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
10994         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
10995         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
10996         * doc/posix-functions/fcntl.texi (fcntl): Document it.
10997
10998         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
10999         * modules/fcntl (Files): List new files.
11000         (configure.ac): Run a test.
11001         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
11002         * lib/fcntl.c (rpl_fcntl): Likewise.
11003         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
11004         (gl_FCNTL_H): Always replace fcntl.h.
11005         * modules/fcntl-h (Makefile.am): Substitute witnesses.
11006         * lib/fcntl.in.h (fcntl): Declare replacement.
11007         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
11008         needed, plus a witness.
11009         * doc/posix-functions/fcntl.texi (fcntl): Document this.
11010         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
11011         * tests/test-fcntl.c: New file.
11012         * modules/fcntl-tests: Likewise.
11013
11014         binary-io: avoid potential compilation warning
11015         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
11016         directives.
11017
11018         fflush: avoid compilation error on NetBSD
11019         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
11020         between off_t and fpos_t, since the latter is sometimes a struct.
11021         * lib/fseeko.c (rpl_fseeko): Likewise.
11022         Reported by Alexander Nasonov <alnsn@yandex.ru>.
11023
11024 2009-12-15  Eric Blake  <ebb9@byu.net>
11025
11026         fcntl-h, stdio, sys_ioctl: fix declarations
11027         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
11028         function must not take arguments.
11029         * lib/sys_ioctl.in.h (ioctl): Likewise.
11030         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
11031         (open): Add a link warning.
11032
11033 2009-12-15  Jim Meyering  <meyering@redhat.com>
11034
11035         areadlink, areadlink-with-size: relax license to LGPLv2+
11036         * modules/areadlink (License): Relax to LGPLv2+.
11037         * modules/areadlink-with-size (License): Likewise.
11038
11039 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
11040             Bruno Haible  <bruno@clisp.org>
11041
11042         *printf: Fix memory leak.
11043         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
11044         * lib/vfprintf.c (vfprintf): Likewise.
11045         * lib/dprintf.c (dprintf): Likewise.
11046         * lib/vdprintf.c (vdprintf): Likewise.
11047
11048 2009-12-14  Eric Blake  <ebb9@byu.net>
11049
11050         accept4: adjust module dependencies
11051         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
11052
11053         utimens: one more try at avoiding compiler warning
11054         * lib/utimens.c (lutimens): Lower scope of result.
11055
11056 2009-12-13  Bruno Haible  <bruno@clisp.org>
11057
11058         Move the malloc checking from module 'list' to new module 'xlist'.
11059         * modules/xlist: New file.
11060         * lib/gl_xlist.h: New file.
11061         * lib/gl_xlist.c: New file.
11062         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
11063         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
11064         gl_list_add_last, gl_list_add_before, gl_list_add_after,
11065         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
11066         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
11067         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
11068         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
11069         gl_sortedlist_nx_add): New declarations.
11070         (struct gl_list_implementation): Rename and change methods accordingly.
11071         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
11072         (gl_list_nx_create): Renamed from gl_list_create.
11073         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
11074         (gl_list_nx_set_at): Renamed from gl_list_set_at.
11075         (gl_list_nx_add_first): Renamed from gl_list_add_first.
11076         (gl_list_nx_add_last): Renamed from gl_list_add_last.
11077         (gl_list_nx_add_before): Renamed from gl_list_add_before.
11078         (gl_list_nx_add_after): Renamed from gl_list_add_after.
11079         (gl_list_nx_add_at): Renamed from gl_list_add_at.
11080         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
11081         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
11082         gl_list_create_empty.
11083         (gl_list_nx_create): Renamed from gl_list_create.
11084         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
11085         (gl_list_nx_set_at): Renamed from gl_list_set_at.
11086         (gl_list_nx_add_first): Renamed from gl_list_add_first.
11087         (gl_list_nx_add_last): Renamed from gl_list_add_last.
11088         (gl_list_nx_add_before): Renamed from gl_list_add_before.
11089         (gl_list_nx_add_after): Renamed from gl_list_add_after.
11090         (gl_list_nx_add_at): Renamed from gl_list_add_at.
11091         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
11092         * lib/gl_array_list.c: Don't include xalloc.h.
11093         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
11094         NULL upon out-of-memory.
11095         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
11096         out-of-memory.
11097         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
11098         Change return type to 'int'.
11099         (gl_array_nx_set_at): Renamed from gl_array_set_at.
11100         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
11101         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
11102         upon out-of-memory.
11103         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
11104         upon out-of-memory.
11105         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
11106         upon out-of-memory.
11107         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
11108         upon out-of-memory.
11109         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
11110         out-of-memory.
11111         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
11112         Update.
11113         (gl_array_list_implementation): Update.
11114         * lib/gl_carray_list.c: Don't include xalloc.h.
11115         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
11116         Return NULL upon out-of-memory.
11117         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
11118         out-of-memory.
11119         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
11120         Change return type to 'int'.
11121         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
11122         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
11123         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
11124         upon out-of-memory.
11125         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
11126         upon out-of-memory.
11127         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
11128         out-of-memory.
11129         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
11130         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
11131         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
11132         Update.
11133         (gl_carray_list_implementation): Update.
11134         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
11135         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
11136         gl_linked_create_empty. Return NULL upon out-of-memory.
11137         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
11138         out-of-memory.
11139         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
11140         Change return type to 'int'. Return -1 upon out-of-memory.
11141         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
11142         out-of-memory.
11143         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
11144         upon out-of-memory.
11145         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
11146         upon out-of-memory.
11147         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
11148         NULL upon out-of-memory.
11149         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
11150         upon out-of-memory.
11151         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
11152         out-of-memory.
11153         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
11154         Update.
11155         * lib/gl_linked_list.c: Don't include xalloc.h.
11156         (gl_linked_list_implementation): Update.
11157         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
11158         (add_to_bucket): Change return type to 'int'.
11159         (gl_linkedhash_list_implementation): Update.
11160         * lib/gl_anytree_list1.h (free_subtree): New function.
11161         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
11162         gl_tree_create_empty. Return NULL upon out-of-memory.
11163         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
11164         Change return type to 'int'. Return -1 upon out-of-memory.
11165         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
11166         out-of-memory.
11167         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
11168         (gl_tree_remove_node): New function, moved here from
11169         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
11170         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
11171         Update.
11172         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
11173         malloc, not xmalloc. Return NULL upon out-of-memory.
11174         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
11175         out-of-memory.
11176         (gl_tree_remove_node_from_tree): New function, extracted from
11177         gl_tree_remove_node.
11178         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
11179         upon out-of-memory.
11180         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
11181         out-of-memory.
11182         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
11183         upon out-of-memory.
11184         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
11185         upon out-of-memory.
11186         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
11187         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
11188         not xmalloc. Return NULL upon out-of-memory.
11189         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
11190         out-of-memory.
11191         (gl_tree_remove_node_from_tree): New function, extracted from
11192         gl_tree_remove_node.
11193         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
11194         upon out-of-memory.
11195         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
11196         out-of-memory.
11197         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
11198         upon out-of-memory.
11199         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
11200         upon out-of-memory.
11201         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
11202         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
11203         gl_anytree_list1.h before gl_anyavltree_list2.h.
11204         (gl_avltree_list_implementation): Update.
11205         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
11206         gl_anytree_list1.h before gl_anyavltree_list2.h.
11207         (gl_rbtree_list_implementation): Update.
11208         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
11209         Change return type to 'int'. Return -1 upon out-of-memory. Use
11210         __builtin_expect.
11211         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
11212         (gl_avltreehash_list_implementation): Update.
11213         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
11214         (gl_rbtreehash_list_implementation): Update.
11215         * modules/array-list (Depends-on): Remove xalloc.
11216         * modules/carray-list (Depends-on): Likewise.
11217         * modules/linked-list (Depends-on): Likewise.
11218         * modules/linkedhash-list (Depends-on): Likewise.
11219         * modules/avltree-list (Depends-on): Likewise.
11220         * modules/rbtree-list (Depends-on): Likewise.
11221         * modules/avltreehash-list (Depends-on): Likewise.
11222         * modules/rbtreehash-list (Depends-on): Likewise.
11223
11224         * modules/xsublist: New file.
11225         * lib/gl_xsublist.h: New file.
11226         * lib/gl_xsublist.c: New file.
11227         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
11228         (gl_sublist_nx_create): New declaration.
11229         * lib/gl_sublist.c: Don't include xalloc.h.
11230         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
11231         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
11232         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
11233         Change return type to 'int'. Return -1 upon out-of-memory.
11234         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
11235         upon out-of-memory.
11236         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
11237         NULL upon out-of-memory.
11238         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
11239         upon out-of-memory.
11240         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
11241         NULL upon out-of-memory.
11242         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
11243         NULL upon out-of-memory.
11244         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
11245         upon out-of-memory.
11246         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
11247         (gl_sublist_list_implementation): Update.
11248         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
11249         upon out-of-memory.
11250         * modules/sublist (Depends-on): Remove xalloc.
11251
11252         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
11253         * tests/test-carray_list.c: Likewise.
11254         * tests/test-linked_list.c: Likewise.
11255         * tests/test-linkedhash_list.c: Likewise.
11256         * tests/test-avltree_list.c: Likewise.
11257         * tests/test-rbtree_list.c: Likewise.
11258         * tests/test-avltreehash_list.c: Likewise.
11259         * tests/test-rbtreehash_list.c: Likewise.
11260         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
11261         * modules/carray-list-tests (Makefile.am): Likewise.
11262         * modules/linked-list-tests (Makefile.am): Likewise.
11263         * modules/linkedhash-list-tests (Makefile.am): Likewise.
11264         * modules/avltree-list-tests (Makefile.am): Likewise.
11265         * modules/rbtree-list-tests (Makefile.am): Likewise.
11266         * modules/avltreehash-list-tests (Makefile.am): Likewise.
11267         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
11268
11269         * NEWS: Mention the changes.
11270
11271         * lib/clean-temp.c: Include gl_xlist.h.
11272         * modules/clean-temp (Depends-on): Add xlist.
11273
11274         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
11275         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
11276
11277         * tests/test-array_oset.c: Include gl_xlist.h.
11278         * modules/array-oset-tests (Depends-on): Add xlist.
11279
11280         Reported by José E. Marchesi <jemarch@gnu.org>.
11281
11282 2009-12-13  Bruno Haible  <bruno@clisp.org>
11283
11284         Move the malloc checking from module 'oset' to new module 'xoset'.
11285         * modules/xoset: New file.
11286         * lib/gl_xoset.h: New file.
11287         * lib/gl_xoset.c: New file.
11288         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
11289         declarations.
11290         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
11291         (struct gl_oset_implementation): Rename and change methods accordingly.
11292         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
11293         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
11294         'int'. Mark as __warn_unused_result__.
11295         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
11296         gl_oset_create_empty.
11297         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
11298         'int'.
11299         * lib/gl_array_oset.c: Don't include xalloc.h.
11300         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
11301         malloc, not xmalloc.
11302         (grow): Change return type to 'int'. Don't call xalloc_die.
11303         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
11304         to 'int'.
11305         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
11306         'int'.
11307         (gl_array_oset_implementation): Update.
11308         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
11309         gl_tree_create_empty.
11310         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
11311         'int'.
11312         * lib/gl_avltree_oset.c: Don't include xalloc.h.
11313         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
11314         xmalloc.
11315         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
11316         not xmalloc.
11317         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
11318         xmalloc.
11319         (gl_avltree_oset_implementation): Update.
11320         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
11321         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
11322         xmalloc.
11323         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
11324         not xmalloc.
11325         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
11326         xmalloc.
11327         (gl_rbtree_oset_implementation): Update.
11328         * modules/array-oset (Depends-on): Remove xalloc.
11329         * modules/avltree-oset (Depends-on): Likewise.
11330         * modules/rbtree-oset (Depends-on): Likewise.
11331         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
11332         * tests/test-avltree_oset.c: Likewise.
11333         * tests/test-rbtree_oset.c: Likewise.
11334         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
11335         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
11336         * modules/rbtree-oset-tests (Makefile.am): Likewise.
11337         * NEWS: Mention the change.
11338
11339 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
11340
11341         maint.mk: allow a project to override release-prep commands
11342         * top/maint.mk (alpha, beta, stable): Move release-preparatory
11343         commands into a new rule.
11344         (release-prep): New rule.
11345         (release-prep-hook): New overridable variable.
11346
11347 2009-12-13  Bruno Haible  <bruno@clisp.org>
11348
11349         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
11350
11351 2009-12-13  Jim Meyering  <meyering@redhat.com>
11352
11353         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
11354         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
11355
11356 2009-12-12  Bruno Haible  <bruno@clisp.org>
11357
11358         duplocale: Tweak.
11359         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
11360
11361 2009-12-12  Karl Berry  <karl@gnu.org>
11362
11363         * config/srclist.txt (strtoll.c): tab changes, no more sync.
11364
11365 2009-12-12  Bruno Haible  <bruno@clisp.org>
11366
11367         * m4/po.m4: Undo incorrect untabification.
11368
11369 2009-12-12  Bruno Haible  <bruno@clisp.org>
11370
11371         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
11372         * modules/c-strtod (Depends-on): Add locale.
11373         * modules/c-strtold (Depends-on): Likewise.
11374
11375 2009-12-12  Bruno Haible  <bruno@clisp.org>
11376
11377         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
11378
11379 2009-12-11  Eric Blake  <ebb9@byu.net>
11380
11381         setenv: relax requirement in light of POSIX ruling
11382         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
11383         not NULL.
11384         * tests/test-setenv.c (main): Relax test.
11385         * tests/test-unsetenv.c (main): Likewise.
11386         * doc/posix-functions/setenv.texi (setenv): Document this.
11387         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
11388
11389 2009-12-11  Bruno Haible  <bruno@clisp.org>
11390
11391         New module 'fd-safer-flag'.
11392         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
11393         * lib/dup-safer.c (dup_safer_flag): Remove function.
11394         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
11395         * lib/fd-safer.c (fd_safer_flag): Remove function.
11396         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
11397         * modules/cloexec (configure.ac): Drop indicator macro.
11398         * modules/fd-safer-flag: New file.
11399         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
11400         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
11401         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
11402
11403 2009-12-11  Bruno Haible  <bruno@clisp.org>
11404
11405         Tests for module 'nl_langinfo'.
11406         * modules/nl_langinfo-tests: New file.
11407         * tests/test-nl_langinfo.sh: New file.
11408         * tests/test-nl_langinfo.c: New file.
11409
11410         New module 'nl_langinfo'.
11411         * lib/nl_langinfo.c: New file.
11412         * m4/nl_langinfo.m4: New file.
11413         * modules/nl_langinfo: New file.
11414         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
11415
11416 2009-12-11  Bruno Haible  <bruno@clisp.org>
11417
11418         Tests for module 'langinfo'.
11419         * modules/langinfo-tests: New file.
11420         * tests/test-langinfo.c: New file.
11421
11422         New module 'langinfo'.
11423         * lib/langinfo.in.h: New file.
11424         * m4/langinfo_h.m4: New file.
11425         * modules/langinfo: New file.
11426         * doc/posix-headers/langinfo.texi: Mention the new module.
11427
11428 2009-12-11  Bruno Haible  <bruno@clisp.org>
11429
11430         * lib/config.charset: Untabify.
11431
11432 2009-12-11  Bruno Haible  <bruno@clisp.org>
11433
11434         * modules/unistd-safer (configure.ac): Drop indicator macro.
11435
11436 2009-12-11  Bruno Haible  <bruno@clisp.org>
11437
11438         Move pipe2-safer code to its own file.
11439         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
11440         * lib/pipe-safer.c (pipe2_safer): Remove function.
11441         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
11442         (Makefile.am): Add it to lib_SOURCES.
11443
11444 2009-12-10  Bruno Haible  <bruno@clisp.org>
11445
11446         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
11447
11448 2009-12-10  Bruno Haible  <bruno@clisp.org>
11449
11450         Declare which arguments expect non-NULL values, for GCC and clang.
11451         * build-aux/arg-nonnull.h: New file.
11452         * modules/arg-nonnull: New file.
11453         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
11454         (inet_ntop, inet_pton): Use it.
11455         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
11456         (closedir, dirfd, opendir, scandir, alphasort): Use it.
11457         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
11458         (open, openat): Use it.
11459         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
11460         (fnmatch): Use it.
11461         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
11462         (getopt, getopt_long, getopt_long_only): Use it.
11463         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
11464         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
11465         Use it.
11466         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
11467         (iconv_open): Use it.
11468         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
11469         (strtoimax, strtoumax): Use it.
11470         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
11471         (duplocale): Use it.
11472         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
11473         (frexp, frexpl): Use it.
11474         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
11475         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
11476         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
11477         (tsearch, tfind, tdelete, twalk): Use it.
11478         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
11479         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
11480         sigpending): Use it.
11481         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
11482         (posix_spawn, posix_spawnp, posix_spawnattr_init,
11483         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
11484         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
11485         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
11486         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
11487         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
11488         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
11489         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
11490         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
11491         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
11492         Use it.
11493         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
11494         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
11495         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
11496         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
11497         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
11498         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
11499         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
11500         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
11501         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
11502         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
11503         strtoull, unsetenv): Use it.
11504         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
11505         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
11506         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
11507         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
11508         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
11509         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
11510         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
11511         (strcasecmp, strncasecmp): Use it.
11512         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
11513         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
11514         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
11515         rpl_setsockopt): Use it.
11516         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
11517         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
11518         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
11519         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
11520         (gettimeofday): Use it.
11521         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
11522         (times): Use it.
11523         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
11524         (uname): Use it.
11525         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
11526         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
11527         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
11528         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
11529         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
11530         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
11531         unlinkat, write): Use it.
11532         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
11533         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
11534         * lib/argv-iter.h: Include arg-nonnull.h.
11535         (_ATTRIBUTE_NONNULL_): Remove macro.
11536         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
11537         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
11538         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
11539         optimization.
11540         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
11541         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
11542         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
11543         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
11544         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
11545         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
11546         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
11547         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
11548         * modules/arpa_inet (Depends-on): Add arg-nonnull.
11549         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
11550         * modules/dirent (Depends-on): Add arg-nonnull.
11551         (Makefile.am): Insert arg-nonnull.h into dirent.h.
11552         * modules/fcntl-h (Depends-on): Add arg-nonnull.
11553         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
11554         * modules/fnmatch (Depends-on): Add arg-nonnull.
11555         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
11556         * modules/getopt-posix (Depends-on): Add arg-nonnull.
11557         (Makefile.am): Insert arg-nonnull.h into getopt.h.
11558         * modules/glob (Depends-on): Add arg-nonnull.
11559         (Makefile.am): Insert arg-nonnull.h into glob.h.
11560         * modules/iconv_open (Depends-on): Add arg-nonnull.
11561         (Makefile.am): Insert arg-nonnull.h into iconv.h.
11562         * modules/inttypes (Depends-on): Add arg-nonnull.
11563         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
11564         * modules/locale (Depends-on): Add arg-nonnull.
11565         (Makefile.am): Insert arg-nonnull.h into locale.h.
11566         * modules/math (Depends-on): Add arg-nonnull.
11567         (Makefile.am): Insert arg-nonnull.h into math.h.
11568         * modules/netdb (Depends-on): Add arg-nonnull.
11569         (Makefile.am): Insert arg-nonnull.h into netdb.h.
11570         * modules/search (Depends-on): Add arg-nonnull.
11571         (Makefile.am): Insert arg-nonnull.h into search.h.
11572         * modules/signal (Depends-on): Add arg-nonnull.
11573         (Makefile.am): Insert arg-nonnull.h into signal.h.
11574         * modules/spawn (Depends-on): Add arg-nonnull.
11575         (Makefile.am): Insert arg-nonnull.h into spawn.h.
11576         * modules/stdio (Depends-on): Add arg-nonnull.
11577         (Makefile.am): Insert arg-nonnull.h into stdio.h.
11578         * modules/stdlib (Depends-on): Add arg-nonnull.
11579         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
11580         * modules/string (Depends-on): Add arg-nonnull.
11581         (Makefile.am): Insert arg-nonnull.h into string.h.
11582         * modules/strings (Depends-on): Add arg-nonnull.
11583         (Makefile.am): Insert arg-nonnull.h into strings.h.
11584         * modules/sys_socket (Depends-on): Add arg-nonnull.
11585         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
11586         * modules/sys_stat (Depends-on): Add arg-nonnull.
11587         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
11588         * modules/sys_time (Depends-on): Add arg-nonnull.
11589         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
11590         * modules/sys_times (Depends-on): Add arg-nonnull.
11591         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
11592         * modules/sys_utsname (Depends-on): Add arg-nonnull.
11593         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
11594         * modules/time (Depends-on): Add arg-nonnull.
11595         (Makefile.am): Insert arg-nonnull.h into time.h.
11596         * modules/unistd (Depends-on): Add arg-nonnull.
11597         (Makefile.am): Insert arg-nonnull.h into unistd.h.
11598         * modules/wchar (Depends-on): Add arg-nonnull.
11599         (Makefile.am): Insert arg-nonnull.h into wchar.h.
11600         * modules/argv-iter (Depends-on): Add arg-nonnull.
11601         * tests/test-canonicalize.c (null_ptr): New function.
11602         (main): Use it.
11603         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
11604         (main): Use it.
11605         * tests/test-memmem.c (null_ptr): New function.
11606         (main): Use it.
11607         Reported by Jim Meyering.
11608
11609 2009-12-10  Bruno Haible  <bruno@clisp.org>
11610
11611         Use spaces for indentation, not tabs.
11612         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
11613         * m4/*.m4: Untabify.
11614         * build-aux/*.h: Untabify.
11615         * tests/**/*.[hc]: Untabify.
11616         * README: New section "Indent with spaces, not TABs", based on
11617         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
11618         * NEWS: Mention the change.
11619
11620 2009-12-10  Bruno Haible  <bruno@clisp.org>
11621
11622         pty test: Fix link error.
11623         * modules/pty-tests (Makefile.am): Add the default LDADD value to
11624         test_pty_LDADD.
11625
11626 2009-12-07  Simon Josefsson  <simon@josefsson.org>
11627
11628         * modules/pty: New file.
11629         * modules/pty-tests: New file.
11630         * m4/pty.m4: New file.
11631         * tests/test-pty.c: New file.
11632         * doc/glibc-headers/pty.texi: Modified.
11633         * doc/glibc-functions/forkpty.texi: Modified.
11634         * doc/glibc-functions/openpty.texi: Modified.
11635
11636 2009-12-10  Bruno Haible  <bruno@clisp.org>
11637
11638         Avoid syntax error in C++ mode.
11639         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
11640
11641 2009-12-10  Bruno Haible  <bruno@clisp.org>
11642
11643         Use sed with option -e.
11644         * gnulib-tool (func_version, func_emit_copyright_notice,
11645         func_emit_initmacro_end, func_import, func_create_testdir): Pass
11646         option -e to sed.
11647         * modules/link-warning (Makefile.am): Likewise.
11648
11649 2009-12-10  Jim Meyering  <meyering@redhat.com>
11650
11651         mgetgroups: do not write bytes beyond end of malloc'd buffer
11652         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
11653         username, we call getgroups with a one-element-shorter buffer,
11654         but still told it the length was original, max_n_groups.
11655
11656 2009-12-09  Eric Blake  <ebb9@byu.net>
11657
11658         cloexec: relax license
11659         * modules/cloexec (Maintainer): Add myself.
11660         (License): Use LGPL, not GPL.
11661
11662         link-warning: optimize generation
11663         * modules/link-warning (Makefile.am): Reduce process usage.
11664
11665 2009-12-09  Bruno Haible  <bruno@clisp.org>
11666
11667         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
11668         workaround was added on 2009-11-17.
11669
11670 2009-12-09  Jim Meyering  <meyering@redhat.com>
11671             Bruno Haible  <bruno@clisp.org>
11672
11673         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
11674         * modules/link-warning (Makefile.am): Make the comment-removing sed
11675         command more robust in the face of bootstrap-prepended comment lines.
11676
11677 2009-12-09  Bruno Haible  <bruno@clisp.org>
11678
11679         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
11680         most one group.
11681
11682 2009-12-09  Simon Josefsson <simon@josefsson.org>
11683             Bruno Haible  <bruno@clisp.org>
11684
11685         * build-aux/link-warning.h: Add copyright notice.
11686         * modules/link-warning (Makefile.am): Generate link-warning.h from
11687         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
11688         * NEWS: Mention change in link-warning module.
11689         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
11690         * modules/dirent (Makefile.am): Add dependency to dirent.h.
11691         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
11692         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
11693         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
11694         * modules/math (Makefile.am): Add dependency to math.h.
11695         * modules/search (Makefile.am): Add dependency to search.h.
11696         * modules/signal (Makefile.am): Add dependency to signal.h.
11697         * modules/spawn (Makefile.am): Add dependency to spawn.h.
11698         * modules/stdio (Makefile.am): Add dependency to stdio.h.
11699         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
11700         * modules/string (Makefile.am): Add dependency to string.h.
11701         * modules/strings (Makefile.am): Add dependency to strings.h.
11702         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
11703         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
11704         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
11705         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
11706         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
11707         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
11708         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
11709         * modules/unistd (Makefile.am): Add dependency to unistd.h.
11710         * modules/wchar (Makefile.am): Add dependency to wchar.h.
11711
11712 2009-12-09  Bruno Haible  <bruno@clisp.org>
11713
11714         fchdir: Optimize away rpl_fstat when possible.
11715         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
11716         REPLACE_OPEN_DIRECTORY.
11717         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
11718
11719 2009-12-09  Bruno Haible  <bruno@clisp.org>
11720
11721         * lib/fchdir.c: Update comment.
11722
11723 2009-12-09  Bruno Haible  <bruno@clisp.org>
11724
11725         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
11726
11727 2009-12-08  Eric Blake  <ebb9@byu.net>
11728
11729         fchdir: avoid memory leak on re-registration.
11730         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
11731
11732 2009-12-08  Jim Meyering  <meyering@redhat.com>
11733
11734         init.sh: avoid Solaris 10 /bin/sh portability problem
11735         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
11736         sourced script:
11737           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
11738           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
11739           bar
11740         tests/init.sh relied on that, accepting a --set-path=DIR argument,
11741         and two tests used that idiom.
11742         * tests/init.sh: Update suggested usage comments.
11743         (path_prepend_): New function, to be used in place
11744         of the --src-path=DIR option.
11745         (setup_): Move PATH-prepending code into path_prepend_.
11746         * tests/test-pread.sh: Adapt to new usage.
11747         * tests/test-xalloc-die.sh: Likewise.
11748
11749 2009-12-08  Simon Josefsson  <simon@josefsson.org>
11750
11751         * doc/gnulib.texi (Glibc pty.h): Add.
11752         * doc/glibc-functions/forkpty.texi: Add.
11753         * doc/glibc-functions/openpty.texi: Add.
11754         Suggested by Bruno Haible.
11755
11756 2009-12-08  Eric Blake  <ebb9@byu.net>
11757
11758         fchdir: fix logic bugs
11759         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
11760         * tests/test-fchdir.c (main): Enhance test.
11761         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
11762         is in use.
11763
11764         dup2: fix logic bugs
11765         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
11766         REPLACE_DUP2 to decide when rpl_dup2 is needed.
11767         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
11768         exists.
11769         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
11770
11771 2009-12-07  Eric Blake  <ebb9@byu.net>
11772
11773         unlink: fix m4 detection
11774         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
11775
11776         unistd-safer: add unit test
11777         * modules/unistd-safer-tests: New file.
11778         * tests/test-dup-safer.c: Likewise.
11779         * tests/test-cloexec.c (setmode): Avoid compiler warning.
11780         * tests/test-dup2.c (setmode): Likewise.
11781         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
11782
11783         cloexec: preserve text vs. binary across dup_cloexec
11784         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
11785         mode.
11786         * modules/dup2-tests (Depends-on): Add binary-io.
11787         * modules/cloexec-tests (Depends-on): Likewise.
11788         * tests/test-dup2.c (setmode, is_mode): New helpers.
11789         (main): Add tests that translation mode is preserved.
11790         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
11791         Reported by Bruno Haible.
11792
11793         mgetgroups: reduce duplicate listings
11794         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
11795         resulting array.
11796         * tests/test-chown.h (test_chown): Simplify client.
11797         * tests/test-lchown.h (test_lchown): Likewise.
11798
11799 2009-12-06  Bruno Haible  <bruno@clisp.org>
11800
11801         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
11802         value.
11803
11804 2009-12-06  Bruno Haible  <bruno@clisp.org>
11805
11806         * lib/progname.c: Include stdio.h, stdlib.h.
11807         (set_program_name): Reject a NULL argument.
11808
11809 2009-12-05  Eric Blake  <ebb9@byu.net>
11810
11811         pipe2-safer: new module
11812         * modules/pipe2-safer: New file.
11813         * lib/unistd-safer.h (pipe2_safer): New prototype.
11814         * lib/unistd--.h (pipe2): New wrapper.
11815         * lib/pipe-safer.c (pipe2_safer): New function.
11816         * modules/pipe (Depends-on): Add pipe2-safer.
11817         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
11818
11819         stdlib-safer: preserve cloexec flag for mkostemp[s]
11820         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
11821         fd_safer_flag.
11822
11823         unistd-safer: allow preservation of cloexec status via flag
11824         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
11825         prototypes.
11826         * lib/dup-safer.c (dup_safer_flag): New function.
11827         * lib/fd-safer.c (fd_safer_flag): Likewise.
11828         * modules/cloexec (configure.ac): Set witness.
11829
11830         test-dup2: enhance test
11831         * modules/dup2-tests (Depends-on): Add cloexec.
11832         * tests/test-dup2.c (main): Enhance test.
11833
11834         cloexec: add dup_cloexec
11835         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
11836         header and comments.
11837         * lib/cloexec.c (set_cloexec_flag): Add comments.
11838         (dup_cloexec): New function, with mingw implementation borrowed
11839         from...
11840         * lib/w32spawn.h (dup_noinherit): ...here.
11841         * modules/execute (Depends-on): Add cloexec.
11842         * modules/pipe (Depends-on): Likewise.
11843         * modules/cloexec (Depends-on): Add dup2.
11844         * modules/cloexec-tests (Files): New file.
11845         * tests/test-cloexec.c: Likewise.
11846
11847         test-xalloc-die: fix test for mingw
11848         * modules/xalloc-die-tests (Files): Add tests/init.sh.
11849         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
11850         directory and .exe suffix off argv[0] output.
11851
11852         test-fseeko: fix test for mingw
11853         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
11854         than undefining fseek, so test will pass on mingw.
11855
11856 2009-12-05  Bruno Haible  <bruno@clisp.org>
11857
11858         * lib/progname.h (set_program_name): Clarify specification.
11859         * lib/progname.c (set_program_name): Likewise.
11860         Reported by Jim Meyering.
11861
11862 2009-12-05  Jim Meyering  <meyering@redhat.com>
11863
11864         maint.mk: backslash-escape parens in default regexp
11865         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
11866         backslash-escape the literal parentheses.
11867
11868         maint.mk: news-date-check: use grep -E
11869         * top/maint.mk (today): Define a Make variable, not a...
11870         (news-date-check): ...shell variable.
11871         (news-date-regexp): Use the Make variable.
11872         Use grep's -E option.  Change the failing diagnostic to mention
11873         the variable, $(news-date-regexp).
11874
11875 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
11876
11877         maintainer-makefile: allow customization of NEWS entry format
11878         * top/maint.mk (news-date-regexp): New overridable variable.
11879         (news-date-check): Use it.
11880
11881 2009-12-04  Eric Blake  <ebb9@byu.net>
11882
11883         mgetgroups: add xgetgroups, and avoid ENOSYS failures
11884         * lib/mgetgroups.h (xgetgroups): New prototype.
11885         * lib/mgetgroups.c (xgetgroups): New wrapper.
11886         (mgetgroups): Handle ENOSYS.
11887         * modules/mgetgroups (Depends-on): Add realloc.
11888         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
11889
11890         mgetgroups: avoid argument promotion issues with -1
11891         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
11892         for invalid gid_t.
11893         * tests/test-chown.h (getegid, test_chown): Likewise.
11894         * tests/test-lchown.h (getegid, test_lchown): Likewise.
11895
11896 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
11897
11898         exclude: Fix header file problems.
11899         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
11900
11901 2009-12-01  Jim Meyering  <meyering@redhat.com>
11902
11903         fts: fts_open: do not let an empty string cause immediate failure
11904         This is required in support of GNU rm, for which the command
11905         "rm A '' B" must process and remove both A and B, in spite of
11906         the empty string argument.
11907         * lib/fts.c (fts_open): Do not let the presence of an empty string
11908         cause fts_open to fail immediately.  Most fts-using tools must be
11909         able to process all arguments, in order, and can be expected to
11910         diagnose such arguments themselves.
11911
11912 2009-11-30  Eric Blake  <ebb9@byu.net>
11913
11914         utimens: fix compilation error
11915         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
11916         Declare variable at right scope.
11917
11918 2009-11-29  Jim Meyering  <meyering@redhat.com>
11919
11920         bootstrap: handle perl-5.11's changed --version output
11921         * build-aux/bootstrap (get_version): Handle perl separately,
11922         since perl-5.11's --version output is different.
11923
11924 2009-11-28  Jim Meyering  <meyering@redhat.com>
11925
11926         userspec: depend on the inttostr module, too
11927         * modules/userspec (Depends-on): Add inttostr.
11928
11929         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
11930         * lib/userspec.c (parse_with_separator): Do not accept a user ID
11931         number of MAXUID when it evaluates to (uid_t) -1.
11932         Likewise for group ID.  Reported by Matt McCutchen in
11933         <http://savannah.gnu.org/bugs/?28113>
11934
11935         userspec: reformat to use spaces, not TABs
11936         * lib/userspec.c: Expand TABs to spaces.
11937         Add Emacs' "indent-tabs-mode: nil" hint.
11938
11939 2009-11-27  Eric Blake  <ebb9@byu.net>
11940
11941         getopt-gnu: flush out another BSD bug
11942         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
11943         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
11944         flush out BSD bug.
11945         * tests/test-getopt.h (test_getopt): End lists with NULL.
11946         * tests/test-getopt_long.h (test_getopt_long): Likewise.
11947         (test_getopt_long_posix): Enhance test.
11948         * modules/getopt-posix-tests (Depends-on): Add stdbool.
11949         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
11950         getopt-gnu.
11951         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
11952         Likewise.
11953
11954 2009-11-27  Simon Josefsson  <simon@josefsson.org>
11955
11956         * modules/idpriv-droptemp-tests (Notice): Fix text.
11957
11958 2009-11-27  Jim Meyering  <meyering@redhat.com>
11959
11960         test-xalloc-die: avoid spurious failure due to libtool argv difference
11961         In a libtool-enabled project, this test would fail due to a difference
11962         in the emitted program name, e.g.,
11963         -test-xalloc-die: memory exhausted
11964         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
11965         Use program to avoid that.
11966         * modules/xalloc-die-tests (Depends-on): Add progname.
11967         * tests/test-xalloc-die.c: Include progname.h".
11968         (program_name): Remove decl.
11969         (main): Call set_program_name.
11970         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
11971
11972 2009-11-26  Richard Jones  <rjones@redhat.com>
11973
11974         w32sock: leave win32 error in place.
11975         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
11976
11977 2009-11-26  Eric Blake  <ebb9@byu.net>
11978
11979         init.sh: suggest to use skip_ and fail_ functions in comments
11980         * tests/init.sh: Add a sentence.
11981
11982 2009-11-25  Bruno Haible  <bruno@clisp.org>
11983
11984         init.sh: add documentation in comments
11985         * tests/init.sh: Add some developer and user documentation.
11986
11987 2009-11-26  Jim Meyering  <meyering@redhat.com>
11988
11989         init.sh: accommodate even those who specify bogus srcdir manually
11990         * tests/init.sh: Normally, srcdir is guaranteed by automake and
11991         configure-time tests to be sanitized, so that there is no need to
11992         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
11993         (with no double quotes) suffices.  However, since tests may be
11994         invoked manually, and since you may explicitly set srcdir to the
11995         name of a directory containing spaces, do quote its uses here.
11996         * tests/test-pread.sh: Likewise.
11997         Suggested by Bruno Haible.
11998
11999         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
12000         * tests/test-pread.sh: Write no data into the pipe, because
12001         test-pread actually reads none.  This avoids a diagnostic,
12002         "bash: echo: write error: Broken pipe", that arises in the unusual
12003         event something is ignoring SIGPIPE, and might be interpreted
12004         as some sort of failure.  Reported by Bruno Haible.
12005
12006 2009-11-25  Jim Meyering  <meyering@redhat.com>
12007
12008         test-pread: cover failure with ESPIPE and EINVAL
12009         * tests/test-pread.c (main): Test for failure, too.
12010         * tests/test-pread.sh: Invoke with stdin on a pipe.
12011         Suggested by Eric Blake.
12012
12013         pread: improvement and fix
12014         * modules/pread (Depends-on): Depend on lseek, for portability to
12015         e.g., mingw.  Suggested by Eric Blake.
12016         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
12017
12018         unistd.in.h: correct declaration of pread
12019         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
12020         Reported by Richard W.M. Jones.
12021
12022         test-pread.sh: distribute the test script
12023         * modules/pread-tests (Files): Include test-pread.sh.
12024
12025         test-pread.sh: clean up
12026         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
12027         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
12028         That is unnecessary, since it's always ".".
12029         Suggestion from Eric Blake.
12030
12031         test-pread.sh: make executable
12032         * tests/test-pread.sh: Set executable bit.
12033         Reported by Eric Blake.
12034
12035         correct typo in test-pread.sh
12036         * tests/test-pread.sh: Add #! line.
12037
12038         test pread
12039         * tests/test-pread.c: New file.
12040         * tests/test-pread.sh: Likewise.
12041         * modules/pread-tests: Likewise.
12042
12043         pread: new module
12044         * modules/pread: New file.
12045         * lib/unistd.in.h (pread): Define/declare.
12046         * lib/pread.c (pread): New file.
12047         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
12048         * modules/unistd (Makefile.am): Substitute witnesses.
12049         * doc/posix-functions/pread.texi (pread): Update.
12050         * MODULES.html.sh: Add pread.
12051
12052 2009-11-25  Jim Meyering  <meyering@redhat.com>
12053
12054         tests/init.sh: new file to be used via most *.sh tests
12055         * tests/init.sh: New file.
12056
12057 2009-11-25  Eric Blake  <ebb9@byu.net>
12058
12059         utimens: work around older Linux failure with symlinks
12060         * lib/utimens.c (lutimensat_works_really): New variable.
12061         (fdutimens, lutimens): Use it to manage kernels that support
12062         nanosecond times on files, but not on symlinks.
12063         Reported by Ondřej Vašík.
12064
12065         utimes: fix configure grammar
12066         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
12067
12068 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
12069
12070         regex: Fix fastmap for multibyte character ranges.
12071         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
12072         characters when a multibyte character range is included.
12073
12074 2009-11-22  Andy Wingo  <wingo@pobox.com>
12075
12076         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
12077         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
12078
12079 2009-11-24  Bruno Haible  <bruno@clisp.org>
12080
12081         doc: Most *_l functions exist in MacOS X 10.5.
12082         * doc/posix-functions/duplocale.texi: Update platforms list.
12083         * doc/posix-functions/freelocale.texi: Likewise.
12084         * doc/posix-functions/newlocale.texi: Likewise.
12085         * doc/posix-functions/uselocale.texi: Likewise.
12086         * doc/posix-functions/isalnum_l.texi: Likewise.
12087         * doc/posix-functions/isalpha_l.texi: Likewise.
12088         * doc/posix-functions/isblank_l.texi: Likewise.
12089         * doc/posix-functions/iscntrl_l.texi: Likewise.
12090         * doc/posix-functions/isdigit_l.texi: Likewise.
12091         * doc/posix-functions/isgraph_l.texi: Likewise.
12092         * doc/posix-functions/islower_l.texi: Likewise.
12093         * doc/posix-functions/isprint_l.texi: Likewise.
12094         * doc/posix-functions/ispunct_l.texi: Likewise.
12095         * doc/posix-functions/isspace_l.texi: Likewise.
12096         * doc/posix-functions/isupper_l.texi: Likewise.
12097         * doc/posix-functions/iswalnum_l.texi: Likewise.
12098         * doc/posix-functions/iswalpha_l.texi: Likewise.
12099         * doc/posix-functions/iswblank_l.texi: Likewise.
12100         * doc/posix-functions/iswcntrl_l.texi: Likewise.
12101         * doc/posix-functions/iswctype_l.texi: Likewise.
12102         * doc/posix-functions/iswdigit_l.texi: Likewise.
12103         * doc/posix-functions/iswgraph_l.texi: Likewise.
12104         * doc/posix-functions/iswlower_l.texi: Likewise.
12105         * doc/posix-functions/iswprint_l.texi: Likewise.
12106         * doc/posix-functions/iswpunct_l.texi: Likewise.
12107         * doc/posix-functions/iswspace_l.texi: Likewise.
12108         * doc/posix-functions/iswupper_l.texi: Likewise.
12109         * doc/posix-functions/iswxdigit_l.texi: Likewise.
12110         * doc/posix-functions/isxdigit_l.texi: Likewise.
12111         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
12112         * doc/posix-functions/strcasecmp_l.texi: Likewise.
12113         * doc/posix-functions/strcoll_l.texi: Likewise.
12114         * doc/posix-functions/strfmon_l.texi: Likewise.
12115         * doc/posix-functions/strftime_l.texi: Likewise.
12116         * doc/posix-functions/strncasecmp_l.texi: Likewise.
12117         * doc/posix-functions/strxfrm_l.texi: Likewise.
12118         * doc/posix-functions/tolower_l.texi: Likewise.
12119         * doc/posix-functions/toupper_l.texi: Likewise.
12120         * doc/posix-functions/towctrans_l.texi: Likewise.
12121         * doc/posix-functions/towlower_l.texi: Likewise.
12122         * doc/posix-functions/towupper_l.texi: Likewise.
12123         * doc/posix-functions/wcscoll_l.texi: Likewise.
12124         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
12125         * doc/posix-functions/wctrans_l.texi: Likewise.
12126         * doc/posix-functions/wctype_l.texi: Likewise.
12127         * doc/glibc-functions/strptime_l.texi: Likewise.
12128         * doc/glibc-functions/strtod_l.texi: Likewise.
12129         * doc/glibc-functions/strtof_l.texi: Likewise.
12130         * doc/glibc-functions/strtol_l.texi: Likewise.
12131         * doc/glibc-functions/strtold_l.texi: Likewise.
12132         * doc/glibc-functions/strtoll_l.texi: Likewise.
12133         * doc/glibc-functions/strtoul_l.texi: Likewise.
12134         * doc/glibc-functions/strtoull_l.texi: Likewise.
12135         * doc/glibc-functions/wcsftime_l.texi: Likewise.
12136         * doc/glibc-functions/wcstod_l.texi: Likewise.
12137         * doc/glibc-functions/wcstof_l.texi: Likewise.
12138         * doc/glibc-functions/wcstol_l.texi: Likewise.
12139         * doc/glibc-functions/wcstold_l.texi: Likewise.
12140         * doc/glibc-functions/wcstoll_l.texi: Likewise.
12141         * doc/glibc-functions/wcstoul_l.texi: Likewise.
12142         * doc/glibc-functions/wcstoull_l.texi: Likewise.
12143
12144 2009-11-24  Bruno Haible  <bruno@clisp.org>
12145
12146         duplocale: Fix logic bug.
12147         * lib/duplocale.c: Don't include <langinfo.h>.
12148         (_NL_LOCALE_NAME): Remove macro.
12149         (rpl_duplocale): Use setlocale instead of nl_langinfo.
12150         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
12151
12152 2009-11-23  Jim Meyering  <meyering@redhat.com>
12153
12154         test-update-copyright: don't hard-code /usr/bin/perl
12155         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
12156         perl to print the current year.  Gilles Espinasse reported that
12157         the replaced use of perl was hard-coded as /usr/bin/perl.
12158
12159 2009-11-23  Bruno Haible  <bruno@clisp.org>
12160
12161         duplocale: Add support for glibc 2.3.x.
12162         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
12163
12164 2009-11-22  Bruno Haible  <bruno@clisp.org>
12165
12166         vasnprintf: Tiny optimization.
12167         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
12168         MacOS X.
12169
12170 2009-11-22  Bruno Haible  <bruno@clisp.org>
12171
12172         Tests for module 'duplocale'.
12173         * modules/duplocale-tests: New file.
12174         * tests/test-duplocale.c: New file.
12175
12176         New module 'duplocale'.
12177         * m4/duplocale.m4: New file.
12178         * lib/locale.in.h (duplocale): New declaration.
12179         * lib/duplocale.c: New file.
12180         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
12181         gl_LOCALE_H_DEFAULTS): New macros.
12182         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
12183         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
12184         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
12185         REPLACE_DUPLOCALE.
12186         * modules/duplocale: New file.
12187         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
12188
12189 2009-11-22  Bruno Haible  <bruno@clisp.org>
12190
12191         * modules/locale-tests (configure.ac): Test for newlocale function.
12192         * tests/test-locale.c: When the system has extended locale functions,
12193         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
12194
12195         locale: Make locale_t available when possible.
12196         * lib/locale.in.h: Include <xlocale.h> when it exists.
12197         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
12198         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
12199         * modules/locale (Depends-on): Add extensions.
12200         (Makefile.am): Also substitute HAVE_XLOCALE_H.
12201         * doc/posix-headers/locale.texi: Document the problem with locale_t.
12202
12203 2009-11-22  Bruno Haible  <bruno@clisp.org>
12204
12205         Add comments.
12206         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
12207         invocation.
12208         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
12209         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
12210         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
12211
12212 2009-11-22  Bruno Haible  <bruno@clisp.org>
12213
12214         error: account for the possibility of freopen (stdout).
12215         * lib/error.c: Include <unistd.h>.
12216         (flush_stdout): New function, extracted from error and error_at_line.
12217         Determine stdout's fd dynamically.
12218         (error, error_at_line): Invoke flush_stdout.
12219         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
12220         * modules/error (Depends-on): Add unistd.
12221
12222 2009-11-22  Bruno Haible  <bruno@clisp.org>
12223
12224         diffseq: Add comment.
12225         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
12226
12227 2009-11-22  Jim Meyering  <meyering@redhat.com>
12228
12229         c-stack: avoid defining an unused static function
12230         * lib/c-stack.c (find_stack_direction): Do not define this function
12231         when it will not be used.
12232
12233         diffseq: avoid spurious gcc warnings
12234         * lib/diffseq.h (IF_LINT2): Define.
12235         (compareseq): Use it to initialize two members of "part".
12236         This avoids two used-uninitialized warnings.
12237
12238 2009-11-21  Jim Meyering  <meyering@redhat.com>
12239
12240         c-stack: avoid "ignoring return value of `write'" warning
12241         * lib/c-stack.c: Include "ignore-value.h".
12242         (die): Explicitly ignore each write return value.
12243         * modules/c-stack (Depends-on): Add ignore-value.
12244
12245 2009-11-21  Bruno Haible  <bruno@clisp.org>
12246
12247         diffseq: reduce scope of variable 'best'.
12248         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
12249         variable, earlier used for two different purposes.
12250
12251 2009-11-21  Jim Meyering  <meyering@redhat.com>
12252
12253         diffseq: remove useless assignment to "best"
12254         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
12255         assignment.  At that point "best" is already guaranteed to be zero.
12256
12257 2009-11-20  Eric Blake  <ebb9@byu.net>
12258
12259         build: mention ftp redirector in release announcements
12260         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
12261         values that used to come from cfg.mk; mention FTP redirect URL.
12262         * build-aux/announce-gen: Mention the mirror list.
12263         Suggested by Karl Berry.
12264
12265         nanosleep: improve port to mingw
12266         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
12267         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
12268         LIB_NANOSLEEP, but only when needed.
12269         * modules/select (Link): Document LIBSOCKET.
12270         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
12271         enough.
12272
12273         nanosleep: work around cygwin bug
12274         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
12275         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
12276         bug.
12277         (getnow): Delete, not needed.
12278         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
12279         LIB_CLOCK_GETTIME.
12280         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
12281         clock-time, gettime.
12282         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
12283         bug.
12284         * modules/nanosleep-tests: New test.
12285         * tests/test-nanosleep.c: New file.
12286
12287         sleep: work around cygwin bug
12288         * lib/sleep.c (rpl_sleep): Work around the bug.
12289         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
12290         (gl_PREREQ_SLEEP): Delete unused macro.
12291         * modules/sleep (Depends-on): Add verify.
12292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
12293         * modules/unistd (Makefile.am): Substitute witness.
12294         * lib/unistd.in.h (sleep): Update prototype.
12295         * doc/posix-functions/sleep.texi (sleep): Document the bug.
12296         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
12297         * modules/sleep-tests (Depends-on): Check for alarm.
12298
12299 2009-11-20  Jim Meyering  <meyering@redhat.com>
12300
12301         maint.mk: improve sc_prohibit_magic_number_exit
12302         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
12303         so it does not match uses like System.exit(1).
12304         Add comments showing how to correct all offenders.
12305
12306 2009-11-19  Eric Blake  <ebb9@byu.net>
12307
12308         xalloc-die-tests: add missing library
12309         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
12310
12311         test-xvasprintf: silence compiler warnings
12312         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
12313         empty string from gcc.
12314
12315 2009-11-19  Jim Meyering  <meyering@redhat.com>
12316
12317         xfreopen: new module, from coreutils
12318         * modules/xfreopen: New module.
12319         * lib/xfreopen.c: New file.
12320         * lib/xfreopen.h: New file.
12321         * MODULES.html.sh (File stream based Input/Output"): Add it.
12322
12323 2009-11-19  Eric Blake  <ebb9@byu.net>
12324
12325         manywarnings: depend on warnings
12326         * modules/manywarnings (Depends-on): Add warnings.
12327
12328         build: avoid compiler warnings
12329         * lib/select.c (rpl_select): Delete unused variable.
12330         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
12331
12332 2009-11-18  Eric Blake  <ebb9@byu.net>
12333
12334         tests: avoid false negative with --with-packager
12335         * tests/test-version-etc.sh: Discard packager information.
12336         * tests/test-argp-version-etc-1.sh: Likewise.
12337         Reported by Mike Frysinger.
12338
12339         utimens: fix regression on Solaris
12340         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
12341         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
12342         can only change fd timestamps via futimesat.  Instead, use an
12343         additional witness macro to avoid BSD bug.
12344         Reported by Jim Meyering.
12345
12346 2009-11-17  Eric Blake  <ebb9@byu.net>
12347
12348         usleep: use it to simplify tests
12349         * modules/stat-time-tests (Depends-on): Add usleep.
12350         (configure.ac): Drop usleep check.
12351         * modules/chown-tests (Depends-on, configure.ac): Likewise.
12352         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
12353         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
12354         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
12355         * modules/openat-tests (Depends-on, configure.ac): Likewise.
12356         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
12357         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
12358         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
12359         Likewise.
12360         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
12361         * tests/test-lchown.h (nap): Likewise.
12362         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
12363         * tests/test-stat-time.c (nap): Likewise.
12364         * tests/test-utimens-common.h (nap): Update comments.
12365
12366         usleep: new module
12367         * modules/usleep: New file.
12368         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
12369         * lib/usleep.c (usleep): Likewise.
12370         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
12371         * modules/unistd (Makefile.am): Substitute witnesses.
12372         * lib/unistd.in.h (usleep): Add declaration.
12373         * doc/pastposix-functions/usleep.texi (usleep): Document this.
12374         * MODULES.html.sh (Date and time): Likewise.
12375         * modules/usleep-tests (Depends-on): New test.
12376         * tests/test-usleep.c: New file.
12377
12378         chown: work around OpenBSD bug
12379         * lib/chown.c (rpl_chown): Work around the bug.
12380         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
12381         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
12382         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
12383         * modules/chown (Depends-on): Add stdbool.
12384         * modules/lchown (Depends-on): Likewise.
12385         * doc/posix-functions/chown.texi (chown): Document the bug.
12386         * doc/posix-functions/lchown.texi (lchown): Likewise.
12387         * tests/test-lchown.h (test_chown): Relax test.
12388
12389         mkstemp: avoid conflict with C++ keyword template
12390         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
12391         * lib/mkostemp.c (mkostemp): Likewise.
12392         * lib/mkostemps.c (mkostemps): Likewise.
12393         * lib/mkstemp.c (mkstemp): Likewise.
12394         * lib/mkstemps.c (mkstemps): Likewise.
12395
12396         xalloc-die-tests: optimize
12397         * tests/test-xalloc-die.sh: Reduce number of processes.
12398
12399 2009-11-17  Simon Josefsson  <simon@josefsson.org>
12400
12401         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
12402         patch from ludo@gnu.org (Ludovic Courtès).
12403
12404 2009-11-17  Jim Meyering  <meyering@redhat.com>
12405
12406         version-etc: use proper license string
12407         * modules/version-etc (License): Use LGPL, not LGPLv3+.
12408         * modules/version-etc-fsf: Likewise.
12409
12410 2009-11-17  Simon Josefsson  <simon@josefsson.org>
12411
12412         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
12413         printed to stdout.  Deal with EOL differences.
12414
12415 2009-11-17  Eric Blake  <ebb9@byu.net>
12416
12417         unsetenv: work around Solaris bug
12418         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
12419         * lib/unsetenv.c (rpl_unsetenv): Work around it.
12420         Reported by Jim Meyering.
12421
12422         vasnprintf: avoid compiler warnings
12423         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
12424         variables.
12425         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
12426
12427 2009-11-17  Simon Josefsson  <simon@josefsson.org>
12428
12429         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
12430         settings since xalloc-die is no longer the self test,
12431         xalloc-die.sh is.
12432
12433 2009-11-17  Jim Meyering  <meyering@redhat.com>
12434
12435         test-xalloc-die.sh: make the code agree with the commit log
12436         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
12437         at the end, just in case you happen to have a test-xalloc-die
12438         program in some other PATH directory.
12439
12440         test-xalloc-die.sh: fix a portability bug
12441         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
12442         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
12443         Otherwise, argv[0] (as often seen in diagnostics) would be too
12444         system-dependent, sometimes with, and sometimes without the leading "./".
12445
12446         version-etc-fsf: relax license to LGPLv3+
12447         * modules/version-etc-fsf (License): Relax license.
12448
12449 2009-11-16  Eric Blake  <ebb9@byu.net>
12450
12451         xalloc-die-tests: avoid printing null pointer
12452         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
12453         shell script.
12454         * tests/test-xalloc-die.c (program_name): Declare.
12455         * tests/test-xalloc-die.sh (tmpfiles): New file.
12456
12457         setenv, unsetenv: work around various bugs
12458         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
12459         (setenv) [HAVE_SETENV]: Work around bugs.
12460         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
12461         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
12462         for bugs.
12463         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
12464         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
12465         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
12466         * modules/stdlib (Makefile.am): Update substitutions.
12467         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
12468         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
12469         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
12470         * modules/setenv-tests: New test.
12471         * modules/unsetenv-tests: Likewise.
12472         * tests/test-setenv.c: New file.
12473         * tests/test-unsetenv.c: Likewise.
12474
12475 2009-11-16  Jim Meyering  <meyering@redhat.com>
12476
12477         version-etc: relax license to LGPLv3+
12478         * modules/version-etc (License): Relax license.
12479
12480         better AC_REQUIRE expanded-before-required-warning avoidance
12481         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
12482         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
12483         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
12484         which is no longer needed.
12485
12486 2009-11-16  Eric Blake  <ebb9@byu.net>
12487
12488         test-freading: clean up temporary file
12489         * tests/test-freading.c (main): Remove file on success, and use
12490         ASSERT more liberally.
12491         Reported by Jim Meyering.
12492
12493 2009-11-16  Jim Meyering  <meyering@redhat.com>
12494
12495         avoid new AC_REQUIRE expanded-before-required warnings
12496         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
12497         merely using it.
12498         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
12499         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
12500
12501 2009-11-15  Simon Josefsson  <simon@josefsson.org>
12502
12503         * tests/test-xalloc-die.c: New file.
12504         * modules/xalloc-die-tests: New file.
12505         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
12506         XFAIL_TESTS so it can be appended by modules.
12507
12508 2009-11-15  Simon Josefsson  <simon@josefsson.org>
12509
12510         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
12511         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
12512
12513 2009-11-14  Eric Blake  <ebb9@byu.net>
12514
12515         fnmatch: avoid compiler warning
12516         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
12517         to silence compiler warning about mismatch signedness in ?:.
12518         Reported by Robert Millan.
12519
12520         intprops: add double-inclusion guard
12521         * lib/intprops.h: Allow idempotent includes.
12522         Suggested by Bruce Korb.
12523
12524         openat: detect Solaris fchownat bug
12525         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
12526         penalizing glibc chownat when only lchownat is broken.
12527         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
12528         trailing slash bugs.
12529         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
12530         * modules/openat-tests (Files): Include more files.
12531         (Depends-on): Add mgetgroups, sleep, stat-time.
12532         (configure.ac): Add additional checks.
12533         (Makefile.am): Build new test.
12534         * tests/test-fchownat.c: New file.
12535
12536         lchown: detect Solaris and FreeBSD bug
12537         * lib/lchown.c (rpl_lchown): Work around bug.
12538         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
12539         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
12540         * modules/unistd (Makefile.am): Populate it.
12541         * lib/unistd.in.h (lchown): Update declaration.
12542         * doc/posix-functions/lchown.texi (lchown): Document the bug.
12543         * modules/lchown-tests: New file.
12544         * tests/test-lchown.h (test_lchown): Likewise.
12545         * tests/test-lchown.c (main): Likewise.
12546
12547         chown: detect Solaris and FreeBSD bug
12548         * lib/chown.c (rpl_chown): Work around bug.
12549         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
12550         (gl_PREREQ_CHOWN): Delete.
12551         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
12552         * modules/unistd (Makefile.am): Populate it.
12553         * lib/unistd.in.h (chown): Update declaration.
12554         * lib/lchown.c (chown): Update client.
12555         * modules/lchown (Depends-on): Add lstat.
12556         * doc/posix-functions/chown.texi (chown): Document the bug.
12557         * doc/posix-functions/getgroups.texi (getgroups): Document
12558         getgroups pitfall.
12559         * modules/chown-tests: New file.
12560         * tests/test-chown.h (test_chown): Likewise.
12561         * tests/test-chown.c (main): Likewise.
12562
12563 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
12564
12565         gnulib-tool: correctly detect absence of m4 directories
12566         * gnulib-tool: Avoid extra newline on data passed to wc -l.
12567
12568 2009-11-14  Jim Meyering  <meyering@redhat.com>
12569
12570         maint.mk: Prohibit inclusion of "xalloc.h" without use.
12571         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
12572
12573 2009-11-14  John W. Eaton  <jwe@gnu.org>
12574
12575         strftime.h: wrap funtion declaration in extern "C" block
12576         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
12577
12578 2009-11-13  Eric Blake  <ebb9@byu.net>
12579
12580         getgroups: avoid compiler warning
12581         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
12582
12583         getgroups: work around FreeBSD bug
12584         * lib/getgroups.c (rpl_getgroups): Work around the bug.
12585         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
12586         * doc/posix-functions/getgroups.texi (getgroups): Document it.
12587         * tests/test-getgroups.c (main): Fix buffer overrun.
12588
12589         getgroups: avoid compilation failure
12590         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
12591         * modules/getgroups (Depends-on): Add stdint.
12592
12593 2009-11-13  Jim Meyering  <meyering@redhat.com>
12594
12595         test-getgroups: avoid compilation failure
12596         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
12597
12598 2009-11-13  Eric Blake  <ebb9@byu.net>
12599
12600         mgetgroups: new module, taken from coreutils
12601         * modules/mgetgroups: New file.
12602         * lib/mgetgroups.h: Likewise.
12603         * lib/mgetgroups.c (mgetgroups): Likewise.
12604         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
12605         * MODULES.html.sh (Users and groups): Mention it.
12606
12607         getgroups: don't expose GETGROUPS_T to user
12608         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
12609         an element at a time if GETGROUPS_T is wrong size.
12610         * lib/getugroups.h (getugroups): Change signature.
12611         * lib/unistd.in.h (getgroups): Likewise.
12612         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
12613         signature needs fixing.
12614         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
12615         AC_TYPE_GETGROUPS.
12616         * modules/group-member (Depends-on): Add getgroups.
12617         * lib/group-member.c (group_info, get_group_info): Use gid_t.
12618         (group_member): Rely on getgroups replacement.
12619         * lib/getugroups.c (getugroups): Use gid_t.
12620         * tests/test-getgroups.c (main): Likewise.
12621         * NEWS: Mention the signature change.
12622         * doc/posix-functions/getgroups.texi (getgroups): Mention the
12623         problem with signature.
12624         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
12625         GETGROUPS_T is still useful for setgroups.
12626
12627         getgroups, getugroups: provide stubs for mingw
12628         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
12629         * lib/getugroups.c (getugroups): Likewise.
12630         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
12631         function.  Modernize replacement scheme.
12632         (gl_PREREQ_GETGROUPS): Delete.
12633         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
12634         * modules/getgroups (configure.ac): Declare witness.
12635         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
12636         * modules/unistd (Depends-on): Substitute witness.
12637         * lib/unistd.in.h (getgroups): Declare replacement.
12638
12639         getgroups: avoid calling exit
12640         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
12641         drop xalloc.
12642         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
12643         dependencies.
12644         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
12645         exiting, in the rare case of malloc failure.
12646
12647         getgroups: fix logic error
12648         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
12649         has more than 20 groups.
12650         * modules/getgroups-tests: New test.
12651         * tests/test-getgroups.c: New file.
12652
12653 2009-11-13  Simon Josefsson  <simon@josefsson.org>
12654
12655         * tests/test-base64.c: Improve.
12656
12657 2009-11-13  Simon Josefsson  <simon@josefsson.org>
12658
12659         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
12660         Blake <ebb9@byu.net>.
12661
12662 2009-11-13  Simon Josefsson  <simon@josefsson.org>
12663
12664         * tests/test-xvasprintf.c: Add %s%s related checks.
12665
12666 2009-11-12  Eric Blake  <ebb9@byu.net>
12667
12668         version-etc: match standards.texi style
12669         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
12670         and use <> only for URLs.
12671
12672 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
12673
12674         fts: do not fail on a submount during traversal
12675         * lib/fts.c (fts_build): Read the stat info again after opening
12676         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
12677         Original report at http://bugzilla.redhat.com/501848.
12678
12679 2009-11-12  Jim Meyering  <meyering@redhat.com>
12680
12681         bootstrap: sync from coreutils
12682         * build-aux/bootstrap (bootstrap_epilogue): New function.
12683         Use git_modules_config in one more place.  This make bootstrap's
12684         --gnulib-srcdir option more useful for testing.
12685
12686         bootstrap: generalize autoheader check
12687         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
12688         AC_CONFIG_HEADERS.
12689
12690 2009-11-11  Eric Blake  <ebb9@byu.net>
12691
12692         mkfifoat: use new modules for Solaris and BSD bugs
12693         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
12694         * lib/mkfifoat.c (mknodat): Split...
12695         * lib/mknodat.c (mknodat): ...into new file.
12696         * modules/mkfifoat (Files): Ship new file.
12697         (Depends-on): Add mkfifo, mknod.
12698         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
12699         (Depends-on): Add symlink.
12700         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
12701         redundant with test_mkfifo.h.
12702         (do_mkfifoat, do_mknodat): New helpers.
12703
12704         mknod: new module
12705         * modules/mknod: New file.
12706         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
12707         * lib/mknod.c (mknod): Likewise.
12708         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
12709         defaults.
12710         * modules/sys_stat (Makefile.am): Substitute them.
12711         * lib/sys_stat.in.h (mknod): Declare replacement.
12712         * MODULES.html.sh (Support for systems lacking POSIX:2008):
12713         Document it.
12714         * doc/posix-functions/mknod.texi (mknod): Likewise.
12715         * modules/mknod-tests: New test.
12716         * tests/test-mknod.c: Likewise.
12717
12718         mkfifo: new module
12719         * modules/mkfifo: New file.
12720         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
12721         * lib/mkfifo.c (mkfifo): Likewise.
12722         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
12723         defaults.
12724         * modules/sys_stat (Makefile.am): Substitute them.
12725         * lib/sys_stat.in.h (mkfifo): Declare replacement.
12726         * MODULES.html.sh (Support for systems lacking POSIX:2008):
12727         Document it.
12728         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
12729         * modules/mkfifo-tests: New test.
12730         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
12731         from test-mkfifoat.c.
12732         * tests/test-mkfifo.c: New file.
12733
12734         readlink: detect FreeBSD bug
12735         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
12736         slash on symlink.
12737         * doc/posix-functions/readlink.texi (readlink): Document the bug.
12738         * tests/test-readlink.h (test_readlink): Enhance test.
12739
12740         symlink: detect FreeBSD bug
12741         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
12742         slash on symlink.
12743         * doc/posix-functions/symlink.texi (symlink): Document the bug.
12744         * tests/test-symlink.h (test_symlink): Enhance test.
12745
12746 2009-11-10  Eric Blake  <ebb9@byu.net>
12747
12748         link: detect FreeBSD bug
12749         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
12750         symlink.
12751         * doc/posix-functions/link.texi (link): Document the bug.
12752         * tests/test-link.h (test_link): Enhance test.
12753         * tests/test-linkat.c (main): Update caller.
12754
12755         unlink, remove: detect FreeBSD bug
12756         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
12757         slash on symlink.
12758         * doc/posix-functions/unlink.texi (unlink): Document the bug.
12759         * doc/posix-functions/remove.texi (remove): Likewise.
12760         * tests/test-unlink.h (test_unlink): Enhance test.
12761         * tests/test-remove.c (main): Likewise.
12762
12763 2009-11-09  Eric Blake  <ebb9@byu.net>
12764
12765         rename: detect FreeBSD bug
12766         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
12767         slash on symlink.
12768         * modules/renameat-tests (Depends-on): Add filenamecat.
12769         * tests/test-rename.h (test_rename): Allow one more errno.
12770         * tests/test-renameat.c (main): Likewise.
12771         * doc/posix-functions/rename.texi (rename): Document the bug.
12772
12773         open: detect FreeBSD bug
12774         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
12775         symlink.
12776         * doc/posix-functions/open.texi (open): Document the bug.
12777         * doc/posix-functions/utimes.texi (utimes): Likewise.
12778         * tests/test-open.h (test_open): Add parameters, and test symlink
12779         handling.
12780         * tests/test-open.c (main): Adjust caller.
12781         * tests/test-fcntl-safer.c (main): Likewise.
12782         * modules/open-tests (Depends-on): Add stdbool, symlink.
12783         * modules/fcntl-safer-tests (Depends-on): Likewise.
12784         * tests/test-openat.c (main): Add test-open tests.
12785
12786         stat: detect FreeBSD bug
12787         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
12788         symlink.
12789         * doc/posix-functions/stat.texi (stat): Document the bug.
12790         * tests/test-stat.h (test_stat_func): Add argument.
12791         * tests/test-stat.c (main): Adjust caller.
12792         * tests/test-fstatat.c (main): Likewise.
12793         * modules/stat-tests (Depends-on): Add stdbool, symlink.
12794         Reported by Jim Meyering.
12795
12796 2009-11-09  James Youngman  <jay@gnu.org>
12797
12798         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
12799         * lib/strftime.c: Correct placement of #include "ignore-value.h".
12800
12801 2009-11-08  Jim Meyering  <meyering@redhat.com>
12802
12803         utimens: remove invalid futimesat call
12804         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
12805         It used the file descriptor of the target file as the DIR_FD
12806         parameter and NULL as the file name.  That caused failure with
12807         errno == EFAULT on FreeBSD-8.0-rc2
12808
12809 2009-11-07  Eric Blake  <ebb9@byu.net>
12810
12811         fflush, freadseek: use fseeko, not fseek
12812         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
12813         (clear_ungetc_buffer): Avoid potential problems on large files.
12814         * lib/freadseek.c (freadseek): Likewise.
12815         * modules/freadseek (Depends-on): Add fseeko.
12816         * modules/fseek (configure.ac): Set a witness.
12817         * tests/test-fflush.c (main): Use fseeko.
12818         * tests/test-fpurge.c (fseek): Disable link warning.
12819         * tests/test-freadable.c (fseek): Likewise.
12820         * tests/test-freading.c (fseek): Likewise.
12821         * tests/test-fseeko.c (fseek): Likewise.
12822         * tests/test-ftell.c (fseek): Likewise.
12823         * tests/test-ftello.c (fseek): Likewise.
12824         * tests/test-fwritable.c (fseek): Likewise.
12825         * tests/test-fwriting.c (fseek): Likewise.
12826
12827 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12828
12829         * modules/memchr (Depends-on): Drop getpagesize dependency.
12830
12831 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12832
12833         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
12834         Reported by Ludovic Courtès.
12835         * build-aux/pmccabe2html: Improve example usage.
12836         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
12837
12838 2009-11-06  Jim Meyering  <meyering@redhat.com>
12839
12840         do-release-commit-and-tag: New module.
12841         Automate the release-commit and tag process.
12842         * build-aux/do-release-commit-and-tag: New script, from coreutils.
12843         * modules/do-release-commit-and-tag: New file.
12844         * MODULES.html.sh (Support for maintaining and releasing): Add it.
12845
12846 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12847
12848         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
12849         because test-select.c uses inet_pton.
12850
12851 2009-11-06  Simon Josefsson  <simon@josefsson.org>
12852
12853         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
12854         GETADDRINFO_LIB.  Bump serial number.
12855         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
12856         Suggested by Eric Blake <ebb9@byu.net>.
12857
12858 2009-11-05  Eric Blake  <ebb9@byu.net>
12859
12860         strtod: detect darwin bug
12861         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
12862         Reported by Leo Davis.
12863
12864         freopen-safer: new module
12865         * modules/freopen-safer: New module.
12866         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
12867         * lib/freopen-safer.c (freopen_safer): New file.
12868         * lib/stdio-safer.h (freopen_safer): New declaration.
12869         * lib/stdio--.h (freopen): New override.
12870         * MODULES.html.sh (File stream based Input/Output): Mention it.
12871         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
12872         freopen-safer module.
12873         * doc/posix-functions/stderr.texi (stderr): Likewise.
12874         * doc/posix-functions/stdin.texi (stdin): Likewise.
12875         * doc/posix-functions/stdout.texi (stdout): Likewise.
12876         * modules/freopen-safer-tests: New test.
12877         * tests/test-reopen-safer.c: New file.
12878
12879 2009-11-05  Jim Meyering  <meyering@redhat.com>
12880
12881         maint.mk: Prohibit inclusion of "close-stream.h" without use.
12882         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
12883
12884 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12885
12886         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
12887
12888 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12889
12890         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
12891
12892 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12893
12894         Fix link error.
12895         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
12896         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12897
12898 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12899
12900         * tests/test-func.c: Also test value of __func__.
12901
12902 2009-11-05  Simon Josefsson  <simon@josefsson.org>
12903
12904         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
12905         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
12906
12907 2009-11-05  Bruno Haible  <bruno@clisp.org>
12908
12909         Fix link error.
12910         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
12911         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
12912         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
12913
12914 2009-11-05  Bruno Haible  <bruno@clisp.org>
12915
12916         Tests for module 'inet_pton'.
12917         * modules/inet_pton-tests: New file.
12918         * tests/test-inet_pton.c: New file.
12919
12920 2009-11-05  Bruno Haible  <bruno@clisp.org>
12921
12922         Tests for module 'inet_ntop'.
12923         * modules/inet_ntop-tests: New file.
12924         * tests/test-inet_ntop.c: New file.
12925
12926 2009-11-04  Eric Blake  <ebb9@byu.net>
12927
12928         stdlib-safer: wrap all mkstemp variants
12929         * modules/mkostemp (configure.ac): Set witness.
12930         * modules/mkostemps (configure.ac): Likewise.
12931         * modules/mkstemps (configure.ac): Likewise.
12932         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
12933         (mkstemps_safer): Wrap more functions.
12934         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
12935         wrapping.
12936         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
12937         (mkstemps_safer): Implement the wrappers.
12938
12939         mkstemps, mkostemps: new modules
12940         * modules/mkostemps: New module.
12941         * modules/mkstemps: Likewise.
12942         * lib/mkostemps.c (mkostemps): New file.
12943         * lib/mkstemps.c (mkstemps): Likewise.
12944         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
12945         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
12946         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
12947         * modules/stdlib (Makefile.am): Substitute them.
12948         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
12949         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
12950         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
12951         * doc/gnulib.texi (Glibc stdlib.h): Include them.
12952         * MODULES.html.sh (File system functions): Mention them.
12953
12954         tempname: resync from glibc
12955         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
12956         same values for __GT_FILE as glibc.  Abort even when assertions
12957         are disabled.
12958         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
12959         match its value otherwise.  Allow idempotent inclusion.
12960         * lib/mkdtemp.c (mkdtemp): Adjust caller.
12961         * lib/mkostemp.c (mkostemp): Likewise.
12962         * lib/mkstemp.c (mkstemp): Likewise.
12963         * lib/tmpfile.c (tmpfile): Likewise.
12964         * NEWS: Document this.
12965
12966         utimens: fix use of futimens on older Linux
12967         * lib/utimens.c (fdutimens): Use updated, rather than original,
12968         timespec to avoid bug in older Linux kernel.
12969         Reported by Simon Josefsson.
12970
12971 2009-11-04  Bruno Haible  <bruno@clisp.org>
12972
12973         Make num_processors more flexible and consistent.
12974         * lib/nproc.h (enum nproc_query): New type.
12975         (num_processors): Add a 'query' argument.
12976         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
12977         (num_processors): Add a 'query' argument. Test the value of the
12978         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
12979         mingw, count the number of CPUs available for the current process.
12980         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
12981         Check for sched_getaffinity and sched_getaffinity_np.
12982         * modules/nproc (Depends-on): Add c-ctype, extensions.
12983         * NEWS: Mention the change.
12984
12985 2009-11-03  Bruno Haible  <bruno@clisp.org>
12986
12987         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
12988
12989 2009-11-03  Jim Meyering  <meyering@redhat.com>
12990
12991         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
12992         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
12993         if it is defined.
12994
12995 2009-11-02  Eric Blake  <ebb9@byu.net>
12996
12997         mktime, timegm: share common declaration
12998         * lib/mktime-internal.h: New file.
12999         * lib/mktime.c: Use it rather than open-coding a declaration.
13000         * lib/timegm.c: Likewise.
13001         * modules/mktime (Files): Ship it.
13002         * modules/timegm (Files): Likewise.
13003         Suggested by Bruno Haible.
13004
13005         test-update-copyright: update test to match script changes
13006         * tests/test-update-copyright.sh: Avoid hard-coding perl
13007         location.  Don't update *.bak created by earlier runs.
13008
13009 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
13010             Simon Josefsson  <simon@josefsson.org>
13011             Bruno Haible  <bruno@clisp.org>
13012
13013         Fix link error on Solaris 8.
13014         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
13015         also in libnsl. Define also INET_PTON_LIB.
13016         * modules/inet_pton (Link): New section.
13017
13018 2009-11-02  Simon Josefsson  <simon@josefsson.org>
13019             Bruno Haible  <bruno@clisp.org>
13020
13021         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
13022         * modules/inet_ntop (Link): New section.
13023         Reported by Boyan Kasarov <bkasarov@gmail.com>.
13024
13025 2009-11-02  Eric Blake  <ebb9@byu.net>
13026
13027         maint: avoid compiler warnings in m4 macros
13028         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
13029         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
13030
13031 2009-11-02  Simon Josefsson  <simon@josefsson.org>
13032
13033         * m4/pmccabe2html.m4: Remove file.
13034         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
13035         function.  Change maintainer.
13036         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
13037         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
13038         Courtès).
13039
13040 2009-10-31  Eric Blake  <ebb9@byu.net>
13041
13042         fseeko: fix m4 regression
13043         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
13044         regression from 2009-10-27.
13045         Reported by Ralf Wildenhues.
13046
13047 2009-10-31  Jim Meyering  <meyering@redhat.com>
13048
13049         inttostr: aesthetics and improved (compile-time) safety
13050         Define inttype_is_signed rather than inttype_is_unsigned,
13051         since the sole use is via "#if inttype_is_signed".
13052         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
13053         inttype_is_unsigned.
13054         * lib/offtostr.c (inttype_is_signed): Likewise.
13055         * lib/uinttostr.c (inttype_is_signed): Likewise.
13056         * lib/umaxtostr.c (inttype_is_signed): Likewise.
13057         * lib/inttostr.c (inttostr): Use verify to cross-check the
13058         inttype_is_signed value and the signedness of the actual type.
13059         * modules/inttostr (Depends-on): Add verify.
13060
13061 2009-10-30  Eric Blake  <ebb9@byu.net>
13062
13063         build: avoid compiler warnings
13064         * lib/fchmodat.c (lchmod): Mark unused variables.
13065         * lib/getopt.c (_getopt_initialize): Likewise.
13066         * lib/mktime.c (__mktime_internal): Provide prototype.
13067         * lib/inttostr.c (inttostr): Avoid compiler warning even with
13068         older gcc that do not understand #pragma GCC diagnostic.
13069         * lib/uinttostr.c (inttype_is_unsigned): Define.
13070         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
13071
13072 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
13073
13074         stat: fix compilation on AIX
13075         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
13076         only see struct stat64.
13077
13078 2009-10-30  Eric Blake  <ebb9@byu.net>
13079
13080         exclude: make more robust
13081         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
13082         rather than masking a coding bug.
13083         Suggested by Bruno Haible.
13084
13085 2009-10-30  Jim Meyering  <meyering@redhat.com>
13086
13087         perl scripts: remove #!/usr/bin/perl in favor of more portable...
13088         Rather than putting #!/usr/bin/perl on the first line,
13089         start with a variant of what's recommended by "man perlrun" that
13090         invokes the first "perl" program from your shell's search path.
13091         * build-aux/gitlog-to-changelog: Replace #!... as above.
13092         Add a "Local Variables" perl mode setting.
13093         Prompted by a patch from Ludovic Courtès.
13094         Improved by Eric Blake.
13095         * build-aux/useless-if-before-free: Likewise.
13096         * build-aux/announce-gen: Likewise.
13097         * build-aux/update-copyright: Likewise.
13098
13099 2009-10-29  Eric Blake  <ebb9@byu.net>
13100
13101         filenamecat-lgpl: adjust clients
13102         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
13103         filenamecat.
13104         * modules/renameat (Depends-on): Likewise.
13105
13106         filenamecat: split into filenamecat-lgpl
13107         * modules/filenamecat-lgpl: New module.
13108         * modules/filenamecat (Files): Move library-safe files into
13109         filenamecat-lgpl.
13110         (Depends-on): Add filenamecat-lgpl.
13111         (configure.ac): Declare witness.
13112         * lib/filenamecat.h (file_name_concat): Only declare when using
13113         GPL module.
13114         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
13115         Move...
13116         * lib/filenamecat-lgpl.c: ...into new file.
13117         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
13118         (gl_FILE_NAME_CONCAT): Use it.
13119         * MODULES.html.sh (File system functions): Mention new module.
13120
13121         argp: avoid memory leak
13122         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
13123         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
13124         base_name, since the latter malloc()s and can call exit().
13125         Leak introduced 2006-07-03.
13126
13127         dirname-lgpl: adjust clients that don't need full dirname
13128         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
13129         * modules/filenamecat (Depends-on): Likewise.
13130         * modules/linkat (Depends-on): Likewise.
13131         * modules/mkancesdirs (Depends-on): Likewise.
13132         * modules/mkdir (Depends-on): Likewise.
13133         * modules/openat (Depends-on): Likewise.
13134         * modules/savewd (Depends-on): Likewise.
13135         * modules/rename (Depends-on): Likewise.
13136         (License): Relax license.
13137         * modules/mkdir-tests (Depends-on): Drop progname.
13138         (Makefile.am): Delete unneeded LDADD.
13139         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
13140
13141         dirname: split into dirname-lgpl
13142         * modules/dirname-lgpl: New module.
13143         * modules/dirname (Files): Move library-safe files into
13144         dirname-lgpl.
13145         (Depends-on): Add dirname-lgpl.
13146         (configure.ac): Declare witness.
13147         * modules/double-slash-root (License): Relax license.
13148         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
13149         module.
13150         * lib/dirname.c (dir_len, mdir_name): Move...
13151         * lib/dirname-lgpl.c: ...into new file.
13152         * lib/basename.c (last_component, base_len): Move...
13153         * lib/basename-lgpl.c: ...into new file.
13154         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
13155         (gl_DIRNAME): Use it.
13156         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
13157         Mention new module.
13158         * modules/dirname-tests (Depends-on): Add progname.
13159         * tests/test-dirname.c (program_name): Delete.
13160
13161         mkdir: make safe for libraries
13162         * modules/mkdir (Depends-on): Drop xalloc.
13163         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
13164         exit.
13165
13166         tests: avoid some compiler warnings
13167         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
13168         literals.
13169         * tests/test-memchr.c (main): Avoid type mismatch.
13170         * tests/test-arpa_inet.c (main): Avoid unused parameters.
13171         * tests/test-base64.c (main): Likewise.
13172         * tests/test-getdelim.c (main): Likewise.
13173         * tests/test-gethostname.c (main): Likewise.
13174         * tests/test-getline.c (main): Likewise.
13175         * tests/test-netinet_in.c (main): Likewise.
13176         * tests/test-select.c (open_server_socket, main): Likewise.
13177         * tests/test-select-stdin.c (main): Likewise.
13178         * tests/test-sockets.c (main): Likewise.
13179         * tests/test-strsignal.c (main): Likewise.
13180         * tests/test-sys_select.c (main): Likewise.
13181         * tests/test-sys_socket.c (main): Likewise.
13182         * tests/test-u64.c (main): Likewise.
13183         * tests/test-xfprintf-posix.c (main): Likewise.
13184         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
13185
13186         sockets: avoid compiler warning
13187         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
13188
13189         maint: detect usage(1) and other suspicious exits
13190         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
13191
13192 2009-10-29  Jim Meyering  <meyering@redhat.com>
13193
13194         timespec: long-to-int truncation could make timespec_cmp malfunction
13195         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
13196         a multiple of 2^32 nanoseconds as no difference.
13197
13198 2009-10-28  Jim Meyering  <meyering@redhat.com>
13199
13200         fprintftime: wrap macro code argument in "do {...} while(0)"
13201         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
13202         cpy macro must be a statement that can be followed by a semicolon.
13203         Now that the else clause contains a comment and is hence longer
13204         than one line, I require curly braces.  That in turn requires
13205         that we wrap this code block in the standard do...while(0).
13206
13207         fprintftime: remove stray semicolon from previous change
13208         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
13209
13210         fprintftime: avoid a warning about ignored fwrite return value
13211         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
13212         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
13213         that is unsafe.
13214         * modules/fprintftime (Depends-on): Add ignore-value.
13215
13216         exclude: avoid an unwarranted warning
13217         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
13218
13219 2009-10-27  Eric Blake  <ebb9@byu.net>
13220
13221         fseek: avoid compilation failure when fflush is replaced
13222         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
13223         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
13224         module is in use.
13225         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
13226         module is not in use; since REPLACE_FSEEK worked otherwise.
13227         (GNULIB_FTELLO): Likewise for ftell.
13228         Reported by Ian Beckwith and others.
13229
13230 2009-10-27  Bruno Haible  <bruno@clisp.org>
13231
13232         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
13233         Reported by Jim Meyering.
13234
13235 2009-10-27  Jim Meyering  <jim@meyering.net>
13236             Bruno Haible  <bruno@clisp.org>
13237
13238         Avoid warning despite dropping the return value of fwrite.
13239         * lib/unicodeio.c: Include ignore-value.h.
13240         (fwrite_success_callback): Explicitly ignore fwrite's return value.
13241         * modules/unicodeio (Depends-on): Add ignore-value.
13242
13243 2009-10-26  Eric Blake  <ebb9@byu.net>
13244
13245         areadlinkat: fix fallback path
13246         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
13247         pointer and zero.
13248
13249 2009-10-22  Pádraig Brady  <P@draigBrady.com>
13250
13251         Use a better IO block size for modern systems
13252         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
13253         * lib/md2.c: Likewise.
13254         * lib/md4.c: Likewise.
13255         * lib/md5.c: Likewise.
13256         * lib/sha1.c: Likewise.
13257         * lib/sha256.c: Likewise.
13258         * lib/sha512.c: Likewise.
13259
13260 2009-10-22  Eric Blake  <ebb9@byu.net>
13261
13262         tests: avoid several compiler warnings
13263         * tests/test-getcwd.c (main): Avoid buffer underflow.
13264         * tests/test-getdate.c (main): String literals are not safe with
13265         putenv, so use setenv.  Declare unused argument.
13266         * modules/getdate-tests (Depends-on): Add setenv.
13267         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
13268         problems with string literals in char *.
13269         * tests/test-hash.c (main): Avoid shadowing declaration.
13270         (insert_new): Treat string literals as char const *.
13271         * tests/test-getopt.h (test_getopt): Likewise.
13272         (getopt_loop): Alter types to minimize casting elsewhere.
13273         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
13274         (test_getopt_long_posix): Likewise.
13275         (do_getopt_long): Add wrapper to minimize casting.
13276         * tests/test-atexit.c (clear_temp_file): Use void.
13277         * tests/test-areadlink-with-size.c (main): Declare unused
13278         arguments.
13279         * tests/test-areadlink.c (main): Likewise.
13280         * tests/test-areadlinkat-with-size.c (main): Likewise.
13281         * tests/test-areadlinkat.c (main): Likewise.
13282         * tests/test-canonicalize-lgpl.c (main): Likewise.
13283         * tests/test-canonicalize.c (main): Likewise.
13284         * tests/test-dirent-safer.c (main): Likewise.
13285         * tests/test-dirname.c (main): Likewise.
13286         * tests/test-dup2.c (main): Likewise.
13287         * tests/test-fchdir.c (main): Likewise.
13288         * tests/test-fcntl-h.c (main): Likewise.
13289         * tests/test-fcntl-safer.c (main): Likewise.
13290         * tests/test-fdopendir.c (main): Likewise.
13291         * tests/test-fdutimensat.c (main): Likewise.
13292         * tests/test-fflush.c (main): Likewise.
13293         * tests/test-filenamecat.c (main): Likewise.
13294         * tests/test-filevercmp.c (main): Likewise.
13295         * tests/test-fopen-safer.c (main): Likewise.
13296         * tests/test-fopen.c (main): Likewise.
13297         * tests/test-fpending.c (main): Likewise.
13298         * tests/test-fpurge.c (main): Likewise.
13299         * tests/test-freading.c (main): Likewise.
13300         * tests/test-fstatat.c (main): Likewise.
13301         * tests/test-fsync.c (main): Likewise.
13302         * tests/test-futimens.c (main): Likewise.
13303         * tests/test-getndelim2.c (main): Likewise.
13304         * tests/test-gettimeofday.c (main): Likewise.
13305         * tests/test-getopt.c (main): Likewise.
13306         * tests/test-i-ring.c (main): Likewise.
13307         * tests/test-inttypes.c (main): Likewise.
13308         * tests/test-link.c (main): Likewise.
13309         * tests/test-lstat.c (main): Likewise.
13310         * tests/test-math.c (main): Likewise.
13311         * tests/test-md5.c (main): Likewise.
13312         * tests/test-memchr2.c (main): Likewise.
13313         * tests/test-memrchr.c (main): Likewise.
13314         * tests/test-mkdir.c (main): Likewise.
13315         * tests/test-mkdirat.c (main): Likewise.
13316         * tests/test-mkfifoat.c (main): Likewise.
13317         * tests/test-open.c (main): Likewise.
13318         * tests/test-openat-safer.c (main): Likewise.
13319         * tests/test-openat.c (main): Likewise.
13320         * tests/test-quotearg.c (main): Likewise.
13321         * tests/test-rawmemchr.c (main): Likewise.
13322         * tests/test-readlink.c (main): Likewise.
13323         * tests/test-remove.c (main): Likewise.
13324         * tests/test-rename.c (main): Likewise.
13325         * tests/test-renameat.c (main): Likewise.
13326         * tests/test-rmdir.c (main): Likewise.
13327         * tests/test-sha1.c (main): Likewise.
13328         * tests/test-signal.c (main): Likewise.
13329         * tests/test-sigaction.c (main): Likewise.
13330         * tests/test-stat.c (main): Likewise.
13331         * tests/test-stat-time.c (main): Likewise.
13332         * tests/test-stddef.c (main): Likewise.
13333         * tests/test-stdint.c (main): Likewise.
13334         * tests/test-stdio.c (main): Likewise.
13335         * tests/test-stdlib.c (main): Likewise.
13336         * tests/test-strchrnul.c (main): Likewise.
13337         * tests/test-strerror.c (main): Likewise.
13338         * tests/test-string.c (main): Likewise.
13339         * tests/test-strtod.c (main): Likewise.
13340         * tests/test-strverscmp.c (main): Likewise.
13341         * tests/test-symlink.c (main): Likewise.
13342         * tests/test-symlinkat.c (main): Likewise.
13343         * tests/test-sys_stat.c (main): Likewise.
13344         * tests/test-sys_time.c (main): Likewise.
13345         * tests/test-time.c (main): Likewise.
13346         * tests/test-unistd.c (main): Likewise.
13347         * tests/test-unlink.c (main): Likewise.
13348         * tests/test-unlinkat.c (main): Likewise.
13349         * tests/test-utimens.c (main): Likewise.
13350         * tests/test-utimensat.c (main): Likewise.
13351         * tests/test-version-etc.c (main): Likewise.
13352         * tests/test-wchar.c (main): Likewise.
13353         * tests/test-wctype.c (main): Likewise.
13354         * tests/test-xprintf-posix.c (main): Likewise.
13355         * tests/test-posixtm.c (main): Likewise.
13356         (STREQ): Delete unused macro.
13357         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
13358         shadowed variables.
13359         * tests/test-memchr.c (main): Likewise.
13360
13361 2009-10-21  Eric Blake  <ebb9@byu.net>
13362
13363         areadlinkat: avoid failure on older glibc
13364         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
13365         rather than mis-comparing 0 against FUNC_RESULT of char*.
13366
13367 2009-10-21  Bruno Haible  <bruno@clisp.org>
13368
13369         * modules/stpncpy (License): Relicense under LGPLv2+.
13370         Reported by David Lutterkort <lutter@redhat.com>.
13371
13372 2009-10-20  Eric Blake  <ebb9@byu.net>
13373
13374         utimensat: work around Solaris 9 bug
13375         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
13376         has trailing slash bugs.
13377         * tests/test-lutimens.h (test_lutimens): Enhance test.
13378         * tests/test-utimens.h (test_utimens): Likewise.
13379         * doc/posix-functions/utime.texi (utime): Enhance documentation.
13380         * doc/posix-functions/utimes.texi (utimes): Likewise.
13381         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
13382         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
13383         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
13384         * doc/posix-functions/futimens.texi (futimens): Likewise.
13385
13386         fdutimensat: new module
13387         * modules/fdutimensat: New file.
13388         * lib/fdutimensat.c (fdutimensat): Likewise.
13389         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
13390         * MODULES.html.sh (File system functions): Mention module.
13391         * modules/fdutimensat-tests: New test.
13392         * tests/test-fdutimensat.c: Likewise.
13393
13394         doc: regenerate INSTALL
13395         * doc/INSTALL: Reflect recent autoconf update.
13396         * doc/INSTALL.ISO: Likewise.
13397         * doc/INSTALL.UTF-8: Likewise.
13398
13399 2009-10-20  Pádraig Brady  <P@draigBrady.com>
13400
13401         acl: warn if ACL support is not detected
13402         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
13403
13404 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
13405
13406         * lib/nproc.h: Add extern "C" block for C++.
13407
13408 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
13409             Bruno Haible  <bruno@clisp.org>
13410
13411         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
13412         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
13413         * doc/posix-functions/isalpha.texi: Likewise.
13414         * doc/posix-functions/isblank.texi: Likewise.
13415         * doc/posix-functions/iscntrl.texi: Likewise.
13416         * doc/posix-functions/isdigit.texi: Likewise.
13417         * doc/posix-functions/isgraph.texi: Likewise.
13418         * doc/posix-functions/islower.texi: Likewise.
13419         * doc/posix-functions/isprint.texi: Likewise.
13420         * doc/posix-functions/ispunct.texi: Likewise.
13421         * doc/posix-functions/isspace.texi: Likewise.
13422         * doc/posix-functions/isupper.texi: Likewise.
13423         * doc/posix-functions/isxdigit.texi: Likewise.
13424
13425 2009-10-18  Bruno Haible  <bruno@clisp.org>
13426
13427         Tests for module 'isblank'.
13428         * modules/isblank-tests: New file.
13429         * tests/test-isblank.c: New file.
13430
13431         New module 'isblank'.
13432         * lib/isblank.c: New file.
13433         * m4/isblank.m4: New file.
13434         * modules/isblank: New file.
13435         * doc/posix-functions/isblank.texi: Mention the new module.
13436
13437 2009-10-18  Bruno Haible  <bruno@clisp.org>
13438
13439         New module 'ctype'.
13440         * lib/ctype.in.h: New file.
13441         * m4/ctype.m4: New file.
13442         * modules/ctype: New file.
13443         * doc/posix-headers/ctype.texi: Mention the new module.
13444
13445 2009-10-18  Jim Meyering  <meyering@redhat.com>
13446
13447         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
13448         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
13449         right after its initialization, rather than farther down.
13450         Keeping these in close proximity makes it easier to ensure
13451         that each such variable is initialized.  E.g.,
13452
13453             LIB_CLOCK_GETTIME=
13454             AC_SUBST([LIB_CLOCK_GETTIME])
13455
13456         This change also increments these serial numbers.
13457         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
13458         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
13459         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
13460
13461 2009-10-18  Bruno Haible  <bruno@clisp.org>
13462
13463         Don't let environment variables perturb build.
13464         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
13465         (gl_PREREQ_GETHRXTIME): ... not here.
13466
13467 2009-10-18  Bruno Haible  <bruno@clisp.org>
13468
13469         Avoid symlink attack in localcharset module.
13470         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
13471         (O_NOFOLLOW): Define fallback.
13472         (get_charset_aliases): Don't open the file if it is a symbolic link.
13473         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
13474         gl_FCNTL_H.
13475         (gl_FCNTL_H): Require it.
13476         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
13477         * modules/localcharset (Files): Add m4/fcntl_h.m4.
13478         Reported by Fergal Glynn <fglynn@veracode.com>.
13479
13480 2009-10-18  Bruno Haible  <bruno@clisp.org>
13481
13482         Implement nproc for mingw.
13483         * lib/nproc.c: Include <windows.h>
13484         (num_processors): On native Windows platforms, try GetSystemInfo.
13485
13486 2009-10-18  Bruno Haible  <bruno@clisp.org>
13487
13488         Implement nproc for IRIX.
13489         * lib/nproc.c: Include <sys/sysmp.h>.
13490         (num_processors): On IRIX systems, try sysmp.
13491         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
13492
13493 2009-10-18  Bruno Haible  <bruno@clisp.org>
13494
13495         Implement nproc for HP-UX.
13496         * lib/nproc.c: Include <sys/pstat.h>
13497         (num_processors): On HP-UX systems, try pstat_getdynamic.
13498         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
13499         pstat_getdynamic.
13500
13501 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
13502             Bruno Haible  <bruno@clisp.org>
13503
13504         Implement nproc for NetBSD, OpenBSD.
13505         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
13506         (ARRAY_SIZE): New macro.
13507         (num_processors): On BSD systems, try sysctl of HW_NCPU.
13508         * m4/nproc.m4: New file.
13509         * modules/nproc (Files): Add m4/nproc.m4.
13510         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
13511         (Makefile.am): Instead, augment lib_SOURCES.
13512
13513 2009-10-18  Bruno Haible  <bruno@clisp.org>
13514
13515         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
13516         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
13517         sys/param.h.
13518
13519 2009-10-16  Eric Blake  <ebb9@byu.net>
13520
13521         utimensat: new module
13522         * modules/utimensat: New file.
13523         * lib/utimensat.c (utimensat): Likewise.
13524         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
13525         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
13526         so we can work around Linux bugs.
13527         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13528         * modules/sys_stat (Makefile.am): Substitute them.
13529         * lib/sys_stat.in.h (utimensat): Declare it.
13530         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13531         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
13532         * modules/utimensat-tests: New test.
13533         * tests/test-utimensat.c: Likewise.
13534
13535         utimens: let lutimens work on non-symlinks
13536         * lib/utimens.c (lutimens): Fall back to utimens rather than
13537         failing with ENOSYS, when file is not a symlink.
13538         (utimens): Reduce redirection.
13539         * tests/test-lutimens.h (test_lutimens): Update test to cover
13540         non-symlinks.
13541         * tests/test-utimens.h (test_utimens): Update test to cover
13542         symlinks.
13543         * tests/test-utimens.c (main): Update caller.
13544
13545         utimens: cache whether utimensat syscall works
13546         * lib/utimens.c (utimensat_works_really): New cache variable.
13547         (fdutimens, lutimens): Use it to avoid failing syscall.
13548
13549         test-stat-time, test-utimens: improve portability
13550         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
13551         ext4 on alpha, and for cygwin.
13552         * tests/test-utimens-common.h: New file.
13553         (nap): Factor delays into single function.
13554         * tests/test-lutimens.h (test_lutimens): Use new header.
13555         * tests/test-futimens.h (test_futimens): Likewise.
13556         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
13557         timestamps to occur from same machine, as was done previously for
13558         test_utimens.
13559         * modules/utimens-tests (Files): Ship new file.
13560         * modules/futimens-tests (Files): Likewise.
13561         Reported in part by Jim Meyering.
13562
13563         sys_stat: sort replacement declarations
13564         * lib/sys_stat.in.h: Sort declarations.
13565         * lib/futimens.c (futimens): Fix typo.
13566
13567 2009-10-15  Jim Meyering  <meyering@redhat.com>
13568
13569         don't let environment settings perturb build
13570         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
13571         could cause a configure-time and/or build-time malfunction.
13572         Typically, a configure-time function-in-library test is performed
13573         via code like this:
13574
13575           LIB_VAR=
13576           AC_SUBST([LIB_VAR])
13577           prefix_saved_LIBS=$LIBS
13578             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
13579                        [test "$ac_cv_search_FUNC" = "none required" ||
13580                         LIB_VAR=$ac_cv_search_FUNC])
13581           LIBS=$prefix_saved_LIBS
13582
13583         However, in each of the files affected by this change, the LIB_VAR=
13584         initialization was omitted.  Thus, when set in the environment, its
13585         value would propagate into generated Makefiles when FUNC is not found
13586         in LIB_NAME.
13587         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
13588         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
13589         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
13590
13591 2009-10-14  Eric Blake  <ebb9@byu.net>
13592
13593         fchdir: avoid infinite recursion in mingw
13594         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
13595         recursing.
13596
13597         test-stat-time: port to mingw
13598         * tests/test-stat-time.c (force_unlink): Return a value.
13599         (test_ctime) [W32]: Fix compilation error.
13600         (nap): Don't call usleep with too large an argument.  Use
13601         force_unlink.
13602         * doc/pastposix-functions/usleep.texi (usleep): Document the
13603         portability issue.
13604
13605 2009-10-13  Jim Meyering  <meyering@redhat.com>
13606
13607         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
13608         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
13609         * modules/pipe-filter-ii: Likewise.
13610         * modules/sys_socket-tests: Likewise.
13611         * modules/tsearch-tests: Likewise.
13612         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
13613         (check): Depend on it.
13614
13615 2009-10-12  Eric Blake  <ebb9@byu.net>
13616
13617         utimens-tests: port to NFS file systems
13618         * tests/test-utimens.h (test_utimens): Refactor utimecmp
13619         comparisons to avoid spurious failures from timestamp drift
13620         between NFS machines.
13621
13622 2009-10-12  Eric Blake  <ebb9@byu.net>
13623
13624         stat-time-tests: minor cleanups
13625         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
13626         * tests/test-stat-time.c (nap): Separate assignment from call.
13627         Suggested by Paolo Bonzini and Bruno Haible.
13628
13629         sys_stat: guarantee struct timespec
13630         * lib/sys_stat.in.h (includes): Always include <time.h>
13631         * modules/sys_stat (Depends-on): Add time.
13632         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
13633         mode_t permission values.
13634         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
13635         get at subsecond timestamps.
13636
13637 2009-10-10  Eric Blake  <ebb9@byu.net>
13638
13639         futimens: new module
13640         * modules/futimens: New file.
13641         * lib/futimens.c (futimens): Likewise.
13642         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
13643         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
13644         we can work around Linux bugs.
13645         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
13646         * modules/sys_stat (Makefile.am): Substitute them.
13647         * lib/sys_stat.in.h (futimens): Declare it.
13648         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
13649         * doc/posix-functions/futimens.texi (futimens): Likewise.
13650         * modules/futimens-tests: New test.
13651         * tests/test-futimens.c: Likewise.
13652
13653         utimens: introduce fdutimens
13654         * lib/utimens.h (fdutimens): New prototype.
13655         * lib/utimens.c (gl_futimens): Move guts...
13656         (fdutimens): ...to new interface.
13657         * tests/test-utimens.c (do_fdutimens): Use it.
13658
13659         utimens: add UTIME_NOW and UTIME_OMIT support
13660         * lib/utimens.c (validate_timespec, update_timespec): New helper
13661         functions.
13662         (gl_futimens, lutimens): Use them.
13663         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
13664         stdbool, sys_stat.
13665         (Link): Mention resulting library dependency.
13666         * modules/utimecmp (Link): Likewise.
13667         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
13668         (Makefile.am): Pick up library dependency.
13669         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
13670         definition.
13671         * tests/test-sys_stat.c: Test the definitions.
13672         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
13673         * NEWS: Document library dependency.
13674
13675         utimecmp: support symlink timestamps
13676         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
13677         hashing when possible.  Use pathconf when available.
13678         (SYSCALL_RESOLUTION): Recognize tighter resolution.
13679         * modules/utimecmp (Depends-on): Add lstat.
13680
13681         utimens: add lutimens interface
13682         * lib/utimens.c (lutimens): New function.
13683         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
13684         * lib/utimens.h (lutimens): Declare new interface.
13685         * tests/test-utimens.c (main): Enhance test.
13686         * tests/test-lutimens.h (test_lutimens): New file.
13687         * modules/utimens-tests (Files): Distribute it.
13688         (Depends-on): Add symlink.
13689         (configure.ac): Check for usleep.
13690
13691         utimens: validate futimens usage
13692         * lib/utimens.c (gl_futimens): Require valid fd up front, using
13693         fewer syscalls on failure later on.  Avoid compiler warning on
13694         mingw.
13695         * modules/utimens (Depends-on): Add dup2.
13696
13697         utimens: add test
13698         * modules/utimens-tests: New test.
13699         * tests/test-utimens.h: New file.
13700         * tests/test-futimens.h: Likewise.
13701         * tests/test-utimens.c: Likewise.
13702
13703         doc: mention timestamp portability issues
13704         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
13705         instead.
13706         * doc/posix-functions/utime.texi (utime): Likewise.
13707         * doc/posix-functions/utimes.texi (utimes): Likewise.
13708         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
13709         instead.
13710         * doc/posix-functions/futimens.texi (futimens): Mention utimens
13711         module.
13712         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
13713         Mention weakness with symlink timestamps.
13714         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
13715         to utimensat/futimens instead.
13716         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
13717
13718         test-dup2: enhance test
13719         * tests/test-dup2.c (main): Also check AT_FDCWD.
13720
13721         test-stat-time: avoid more spurious failures
13722         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
13723         xfs; and avoid race if the two timestamps cross quantization edge.
13724
13725         relocatable: prefer 'file system' over 'filesystem'
13726         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
13727         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
13728         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
13729         * doc/relocatable.texi (Enabling Relocatability): Likewise.
13730         * lib/relocatable.c (compute_curr_prefix): Likewise.
13731
13732 2009-10-10  Jim Meyering  <meyering@redhat.com>
13733
13734         stat-time-tests: check for the usleep function
13735         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
13736
13737 2009-10-10  Bruno Haible  <bruno@clisp.org>
13738
13739         * modules/xnanosleep: Put the Link section after the Include section.
13740
13741 2009-10-09  Eric Blake  <ebb9@byu.net>
13742
13743         dup2: work around FreeBSD 6.1 bug
13744         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
13745         * doc/posix-functions/dup2.texi (dup2): Document it.
13746         Reported by Nelson H. F. Beebe and Jim Meyering.
13747
13748         test-stat-time: port to buggy NFS clients
13749         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
13750         (test_ctime): Also skip test if mtime and ctime are skewed.
13751
13752         maint: prefer 'file system' over 'filesystem'
13753         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
13754         * doc/posix-functions/lstat.texi (lstat): Likewise.
13755         * lib/file-has-acl.c (file_has_acl): Likewise.
13756         * lib/fwriteerror.c [TEST]: Likewise.
13757         * tests/test-areadlink.h (test_areadlink): Likewise.
13758         * tests/test-areadlinkat-with-size.c (main): Likewise.
13759         * tests/test-areadlinkat.c (main): Likewise.
13760         * tests/test-canonicalize-lgpl.c (main): Likewise.
13761         * tests/test-canonicalize.c (main): Likewise.
13762         * tests/test-fstatat.c (main): Likewise.
13763         * tests/test-linkat.c (main): Likewise.
13764         * tests/test-lstat.h (test_lstat_func): Likewise.
13765         * tests/test-mkdir.h (test_mkdir): Likewise.
13766         * tests/test-readlink.h (test_readlink): Likewise.
13767         * tests/test-remove.c (main): Likewise.
13768         * tests/test-rename.h (test_rename): Likewise.
13769         * tests/test-renameat.c (main): Likewise.
13770         * tests/test-rmdir.h (test_rmdir_func): Likewise.
13771         * tests/test-symlink.h (test_symlink): Likewise.
13772         * tests/test-symlinkat.c (main): Likewise.
13773         * tests/test-unlink.h (test_unlink_func): Likewise.
13774         * tests/test-unlinkat.c (main): Likewise.
13775
13776         maint: make realtime library usage explicit
13777         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
13778         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
13779         * modules/settime (Link): Likewise.
13780         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
13781
13782         test-stat-time: speed up execution
13783         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
13784         warning on mingw.
13785         (nap): New helper function.
13786         (prepare_test): Use it to reduce sleep time.
13787         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
13788         execution.
13789         * modules/stat-time-tests (configure.ac): Check for usleep.
13790
13791 2009-10-09  Jim Meyering  <meyering@redhat.com>
13792
13793         selinux-h: always use getfilecon wrappers
13794         * lib/getfilecon.c: New file.
13795         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
13796         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
13797         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
13798         (fgetfilecon): Provide a stub.
13799         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
13800         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
13801         file unconditionally.
13802         When <selinux/selinux.h> is found, arrange to use wrappers.
13803         * modules/selinux-h (Files): Add getfilecon.c.
13804         (Makefile.am): Substitute include-next-related bits
13805         into the now-always-generated selinux/selinux.h file.
13806         * doc/glibc-functions/lgetfilecon.texi: New file.
13807         * doc/glibc-functions/fgetfilecon.texi: New file.
13808         * doc/glibc-functions/getfilecon.texi: New file.
13809         * doc/glibc-functions/getfilecon-desc.texi: New file.
13810         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
13811         which to pull in the new files.
13812         * MODULES.html.sh (Misc): Add selinux-h.
13813
13814 2009-10-08  Jim Meyering  <meyering@redhat.com>
13815
13816         unistd: fix comment typo
13817         * lib/unistd.in.h (euidaccess): Fix a comment typo.
13818
13819 2009-10-08  Eric Blake  <ebb9@byu.net>
13820
13821         areadlink: use SIZE_MAX consistently
13822         * modules/areadlink (Depends-on): Add stdint.
13823         * modules/areadlink-with-size (Depends-on): Likewise.
13824         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
13825         gives NULL; drop sys/types, since unistd gives size_t; and add
13826         stdint for SIZE_MAX.
13827         (SIZE_MAX): Rely on headers.
13828         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
13829         and add stdint.
13830         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
13831         (SIZE_MAX): Likewise.
13832         (INITIAL_BUF_SIZE): Turn into enum.
13833         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
13834
13835 2009-10-08  Jim Meyering  <meyering@redhat.com>
13836
13837         areadlinkat: avoid compilation failure
13838         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
13839         Fix typo in comment.
13840
13841 2009-10-07  Eric Blake  <ebb9@byu.net>
13842
13843         areadlinkat-with-size: new module
13844         * modules/areadlinkat-with-size: New module.
13845         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
13846         * lib/areadlink.h (areadlinkat): Declare it.
13847         * MODULES.html.sh (File system functions): Mention it.
13848         * modules/areadlinkat-with-size-tests: New test.
13849         * tests/test-areadlinkat-with-size.c: New file.
13850
13851         xreadlinkat: new module
13852         * modules/xreadlinkat: New module.
13853         * lib/xreadlinkat.c (xreadlinkat): New file.
13854         * lib/xreadlink.h (xreadlinkat): Declare it.
13855         * MODULES.html.sh (File system functions): Mention it.
13856
13857         areadlinkat: new module
13858         * lib/at-func.c (FUNC_FAIL): New define.
13859         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
13860         * modules/areadlinkat: New module.
13861         * lib/linkat.c (areadlinkat): Move...
13862         * lib/areadlinkat.c (areadlinkat): ...to new file.
13863         * lib/areadlink.h (areadlinkat): Declare it.
13864         * modules/linkat (Depends-on): Add areadlinkat.
13865         * MODULES.html.sh (File system functions): Mention it.
13866         * modules/areadlinkat-tests: New test.
13867         * tests/test-areadlinkat.c: New file.
13868
13869         areadlink, areadlink-with-size: add tests
13870         * modules/areadlink-tests: New test.
13871         * modules/areadlink-with-size-tests: Likewise.
13872         * tests/test-areadlink.h: New file.
13873         * tests/test-areadlink.c: Likewise.
13874         * tests/test-areadlink-with-size.c: Likewise.
13875
13876         maint: minor cleanups
13877         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
13878         _UNUSED_PARAMETER_ instead.
13879         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
13880         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
13881         * modules/linkat-tests (Files): Distribute test-link.h.
13882
13883         openat, utimens: whitespace cleanup
13884         * lib/openat.c: Prefer space throughout, rather than mix of 8
13885         spaces vs. tabs.
13886         * lib/at-func.c: Likewise.
13887         * lib/utimens.c: Likewise.
13888
13889         openat: avoid using wrong fd
13890         * lib/openat.c (openat_permissive): Reject user's fd if saving the
13891         working directory chooses same fd.
13892         * lib/at-func.c (AT_FUNC_NAME): Likewise.
13893
13894         mkdir, mkdirat: fix cygwin 1.5.x bug
13895         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
13896         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
13897         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
13898         bug.
13899         (gl_PREREQ_MKDIR): Delete unused macro.
13900         * modules/mkdir (Files): Track file rename.
13901         (configure.ac): Update macro name.
13902         * modules/openat (Depends-on): Add mkdir.
13903         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
13904
13905         mkdir, mkdirat: add tests
13906         * modules/mkdir-tests: New test.
13907         * tests/test-mkdir.h: New file.
13908         * tests/test-mkdir.c: Likewise.
13909         * tests/test-mkdirat.c: Likewise.
13910         * modules/openat-tests (Files): Add new files.
13911         (Makefile.am): Run new test.
13912
13913 2009-10-06  Eric Blake  <ebb9@byu.net>
13914
13915         doc: tweak *at function documentation
13916         * doc/posix-functions/faccessat.texi (faccessat): Mention
13917         known issue with replacement.
13918         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
13919         * doc/posix-functions/linkat.texi (linkat): Likewise.
13920         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
13921         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
13922         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
13923         * doc/posix-functions/renameat.texi (renameat): Likewise.
13924         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
13925
13926         openat: fix GNU/Hurd bug in unlinkat
13927         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
13928         broken.
13929         * doc/posix-functions/unlink.texi (unlink): Document this.
13930         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
13931
13932         fdopendir: fix GNU/Hurd bug
13933         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
13934         allowing non-directory fds.
13935         * lib/fdopendir.c (rpl_fdopendir): Work around it.
13936         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
13937         * modules/dirent (Makefile.am): Substitute it.
13938         * lib/dirent.in.h (fdopendir): Declare replacement.
13939         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
13940         * tests/test-fdopendir.c (main): Test something other than
13941         /dev/null, since on Hurd that behaves like a directory.
13942
13943         test-symlink: port to GNU/Hurd
13944         * tests/test-symlink.h (test_symlink): Relax expected errno.
13945
13946         doc: tweak more cygwin information
13947         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
13948         now compatible with glibc.
13949         * doc/posix-functions/getopt.texi (getopt): Likewise.
13950
13951         getopt-gnu: add another test
13952         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
13953         guarantee behavior relied on by m4.
13954         * tests/test-getopt.c (main): Use it.
13955         * modules/getopt-posix-tests (Depends-on): Add setenv.
13956         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
13957
13958         getopt: fix compilation on darwin
13959         * lib/getopt.in.h (includes): Leave breadcrumbs during system
13960         include.
13961         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
13962         Reported by Ludovic Courtès.
13963
13964 2009-10-06  Bruno Haible  <bruno@clisp.org>
13965
13966         * modules/size_max (Description): Discourage its use.
13967         Reported by Simon Josefsson.
13968
13969 2009-10-06  Jim Meyering  <meyering@redhat.com>
13970
13971         linkat: avoid compilation failure
13972         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
13973
13974 2009-10-05  Eric Blake  <ebb9@byu.net>
13975
13976         linkat: support Linux 2.6.17
13977         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
13978         linkat on Linux, but allow cache variable override.
13979         * lib/linkat.c (rpl_linkat): Define override.
13980         * modules/linkat (Depends-on): Add symlinkat.
13981         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
13982         * modules/unistd (Makefile.am): Substitute it.
13983         * lib/unistd.in.h (linkat): Declare replacement.
13984         Reported by Pádraig Brady.
13985
13986         quotearg: port test to systems with C.UTF-8 locale
13987         * tests/test-quotearg.c (struct result_strings): Add another
13988         member, differentiating between C.ASCII and C.UTF-8 handling.
13989         (compare_strings): Add parameter.
13990         (main): Adjust all callers.
13991
13992         getopt: avoid clash with FreeBSD _getopt_internal
13993         * lib/getopt.in.h (_getopt_internal): Override the name.
13994         * lib/getopt_int.h (includes): Pick up any overrides.
13995         Reported by Reuben Thomas.
13996
13997         hash: allow C89 compilation
13998         * lib/hash.c (check_tuning): Move declaration before statement.
13999         Reported by Reuben Thomas.
14000
14001 2009-10-05  Karl Berry  <karl@gnu.org>
14002
14003         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
14004
14005 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
14006             Bruno Haible  <bruno@clisp.org>
14007
14008         * lib/uname.c (uname): Use a table-driven algorithm to compute
14009         Windows NT versions.
14010
14011 2009-10-04  Bruno Haible  <bruno@clisp.org>
14012
14013         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
14014         program_invocation_short_name.
14015         * modules/progname (configure.ac): Test for presence of
14016         program_invocation_short_name.
14017         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
14018
14019 2009-10-04  Bruno Haible  <bruno@clisp.org>
14020
14021         * lib/progname.c (set_program_name): Fix comment.
14022         Reported by Jim Meyering.
14023
14024 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
14025             Bruno Haible  <bruno@clisp.org>
14026
14027         * lib/uname.c: Include <string.h>.
14028         (uname): Do only one call to GetVersionEx in the common case.
14029
14030 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
14031             Bruno Haible  <bruno@clisp.org>
14032
14033         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
14034         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
14035         (uname): Add support for Windows CE and various non-x86 CPU types.
14036
14037 2009-10-03  Bruno Haible  <bruno@clisp.org>
14038
14039         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
14040         invocation to tests/configure.ac.
14041         Reported by Ian Beckwith <ianb@erislabs.net>.
14042
14043 2009-10-02  Eric Blake  <ebb9@byu.net>
14044
14045         fchdir: avoid compiler warning
14046         * lib/fchdir.c (canonicalize_file_name)
14047         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
14048
14049         test-open: support mingw errno values
14050         * tests/test-open.h (test_open): Relax test.
14051         * tests/test-fopen.h (test_fopen): Likewise.
14052         * tests/test-openat-safer.c (main): Likewise.
14053
14054         open: fix opening directory on mingw
14055         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
14056
14057         test-open: on GNU/Hurd, /dev/null is a directory
14058         * tests/test-fopen.h (main): Rename...
14059         (test_fopen): ...to this.  Use a guaranteed non-directory when
14060         confirming open behavior on trailing slash.
14061         * tests/test-openat-safer.c (main): Likewise.
14062         * tests/test-open.h (main): Likewise....
14063         (test_open): ...to this.
14064         * tests/test-fopen.c (main): Adjust caller.
14065         * tests/test-fopen-safer.c (main): Likewise.
14066         * tests/test-open.c (main): Likewise.
14067         * tests/test-fcntl-safer.c (main): Likewise.
14068         Reported by Samuel Thibault.
14069
14070         rename, fchdir: don't ignore chdir failure
14071         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
14072         * lib/rename.c (rpl_rename) [W32]: Likewise.
14073         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
14074         an empty destination directory if source cannot be renamed,
14075         although there is still possibility for failure.
14076         * doc/posix-functions/rename.texi (rename): Document the race.
14077         Reported by Jim Meyering.
14078
14079         maint: cleanup whitespace in recent commits
14080         * lib/rename.c (rpl_rename): Remove tabs.
14081         * tests/test-link.h (test_link): Likewise.
14082         * lib/fchdir.c (get_name): Likewise.
14083         Reported by Jim Meyering.
14084
14085 2009-10-02  Ben Pfaff  <blp@gnu.org>
14086
14087         relocatable-prog-wrapper: Add missing dependency on
14088         double-slash-root.
14089         * modules/relocatable-prog-wrapper: Add dependency.
14090         Reported by Ian Beckwith <ianb@erislabs.net>.
14091
14092 2009-10-02  Eric Blake  <ebb9@byu.net>
14093
14094         renameat: fix Solaris bugs
14095         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
14096         needed fixing.
14097         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
14098         * modules/stdio (Makefile.am): Substitute it.
14099         * lib/stdio.in.h (renameat): Declare replacement.
14100         * lib/renameat.c (rpl_renameat): Implement fix.
14101
14102         renameat: new module
14103         * modules/renameat: New file.
14104         * lib/renameat.c (renameat): Likewise.
14105         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
14106         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
14107         * modules/stdio (Makefile.am): Substitute them.
14108         * lib/stdio.in.h (renameat): Declare it.
14109         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14110         * doc/posix-functions/renameat.texi (renameat): Likewise.
14111         * modules/renameat-tests: New test.
14112         * tests/test-renameat.c: Likewise.
14113
14114         rename: fix mingw bugs
14115         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
14116         directory overwrite bugs.
14117
14118         rename: fix another cygwin 1.5 bug
14119         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
14120         checks.
14121         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
14122         unnecessary cygwin workarounds.  Also work around bug with moving
14123         full directory onto an empty one.
14124         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
14125
14126         rename-dest-slash: merge into rename module
14127         * modules/rename-dest-slash (Status): Mark obsolete.
14128         (Depends-on): Add rename.
14129         (Files): Let rename do it all.
14130         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
14131         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
14132         * m4/rename-dest-slash.m4: ...so this file can be deleted.
14133         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
14134         * lib/rename.c (rpl_rename): Update comments.
14135
14136         rename: fix cygwin 1.5.x bugs
14137         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
14138         * lib/rename.c (rpl_rename): Work around them.
14139         * modules/rename (Depends-on): Add same-inode.
14140
14141         rename: fix Solaris 10 bug
14142         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
14143         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
14144         was the only bug.
14145
14146         rename: fix Solaris 9 bug
14147         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
14148         on non-directory.  Avoid calling exit.
14149         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
14150         strdup.
14151         * modules/rename-tests (Depends-on): Drop lstat.
14152         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
14153         (gl_PREREQ_RENAME): Delete unused macro.
14154
14155         rename-dest-slash: fix NetBSD bug
14156         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
14157         links.
14158         * modules/rename-dest-slash (Depends-on): Add same-inode.
14159
14160         rename-tests: new test, exposes several platform bugs
14161         * modules/rename-tests: New file.
14162         * tests/test-rename.h: Likewise.
14163         * tests/test-rename.c: Likewise.
14164         * doc/posix-functions/rename.texi (rename): Improve documentation,
14165         including bugs that will eventually be fixed in gnulib.
14166
14167 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
14168
14169         * lib/uname.c: Include <stdlib.h>
14170         (uname): Assume version info is available.
14171
14172 2009-10-02  Jim Meyering  <meyering@redhat.com>
14173
14174         gnu-web-doc-update: correct --help output
14175         * build-aux/gnu-web-doc-update: Make --help output relevant.
14176
14177         gnu-web-doc-update: add standard options
14178         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
14179
14180         gnu-web-doc-update: New module.
14181         Use this script to automatically update the on-line web documentation
14182         for your GNU project at http://www.gnu.org/software/$pkg/manual/
14183         * modules/gnu-web-doc-update: New file, from coreutils.
14184         * build-aux/gnu-web-doc-update: New script.
14185
14186 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
14187
14188         link: LoadLibrary is not needed.
14189         * lib/link.c: Use GetModuleHandle.
14190
14191 2009-10-01  Eric Blake  <ebb9@byu.net>
14192
14193         getopt: bump serial number
14194         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
14195         change.
14196
14197         tests: tighten link, rmdir, and remove tests
14198         * tests/test-link.h (includes): No need to use <config.h> here.
14199         Clean up if directory hard link was created, otherwise test for
14200         trailing '.'.
14201         * tests/test-linkat.c (main): Simplify.
14202         * tests/test-remove.c (main): Enhance test for trailing '.'.
14203         * tests/test-rmdir.h (test_rmdir_func): Likewise.
14204
14205 2009-10-01  Jim Meyering  <meyering@redhat.com>
14206
14207         maint.mk: requiring "make major" was annoying, for a "minor" release.
14208         What is intended is "stable", to contrast with alpha and beta,
14209         so require "make stable", not "make major".
14210         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
14211         (get_tool_versions): Likewise.
14212         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
14213
14214 2009-09-30  Ben Pfaff  <blp@gnu.org>
14215
14216         Fix broken build of replacement for Windows tmpfile().
14217         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
14218         flags argument added along with the 'mkostemp' module.
14219
14220 2009-09-28  Bruno Haible  <bruno@clisp.org>
14221
14222         Avoid identifier clash with POSIX function 'remove' defined as a macro.
14223         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
14224         to 'remove_elt'.
14225         (gl_list_remove): Update.
14226         * lib/gl_list.c (gl_list_remove): Update.
14227         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
14228         to 'remove_elt'.
14229         (gl_oset_remove): Update.
14230         * lib/gl_list.c (gl_oset_remove): Update.
14231         Reported by Eric Blake.
14232
14233 2009-09-28  Eric Blake  <ebb9@byu.net>
14234
14235         doc: mention yet more cygwin 1.7 status
14236         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
14237         cygwin.
14238         * doc/glibc-functions/execvpe.texi (execvpe): New file.
14239         * doc/gnulib.texi (Glibc unistd.h): Mention it.
14240
14241         argp: fix test failure
14242         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
14243         that are not upper-case.  Pass correct range to tolower.
14244
14245 2009-09-27  Jim Meyering  <meyering@redhat.com>
14246
14247         test-yesno: work around sparc-dash here-document infelicity
14248         Without this change, the literal \177 byte in a here document
14249         would make dash 0.5.5.1-3 access uninitialized memory.
14250         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
14251         Instead, use a marker, "@", and filter through tr to create the desired
14252         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
14253
14254 2009-09-27  Bruno Haible  <bruno@clisp.org>
14255
14256         Disable untested support for new flavours of ACLs on AIX.
14257         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
14258         progress.
14259         * lib/set-mode-acl.c (qset_acl): Likewise.
14260
14261 2008-12-07  Bruno Haible  <bruno@clisp.org>
14262
14263         Add support for new flavours of ACLs on AIX. (Untested.)
14264         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
14265         (file_has_acl): Add support for newer AIX.
14266         * lib/set-mode-acl.c (qset_acl): Likewise.
14267         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
14268         Rainer Tammer <tammer@tammer.net>.
14269
14270 2009-09-26  Eric Blake  <ebb9@byu.net>
14271
14272         argp: fix compilation of getopt
14273         * lib/getopt.in.h (includes): Use different guard than glibc.
14274         Reported by Sergey Poznyakoff.
14275
14276         doc: mention more cygwin 1.7 status
14277         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
14278         bug.
14279         * doc/posix-functions/execl.texi (execl): Likewise.
14280         * doc/posix-functions/execle.texi (execle): Likewise.
14281         * doc/posix-functions/execlp.texi (execlp): Likewise.
14282         * doc/posix-functions/execv.texi (execv): Likewise.
14283         * doc/posix-functions/execve.texi (execve): Likewise.
14284         * doc/posix-functions/execvp.texi (execvp): Likewise.
14285         * doc/glibc-functions/canonicalize_file_name.texi
14286         (canonicalize_file_name): Cygwin 1.7 now provides this.
14287         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
14288         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
14289         on AT_SYMLINK_NOFOLLOW.
14290
14291 2009-09-24  Eric Blake  <ebb9@byu.net>
14292
14293         test-linkat: make test more robust
14294         * tests/test-linkat.c (main): Avoid collision with EEXIST.
14295
14296         getopt: fix inclusion guards for cygwin
14297         * modules/getopt-posix (Depends-on): Add include-next.
14298         (Makefile.am): Substitute more items in replacement header.
14299         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
14300         <getopt.h>.
14301         * lib/getopt.in.h (includes): Use split inclusion guard, and
14302         prefer <getopt.h> over include <unistd.h> when one is present.
14303         (option): Also override name of 'struct option'.
14304
14305         same-inode: revert prior change; it is not yet ready
14306         * NEWS: Undo mention of this change.
14307         * lib/same-inode.h (same-inode.h): Undo tri-state change.
14308         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
14309         * lib/cycle-check.c (cycle_check): Likewise.
14310         * lib/same.c (same_name): Likewise.
14311         * lib/at-func2.c (at_func2): Likewise.
14312
14313 2009-09-23  Eric Blake  <ebb9@byu.net>
14314
14315         linkat: new module
14316         * modules/linkat: New file.
14317         * lib/at-func2.c (at_func2): Likewise.
14318         * lib/linkat.c (linkat): Likewise.
14319         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
14320         * lib/openat-priv.h (at_func2): Add declaration.
14321         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
14322         * modules/unistd (Makefile.am): Substitute them.
14323         * lib/unistd.in.h (linkat): Declare it.
14324         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14325         * doc/posix-functions/linkat.texi (linkat): Likewise.
14326         * doc/posix-functions/link.texi (link): Tweak wording.
14327         * tests/test-link.c (main): Move guts...
14328         * tests/test-link.h (test_link): ...into new file.
14329         * modules/linkat-tests: New test.
14330         * tests/test-linkat.c: Likewise.
14331         * modules/link-tests (Files): Ship new file.
14332         (Depends-on): Add stdbool.
14333
14334         dirname: add library-safe mdir_name
14335         * lib/dirname.h (mdir_name): New prototype.
14336         * lib/dirname.c (dir_name): Move guts...
14337         (mdir_name): ...to new function that avoids xalloc_die.
14338
14339         fchdir: another mingw fix
14340         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
14341         * lib/fchdir.c (get_name): New helper method; skips canonicalize
14342         on mingw (where it has not yet been ported), and make it optional
14343         elsewhere.
14344         (_gl_register_fd): Use it.
14345
14346         same-inode: make SAME_INODE tri-state, to port to mingw
14347         * NEWS: Mention this change.
14348         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
14349         st_ino always being 0.
14350         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
14351         * lib/cycle-check.c (cycle_check): Likewise.
14352         * lib/same.c (same_name): Likewise.
14353
14354         lstat: avoid mingw compilation error
14355         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
14356         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
14357         lstat ourselves.
14358         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
14359         was adequate.
14360         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
14361         the checks for lstat.
14362         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
14363
14364         link: fix test failure on Solaris 9
14365         * lib/link.c (rpl_link): Don't assume link will catch bogus
14366         trailing slash on source.
14367
14368         test-symlinkat: enhance test
14369         * tests/test-readlink.c (main): Move guts...
14370         * tests/test-readlink.h (test_readlink): ...into new file.
14371         * tests/test-symlink.c (main): Move guts...
14372         * tests/test-symlink.h (test_symlink): ...into new file.
14373         * tests/test-symlinkat.c (main): Use new files for further
14374         coverage.
14375         (do_symlink, do_readlink): New helper functions.
14376         * modules/symlink-tests (Files): Ship new file.
14377         (Depends-on): Add stdbool.
14378         * modules/readlink-tests (Files): Ship new file.
14379         (Depends-on): Add stdbool.
14380         * modules/symlinkat-tests (Files): Use new files.
14381
14382 2009-09-23  Eric Blake  <ebb9@byu.net>
14383
14384         readlink: document portability issue with symlink length
14385         * doc/posix-functions/lstat.texi (lstat): Mention that some file
14386         systems have bogus st_size on symlinks, and mention the
14387         areadlink-with-size module.
14388         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
14389         * doc/posix-functions/readlink.texi (readlink): Mention the
14390         areadlink module, and ERANGE failure.
14391         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
14392         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
14393
14394         readlink: fix Solaris 9 bug with trailing slash
14395         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
14396         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
14397         * doc/posix-functions/readlink.texi (readlink): Document this.
14398         * modules/readlink-tests: New test.
14399         * tests/test-readlink.c: Likewise.
14400
14401         readlink: fix cygwin 1.5.x bug with return type
14402         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
14403         * lib/unistd.in.h (readlink): Use ssize_t.
14404         * lib/readlink.c (readlink): Likewise.
14405         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14406         * modules/unistd (Makefile.am): Substitute it.
14407         * lib/unistd.in.h (readlink): Declare replacement.
14408         * doc/posix-functions/readlink.texi (readlink): Document this.
14409
14410         symlink: use throughout gnulib
14411         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
14412         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
14413         symlink is not used.
14414         * modules/symlinkat (Depends-on): Add symlink.
14415         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
14416         * modules/canonicalize-tests (Depends-on): Likewise.
14417         * modules/lstat-tests (Depends-on): Likewise.
14418         * modules/openat-tests (Depends-on): Likewise.
14419         * modules/remove-tests (Depends-on): Likewise.
14420         * modules/rmdir-tests (Depends-on): Likewise.
14421         * modules/unlink-tests (Depends-on): Likewise.
14422         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
14423         * tests/test-canonicalize.c (symlink): Likewise.
14424         * tests/test-fstatat.c (symlink): Likewise.
14425         * tests/test-lstat.c (symlink): Likewise.
14426         * tests/test-remove.c (symlink): Likewise.
14427         * tests/test-rmdir.c (symlink): Likewise.
14428         * tests/test-unlink.c (symlink): Likewise.
14429         * tests/test-unlinkat.c (symlink): Likewise.
14430
14431         symlink: new module, for Solaris 9 bug
14432         * modules/symlink: New file.
14433         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
14434         * lib/symlink.c: Likewise.
14435         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
14436         * modules/unistd (Makefile.am): Substitute them.
14437         * lib/unistd.in.h (symlink): Declare replacement.
14438         * MODULES.html.sh (File system functions): Mention it.
14439         * doc/posix-functions/symlink.texi (symlink): Likewise.
14440         * modules/symlink-tests: New test.
14441         * tests/test-symlink.c: Likewise.
14442
14443 2009-09-23  Bruno Haible  <bruno@clisp.org>
14444
14445         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
14446         when needed.
14447         Test case: gnulib-tool --import --with-tests atexit inttypes.
14448         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
14449
14450 2009-09-23  Bruno Haible  <bruno@clisp.org>
14451
14452         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
14453         subcommand, not in a subshell.
14454
14455 2009-09-22  Eric Blake  <ebb9@byu.net>
14456
14457         unistd: sort replacement declarations
14458         * lib/unistd.in.h: Sort declarations.
14459
14460         open, openat: minor optimization
14461         * lib/open.c (open): If open succeeded, len is non-zero.
14462         * lib/openat.c (rpl_openat): Likewise.
14463
14464         link-follow: ensure correct result
14465         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
14466         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
14467         distinguish between possible failures.
14468
14469 2009-09-21  Eric Blake  <ebb9@byu.net>
14470
14471         fts: avoid compiler warning
14472         * lib/fts.c (dirent_inode_sort_may_be_useful)
14473         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
14474
14475 2009-09-19  Bruno Haible  <bruno@clisp.org>
14476
14477         * lib/progreloc.c (canonicalize_file_name): New declaration.
14478
14479 2009-09-19  Eric Blake  <ebb9@byu.net>
14480
14481         link: fix quoting
14482         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
14483
14484         openat: fix openat bugs on Solaris 9
14485         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
14486         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
14487         * modules/openat (Depends-on): Add open.
14488         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
14489         * modules/fcntl-h (Makefile.am): Substitute it.
14490         * lib/fcntl.in.h (openat): Declare replacement.
14491         * doc/posix-functions/openat.texi (openat): Document this.
14492
14493         openat: move fstatat and unlinkat into correct files
14494         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
14495         compiled.
14496         * lib/openat.c (fstatat, unlinkat): Move...
14497         * lib/fstatat.c (fstatat): ...into correct files.
14498         * lib/unlinkat.c (unlinkat): Likewise.
14499
14500         openat: fix unlinkat bugs on Solaris 9
14501         * lib/unlinkat.c (unlinkat): New file.
14502         * modules/openat (Depends-on): Add unlink.
14503         (Files): Distribute it.
14504         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
14505         trailing slash behavior is broken.
14506         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14507         * modules/unistd (Makefile.am): Substitute it.
14508         * lib/unistd.in.h (unlinkat): Declare replacement.
14509         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
14510
14511         openat: fix fstatat bugs on Solaris 9
14512         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
14513         stat.
14514         * doc/posix-functions/fstatat.texi (fstatat): Document this.
14515
14516         test-unlinkat: enhance test, to expose Solaris 9 bug
14517         * tests/test-unlink.c (main): Factor guts...
14518         * tests/test-unlink.h (test_rmdir_func): ...into new file.
14519         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
14520         * tests/test-rmdir.c (main): Adjust caller.
14521         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
14522         (unlinker): New helper function.
14523         (rmdirat): Enhance check.
14524         * modules/rmdir-tests (Depends-on): Add stdbool.
14525         * modules/unlink-tests (Depends-on): Likewise.
14526         (Files): Add test-unlink.h.
14527         * modules/openat-tests (Files): Likewise.
14528         (Depends-on): Add unlinkdir.
14529
14530         test-fstatat: new test, to expose Solaris 9 bugs
14531         * tests/test-stat.c (main): Factor guts...
14532         * tests/test-stat.h (test_stat_func): ...into new file.
14533         * tests/test-lstat.c (main): Factor guts...
14534         * tests/test-lstat.h (test_lstat_func): ...into new file.
14535         * tests/test-fstatat.c: New file.
14536         * modules/stat-tests (Files): Add test-stat.h.
14537         * modules/lstat-tests (Files): Add test-lstat.h.
14538         (Depends-on): Add stdbool.
14539         * modules/openat-tests (Depends-on): Add pathmax.
14540         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
14541         (Makefile.am): Run new test.
14542
14543         remove: new module, for mingw and Solaris 9 bugs
14544         * modules/remove: New file.
14545         * lib/remove.c: Likewise.
14546         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
14547         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
14548         * modules/stdio (Makefile.am): Use them.
14549         * lib/stdio.in.h (remove): Declare replacement.
14550         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14551         * doc/posix-functions/remove.texi (remove): Likewise.
14552         * modules/remove-tests: New test.
14553         * tests/test-remove.c: Likewise.
14554
14555         unlink: new module, for Solaris 9 bug
14556         * modules/unlink: New file.
14557         * lib/unlink.c: Likewise.
14558         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
14559         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
14560         * modules/unistd (Makefile.am): Use them.
14561         * lib/unistd.in.h (stat): Declare replacement.
14562         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14563         * doc/posix-functions/unlink.texi (unlink): Likewise.
14564         * modules/unlink-tests: New test.
14565         * tests/test-unlink.c: Likewise.
14566
14567         lstat: fix Solaris 9 bug
14568         * lib/lstat.c (lstat): Also check for trailing slash on
14569         non-symlink, non-directories.  Use stat module to simplify logic.
14570         * doc/posix-functions/lstat.texi (lstat): Document it.
14571         * modules/lstat-tests (Depends-on): Add errno, same-inode.
14572         (configure.ac): Check for symlink.
14573         * tests/test-lstat.c (main): Add more tests.
14574
14575         stat: add as dependency to other modules
14576         * modules/chown (Depends-on): Add stat.
14577         * modules/euidaccess (Depends-on): Likewise.
14578         * modules/fchdir (Depends-on): Likewise.
14579         * modules/isdir (Depends-on): Likewise.
14580         * modules/link (Depends-on): Likewise.
14581         * modules/lstat (Depends-on): Likewise.
14582         * modules/mkdir-p (Depends-on): Likewise.
14583         * modules/modechange (Depends-on): Likewise.
14584         * modules/open (Depends-on): Likewise.
14585         * modules/readlink (Depends-on): Likewise.
14586         * modules/same (Depends-on): Likewise.
14587
14588         stat: fix Solaris 9 bug
14589         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
14590         slash.
14591         * lib/stat.c (rpl_stat): Work around it.
14592         * doc/posix-functions/stat.texi (stat): Update documentation.
14593
14594         stat: new module, for mingw bug
14595         * modules/stat: New file.
14596         * lib/stat.c: Likewise.
14597         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
14598         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
14599         * modules/sys_stat (Makefile.am): Use them.
14600         * lib/sys_stat.in.h (stat): Declare replacement.
14601         * lib/openat.c (fstatat): Deal with lstat and stat being function
14602         macros.
14603         * modules/openat (Depends-on): Add inline.
14604         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
14605         * doc/posix-functions/stat.texi (stat): Likewise.
14606         * modules/stat-tests: New test.
14607         * tests/test-stat.c: Likewise.
14608
14609 2009-09-19  Jim Meyering  <meyering@redhat.com>
14610
14611         syntax-check: detect unnecessary inclusion of canonicalize.h
14612         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
14613
14614 2009-09-19  Eric Blake  <ebb9@byu.net>
14615
14616         canonicalize-lgpl: adjust clients to use correct header
14617         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
14618         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
14619         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
14620         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
14621         * lib/progreloc.c (includes): Likewise.
14622
14623 2009-09-19  Jim Meyering  <meyering@redhat.com>
14624
14625         test-posixtm.c: correct a comment
14626         * tests/test-posixtm.c: Correct first-line comment.
14627         Spotted by Eric Blake.
14628
14629 2009-09-16  Jim Meyering  <meyering@redhat.com>
14630
14631         posixtm-tests: make T const-correct; add a test case
14632         * tests/test-posixtm.c (T): Declare const.
14633         Add a test for -(2^31+1).
14634         Remove useless can-succeed-only-in-2002 test.
14635
14636         posixtm-tests: adjust the sole failing test
14637         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
14638         expected output matches what mktime now produces.  Cross-checked via
14639         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
14640
14641         posixtm: move #ifdef'd tests into a new module
14642         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
14643         * tests/test-posixtm.c: ... this new file.
14644         * modules/posixtm-tests: New module.
14645
14646 2009-09-19  Eric Blake  <ebb9@byu.net>
14647
14648         openat: simplify use of at-func.c
14649         * lib/at-func.c (includes): Include prerequisites here, to
14650         simplify requirements on client files.
14651         * lib/openat-priv.h: Add double-inclusion guard.
14652         * lib/faccessat.c (includes): Simplify.
14653         * lib/fchmodat.c (includes): Likewise.
14654         * lib/fchownat.c (includes): Likewise.
14655         * lib/mkdirat.c (includes): Likewise.
14656         * lib/mkfifoat.c (includes): Likewise.
14657         * lib/symlinkat.c (includes): Likewise.
14658
14659         openat: allow return of fd 0
14660         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
14661         * modules/save-cwd (Depends-on): Replace fcntl-safer with
14662         unistd-safer.
14663         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
14664         <fcntl.h>; this module does not leak fds.
14665         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
14666         must be allowed to return 0, leaving openat_safer to add the
14667         safety.
14668         (openat_permissive): Avoid writing to just-opened fd 2 if
14669         restoring the current directory fails.
14670         * lib/openat-die.c (openat_restore_fail): Add comment.
14671         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
14672         (save_cwd): Guarantee safe fd, but without use of open_safer.
14673         * tests/test-openat.c: New test.
14674         * modules/openat-tests (Files, Makefile.am): Distribute and build
14675         new file.
14676
14677         relocatable-prog-wrapper: fix build
14678         * modules/relocatable-prog-wrapper (Files): Update name of
14679         canonicalize m4 file, broken on 2009-09-17.
14680         Reported by emad hajjar <aleppos@hotmail.com>.
14681
14682 2009-09-19  Bruno Haible  <bruno@clisp.org>
14683
14684         * lib/safe-alloc.h: Use the standard header with GPL copyright.
14685         * lib/safe-alloc.c: Likewise.
14686         Reported by Ian Beckwith <ianb@erislabs.net>.
14687
14688 2009-09-18  Bruno Haible  <bruno@clisp.org>
14689
14690         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
14691         Reported by <erobles@sensacd.com.mx>.
14692
14693 2009-09-17  Eric Blake  <ebb9@byu.net>
14694
14695         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
14696         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
14697         slashes when checking if last component is missing.
14698         * tests/test-canonicalize.c (main): Test this.
14699
14700         canonicalize, canonicalize-lgpl: honor // if distinct from /
14701         * modules/canonicalize (Files): Add double-slash-root.m4.
14702         * modules/canonicalize-lgpl (Files): Likewise.
14703         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
14704         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
14705         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
14706         fallback definition.
14707         (canonicalize_filename_mode): Use it to protect //.
14708         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
14709         (__realpath): Likewise.
14710         * tests/test-canonicalize.c (main): Test this.
14711         * tests/test-canonicalize-lgpl.c (main): Likewise.
14712         * modules/canonicalize-tests (Depends-on): Add same-inode.
14713         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
14714
14715         canonicalize-lgpl: fix glibc bug with trailing slash
14716         * m4/canonicalize-lgpl.m4: Move contents...
14717         * m4/canonicalize.m4: ...here.
14718         (gl_CANONICALIZE_LGPL): Factor realpath check...
14719         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
14720         glibc 2.3.5 bug, fixed 2005-04-27.
14721         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
14722         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
14723         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
14724         * modules/canonicalize-lgpl (Files): Manage file rename.
14725         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
14726         * modules/stdlib (Makefile.am): Substitute witness.
14727         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
14728         is needed.
14729         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
14730         replacement is required.
14731         * lib/canonicalize.c (canonicalize_file_name): Likewise.
14732         * doc/glibc-functions/canonicalize_file_name.texi
14733         (canonicalize_file_name): Document this.
14734         * doc/posix-functions/realpath.texi (realpath): Likewise.
14735
14736         canonicalize-lgpl: reject non-directory with trailing slash
14737         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
14738         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
14739         catches failures in glibc 2.3.5.
14740         * tests/test-canonicalize.c (main): Likewise.
14741
14742         canonicalize-lgpl: use native realpath if it works
14743         * lib/canonicalize-lgpl.c (realpath): Guard with
14744         FUNC_REALPATH_WORKS.
14745         * lib/stdlib.in.h (realpath): Make declaration optional based on
14746         HAVE_REALPATH.
14747         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
14748         native realpath works.
14749         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
14750         * modules/stdlib (Makefile.am): Substitute witness.
14751
14752         canonicalize, canonicalize-lgpl: use <stdlib.h>
14753         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
14754         (Include): Mention <stdlib.h>.
14755         (configure.ac): Mention functions we provide.
14756         * modules/canonicalize (configure.ac): Likewise.
14757         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
14758         realpath if canonicalize_file_name is missing.
14759         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
14760         * modules/stdlib (Makefile.am): Substitute witnesses.
14761         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
14762         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
14763         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
14764         * NEWS: Document this.
14765         * doc/glibc-functions/canonicalize_file_name.texi
14766         (canonicalize_file_name): Likewise.
14767         * doc/posix-functions/realpath.texi (realpath): Likewise.
14768         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
14769
14770         test-canonicalize: consolidate into single C program
14771         * tests/test-canonicalize.sh: Delete; move setup into...
14772         * tests/test-canonicalize.c (main): ...the program, making it
14773         easier to run in debugger.  Add some tests.
14774         * modules/canonicalize-tests (Files): Remove unused file.
14775         (Depends-on): Add progname.
14776         (configure.ac, Makefile.am): Simplify.
14777
14778         test-canonicalize-lgpl: consolidate into single C program
14779         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
14780         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
14781         easier to run in debugger.  Add some tests.
14782         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
14783         (configure.ac, Makefile.am): Simplify.
14784
14785         canonicalize: avoid resolvepath
14786         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
14787         unnecessary checks.
14788         * lib/canonicalize.c (includes): Simplify.
14789         (canonicalize_file_name): Drop resolvepath implementation.
14790         * modules/canonicalize (Depends-on): Drop filenamecat.
14791
14792         canonicalize: don't lose errno
14793         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
14794         over calls to free.
14795
14796         canonicalize: simplify errno handling
14797         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
14798         assignment.
14799
14800         canonicalize, canonicalize-lgpl: update module dependencies
14801         * modules/canonicalize (Depends-on): Add extensions, lstat,
14802         pathmax, stdlib.
14803         (Files): Drop pathmax.h.
14804         (configure.ac): Adjust macro name.
14805         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
14806         lstat, stdlib, sys_stat.
14807         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
14808         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
14809         extensions.
14810         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
14811         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
14812         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
14813         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
14814         declaration, if available.
14815         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
14816         we can rely on the readlink module.
14817         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
14818         (includes): Use <unistd.h> unconditionally.
14819
14820 2009-09-17  Eric Blake  <ebb9@byu.net>
14821
14822         maint: make Include sections of modules consistent
14823         * modules/alloca: Use only header name; no need to list #include.
14824         * modules/alloca-opt: Likewise.
14825         * modules/arpa_inet: Likewise.
14826         * modules/canon-host: Likewise.
14827         * modules/configmake: Likewise.
14828         * modules/dirent: Likewise.
14829         * modules/eealloc: Likewise.
14830         * modules/environ: Likewise.
14831         * modules/fchdir: Likewise.
14832         * modules/fcntl: Likewise.
14833         * modules/fcntl-h: Likewise.
14834         * modules/gethrxtime: Likewise.
14835         * modules/gettime: Likewise.
14836         * modules/ignore-value: Likewise.
14837         * modules/inet_ntop: Likewise.
14838         * modules/inet_pton: Likewise.
14839         * modules/inttypes: Likewise.
14840         * modules/isnand-nolibm: Likewise.
14841         * modules/isnanf-nolibm: Likewise.
14842         * modules/mbchar: Likewise.
14843         * modules/mbfile: Likewise.
14844         * modules/mbiter: Likewise.
14845         * modules/mbuiter: Likewise.
14846         * modules/netdb: Likewise.
14847         * modules/netinet_in: Likewise.
14848         * modules/nproc: Likewise.
14849         * modules/pagealign_alloc: Likewise.
14850         * modules/poll: Likewise.
14851         * modules/printf-frexp: Likewise.
14852         * modules/pthread: Likewise.
14853         * modules/putenv: Likewise.
14854         * modules/random_r: Likewise.
14855         * modules/relocatable-prog: Likewise.
14856         * modules/search: Likewise.
14857         * modules/select: Likewise.
14858         * modules/selinux-h: Likewise.
14859         * modules/settime: Likewise.
14860         * modules/signal: Likewise.
14861         * modules/size_max: Likewise.
14862         * modules/socklen: Likewise.
14863         * modules/ssize_t: Likewise.
14864         * modules/stdarg: Likewise.
14865         * modules/stdbool: Likewise.
14866         * modules/stddef: Likewise.
14867         * modules/stdint: Likewise.
14868         * modules/stdio: Likewise.
14869         * modules/stdlib: Likewise.
14870         * modules/string: Likewise.
14871         * modules/strings: Likewise.
14872         * modules/sys_file: Likewise.
14873         * modules/sys_ioctl: Likewise.
14874         * modules/sys_select: Likewise.
14875         * modules/sys_socket: Likewise.
14876         * modules/sys_stat: Likewise.
14877         * modules/sys_time: Likewise.
14878         * modules/sys_times: Likewise.
14879         * modules/sys_utsname: Likewise.
14880         * modules/sys_wait: Likewise.
14881         * modules/sysexits: Likewise.
14882         * modules/time: Likewise.
14883         * modules/times: Likewise.
14884         * modules/tmpfile: Likewise.
14885         * modules/trim: Likewise.
14886         * modules/unistd: Likewise.
14887         * modules/wchar: Likewise.
14888         * modules/wctype: Likewise.
14889
14890 2009-09-17  Bruno Haible  <bruno@clisp.org>
14891
14892         Make getdate.y compile on QNX and NetBSD 5 / i386.
14893         * m4/getdate.m4 (gl_GETDATE): Conditionally define
14894         TIME_T_FITS_IN_LONG_INT.
14895         * lib/getdate.y (long_time_t): New type.
14896         (relative_time): Change type of 'seconds' field to long_time_t.
14897         (get_date): Update types of local variables. Check against overflow
14898         during conversion from long_time_t to time_t.
14899         Reported by Matt Kraai <kraai@ftbfs.org>
14900         and Hasso Tepper <hasso@netbsd.org>.
14901
14902 2009-09-17  Bruno Haible  <bruno@clisp.org>
14903
14904         * modules/COPYING: Update copyright years.
14905         * modules/README: Likeiwse.
14906         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
14907         Reported by Ian Beckwith <ianb@erislabs.net>.
14908
14909 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
14910
14911         * users.txt: Update references for gnuit package.
14912
14913 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
14914
14915         * m4/getdelim.m4: Fix typo in copyright line.
14916
14917 2009-09-17  Bruno Haible  <bruno@clisp.org>
14918
14919         * lib/atoll.c: Use the standard header with GPL copyright.
14920         * lib/argz.in.h: Likewise.
14921         * lib/glob.c: Likewise.
14922         * lib/glob-libc.h: Likewise.
14923         * lib/random_r.c: Likewise.
14924         * lib/siglist.h: Likewise.
14925         * lib/strsignal.c: Likewise.
14926         Reported by Ian Beckwith <ianb@erislabs.net>.
14927
14928 2009-09-17  Eric Blake  <ebb9@byu.net>
14929
14930         rmdir: ensure correct dependency order
14931         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
14932
14933 2009-09-17  Bruno Haible  <bruno@clisp.org>
14934
14935         Disable assertion that fails on NetBSD 5 / i386.
14936         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
14937         Reported by Sam Steingold <sds@gnu.org>
14938         and Hasso Tepper <hasso@netbsd.org>.
14939
14940 2009-09-16  Eric Blake  <ebb9@byu.net>
14941
14942         unlinkdir: port to mingw
14943         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
14944         on which no one can unlink a directory.
14945
14946         stdlib: sort witness names
14947         * modules/stdlib (Makefile.am): Sort replacements.
14948         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
14949         * lib/stdlib.in.h: Likewise.
14950
14951         parse-duration-tests: avoid link failure
14952         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
14953         LIBINTL.
14954         Reported by Tom G. Christensen.
14955
14956         openat-tests: ensure unlinkat behaves like rmdir
14957         * tests/test-rmdir.c (main): Factor guts...
14958         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
14959         * modules/rmdir-tests (Files): Ship new file.
14960         * modules/openat-tests: New test.
14961         * tests/test-unlinkat.c: Likewise.
14962
14963         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
14964         * modules/rmdir-errno (Status, Notice): Now obsolete.
14965
14966         rmdir: work around cygwin 1.5.x and mingw bugs
14967         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
14968         * lib/rmdir.c (rmdir): Work around it.
14969         * modules/rmdir (Status, Notice): No longer obsolete.
14970         (Files): Add dos.m4.
14971         (Depends-on): Add unistd.
14972         (configure.ac): Set witnesses.
14973         (License): Relax to LGPLv2+.
14974         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
14975         * modules/unistd (Makefile.am): Substitute witnesses.
14976         * lib/unistd.in.h (rmdir): Declare replacement.
14977         * doc/posix-functions/rmdir.texi (rmdir): Document this.
14978         * modules/rmdir-tests: New tests.
14979         * tests/test-rmdir.c: Likewise.
14980
14981 2009-09-15  Eric Blake  <ebb9@byu.net>
14982
14983         fchdir: improve use of replacement functions
14984         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
14985         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
14986         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
14987         REPLACE_CLOSEDIR.
14988         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
14989         * modules/sys_stat (Makefile.am): Substitute correct witness.
14990         * modules/dirent (Makefile.am): Likewise.
14991         * modules/unistd (Makefile.am): Likewise.
14992         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
14993         * lib/unistd.in.h (dup): Likewise.
14994         * lib/sys_stat.in.h (fstat): Likewise.
14995
14996         maint: ignore gnulib-tool temp files
14997         * .gitignore: Ignore files created during gnulib-tool --test.
14998
14999 2009-09-13  Jim Meyering  <meyering@redhat.com>
15000
15001         posixtm: don't reject a time that specify "60" as the number of seconds
15002         * lib/posixtm.c (posixtime): The code to reject invalid dates
15003         would also reject a time specified with the .60 suffix.
15004         But POSIX allows that, in order to accommodate leap seconds.
15005         So don't reject it.
15006         (main): Adjust tests accordingly.
15007         * modules/posixtm (Depends-on): Add stpcpy.
15008
15009 2009-09-11  Jim Meyering  <meyering@redhat.com>
15010
15011         announce-gen: include [$release_type] in emitted Subject:
15012         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
15013         e.g., [stable] in the emitted Subject: line.
15014
15015 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15016
15017         Remove obsolete macros from several modules.
15018         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
15019         obsolete Autoconf macros with their modern counterparts.
15020         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
15021         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
15022         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
15023         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
15024         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
15025         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
15026         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
15027         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
15028         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
15029         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
15030         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15031         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15032         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
15033         * m4/sockets.m4 (gl_SOCKETS): Likewise.
15034         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
15035         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
15036         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
15037         * m4/time_r.m4 (gl_TIME_R): Likewise.
15038         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
15039         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
15040         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
15041
15042         Fix copyright header in build-aux scripts.
15043         * build-aux/git-version-gen: Fix copyright header to match GPLv3
15044         recommendation.
15045         * build-aux/ncftpput-ftp: Likewise.
15046         * build-aux/update-copyright: Likewise.
15047
15048 2009-09-09  Eric Blake  <ebb9@byu.net>
15049
15050         test-link: allow Linux choice of errno
15051         * tests/test-link.c (main): Relax test for alternate error.
15052
15053         strndup: fix improper m4 caching
15054         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
15055         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
15056         (gl_PREREQ_STRNDUP): Delete.
15057         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
15058         * modules/string (Makefile.am): Substitute it.
15059         * lib/string.in.h (strndup): Modernize prototype.
15060
15061         getcwd: port to mingw
15062         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
15063         different from the POSIX assumptions made throughout the getcwd
15064         module; fortunately, the mingw getcwd does not need replacement.
15065         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
15066         * modules/getcwd-tests: New test.
15067         * tests/test-getcwd.c: Likewise.
15068
15069         link: fix platform bugs
15070         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
15071         * lib/link.c (link): Work around them.  Fix related mingw bug.
15072         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
15073         * modules/unistd (Makefile.am): Substitute it.
15074         * lib/unistd.in.h (link): Declare replacement.
15075         * doc/posix-functions/link.texi (link): Document this.
15076         * modules/link (Depends-on): Add strdup-posix, sys_stat.
15077
15078         test-link: consolidate into single C program, test more cases
15079         * tests/test-link.sh: Delete.
15080         * tests/test-link.c: Test more error conditions.  Exposes bugs on
15081         at least Cygwin and Solaris.
15082         * modules/link-tests (Files): Remove unused file.
15083         (Depends-on): Add errno, sys_stat.
15084         (Makefile.am): Simplify.
15085
15086 2009-09-08  Bruno Haible  <bruno@clisp.org>
15087
15088         Work around towlower, towupper bug on mingw.
15089         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
15090         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
15091         * doc/posix-functions/towlower.texi: Mention the mingw bug.
15092         * doc/posix-functions/towupper.texi: Likewise.
15093         Reported by Eric Blake.
15094
15095 2009-09-08  Jim Meyering  <meyering@redhat.com>
15096
15097         build: don't try to run autoheader if we don't use it
15098         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
15099         is not used in configure.ac.
15100
15101 2009-09-08  Eric Blake  <ebb9@byu.net>
15102
15103         euidaccess: fix compilation error
15104         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
15105
15106         rawmemchr: relax license
15107         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
15108         okay.
15109         Reported by Jim Meyering.
15110
15111         mkfifoat: new module
15112         * modules/mkfifoat: New file.
15113         * lib/mkfifoat.c: Likewise.
15114         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
15115         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
15116         * modules/sys_stat (Makefile.am): Use them.
15117         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
15118         * MODULES.html.sh (File system functions): Mention module.
15119         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
15120         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
15121         * modules/mkfifoat-tests: New test.
15122         * tests/test-mkfifoat.c: Likewise.
15123
15124         strchrnul: relax license
15125         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
15126         okay.
15127         Reported by Jim Meyering.
15128
15129 2009-09-08  Eric Blake  <ebb9@byu.net>
15130
15131         fstatat: fix compilation on Solaris
15132         * lib/fstatat.c (includes): Add fcntl.h.
15133         Reported by Pádraig Brady.
15134
15135 2009-09-07  Eric Blake  <ebb9@byu.net>
15136
15137         rename: modernize replacement
15138         * modules/rename (Depends-on): Add stdio.
15139         (configure.ac): Declare witness.
15140         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
15141         stdio take care of replacement.
15142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
15143         * modules/stdio (Makefile.am): Substitute them.
15144         * lib/stdio.in.h (rename): Declare replacement.
15145         * lib/rename.c (includes): Allow cross-compilation to non-windows
15146         machines.
15147         * doc/posix-functions/rename.texi (rename): Improve
15148         documentation.
15149
15150         stdio: sort witness names
15151         * modules/stdio (Makefile.am): Sort replacements.
15152         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
15153         * lib/stdio.in.h: Likewise.
15154
15155         getcwd: minor cleanups
15156         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
15157         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
15158
15159         openat: provide more convenience names
15160         * modules/faccessat (configure.ac): Add C witness.
15161         * lib/unistd.in.h (readlinkat): Fix typo.
15162         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
15163         convenience wrappers.
15164         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
15165         wrappers in syntax checks.
15166
15167 2009-09-06  Eric Blake  <ebb9@byu.net>
15168
15169         doc: fix comments in recent patches
15170         * lib/faccessat.c: Mention correct function.
15171         * lib/fchmodat.c: Likewise.
15172         * lib/fchownat.c: Likewise.
15173         * lib/symlinkat.c: Likewise.
15174         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
15175         constants.
15176
15177         faccessat, symlinkat: continue cleanup of previous patch
15178         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
15179         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
15180         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
15181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
15182         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
15183         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
15184         set.
15185
15186 2009-09-06  Bruno Haible  <bruno@clisp.org>
15187
15188         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
15189         (fstatat): Declare if GNULIB_FSTATAT is set.
15190         (mkdirat): Declare if GNULIB_MKDIRAT is set.
15191         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
15192         (unlinkat): Declare if GNULIB_UNLINKAT is set.
15193         * modules/fcntl-h (Files): Remove m4/openat.m4.
15194         * modules/sys_stat (Files): Remove m4/openat.m4.
15195         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
15196         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
15197         * modules/unistd (Files): Remove m4/openat.m4.
15198         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
15199         GNULIB_OPENAT.
15200         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
15201         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
15202         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
15203         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
15204         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
15205         gl_OPENAT_DEFAULTS.
15206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
15207         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
15208         Don't require gl_OPENAT_DEFAULTS.
15209         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
15210         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
15211         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
15212         (gl_OPENAT_DEFAULTS): Remove macro.
15213
15214 2009-09-06  Bruno Haible  <bruno@clisp.org>
15215
15216         * modules/openat (configure.ac): Remove unneeded witness.
15217
15218 2009-09-06  Bruno Haible  <bruno@clisp.org>
15219
15220         Set errno to ENOSYS when a function is entirely unsupported.
15221         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
15222         EOPNOTSUPP.
15223         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
15224         * modules/chown (Depends-on): Remove errno.
15225
15226 2009-09-06  Bruno Haible  <bruno@clisp.org>
15227
15228         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
15229
15230 2009-09-06  Bruno Haible  <bruno@clisp.org>
15231
15232         * lib/sys_stat.in.h: Fix preprocessor command indentation.
15233
15234 2009-09-06  Ben Pfaff  <blp@gnu.org>
15235             Bruno Haible  <bruno@clisp.org>
15236
15237         Work around a glibc bug in strtok_r.
15238         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
15239         Undefine if UNDEFINE_STRTOK_R is set.
15240         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
15241         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15242         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
15243         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
15244         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
15245         UNDEFINE_STRTOK_R.
15246         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
15247
15248 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
15249
15250         exclude: minor fix
15251         * lib/exclude.c: Include wctype.h
15252
15253 2009-09-06  Akim Demaille  <demaille@gostai.com>
15254
15255         bootstrap: improve error message
15256         * build-aux/bootstrap (find_tool): Upon failure, report the list
15257         of candidates.
15258         Honor the initial value of the envvar.
15259
15260 2009-09-05  Eric Blake  <ebb9@byu.net>
15261
15262         symlinkat: new module
15263         * modules/symlinkat: New file.
15264         * lib/symlinkat.c: Likewise.
15265         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
15266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
15267         * modules/unistd (Makefile.am): Use them.
15268         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
15269         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
15270         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
15271         * MODULES.html.sh (File system functions): Mention module.
15272         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
15273         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
15274         * modules/symlinkat-tests: New test.
15275         * tests/test-symlinkat.c: Likewise.
15276
15277         test-openat-safer: add more checks
15278         * tests/test-openat-safer.c (main): Check more code paths.
15279
15280 2009-09-05  Jim Meyering  <meyering@redhat.com>
15281
15282         syntax-check: detect unnecessary inclusion of openat.h
15283         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
15284
15285 2009-09-05  Bruno Haible  <bruno@clisp.org>
15286
15287         Support towlower, towupper.
15288         * doc/posix-functions/towlower.texi: Mention module wctype.
15289         * doc/posix-functions/towupper.texi: Likewise.
15290         * lib/wctype.in.h (towlower, towupper): New functions.
15291         * tests/test-wctype.c: Include stdio.h, stdlib.h.
15292         (ASSERT): New macro.
15293         (e): New variable.
15294         (main): Test also towlower, towupper. Test WEOF argument.
15295         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
15296
15297 2009-09-05  Bruno Haible  <bruno@clisp.org>
15298
15299         Fix conversion behaviour when the input is invalid.
15300         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
15301         mark occurring in first pass of indirect conversion.
15302         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
15303         input.
15304         Found by clang's static analyzer.
15305
15306 2009-09-05  Bruno Haible  <bruno@clisp.org>
15307
15308         * tests/test-striconveh.c (main): Test indirect conversion on platforms
15309         where direct conversion is possible.
15310
15311 2009-09-04  Eric Blake  <ebb9@byu.net>
15312
15313         openat: fail with ENOENT on empty name
15314         * lib/openat-proc.c (openat_proc_name): Special-case the empty
15315         buffer.
15316
15317         link-follow: fix logic bug in prior patch
15318         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
15319         reversed sense of yes and no in prior patch.  Avoid confusing
15320         compilation failure with desired semantics.
15321
15322         link-follow: accomodate mingw and cross-compilation
15323         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
15324         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
15325         cross-compilation results to -1, to make linkat easier to
15326         implement when cross-compiling.  Trivially support mingw.
15327         * modules/link-follow (configure.ac): Call new name.
15328         * NEWS: Mention this.
15329
15330 2009-09-03  Eric Blake  <ebb9@byu.net>
15331
15332         faccessat: compile replacement
15333         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
15334         needed.
15335
15336         fts: fix compilation error
15337         * lib/fts.c (includes): Re-add "openat.h", for
15338         openat_needs_fchdir.
15339
15340         faccessat: new module
15341         * modules/faccessat: New file.
15342         * lib/faccessat.c: Likewise.
15343         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
15344         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
15345         * modules/unistd (Makefile.am): Use it.
15346         * lib/unistd.in.h (faccessat): Declare it.
15347         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
15348         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
15349         * MODULES.html.sh (File system functions): Mention it.
15350         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
15351         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
15352
15353         euidaccess: prefer POSIX over non-standard implementation
15354         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
15355         * lib/euidaccess.c (euidaccess): Use it if available.
15356
15357         openat: make template easier to use
15358         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
15359         AT_FUNC_F2 to be undefined.
15360         (VALIDATE_FLAG): New macro; use it to reject bad flags.
15361         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
15362         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
15363         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
15364         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
15365         Likewise.
15366         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
15367         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
15368         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
15369         Likewise.
15370
15371         openat: declare in POSIX headers
15372         * NEWS: Mention this.
15373         * modules/openat (configure.ac): Declare witnesses.
15374         (Depends-on): Add fcntl-h, sys_stat, unistd.
15375         (Include): Mention correct headers.
15376         * modules/fcntl-h (Depends-on): Add link-warning.
15377         (Files): Add openat.m4.
15378         (Makefile.am): Substitute witnesses.
15379         * modules/sys_stat (Files, Makefile.am): Likewise.
15380         * modules/unistd (Files, Makefile.am): Likewise.
15381         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
15382         (gl_OPENAT_DEFAULTS): New macro.
15383         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
15384         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
15385         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
15386         (SYS_STAT_H): Remove unused variable.
15387         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
15388         * lib/fcntl--.h (includes): Remove unneeded header.
15389         * lib/openat-safer.c (includes): Likewise.
15390         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
15391         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
15392         appropriate headers.
15393         (__OPENAT_PREFIX): Delete.
15394         * lib/fcntl.in.h (openat): Provide declaration.
15395         (AT_FDCWD): Fix Solaris bug.
15396         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
15397         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
15398         * lib/fchmodat.c (includes):  Adjust to find declaration.
15399         * lib/fchownat.c (includes): Likewise.
15400         * lib/mkdirat.c (includes): Likewise.
15401         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
15402         still visible.
15403
15404 2009-09-02  Eric Blake  <ebb9@byu.net>
15405
15406         errno: use consistently
15407         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
15408         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
15409         * lib/canonicalize.c (ELOOP): Likewise.
15410         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
15411         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
15412         * lib/lchown.c (EOPNOTSUPP): Likewise.
15413         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
15414         * lib/savewd.c (ESTALE): Likewise.
15415         * lib/settime.c (ENOSYS): Likewise.
15416         * lib/utimens.c (ENOSYS): Likewise.
15417         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
15418         * lib/chdir-safer.c (ELOOP): Likewise.
15419         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
15420         * modules/c-stack (Depends-on): Add errno.
15421         * modules/canonicalize (Depends-on): Likewise.
15422         * modules/chdir-safer (Depends-on): Likewise.
15423         * modules/fdopendir (Depends-on): Likewise.
15424         * modules/inet_ntop (Depends-on): Likewise.
15425         * modules/inet_pton (Depends-on): Likewise.
15426         * modules/lchown (Depends-on): Likewise.
15427         * modules/openat (Depends-on): Likewise.
15428         * modules/savewd (Depends-on): Likewise.
15429         * modules/settime (Depends-on): Likewise.
15430         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
15431
15432         fts: avoid leaking fds
15433         * modules/fts (Depends-on): Add cloexec.
15434         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
15435         flag.
15436
15437         fts: make directory fds more robust
15438         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
15439         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
15440
15441         backupfile, chdir-long, fts, savedir: make safer
15442         * lib/backupfile.c (includes): Use "dirent--.h", since
15443         numbered_backup can write to stderr during readdir.
15444         * lib/savedir.c (includes): Likewise.
15445         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
15446         emulation can write to stderr on failure.
15447         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
15448         * lib/getcwd.c: Document why opendir_safer is unused.
15449         * lib/glob.c: Likewise.
15450         * lib/scandir.c: Likewise.
15451         * lib/openat-proc.c: Likewise, for open_safer.
15452         * modules/backupfile (Depends-on): Add dirent-safer.
15453         * modules/savedir (Depends-on): Likewise.
15454         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
15455         * modules/chdir-long (Depends-on): Add openat-safer.
15456
15457         openat-safer: new module
15458         * modules/openat-safer: New file.
15459         * lib/openat-safer.c: Likewise.
15460         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
15461         * lib/fcntl-safer.h (openat_safer): Declare.
15462         * lib/fcntl--.h (openat): Override.
15463         * MODULES.html.sh (File descriptor based I/O): Mention it.
15464         * lib/openat.h: Add double-inclusion guards.
15465         * lib/openat.c (includes): Only include "fcntl-safer.h", not
15466         "fcntl--.h", so we can implement openat.
15467         * modules/openat-safer-tests: New test.
15468         * tests/test-openat-safer.c: New file.
15469
15470         dirent-safer: new module
15471         * modules/dirent-safer: New file.
15472         * lib/dirent--.h: Likewise.
15473         * lib/dirent-safer.h: Likewise.
15474         * lib/opendir-safer.c: Likewise.
15475         * m4/dirent-safer.m4: Likewise.
15476         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
15477         * modules/dirent-safer-tests: New test.
15478         * tests/test-dirent-safer.c: New file.
15479         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
15480
15481         fdopendir: optimize on mingw
15482         * lib/unistd.in.h (_gl_directory_name): New prototype.
15483         * lib/fchdir.c (_gl_directory_name): Implement it.
15484         (fchdir): Use it to simplify implementation.
15485         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
15486         fchdir, when available, to avoid calling [f]chdir().
15487
15488         fdopendir: split into its own module
15489         * lib/openat.c (fdopendir): Move...
15490         * lib/fdopendir.c: ...into new file.
15491         * modules/fdopendir: New module.
15492         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
15493         * modules/openat (Depends-on): Add fdopendir.
15494         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
15495         fdopendir here.
15496         * modules/savedir (Depends-on): Only need fdopendir, not full
15497         openat.
15498         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
15499         * lib/openat.h (fdopendir): Drop prototype.
15500         * lib/dirent.in.h (fdopendir): Provide prototype.
15501         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
15502         * modules/dirent (Makefile.am): Substitute them.
15503         * MODULES.html.sh (File system functions): Mention it.
15504         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
15505         * modules/fdopendir-tests: New file.
15506         * tests/test-fdopendir.c: Likewise.
15507
15508         fchdir: use more consistent macro convention
15509         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
15510         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
15511         REPLACE_FCHDIR, rather than relying on config.h macros.
15512         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
15513         inside a single make-time REPLACE_FCHDIR block, rather than using
15514         the config.h FCHDIR_REPLACEMENT.
15515         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
15516         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
15517         Manage fstat replacement.
15518         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
15519         REPLACE_FCHDIR.
15520         * modules/sys_stat (Files): Add m4/unistd_h.m4.
15521         (Makefile.am): Substitute REPLACE_FCHDIR.
15522         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
15523         FCHDIR_REPLACEMENT.
15524         * lib/dup-safer.c (dup_safer): Likewise.
15525         * lib/dup2.c (rpl_dup2): Likewise.
15526         * lib/dup3.c (rpl_dup3): Likewise.
15527         * lib/open.c (rpl_open): Likewise.
15528
15529         fchdir: simplify error handling, and support dup3
15530         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
15531         stdbool, malloc-posix, realloc-posix.
15532         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
15533         (ensure_dirs_slot): Return false on allocation failure.
15534         (rpl_dup2): Delete.
15535         (_gl_register_dup): New function.
15536         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
15537         (_gl_register_fd): Close fd on allocation failure.
15538         * lib/fcntl.in.h (_gl_register_fd): Update signature.
15539         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
15540         prototype.
15541         (rpl_dup2_fchdir): Delete prototype.
15542         * lib/open.c (open): Update caller.
15543         * lib/dup2.c (dup2): Track fchdir metadata.
15544         * lib/dup3.c (dup3): Likewise.
15545         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
15546         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
15547
15548 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15549
15550         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
15551         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
15552         don't pass arguments to AC_OUTPUT.
15553
15554 2009-09-02  Bruno Haible  <bruno@clisp.org>
15555
15556         * modules/mkdtemp (License): Relicense under LGPLv2+.
15557         Reported by Paolo Bonzini.
15558
15559 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15560
15561         Replace uses of obsolete autoconf macros in Jim's modules.
15562         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
15563         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
15564         can evoke a warning from autoconf when run with -Wobsolete
15565         enabled.  They were declared obsolete for good reasons (see
15566         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
15567         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
15568         should not continue using the deprecated macros.
15569         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
15570         obsolete Autoconf macros with modern counterparts.
15571         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
15572         * m4/dos.m4 (gl_AC_DOS): Likewise.
15573         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
15574         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
15575         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
15576         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
15577         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
15578         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
15579         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
15580         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
15581         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
15582         Likewise.
15583         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
15584         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
15585         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
15586         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
15587         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
15588         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
15589
15590 2009-09-01  Eric Blake  <ebb9@byu.net>
15591
15592         fchdir: fix off-by-one bug in previous patch
15593         * lib/fchdir.c (rpl_fstat): Use correct bounds.
15594         (_gl_unregister_fd): Delete useless if.
15595
15596 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
15597
15598         maint.mk: sort the list of syntax-check rules
15599         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
15600         easier to get a sense of progress when the rules are run sequentially
15601         and take a long time.
15602
15603 2009-09-01  Simon Josefsson  <simon@josefsson.org>
15604
15605         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
15606         * modules/netinet_in: Likewise.
15607         * modules/sys_file: Likewise.
15608         * modules/sys_ioctl: Likewise.
15609         * modules/sys_select: Likewise.
15610         * modules/sys_socket: Likewise.
15611         * modules/sys_stat: Likewise.
15612         * modules/sys_time: Likewise.
15613         * modules/sys_times: Likewise.
15614         * modules/sys_utsname: Likewise.
15615         * modules/sys_wait: Likewise.
15616
15617 2009-09-01  Jim Meyering  <meyering@redhat.com>
15618
15619         fts: help ensure that return values are not ignored
15620         * lib/fts_.h (__GNUC_PREREQ): Define.
15621         (__attribute_warn_unused_result__): Define.
15622         (fts_children, fts_close, fts_open, fts_read): Declare with
15623         __attribute_warn_unused_result__.
15624
15625         fts: fts_close now fails also when closing a dir file descriptor fails
15626         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
15627         and propagate to caller, along with errno.
15628
15629         announce-gen: correct formatting in --help output
15630         * build-aux/announce-gen (usage): Move the one-line description in
15631         --help output "up", to where it belongs, just after Usage:.
15632
15633 2009-08-31  Eric Blake  <ebb9@byu.net>
15634
15635         fchdir: port to mingw
15636         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
15637         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
15638         opened, then use a substitute.
15639         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
15640         replacement.
15641         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
15642         (_gl_register_fd): No need to check stat if open already filters
15643         all directories.
15644         (fchdir): Fix error condition to match POSIX.
15645         * modules/fchdir (Depends-on): Add sys_stat.
15646         * doc/posix-functions/open.texi (open): Document the limitation.
15647         * modules/fchdir-tests: New file.
15648         * tests/test-fchdir.c: Likewise.
15649
15650         canonicalize: allow cross-testing from cygwin to mingw
15651         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
15652         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
15653         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
15654         Likewise.
15655         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
15656         target does not support symlinks.
15657         * tests/test-canonicalize-lgpl.sh: Likewise.
15658
15659         chown: avoid compilation warning on mingw
15660         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
15661         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
15662         mingw.
15663         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
15664         * modules/chown (Depends-on): Add errno.
15665
15666 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
15667
15668         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
15669         command.
15670
15671 2009-08-31  Jim Meyering  <meyering@redhat.com>
15672
15673         canonicalize: remove useless initialization
15674         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
15675         initialization of local, "end".
15676
15677 2009-08-30  Bruno Haible  <bruno@clisp.org>
15678
15679         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
15680         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
15681         ENOSYS.
15682
15683 2009-08-30  Bruno Haible  <bruno@clisp.org>
15684
15685         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
15686         /usr/xpg4/bin/tr when it exists.
15687         * tests/test-pipe-filter-gi1.sh: Likewise.
15688
15689 2009-08-30  Bruno Haible  <bruno@clisp.org>
15690
15691         Work around deficient /usr/bin/id program on Solaris.
15692         * tests/test-file-has-acl.sh (ID): New variable.
15693         * tests/test-set-mode-acl.sh (ID): Likewise.
15694         * tests/test-copy-acl.sh (ID): Likewise.
15695         * tests/test-copy-file.sh (ID): Likewise.
15696
15697 2009-08-30  Bruno Haible  <bruno@clisp.org>
15698
15699         New module 'xstriconveh'.
15700         * lib/xstriconveh.h: New file.
15701         * lib/xstriconveh.c: New file.
15702         * modules/xstriconveh: New file.
15703
15704 2009-08-30  Bruno Haible  <bruno@clisp.org>
15705
15706         Make it easier to use mem_cd_iconveh.
15707         * lib/striconveh.h (iconveh_t): New type.
15708         (iconveh_open, iconveh_close): New declarations.
15709         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
15710         with a single 'const iconveh_t *' argument.
15711         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
15712         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
15713         with a single 'const iconveh_t *' argument.
15714         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
15715         * tests/test-striconveh.c (main): Update.
15716         * NEWS: Mention the change.
15717
15718 2009-08-30  Bruno Haible  <bruno@clisp.org>
15719
15720         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
15721         problem.
15722
15723 2009-08-30  Bruno Haible  <bruno@clisp.org>
15724
15725         Work around iconv_open problem on Solaris.
15726         * lib/iconv_open-solaris.gperf: New file.
15727         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
15728         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
15729         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
15730         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
15731         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
15732         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
15733
15734 2009-08-29  Jim Meyering  <meyering@redhat.com>
15735
15736         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
15737         * top/maint.mk (cvs-check): Remove target; it was just an alias
15738         to the better-named vc-diff-check.
15739         (maintainer-distcheck): Remove rule.  It was used only from
15740         the (alpha/beta/major) target, and all of its commands but one
15741         were coreutils-specific.
15742         (vc-dist): Remove rule.
15743         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
15744         Run vc-diff-check, not vc-dist.
15745         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
15746
15747 2009-08-27  Bruno Haible  <bruno@clisp.org>
15748
15749         * tests/test-bitrotate.c (main): Remove test that uses a shift count
15750         of 0.
15751
15752 2009-08-27  Bruno Haible  <bruno@clisp.org>
15753
15754         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
15755         compilers.
15756         * doc/func.texi: Document the SunPRO C bug.
15757
15758 2009-08-27  Bruno Haible  <bruno@clisp.org>
15759
15760         Fix link error on Solaris.
15761         * tests/test-parse-duration.c (xstrdup): Remove function.
15762
15763 2009-08-26  Pádraig Brady  <P@draigbrady.com>
15764
15765         ignore-value: handle pointer types, too
15766         * lib/ignore-value.h (__attribute__): Remove definition.
15767         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
15768         of a more concise and more-often effective "(void) i" statement.
15769         (ignore_ptr): New function to suppress warnings from functions that
15770         return pointers, and to make it explicit that one function doesn't
15771         handle all cases.
15772
15773 2009-08-25  Bruno Haible  <bruno@clisp.org>
15774
15775         dup2: work around a Linux bug.
15776         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
15777         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
15778         * doc/posix-functions/dup2.texi: Mention the Linux bug.
15779         Reported by Simon Josefsson.
15780
15781 2009-08-25  Jim Meyering  <meyering@redhat.com>
15782
15783         libguestfs uses gnulib
15784         * users.txt: Add libguestfs.
15785
15786 2009-08-24  Eric Blake  <ebb9@byu.net>
15787
15788         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
15789         * lib/pipe2.c (includes): Add binary-io.h.
15790         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
15791
15792 2009-08-24  Bruno Haible  <bruno@clisp.org>
15793
15794         Tolerate declared but missing accept4 syscall.
15795         * lib/accept4.c (accept4): Invoke original accept4 function first, if
15796         available.
15797         * lib/sys_socket.in.h (accept4): If the function is already present,
15798         override it.
15799         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
15800         * modules/accept4 (Makefile.am): Compile accept4.c always.
15801         Reported by Paolo Bonzini and Eric Blake.
15802
15803 2009-08-23  Bruno Haible  <bruno@clisp.org>
15804
15805         New module 'accept4'.
15806         * lib/sys_socket.in.h (accept4): New declaration.
15807         * lib/accept4.c: New file.
15808         * m4/accept4.m4: New file.
15809         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
15810         GNULIB_ACCEPT4, HAVE_ACCEPT4.
15811         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
15812         HAVE_ACCEPT4.
15813         * modules/accept4: New file.
15814         * doc/glibc-functions/accept4.texi: Mention the new module.
15815
15816 2009-08-24  Jim Meyering  <meyering@redhat.com>
15817
15818         progname: also set global program_invocation_name, when possible
15819         Before this change, a libtool-enabled program that calls glibc's
15820         error function would report the program name as
15821         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
15822         * modules/progname (configure.ac): Check for a declaration of
15823         program_invocation_name.
15824         * lib/progname.c:  Include <errno.h>.
15825         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
15826         Set program_invocation_name.
15827
15828 2009-08-23  Bruno Haible  <bruno@clisp.org>
15829
15830         * lib/dup3.c: Include <string.h>.
15831
15832 2009-08-23  Bruno Haible  <bruno@clisp.org>
15833
15834         * lib/dup3.c (dup3): Test only once whether the system actually exists.
15835         * lib/pipe2.c (pipe2): Likewise.
15836         Suggested by Eric Blake.
15837
15838 2009-08-23  Bruno Haible  <bruno@clisp.org>
15839
15840         Tolerate declared but missing dup3 syscall.
15841         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
15842         * lib/unistd.in.h (dup3): If the function is already present,
15843         override it.
15844         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
15845         * modules/dup3 (Makefile.am): Compile dup3.c always.
15846         Reported by Paolo Bonzini.
15847
15848 2009-08-23  Bruno Haible  <bruno@clisp.org>
15849
15850         Tolerate declared but missing pipe2 syscall.
15851         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
15852         available.
15853         * lib/unistd.in.h (pipe2): If the function is already present,
15854         override it.
15855         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
15856         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
15857         Reported by Paolo Bonzini.
15858
15859 2009-08-23  Bruno Haible  <bruno@clisp.org>
15860
15861         * lib/pipe2.c (pipe2): Move #ifs inside function.
15862
15863 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15864
15865         quotearg: document limitations of quote_these_too
15866         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
15867         those limitations are created.
15868         * lib/quotearg.h (set_char_quoting): Document that digits and
15869         letters that are special after backslash are not permitted.
15870         (quotearg_char): Cross-reference set_char_quoting documentation.
15871
15872 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
15873
15874         quotearg: implement custom_quoting_style
15875         * lib/quotearg.c: (struct quoting_options): Add left_quote and
15876         right_quote fields.
15877         (set_custom_quoting): New public function.
15878         (quotearg_buffer_restyled): Add left_quote and right_quote
15879         arguments, handle them very much like locale quoting, and update
15880         all uses.
15881         (quotearg_n_custom): New public function.
15882         (quotearg_n_custom_mem): New public function.
15883         (quotearg_custom): New public function.
15884         (quotearg_custom_mem): New public function.
15885         * lib/quotearg.h: Prototype and document new public functions.
15886         (enum quoting_style): For escape_quoting_style and
15887         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
15888         ignored even though they're otherwise like c_quoting_style.
15889         Add custom_quoting_style member and document with comparison to
15890         clocale_quoting_style.
15891         * tests/test-quotearg.c (custom_quotes): New array.
15892         (custom_results): New array.
15893         (main): Extend to test custom quoting.
15894
15895 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15896
15897         quotearg: fix right quote escaping when it's in quote_these_too
15898         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
15899         quote, be sure to prepend only one backslash.
15900         * tests/test-quotearg.c (use_quote_double_quotes): New function.
15901         (main): Test it.
15902
15903 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
15904
15905         quotearg-tests: test escaping of embedded locale quotes
15906         * tests/test-quotearg.c (struct result_strings): Add member for
15907         new input.
15908         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
15909         (inputs): Add new input.
15910         (results_g): Add expected results.
15911         (flag_results): Likewise.
15912         (locale_results): Likewise.
15913         (compare_strings): Check those.
15914
15915 2009-08-23  Bruno Haible  <bruno@clisp.org>
15916
15917         Tests for module 'dup3'.
15918         * modules/dup3-tests: New file.
15919         * tests/test-dup3.c: New file.
15920
15921         New module 'dup3'.
15922         * lib/unistd.in.h (dup3): New declaration.
15923         * lib/dup3.c: New file.
15924         * m4/dup3.m4: New file.
15925         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
15926         HAVE_DUP3.
15927         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
15928         * modules/dup3: New file.
15929         * doc/glibc-functions/dup3.texi: Mention the new module.
15930
15931 2009-08-23  Bruno Haible  <bruno@clisp.org>
15932
15933         Tweak the dup2 test.
15934         * tests/test-dup2.c (main): Create the test file empty. Verify that an
15935         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
15936         the test file is still empty. Fix argument order of lseek.
15937
15938 2009-08-23  Bruno Haible  <bruno@clisp.org>
15939
15940         Avoid test link errors when the modules getopt-gnu, gettext are used.
15941         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
15942         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15943
15944 2009-08-23  Bruno Haible  <bruno@clisp.org>
15945
15946         Fix getdtablesize() on mingw.
15947         * lib/getdtablesize.c (getdtablesize): Implement differently.
15948         * lib/unistd.in.h (getdtablesize): Improve comment.
15949
15950 2009-08-23  Bruno Haible  <bruno@clisp.org>
15951
15952         New module 'mkostemp'.
15953         Based on Ulrich Drepper's 2007-08-10 change in glibc.
15954         * lib/stdlib.in.h (mksotemp): New declaration.
15955         * lib/mkostemp.c: New file, from glibc with modifications.
15956         * lib/tempname.h (GT_FILE): Remove outdated comment.
15957         (gen_tempname): Add flags argument.
15958         * lib/tempname.c (__GT_BIGFILE): Remove macro.
15959         (__GT_FILE): Map to 1.
15960         (small_open, large_open): Remove macros.
15961         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
15962         * lib/mkstemp.c (mkstemp): Update.
15963         * lib/mkdtemp.c (mkdtemp): Likewise.
15964         * m4/mkostemp.m4: New file.
15965         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
15966         HAVE_MKOSTEMP.
15967         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
15968         HAVE_MKOSTEMP.
15969         * modules/mkostemp: New file, based on modules/mkstemp.
15970         * doc/glibc-functions/mkostemp.texi: Mention the new module.
15971         * NEWS: Mention the change.
15972
15973 2009-08-23  Bruno Haible  <bruno@clisp.org>
15974
15975         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
15976         Reported by Eric Blake.
15977
15978 2009-08-23  Bruno Haible  <bruno@clisp.org>
15979
15980         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
15981         Reported by Eric Blake.
15982
15983 2009-08-23  Bruno Haible  <bruno@clisp.org>
15984
15985         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
15986         * modules/pipe2 (Depends-on): Likewise.
15987
15988 2009-08-23  Eric Blake  <ebb9@byu.net>
15989
15990         fcntl-h: add O_TTY_INIT support
15991         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
15992         * tests/test-fcntl-h.c (o): Test it.
15993         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
15994
15995         fcntl-h: rename from fcntl, in preparation for fcntl(2)
15996         * modules/fcntl: Move <fcntl.h> header replacement...
15997         * modules/fcntl-h: ...to new name, so as not to collide with
15998         like-named function.
15999         * tests/test-fcntl.c: Rename...
16000         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
16001         * modules/fcntl-tests: Rename...
16002         * modules/fcntl-h-tests: ...to this.  Update test file name.
16003         * modules/chdir-long (Depends-on): Update clients.
16004         * modules/chdir-safer (Depends-on): Likewise.
16005         * modules/fcntl-safer (Depends-on): Likewise.
16006         * modules/fts (Depends-on): Likewise.
16007         * modules/mkancesdirs (Depends-on): Likewise.
16008         * modules/mkdir-p (Depends-on): Likewise.
16009         * modules/open (Depends-on): Likewise.
16010         * modules/savewd (Depends-on): Likewise.
16011         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
16012         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
16013
16014 2009-08-22  Bruno Haible  <bruno@clisp.org>
16015
16016         * modules/binary-io (License): Relicense under LGPL.
16017         * modules/pipe2 (License): Likewise.
16018
16019 2009-08-22  Bruno Haible  <bruno@clisp.org>
16020
16021         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
16022         return value.
16023         * lib/pipe-filter-gi.c (filter_init): Likewise.
16024         Reported by Eric Blake.
16025
16026 2009-08-22  Bruno Haible  <bruno@clisp.org>
16027
16028         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
16029         * modules/pipe (Depends-on): Add pipe2.
16030
16031 2009-08-22  Bruno Haible  <bruno@clisp.org>
16032
16033         Tests for module 'pipe2'.
16034         * modules/pipe2-tests: New file.
16035         * tests/test-pipe2.c: New file.
16036
16037         New module 'pipe2'.
16038         * lib/unistd.in.h (pipe2): New declaration.
16039         * lib/pipe2.c: New file.
16040         * m4/pipe2.m4: New file.
16041         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
16042         HAVE_PIPE2.
16043         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
16044         * modules/pipe2: New file.
16045         * doc/glibc-functions/pipe2.texi: Mention the new module.
16046
16047 2009-08-22  Bruno Haible  <bruno@clisp.org>
16048
16049         Reference some new glibc functions.
16050         * doc/glibc-functions/accept4.texi: New file.
16051         * doc/glibc-functions/dup3.texi: New file.
16052         * doc/glibc-functions/mkostemp.texi: New file.
16053         * doc/glibc-functions/pipe2.texi: New file.
16054         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
16055         (Glibc sys/socket.h): Refer to accept4.
16056         (Glibc unistd.h): Refer to dup3, pipe2.
16057         Reported by Eric Blake.
16058
16059 2009-08-22  Jim Meyering  <meyering@redhat.com>
16060             Bruno Haible  <bruno@clisp.org>
16061
16062         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
16063         This makes it so packages using automake-1.11's silent-rules option
16064         can print e.g., a single "GEN    configmake.h" line, rather than
16065         the 30+ statements that perform the job.  If you want to see the
16066         actual commands, you can still run "make V=1".
16067         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
16068         so that make output is abbreviated when those variables are defined
16069         appropriately.
16070         * modules/argz: Likewise.
16071         * modules/arpa_inet: Likewise.
16072         * modules/byteswap: Likewise.
16073         * modules/configmake: Likewise.
16074         * modules/dirent: Likewise.
16075         * modules/errno: Likewise.
16076         * modules/fcntl: Likewise.
16077         * modules/float: Likewise.
16078         * modules/fnmatch: Likewise.
16079         * modules/getopt-posix: Likewise.
16080         * modules/glob: Likewise.
16081         * modules/iconv_open: Likewise.
16082         * modules/inttypes: Likewise.
16083         * modules/localcharset: Likewise.
16084         * modules/locale: Likewise.
16085         * modules/math: Likewise.
16086         * modules/netdb: Likewise.
16087         * modules/netinet_in: Likewise.
16088         * modules/poll: Likewise.
16089         * modules/posix_spawnp-tests: Likewise.
16090         * modules/sched: Likewise.
16091         * modules/search: Likewise.
16092         * modules/selinux-h: Likewise.
16093         * modules/signal: Likewise.
16094         * modules/spawn: Likewise.
16095         * modules/stdarg: Likewise.
16096         * modules/stdbool: Likewise.
16097         * modules/stddef: Likewise.
16098         * modules/stdint: Likewise.
16099         * modules/stdio: Likewise.
16100         * modules/stdlib: Likewise.
16101         * modules/string: Likewise.
16102         * modules/strings: Likewise.
16103         * modules/sys_file: Likewise.
16104         * modules/sys_ioctl: Likewise.
16105         * modules/sys_select: Likewise.
16106         * modules/sys_socket: Likewise.
16107         * modules/sys_stat: Likewise.
16108         * modules/sys_time: Likewise.
16109         * modules/sys_times: Likewise.
16110         * modules/sys_utsname: Likewise.
16111         * modules/sys_wait: Likewise.
16112         * modules/sysexits: Likewise.
16113         * modules/time: Likewise.
16114         * modules/unistd: Likewise.
16115         * modules/wchar: Likewise.
16116         * modules/wctype: Likewise.
16117
16118 2009-08-22  Jim Meyering  <meyering@redhat.com>
16119
16120         announce-gen: detect write failure
16121         * build-aux/announce-gen: Add Coda at end.
16122         Remove equivalent-but-more-verbose block at top.
16123
16124 2009-08-19  Akim Demaille  <demaille@gostai.com>
16125
16126         bootstrap: --help to stdout.
16127         * bootstrap (usage): Don't send --help to stderr.
16128         Use a here doc instead of a long string.
16129
16130 2009-08-21  Eric Blake  <ebb9@byu.net>
16131
16132         test-popen-safer: split from test-popen
16133         * tests/test-popen.c (main): Move...
16134         * tests/test-popen.h: ...into new file.
16135         * tests/test-popen-safer2.c: New file.
16136         * modules/popen-tests (Files): Add test-popen.h.
16137         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
16138         Suggested by Bruno Haible.
16139
16140         test-fcntl-safer: split from test-open
16141         * tests/test-open.c (main): Move...
16142         * tests/test-open.h: ...into new file.
16143         * tests/test-fcntl-safer.c: New file.
16144         * modules/open-tests (Files): Add test-open.h.
16145         * modules/fcntl-safer-tests: New file.
16146         Suggested by Bruno Haible.
16147
16148         test-fopen-safer: split from test-fopen
16149         * tests/test-fopen.c (main): Move...
16150         * tests/test-fopen.h: ...into new file.
16151         * tests/test-fopen-safer.c: New file.
16152         * modules/fopen-tests (Files): Add test-fopen.h.
16153         * modules/fopen-safer-tests: New file.
16154         Suggested by Bruno Haible.
16155
16156 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
16157
16158         popen-safer: test O_CLOEXEC at run-time.
16159         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
16160
16161 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
16162
16163         fcntl: move more flags to the header
16164         * lib/cloexec.c: Do not define FD_CLOEXEC here.
16165         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
16166         * lib/fcntl.in.h: Do both things here.
16167
16168 2009-08-21  Jim Meyering  <meyering@redhat.com>
16169
16170         consistently remove $@-t before redirecting to it
16171         * modules/argz: Remove $@-t and $@ before redirecting to the former.
16172         * modules/alloca-opt: Likewise.
16173         * modules/byteswap: Likewise.
16174         * modules/fnmatch: Likewise.
16175         * modules/getopt-posix: Likewise.
16176         * modules/glob: Likewise.
16177         * modules/poll: Likewise.
16178         * modules/posix_spawnp-tests: Likewise.
16179         * modules/sys_socket: Likewise.
16180         * modules/sysexits: Likewise.
16181
16182 2009-08-21  Eric Blake  <ebb9@byu.net>
16183
16184         popen: simplify access to original popen
16185         * lib/popen.c (rpl_popen): No need to worry about popen being a
16186         macro.
16187         Reported by Bruno Haible.
16188
16189 2009-08-20  Eric Blake  <ebb9@byu.net>
16190
16191         build: avoid some compiler warnings
16192         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
16193         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
16194         type.
16195         (new_exclude_segment, excluded_file_pattern_p)
16196         (excluded_file_name_p): Reduce scope.
16197         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
16198         old-style declaration.
16199
16200 2009-08-20  Simon Josefsson  <simon@josefsson.org>
16201
16202         * tests/test-exclude1.sh: Handle Windows EOL.
16203         * tests/test-exclude2.sh: Likewise.
16204         * tests/test-exclude3.sh: Likewise.
16205         * tests/test-exclude4.sh: Likewise.
16206         * tests/test-exclude5.sh: Likewise.
16207         * tests/test-exclude6.sh: Likewise.
16208         * tests/test-exclude7.sh: Likewise.
16209
16210 2009-08-19  Akim Demaille  <demaille@gostai.com>
16211
16212         bootstrap: find sha1sum when named gsha1sum.
16213         * bootstrap (find_tool): New.
16214         ($SHA1SUM): New.
16215         Use it.
16216
16217 2009-08-20  Jim Meyering  <meyering@redhat.com>
16218
16219         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
16220         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
16221         expression that converts "." in a file name to "\." in the resulting
16222         regexp.  Start with a dummy statement, so that prior shell variable
16223         definitions are expanded portably.  Reported by Simon Josefsson.
16224
16225 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
16226
16227         Fix polling for writeability of a screen buffer.
16228         * lib/poll.c: Distinguish input and screen buffers for the
16229         Win32 implementation.
16230         * lib/select.c: Likewise.
16231
16232 2009-08-19  Eric Blake  <ebb9@byu.net>
16233
16234         popen-safer: prevent popen from clobbering std descriptors
16235         * modules/popen-safer: New file.
16236         * lib/popen-safer.c: Likewise.
16237         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
16238         * lib/stdio--.h (popen): Provide override.
16239         * lib/stdio-safer.h (popen_safer): Provide declaration.
16240         * tests/test-popen.c (includes): Partially test this.
16241         * modules/popen-safer-tests: New file, for more tests.
16242         * tests/test-popen-safer.c: Likewise.
16243         * MODULES.html.sh (file stream based Input/Output): Mention it.
16244
16245         tests: test some of the *-safer modules
16246         * modules/fopen-safer (Depends-on): Add fopen.
16247         * modules/fcntl-safer (Depends-on): Add fcntl.
16248         * modules/stdlib-safer (Depends-on): Add stdlib.
16249         (configure.ac): Set indicator.
16250         * modules/unistd-safer (configure.ac): Likewise.
16251         * modules/tmpfile-safer (configure.ac): Likewise.
16252         (Depends-on): Add tmpfile.
16253         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
16254         active.
16255         * tests/test-fopen.c (includes): Test safer versions when they are
16256         in use.
16257         * tests/test-open.c (includes): Likewise.
16258
16259         popen: fix cygwin 1.5 bug when stdin closed
16260         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
16261         * modules/popen: New file.
16262         * modules/popen-tests: Likewise.
16263         * tests/test-popen.c: Likewise.
16264         * m4/popen.m4: Likewise.
16265         * lib/popen.c: Likewise.
16266         * lib/stdio.in.h (popen): New declaration.
16267         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
16268         * modules/stdio (Makefile.am): Likewise.
16269         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
16270
16271 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
16272
16273         maint.mk: give full control over update-copyright exclusions
16274         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
16275         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
16276         (update-copyright): Don't force inclusion of top-level
16277         ChangeLog.  Don't force exclusion of all COPYING files, but make
16278         them the default exclusion instead.
16279
16280 2009-08-16  Bruno Haible  <bruno@clisp.org>
16281
16282         Fix test failures on Solaris 10.
16283         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
16284         tests when Solaris iconv() is used.
16285         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
16286         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
16287         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
16288         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
16289         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
16290
16291 2009-08-16  Bruno Haible  <bruno@clisp.org>
16292
16293         Fix test failures on Solaris 10.
16294         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
16295         'tr' program and pass it as first argument.
16296         * tests/test-pipe-filter-gi1.sh: Likewise.
16297         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
16298         program as first argument.
16299         * tests/test-pipe-filter-gi1.c (main): Likewise.
16300
16301 2009-08-16  Eric Blake  <ebb9@byu.net>
16302
16303         fpurge: fix previous commits
16304         * modules/fpurge (Makefile.am): Make replacement conditional,
16305         partially reverting 2007-04-29 change; missed in previous
16306         attempt.
16307         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
16308         is missing.
16309
16310 2009-08-16  Bruno Haible  <bruno@clisp.org>
16311
16312         Clarify fpurge's effect on the file position.
16313         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
16314         * tests/test-fpurge.c (main): Make a second pass for checking the file
16315         position.
16316
16317 2009-08-16  Bruno Haible  <bruno@clisp.org>
16318
16319         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
16320         declaration of fpurge is missing.
16321         * tests/test-fpurge.c (main): Check that the file has not more contents
16322         than expected. Close the file before removing it.
16323
16324 2009-08-15  Eric Blake  <ebb9@byu.net>
16325
16326         fpurge: don't wrap working cygwin implementation
16327         * lib/fpurge.c (fpurge): Fix comment typo.
16328         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
16329         1.7 to avoid replacement.
16330         * tests/test-fpurge.c (main): Enhance test.
16331
16332 2009-08-15  Eric Blake  <ebb9@byu.net>
16333         and Jim Meyering  <meyering@redhat.com>
16334
16335         test-update-copyright: skip if perl is insufficient
16336         * tests/test-update-copyright.sh: Failure to run maintainer tool
16337         should not cause testsuite failure on cygwin 1.5.
16338
16339 2009-08-14  Eric Blake  <ebb9@byu.net>
16340
16341         doc: mention more functions added in cygwin 1.7.0
16342         * doc/posix-headers/limits.texi (limits.h): Update for recent
16343         cygwin additions.
16344         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
16345         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
16346         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
16347         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
16348         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
16349
16350 2009-08-14  Eric Blake  <ebb9@byu.net>
16351
16352         maint.mk: simplify update-copyright rule
16353         * top/maint.mk (update-copyright-local): Delete, and document how
16354         to do it in cfg.mk instead.
16355         (update-copyright-exclude-regexp): Delete, and document how to do
16356         it in .x-update-copyright instead.
16357         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
16358         exclude ChangeLog.
16359
16360 2009-08-14  Bruno Haible  <bruno@clisp.org>
16361
16362         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
16363
16364 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
16365
16366         maint.mk: support update-copyright-env
16367         * top/maint.mk (update-copyright-env): Define place-holder.
16368         (update-copyright): Expand $(update-copyright-env) before
16369         invoking update-copyright.
16370
16371 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
16372
16373         update-copyright: implement forced reformatting
16374         * build-aux/update-copyright: Implement and document
16375         UPDATE_COPYRIGHT_FORCE.
16376         * tests/test-update-copyright.sh: Test it.
16377
16378 2009-08-14  Eric Blake  <ebb9@byu.net>
16379         and Bruno Haible  <bruno@clisp.org>
16380
16381         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
16382         * tests/test-locale.c: Revert previous patch related to NULL.
16383         * tests/test-stdio.c: Likewise.
16384         * tests/test-stdlib.c: Likewise.
16385         * tests/test-string.c: Likewise.
16386         * tests/test-unistd.c: Likewise.
16387         * modules/time-tests (Depends-on): Add verify.
16388         * modules/wchar-tests (Depends-on): Likewise.
16389         * tests/test-time.c: Test for NULL compliance.
16390         * tests/test-wchar.c: Likewise.
16391         * modules/locale (Depends-on): Add stddef.
16392         * modules/stdio (Depends-on): Likewise.
16393         * modules/stdlib (Depends-on): Likewise.
16394         * modules/string (Depends-on): Likewise.
16395         * modules/time (Depends-on): Likewise.
16396         * modules/unistd (Depends-on): Likewise.
16397         * modules/wchar (Depends-on): Likewise.
16398         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
16399         * lib/stdlib.in.h (includes): Likewise.
16400         * lib/string.in.h (includes): Likewise.
16401         * lib/time.in.h (includes): Likewise.
16402         * lib/unistd.in.h (includes): Likewise.
16403         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
16404         replaced.
16405         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
16406         * m4/stddef_h.m4: New file.
16407         * modules/stddef: Likewise.
16408         * lib/stddef.in.h: Likewise.
16409         * modules/stddef-tests: Likewise.
16410         * tests/test-stddef.c: Likewise.
16411         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
16412         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
16413         * doc/posix-headers/locale.texi (locale.h): Likewise.
16414         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
16415         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
16416         * doc/posix-headers/string.texi (string.h): Likewise.
16417         * doc/posix-headers/time.texi (time.h): Likewise.
16418         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
16419         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
16420
16421 2009-08-14  Eric Blake  <ebb9@byu.net>
16422
16423         doc: improve git diff of texinfo files
16424         * .gitattributes: Add rule for *.texi files, with hint on how to
16425         use it.
16426         Copied from m4, and based on a report by Bruno Haible.
16427
16428 2009-08-14  Bruno Haible  <bruno@clisp.org>
16429
16430         Disable multithread support by default on Cygwin 1.5.x for real.
16431         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
16432
16433 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
16434
16435         update-copyright: much ado about intervals
16436         * build-aux/update-copyright: Implement and document
16437         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
16438         of copyright year intervals.
16439         Also, document UPDATE_COPYRIGHT_YEAR.
16440         * tests/test-update-copyright.sh: Test it.
16441
16442         update-copyright: convert 2-digit to 4-digit years
16443         * build-aux/update-copyright: Implement and document.
16444         * tests/test-update-copyright.sh: Update.
16445
16446 2009-08-14  Jim Meyering  <meyering@redhat.com>
16447
16448         test-exclude: avoid coreutils "make check" failure
16449         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
16450         just as in test-argmatch.c.
16451
16452 2009-08-13  Eric Blake  <ebb9@byu.net>
16453
16454         test-dup2: fix bad assumption
16455         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
16456         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
16457
16458         test-version-etc: fix CRLF portability issue
16459         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
16460         recognize \r.
16461         * tests/test-argp-version-etc-1.sh: Likewise.
16462
16463         getopt: update client modules
16464         * modules/argp (Depends-on): Use getopt-gnu.
16465         * modules/git-merge-changelog (Depends-on): Likewise.
16466         * modules/long-options (Depends-on): Likewise.
16467         * modules/xstrtol (Depends-on): Likewise.
16468
16469 2009-08-13  Simon Josefsson  <simon@josefsson.org>
16470
16471         * tests/test-version-etc.sh: Don't fail on different
16472         project/version.  Don't fail on CRLF differences.  Rewrite to use
16473         multiple -e instead of multiple sed forks, suggested by Eric Blake
16474         <ebb9@byu.net>.
16475         * tests/test-argp-version-etc-1.sh: Likewise.
16476
16477 2009-08-13  Simon Josefsson  <simon@josefsson.org>
16478
16479         * tests/test-version-etc.sh: Don't fail on different
16480         project/version.
16481
16482 2009-08-12  Bruno Haible  <bruno@clisp.org>
16483
16484         Tests for modules 'getopt-posix', 'getopt-gnu'.
16485         * modules/getopt-posix-tests: New file.
16486         * tests/test-getopt.c: New file.
16487         * tests/test-getopt.h: New file.
16488         * tests/test-getopt_long.h: New file.
16489
16490         New modules 'getopt-posix', 'getopt-gnu'.
16491         * modules/getopt-gnu: New file, renamed from modules/getopt.
16492         * modules/getopt-posix: New file.
16493         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
16494         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
16495         (gl_GETOPT): Remove macro.
16496         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
16497         Disable the test against BSD systems that declare optreset. Test
16498         against mingw bug. Test against lack of support of optional arguments
16499         on many platforms.
16500         * doc/glibc-headers/getopt.texi: Update module name and list of
16501         relevant platforms.
16502         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
16503         'getopt-gnu' and more portability problems.
16504         * NEWS: Mention the changes.
16505
16506 2009-08-12  Bruno Haible  <bruno@clisp.org>
16507
16508         Ensure that optarg etc. get declared by <unistd.h>.
16509         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
16510         AC_USE_SYSTEM_EXTENSIONS.
16511         * modules/getopt (Depends-on): Add 'extensions'.
16512
16513 2009-08-12  Bruno Haible  <bruno@clisp.org>
16514
16515         Avoid test link errors.
16516         * modules/pipe-filter-ii-tests (Makefile.am): Define
16517         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
16518         * modules/pipe-filter-gi-tests (Makefile.am): Define
16519         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
16520         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16521
16522 2009-08-12  Bruno Haible  <bruno@clisp.org>
16523
16524         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
16525         gl_GETOPT_SUBSTITUTE before.
16526         (gl_GETOPT): Use it.
16527         * m4/argp.m4 (gl_ARGP): Update.
16528         Reported by Sergey Poznyakoff.
16529
16530         * m4/getopt.m4: Reorder macros.
16531         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
16532         (gl_GETOPT_SUBSTITUTE): Remove macro.
16533
16534 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
16535
16536         Minor improvement in gitlog-to-changelog
16537
16538         * build-aux/gitlog-to-changelog: New option `--format' makes
16539         output format string configurable.
16540
16541 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
16542
16543         Optimize exclude: use hash tables for non-wildcard patterns.
16544
16545         * lib/exclude.c: Include hash.h and mbuiter.h
16546         (struct exclude_pattern, exclude_segment): New data types.
16547         (struct exclude): Rewrite.
16548         (fnmatch_pattern_has_wildcards): New function.
16549         (new_exclude_segment, free_exclude_segment): New functions.
16550         (excluded_file_pattern_p, excluded_file_name_p): New functions.
16551         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
16552         * lib/exclude.h (is_fnmatch_pattern): New prototype.
16553         * modules/exclude: Depend on hash and mbuiter.
16554
16555         * modules/exclude-tests: New file.
16556         * tests/test-exclude.c: New file.
16557         * tests/test-exclude1.sh: New file.
16558         * tests/test-exclude2.sh: New file.
16559         * tests/test-exclude3.sh: New file.
16560         * tests/test-exclude4.sh: New file.
16561         * tests/test-exclude5.sh: New file.
16562         * tests/test-exclude6.sh: New file.
16563         * tests/test-exclude7.sh: New file.
16564
16565 2009-08-12  Bruno Haible  <bruno@clisp.org>
16566
16567         Ensure that getopt() gets declared by <unistd.h>.
16568         * lib/unistd.in.h: Conditionally include getopt.h.
16569         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
16570         Set GNULIB_UNISTD_H_GETOPT.
16571         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16572         GNULIB_UNISTD_H_GETOPT.
16573         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
16574
16575 2009-08-12  Bruno Haible  <bruno@clisp.org>
16576
16577         Clarify logic.
16578         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
16579         gl_replace_getopt instead of GETOPT_H.
16580
16581 2009-08-12  Bruno Haible  <bruno@clisp.org>
16582
16583         * m4/getopt.m4: Add comments.
16584
16585 2009-08-12  Bruno Haible  <bruno@clisp.org>
16586
16587         Disable multithread support by default on Cygwin 1.5.x.
16588         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
16589         set gl_use_threads=no if not specified otherwise.
16590
16591 2009-08-11  Bruno Haible  <bruno@clisp.org>
16592
16593         Avoid compilation error on NetBSD 5.0.
16594         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
16595         * tests/test-stdio.c: Likewise.
16596         * tests/test-stdlib.c: Likewise.
16597         * tests/test-string.c: Likewise.
16598         * tests/test-unistd.c: Likewise.
16599         Reported by Greg Troxel <gdt@ir.bbn.com>
16600         at <https://savannah.gnu.org/support/?106973>.
16601
16602 2009-08-11  Bruno Haible  <bruno@clisp.org>
16603
16604         * modules/dup2-tests (Depends-on): Remove close.
16605
16606         Undo 2009-07-19 commit.
16607         * modules/acl-tests (Depends-on): Remove close.
16608         * modules/binary-io-tests (Depends-on): Likewise.
16609         * modules/closein-tests (Depends-on): Likewise.
16610         * modules/flock-tests (Depends-on): Likewise.
16611         * modules/fsync-tests (Depends-on): Likewise.
16612         * modules/lseek-tests (Depends-on): Likewise.
16613         * modules/pipe-tests (Depends-on): Likewise.
16614         * modules/posix_spawn-tests (Depends-on): Likewise.
16615         * modules/posix_spawnp-tests (Depends-on): Likewise.
16616         * modules/stat-time-tests (Depends-on): Likewise.
16617         * modules/yesno-tests (Depends-on): Likewise.
16618
16619 2009-08-10  Bruno Haible  <bruno@clisp.org>
16620
16621         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
16622
16623 2009-08-10  Bruno Haible  <bruno@clisp.org>
16624
16625         Fix a gcc warning.
16626         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
16627
16628 2009-08-10  Bruno Haible  <bruno@clisp.org>
16629
16630         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
16631         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
16632         not only the first time.
16633         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
16634         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
16635         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
16636         is 1, not only the the first time.
16637
16638 2009-08-10  Bruno Haible  <bruno@clisp.org>
16639
16640         Make it possible to use module 'gethostname' without module 'close'.
16641         * lib/unistd.in.h (close): Evoke a link error only if
16642         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
16643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16644         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16645         * modules/unistd (Makefile.am): Substitute
16646         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16647         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
16648         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
16649         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
16650         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16651         * modules/sys_ioctl (Makefile.am): Substitute
16652         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16653         * modules/socket (configure.ac): On native Windows, set
16654         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
16655         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
16656         Reported by Sam Steingold <sds@gnu.org>.
16657
16658 2009-08-10  Bruno Haible  <bruno@clisp.org>
16659
16660         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
16661         * modules/ioctl (configure.ac): Likewise.
16662
16663 2009-08-10  Bruno Haible  <bruno@clisp.org>
16664
16665         Avoid collision between gnulib wrapper and libintl wrapper.
16666         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
16667         already defined in intl/printf.c.
16668         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
16669         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
16670
16671 2009-08-09  Bruno Haible  <bruno@clisp.org>
16672
16673         Make <sys/select.h> really self-contained, also on Solaris 10.
16674         * lib/sys_select.in.h: Include <string.h>.
16675         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
16676         Solaris 10 problem.
16677         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
16678         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
16679         Reported by Jim Meyering.
16680
16681 2009-08-09  Bruno Haible  <bruno@clisp.org>
16682
16683         Avoid warnings from 'aclocal' that are due to a use of macro name
16684         AM_XGETTEXT_OPTION that is not defined in automake.
16685         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
16686         automake.
16687         * modules/error (configure.ac): Likewise.
16688         * modules/propername (configure.ac): Likewise.
16689         * modules/vasprintf (configure.ac): Likewise.
16690         * modules/verror (configure.ac): Likewise.
16691         * modules/xprintf (configure.ac): Likewise.
16692         * modules/xvasprintf (configure.ac): Likewise.
16693
16694 2009-08-08  Bruno Haible  <bruno@clisp.org>
16695
16696         Avoid compilation error in C++ mode.
16697         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
16698         Reported by Sam Steingold <sds@gnu.org>.
16699
16700 2009-08-08  Bruno Haible  <bruno@clisp.org>
16701
16702         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
16703         for the various Unix platforms.
16704         * doc/posix-headers/limits.texi: Update platforms list regarding
16705         HOST_NAME_MAX.
16706         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16707
16708 2009-08-07  Jim Meyering  <meyering@redhat.com>
16709
16710         selinux-at: fix typo in a comment
16711         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
16712         Spotted by Paolo Bonzini.
16713
16714         selinux-at: remove redundant m4 code, add documentation
16715         * modules/selinux-at (configure.ac): Remove redundant code.
16716         LIB_SELINUX is already set via the dependent module, selinux-h.
16717         (Include): Add quotes around selinux-at.h.
16718         * lib/selinux-at.h: Add documentation.
16719         Reported by Bruno Haible in
16720         http://marc.info/?l=gnulib-bug&m=124958988300749
16721
16722 2009-08-07  Bruno Haible  <bruno@clisp.org>
16723
16724         Avoid link error on MacOS X 10.3 and 10.4.
16725         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
16726         on non-ELF systems.
16727         * lib/argp-pv.c (argp_program_version): Likewise.
16728         Reported by Simon Josefsson.
16729
16730 2009-08-07  Simon Josefsson  <simon@josefsson.org>
16731
16732         * tests/test-version-etc.sh: Use $EXEEXT.
16733
16734 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
16735
16736         update-copyright: update documentation to point to maint.mk
16737         * build-aux/update-copyright: Here.
16738
16739 2009-08-06  Jim Meyering  <meyering@redhat.com>
16740
16741         maint.mk: support update-copyright-local
16742         * top/maint.mk (update-copyright-local): Define place-holder.
16743         (update-copyright): Depend on $(update-copyright-local).
16744
16745 2009-08-06  Jim Meyering  <meyering@redhat.com>
16746
16747         selinux-at: new module
16748         Initially written for coreutils, this module will soon be
16749         used by findutils, too.
16750         * MODULES.html.sh [Misc]: Add selinux-at.
16751         * lib/selinux-at.h: New file, from coreutils.
16752         * lib/selinux-at.c: Likewise.
16753         * modules/selinux-at: Likewise.
16754         (License): Change from LGPL to GPL, since it depends
16755         on the GPL'd openat module.
16756
16757         doc: update README
16758         * README: Remove references to cogito.
16759         Remove cvs-repo-updating instructions from 2007.
16760         Don't imply that CVS is better if you have limited disk space.
16761
16762 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16763
16764         update-copyright: support C-style comments
16765         * build-aux/update-copyright: Implement and document.
16766         * tests/test-update-copyright.sh: Test.
16767
16768 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16769
16770         update-copyright: support omitted "(C)"
16771         * build-aux/update-copyright: Implement and document.  Also,
16772         allow variable whitespace before "(C)".
16773         * tests/test-update-copyright.sh: Test.
16774
16775 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16776
16777         update-copyright: don't trip on non-FSF copyright statements
16778         * build-aux/update-copyright: Fix so that the first correctly
16779         formatted FSF copyright statement is recognized no matter what
16780         appears before it.  Update documentation.
16781         * tests/test-update-copyright.sh: Test that.
16782
16783 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16784
16785         update-copyright: clean up code a little
16786         * build-aux/update-copyright: Append "_re" to the name of any
16787         variable holding a regular expression.
16788         Replace "old" and "new" with "stmt" in variable names.
16789         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
16790         handled correctly.
16791         Format code more consistently.
16792
16793 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
16794
16795         update-copyright-tests: improve portability
16796         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
16797         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
16798
16799 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
16800
16801         update-copyright: support @copyright{} and &copy;
16802         * build-aux/update-copyright: Implement and document.
16803         * tests/test-update-copyright.sh: Test.
16804
16805 2009-08-04  Jim Meyering  <meyering@redhat.com>
16806
16807         update-copyright-tests: correctly test EOL=\r\n handling
16808         * tests/test-update-copyright.sh: Put \r at the end of some lines
16809         for the dos-eol tests.  Based on a patch by Joel E. Denny.
16810
16811         maint.mk: make update-copyright exclusion list more configurable
16812         * top/maint.mk (update-copyright): Default to excluding COPYING,
16813         but allow an override, in case someone does want to update that file.
16814
16815         maint.mk: don't update copyright date in COPYING
16816         * top/maint.mk (update-copyright): Exclude COPYING.
16817
16818         maint.mk: add a copyright-updating rule
16819         * top/maint.mk (update-copyright): New rule.
16820         Derived from coreutils/Makefile.am.
16821
16822         update-copyright: rename some variables
16823         * build-aux/update-copyright: Rename a few variables for clarity.
16824         Tweak syntax.  List Joel E. Denny as coauthor.
16825
16826 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
16827
16828         update-copyright: fix bug for 2-digit last year and add tests
16829         * build-aux/update-copyright: Fix bug.
16830         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
16831         specified.
16832         * modules/update-copyright-tests: New
16833         * tests/test-update-copyright.sh: New.
16834
16835 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16836
16837         update-copyright: handle leading tabs in line prefix
16838         * build-aux/update-copyright: Count leading tabs as 8 spaces
16839         when computing margin.  This helps with the formatting of
16840         ChangeLogs, for example.
16841         Fix documentation a little.
16842
16843 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16844
16845         update-copyright: support EOL=\r\n
16846         * build-aux/update-copyright: Implement that.
16847
16848 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
16849
16850         update-copyright: automatically format copyright statements
16851         * build-aux/update-copyright: Implement that.
16852         Also, be a little more predictable and safer by always failing
16853         when the full copyright format is not perfectly recognized as an
16854         unbroken whole.  Discussed at
16855         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
16856         Rewrite documentation.
16857
16858 2009-08-03  Bruno Haible  <bruno@clisp.org>
16859
16860         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
16861
16862 2009-08-02  Bruno Haible  <bruno@clisp.org>
16863
16864         Tests for module 'uname'.
16865         * modules/uname-tests: New file.
16866         * tests/test-uname.c: New file.
16867
16868         New module 'uname'.
16869         * lib/uname.c: New file.
16870         * m4/uname.m4: New file.
16871         * modules/uname: New file.
16872         * doc/posix-functions/uname.texi: Mention the new module.
16873
16874 2009-08-02  Bruno Haible  <bruno@clisp.org>
16875
16876         Tests for module 'sys_utsname'.
16877         * modules/sys_utsname-tests: New file.
16878         * tests/test-sys_utsname.c: New file.
16879
16880         New module 'sys_utsname'.
16881         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
16882         * m4/sys_utsname_h.m4: New file.
16883         * modules/sys_utsname: New file.
16884         * doc/posix-headers/sys_utsname.texi: Mention the new module.
16885
16886 2009-08-02  Bruno Haible  <bruno@clisp.org>
16887
16888         Implicitly initialize the sockets library.
16889         * lib/gethostname.c: Include sockets.h.
16890         (rpl_gethostname): Invoke gl_sockets_startup.
16891         * lib/socket.c: Include sockets.h.
16892         (rpl_socket): Invoke gl_sockets_startup.
16893         * modules/gethostname (Depends-on): Add sockets.
16894         * modules/socket (Depends-on): Likewise.
16895         * tests/test-poll.c: Don't include sockets.h.
16896         (main): Don't invoke gl_sockets_startup.
16897         * tests/test-select.c: Don't include sockets.h.
16898         (main): Don't invoke gl_sockets_startup.
16899
16900 2009-08-02  Bruno Haible  <bruno@clisp.org>
16901
16902         Allow multiple calls to gl_sockets_startup.
16903         * lib/sockets.c (initialized_sockets_version): New variable.
16904         (gl_sockets_startup): Do nothing if already called for this or a higher
16905         version.
16906         (gl_sockets_cleanup): Reset initialized_sockets_version.
16907
16908 2009-08-03  Simon Josefsson  <simon@josefsson.org>
16909
16910         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
16911         different project/version.
16912
16913 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
16914             Bruno Haible  <bruno@clisp.org>
16915
16916         Tests for module 'pipe-filter-gi'.
16917         * modules/pipe-filter-gi-tests: New file.
16918         * tests/test-pipe-filter-gi1.sh: New file.
16919         * tests/test-pipe-filter-gi1.c: New file.
16920         * tests/test-pipe-filter-gi2.sh: New file.
16921         * tests/test-pipe-filter-gi2-main.c: New file.
16922         * tests/test-pipe-filter-gi2-child.c: New file.
16923
16924         New module 'pipe-filter-gi'.
16925         * lib/pipe-filter-gi.c: New file.
16926         * modules/pipe-filter-gi: New file.
16927
16928 2009-08-02  Bruno Haible  <bruno@clisp.org>
16929             Paolo Bonzini  <bonzini@gnu.org>
16930
16931         Tests for module 'pipe-filter-ii'.
16932         * modules/pipe-filter-ii-tests: New file.
16933         * tests/test-pipe-filter-ii1.sh: New file.
16934         * tests/test-pipe-filter-ii1.c: New file.
16935         * tests/test-pipe-filter-ii2.sh: New file.
16936         * tests/test-pipe-filter-ii2-main.c: New file.
16937         * tests/test-pipe-filter-ii2-child.c: New file.
16938
16939         New module 'pipe-filter-ii'.
16940         * lib/pipe-filter.h: New file.
16941         * lib/pipe-filter-ii.c: New file.
16942         * lib/pipe-filter-aux.h: New file.
16943         * modules/pipe-filter-ii: New file.
16944
16945 2009-08-02  Simon Josefsson  <simon@josefsson.org>
16946
16947         * lib/gc-libgcrypt.c: Change copyright to FSF.
16948         * lib/gc-gnulib.c: Likewise.
16949
16950 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
16951
16952         * lib/gethostname.c: Include limits.h.
16953
16954 2009-08-02  Simon Josefsson  <simon@josefsson.org>
16955             Bruno Haible  <bruno@clisp.org>
16956
16957         Ensure HOST_NAME_MAX as part of the gethostname module.
16958         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
16959         define also HOST_NAME_MAX.
16960         * tests/test-gethostname.c: Include <limits.h>.
16961         (main): Check also HOST_NAME_MAX.
16962         * doc/posix-headers/limits.texi: Document the mingw problem.
16963
16964 2009-08-02  Bruno Haible  <bruno@clisp.org>
16965
16966         * lib/gethostname.c (gethostname): Fix handling of large len argument.
16967         Add comments.
16968
16969 2009-03-31  Simon Josefsson  <simon@josefsson.org>
16970
16971         * lib/gethostname.c: Add Windows wrapper.
16972         * m4/gethostname.m4: Look for gethostname in -lws2_32.
16973         * modules/gethostname: Depend on sys_socket & errno, for also
16974         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
16975         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
16976
16977 2009-07-31  Jim Meyering  <meyering@redhat.com>
16978
16979         getloadavg: fix symbol name in comment
16980         * lib/getloadavg.c: Correct a typo I introduced when adding
16981         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
16982         Matt Kraai spotted the problem.
16983
16984 2009-07-29  Matt Kraai  <mkraai@beckman.com>
16985
16986         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
16987         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
16988         code also if ! defined N_NAME_POINTER.
16989         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
16990         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
16991         but the n_name member is a 12-byte array.
16992
16993 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
16994
16995         update-copyright: generalize comment handling
16996         * build-aux/update-copyright: Handle copyright statements
16997         within more comment styles.
16998         Document usage.
16999         Report any file with an external copyright holder or parse failure.
17000
17001 2009-07-29  Jim Meyering  <meyering@redhat.com>
17002
17003         mktime: correct setting of REPLACE_MKTIME
17004         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
17005
17006         update-copyright: new module
17007         * modules/update-copyright: New file.
17008         * build-aux/update-copyright: New file.
17009         * MODULES.html.sh (maint+release support): Add update-copyright.
17010
17011 2009-07-27  Bruno Haible  <bruno@clisp.org>
17012
17013         Fix compilation error when <ctime> is used and mktime is replaced.
17014         * lib/time.in.h (mktime): New declaration.
17015         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
17016         REPLACE_MKTIME instead of defining mktime in config.h.
17017         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
17018         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
17019         Reported by Ross McFarland <rwmcfa1@neces.com>.
17020
17021 2009-07-27  Bruno Haible  <bruno@clisp.org>
17022
17023         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
17024         Reported by Matt Kraai <mkraai@beckman.com>.
17025
17026 2009-07-25  Jim Meyering  <meyering@redhat.com>
17027
17028         maint.mk: avoid warnings about missing files
17029         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
17030         diagnostic when .prev-version does not exist.
17031         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
17032         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
17033         nonexistent cfg.mk.
17034         Suggestions from Simon Josefsson.
17035
17036 2009-07-25  Bruno Haible  <bruno@clisp.org>
17037
17038         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
17039         defined as macros. Needed on QNX 6.4.1.
17040         Reported by Matt Kraai <mkraai@beckman.com>.
17041
17042 2009-07-23  Jim Meyering  <meyering@redhat.com>
17043
17044         maint.mk: invoke "make dist" with a working value of XZ_OPT
17045         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
17046
17047 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
17048
17049         Make fseeko.c compile on QNX.
17050         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
17051
17052 2009-07-22  Peter Simons  <simons@cryp.to>
17053
17054         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
17055         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
17056         * lib/md4.h: Likewise.
17057         * lib/md5.h: Likewise.
17058         * lib/sha1.h: Likewise.
17059         * lib/sha256.h: Likewise.
17060         * lib/sha512.h: Likewise.
17061
17062         tests-sha1: don't assign literal string to 'char *' variable
17063         * tests/test-sha1.c (main): Declare locals with "const" to match
17064         attributes of the right hand side.
17065
17066 2009-07-21  Eric Blake  <ebb9@byu.net>
17067
17068         dup2: fix more mingw problems
17069         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
17070         fd to itself.
17071         * doc/posix-functions/dup2.texi (dup2): Document the bug.
17072         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
17073         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
17074         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
17075         care of mingw bugs.
17076
17077 2009-07-21  Jim Meyering  <meyering@redhat.com>
17078
17079         vc-list-files: avoid failure when /bin/sh is dash
17080         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
17081         On some Debian based systems, /bin/sh is a symlink to dash, and running
17082         this command would omit the "/" following each 'tests' prefix:
17083           dash -x build-aux/vc-list-files -C . tests
17084         That is because bash and dash work differently:
17085           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
17086           bash ok
17087           dash odd
17088
17089 2009-07-21  Eric Blake  <ebb9@byu.net>
17090
17091         dup2-tests: test previous patch
17092         * modules/dup2-tests: New file.
17093         * tests/test-dup2.c: Likewise.
17094         * tests/test-open.c (main): Avoid unspecified behavior.
17095         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
17096         test.
17097
17098         dup2: work around mingw and cygwin 1.5 bug
17099         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
17100         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
17101         * modules/unistd (Makefile.am): Substitute it.
17102         * lib/unistd.in.h (dup2): Declare the replacement.
17103         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
17104         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
17105         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
17106         * modules/execute (Depends-on): Add dup2.
17107         * modules/fseterr (Depends-on): Likewise.
17108         * modules/pipe (Depends-on): Likewise.
17109         * modules/posix_spawn-internal (Depends-on): Likewise.
17110
17111 2009-07-21  Bruno Haible  <bruno@clisp.org>
17112
17113         * modules/.gitattributes: New file.
17114
17115 2009-07-20  Bruno Haible  <bruno@clisp.org>
17116
17117         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
17118         (main): Use it.
17119
17120 2009-07-20  Eric Blake  <ebb9@byu.net>
17121
17122         test-pipe: make a bit more robust.
17123         * tests/test-pipe.c (myerr): Allow error messages regardless of
17124         what we do to stderr.
17125         (test_pipe): Rearrange to avoid deadlock.
17126         (child_main): Try a larger read, to ensure we avoided deadlock.
17127         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
17128         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
17129         if misused.
17130
17131 2009-07-19  Jim Meyering  <meyering@redhat.com>
17132
17133         fts: avoid false-positive cycle-detection
17134         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
17135         for each new command line argument.
17136
17137 2009-07-19  Bruno Haible  <bruno@clisp.org>
17138
17139         Fix build error on mingw with the modules sys_select and unistd.
17140         * modules/acl-tests (Depends-on): Add close.
17141         * modules/binary-io-tests (Depends-on): Likewise.
17142         * modules/closein-tests (Depends-on): Likewise.
17143         * modules/flock-tests (Depends-on): Likewise.
17144         * modules/fsync-tests (Depends-on): Likewise.
17145         * modules/lseek-tests (Depends-on): Likewise.
17146         * modules/pipe-tests (Depends-on): Likewise.
17147         * modules/posix_spawn-tests (Depends-on): Likewise.
17148         * modules/posix_spawnp-tests (Depends-on): Likewise.
17149         * modules/stat-time-tests (Depends-on): Likewise.
17150         * modules/yesno-tests (Depends-on): Likewise.
17151
17152 2009-07-19  Bruno Haible  <bruno@clisp.org>
17153
17154         Unify conditionals.
17155         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
17156         macros, not at the compiler macros.
17157         * lib/pipe.c: Likewise.
17158         * lib/execute.c: Likewise.
17159         * lib/spawni.c: Likewise.
17160
17161 2009-07-19  Bruno Haible  <bruno@clisp.org>
17162
17163         Fix handling of closed stdin/stdout/stderr on mingw.
17164         * lib/w32spawn.h: Include unistd.h.
17165         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
17166         file descriptor with O_NOINHERIT flag.
17167         (fd_safer_noinherit): New function, based on fd-safer.c.
17168         (dup_safer_noinherit): New function, based on dup-safer.c.
17169         (undup_safer_noinherit): New function.
17170         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
17171         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
17172         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
17173         instead of fd_safer.
17174         * tests/test-pipe.c: Include <windows.h>.
17175         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
17176
17177         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
17178         from main.
17179         (test_pipe): Pass an extra argument for disambiguation.
17180         (main): Invoke parent_main or child_main.
17181
17182         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
17183         consistently.
17184
17185 2009-07-18  Eric Blake  <ebb9@byu.net>
17186
17187         test-pipe: fix mingw build
17188         * tests/test-pipe.c (main): Avoid fcntl on mingw.
17189
17190 2009-07-18  Bruno Haible  <bruno@clisp.org>
17191
17192         * modules/pipe-tests (Makefile.am): Fix typo.
17193
17194 2009-07-18  Eric Blake  <ebb9@byu.net>
17195
17196         error: fix mingw build
17197         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
17198         Reported by Bruno Haible.
17199
17200         error: avoid undefined use of stdout
17201         * lib/error.c (error, error_at_line): Check that fd 1 is open
17202         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
17203         is handling faults and the close_stdout module wants to report the
17204         detection of closed stdout as an error.
17205
17206 2009-07-17  Eric Blake  <ebb9@byu.net>
17207
17208         pipe: be robust in face of closed fds
17209         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
17210         should cause child to misbehave.
17211         * modules/pipe-tests: New module.
17212         * tests/test-pipe.c: New file.
17213         * tests/test-pipe.sh: New file.
17214         Reported by Akim Demaille.
17215
17216 2009-07-14  Bruno Haible  <bruno@clisp.org>
17217
17218         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
17219         Reported by anonymous kc.
17220
17221 2009-07-07  Jim Meyering  <meyering@redhat.com>
17222
17223         maint.mk: don't look for translatable strings in *.m4 or *.mk
17224         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
17225         when searching for translatable strings.
17226
17227 2009-07-05  Jim Meyering  <meyering@redhat.com>
17228
17229         remove superfluous parentheses in STREQ definition
17230         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
17231         * lib/getugroups.c (STREQ): Likewise.
17232         * lib/fnmatch.c (STREQ): Likewise.
17233         Spotted by Bruno Haible.
17234
17235 2009-07-04  Jim Meyering  <meyering@redhat.com>
17236
17237         argv-iter: new module
17238         * MODULES.html.sh: Add argv-iter.
17239         * lib/argv-iter.c, lib/argv-iter.h: New files.
17240         * modules/argv-iter: New file.
17241         * modules/argv-iter-tests: New file.
17242         * tests/test-argv-iter.c: Test it.
17243
17244 2009-07-04  Bruno Haible  <bruno@clisp.org>
17245
17246         Fix assertion.
17247         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
17248         contains more exact copies of a given entry than file2, leave the extra
17249         copies unpaired rather than aborting.
17250         Reported by Eric Blake.
17251
17252 2009-07-02  Bruno Haible  <bruno@clisp.org>
17253
17254         Speedup git-merge-changelog for git cherry-pick.
17255         * lib/git-merge-changelog.c (struct entries_mapping): New type.
17256         (entries_mapping_get): New function, extracted from compute_mapping.
17257         (entries_mapping_reverse_get): New function.
17258         (compute_mapping): Add a 'full' argument. Return the result in a
17259         'struct entries_mapping'.
17260         (main): Update. Access the mappings through entries_mapping_get.
17261         Reported by Eric Blake.
17262
17263 2009-07-02  Bruno Haible  <bruno@clisp.org>
17264
17265         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
17266         best_i.
17267
17268 2009-07-02  Bruno Haible  <bruno@clisp.org>
17269
17270         Speed up approximate search for matching ChangeLog entries.
17271         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
17272         argument. Call fstrcmp_bounded instead of fstrcmp.
17273         (compute_mapping, try_split_merged_entry, main): Update callers.
17274
17275 2009-07-02  Bruno Haible  <bruno@clisp.org>
17276
17277         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
17278
17279 2009-06-30  Bruno Haible  <bruno@clisp.org>
17280
17281         Reduce the number of uc_is_cased calls.
17282         * lib/unicase.h (casing_suffix_context_t): Add
17283         'first_char_except_ignorable' field.
17284         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
17285         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
17286         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
17287         Update initializer.
17288         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
17289         case-ignorable characters.
17290         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
17291         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
17292         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
17293         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
17294         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
17295
17296 2009-06-30  Bruno Haible  <bruno@clisp.org>
17297
17298         Tests for module 'unicase/ignorable'.
17299         * modules/unicase/ignorable-tests: New file.
17300         * tests/unicase/test-ignorable.c: New file, generated by
17301         gen-uni-tables.
17302
17303         Tests for module 'unicase/cased'.
17304         * modules/unicase/cased-tests: New file.
17305         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
17306         * tests/unicase/test-predicate-part1.h: New file, derived from
17307         tests/unictype/test-predicate-part1.h.
17308         * tests/unicase/test-predicate-part2.h: New file, same as
17309         tests/unictype/test-predicate-part2.h.
17310
17311         Fix evaluation of "Before C" condition of FINAL_SIGMA.
17312         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
17313         (output_casing_properties): New function.
17314         (main): Call it.
17315         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
17316         * lib/unicase/cased.c: Include unictype/bitmap.h.
17317         (uc_is_cased): Define through a bitmap lookup.
17318         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
17319         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
17320         (uc_is_case_ignorable): Define through a bitmap lookup.
17321         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
17322         lib/unictype/bitmap.h.
17323         (Depends-on): Add inline. Clean up.
17324         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
17325         lib/unictype/bitmap.h.
17326         (Depends-on): Add inline. Clean up.
17327         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
17328         recognition.
17329         * tests/unicase/test-u16-tolower.c (main): Likewise.
17330         * tests/unicase/test-u32-tolower.c (main): Likewise.
17331
17332 2009-06-30  Bruno Haible  <bruno@clisp.org>
17333
17334         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
17335         * lib/unicase/u16-casemap.c: Likewise.
17336         * lib/unicase/u32-casemap.c: Likewise.
17337
17338 2009-06-29  Bruno Haible  <bruno@clisp.org>
17339
17340         Define u32_casefold as a wrapper around u32_ct_casefold.
17341         * lib/unicase/u32-casefold.c: Update.
17342         * modules/unicase/u32-casefold (Depends-on): Add
17343         unicase/u32-ct-casefold, unicase/empty-prefix-context,
17344         unicase/empty-suffix-context. Clean up.
17345
17346         Define u16_casefold as a wrapper around u16_ct_casefold.
17347         * lib/unicase/u16-casefold.c: Update.
17348         * modules/unicase/u16-casefold (Depends-on): Add
17349         unicase/u16-ct-casefold, unicase/empty-prefix-context,
17350         unicase/empty-suffix-context. Clean up.
17351
17352         Define u8_casefold as a wrapper around u8_ct_casefold.
17353         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
17354         * lib/unicase/u8-casefold.c: Update.
17355         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
17356         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
17357
17358         Define u32_totitle as a wrapper around u32_ct_totitle.
17359         * lib/unicase/u32-totitle.c: Update.
17360         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
17361         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
17362
17363         Define u16_totitle as a wrapper around u16_ct_totitle.
17364         * lib/unicase/u16-totitle.c: Update.
17365         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
17366         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
17367
17368         Define u8_totitle as a wrapper around u8_ct_totitle.
17369         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
17370         functions.
17371         (FUNC): Delegate to U_CT_TOTITLE.
17372         * lib/unicase/u8-totitle.c: Update.
17373         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
17374         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
17375
17376         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
17377         invocation.
17378         * modules/unicase/u32-tolower (Depends-on): Add
17379         unicase/empty-prefix-context, unicase/empty-suffix-context.
17380
17381         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
17382         invocation.
17383         * modules/unicase/u16-tolower (Depends-on): Add
17384         unicase/empty-prefix-context, unicase/empty-suffix-context.
17385
17386         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
17387         * modules/unicase/u8-tolower (Depends-on): Add
17388         unicase/empty-prefix-context, unicase/empty-suffix-context.
17389
17390         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
17391         invocation.
17392         * modules/unicase/u32-toupper (Depends-on): Add
17393         unicase/empty-prefix-context, unicase/empty-suffix-context.
17394
17395         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
17396         invocation.
17397         * modules/unicase/u16-toupper (Depends-on): Add
17398         unicase/empty-prefix-context, unicase/empty-suffix-context.
17399
17400         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
17401         * modules/unicase/u8-toupper (Depends-on): Add
17402         unicase/empty-prefix-context, unicase/empty-suffix-context.
17403
17404         New module 'unicase/u32-ct-casefold'.
17405         * lib/unicase/u32-ct-casefold.c: New file.
17406         * modules/unicase/u32-ct-casefold: New file.
17407
17408         New module 'unicase/u16-ct-casefold'.
17409         * lib/unicase/u16-ct-casefold.c: New file.
17410         * modules/unicase/u16-ct-casefold: New file.
17411
17412         New module 'unicase/u8-ct-casefold'.
17413         * lib/unicase/u8-ct-casefold.c: New file.
17414         * lib/unicase/u-ct-casefold.h: New file, derived from
17415         lib/unicase/u-casefold.h.
17416         * modules/unicase/u8-ct-casefold: New file.
17417
17418         New module 'unicase/u32-ct-totitle'.
17419         * lib/unicase/u32-ct-totitle.c: New file.
17420         * modules/unicase/u32-ct-totitle: New file.
17421
17422         New module 'unicase/u16-ct-totitle'.
17423         * lib/unicase/u16-ct-totitle.c: New file.
17424         * modules/unicase/u16-ct-totitle: New file.
17425
17426         New module 'unicase/u8-ct-totitle'.
17427         * lib/unicase/u8-ct-totitle.c: New file.
17428         * lib/unicase/u-ct-totitle.h: New file, derived from
17429         lib/unicase/u-totitle.h.
17430         * modules/unicase/u8-ct-totitle: New file.
17431
17432         New module 'unicase/u32-ct-tolower'.
17433         * lib/unicase/u32-ct-tolower.c: New file.
17434         * modules/unicase/u32-ct-tolower: New file.
17435
17436         New module 'unicase/u16-ct-tolower'.
17437         * lib/unicase/u16-ct-tolower.c: New file.
17438         * modules/unicase/u16-ct-tolower: New file.
17439
17440         New module 'unicase/u8-ct-tolower'.
17441         * lib/unicase/u8-ct-tolower.c: New file.
17442         * modules/unicase/u8-ct-tolower: New file.
17443
17444         New module 'unicase/u32-ct-toupper'.
17445         * lib/unicase/u32-ct-toupper.c: New file.
17446         * modules/unicase/u32-ct-toupper: New file.
17447
17448         New module 'unicase/u16-ct-toupper'.
17449         * lib/unicase/u16-ct-toupper.c: New file.
17450         * modules/unicase/u16-ct-toupper: New file.
17451
17452         New module 'unicase/u8-ct-toupper'.
17453         * lib/unicase/u8-ct-toupper.c: New file.
17454         * modules/unicase/u8-ct-toupper: New file.
17455
17456         Add context arguments to u*_casemap functions.
17457         * lib/unicase/unicasemap.h: Include unicase.h.
17458         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
17459         suffix_context arguments.
17460         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
17461         functions.
17462         (FUNC): Add prefix_context and suffix_context arguments. Use
17463         uc_is_cased and uc_is_case_ignorable.
17464         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
17465         * lib/unicase/u16-casemap.c: Likewise.
17466         * lib/unicase/u32-casemap.c: Likewise.
17467         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
17468         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
17469         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
17470         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
17471         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
17472         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
17473
17474         New module 'unicase/u32-suffix-context'.
17475         * lib/unicase/u32-suffix-context.c: New file.
17476         * modules/unicase/u32-suffix-context: New file.
17477
17478         New module 'unicase/u16-suffix-context'.
17479         * lib/unicase/u16-suffix-context.c: New file.
17480         * modules/unicase/u16-suffix-context: New file.
17481
17482         New module 'unicase/u8-suffix-context'.
17483         * lib/unicase/u8-suffix-context.c: New file.
17484         * lib/unicase/u-suffix-context.h: New file.
17485         * modules/unicase/u8-suffix-context: New file.
17486
17487         New module 'unicase/empty-suffix-context'.
17488         * lib/unicase/empty-suffix-context.c: New file.
17489         * modules/unicase/empty-suffix-context: New file.
17490
17491         New module 'unicase/u32-prefix-context'.
17492         * lib/unicase/u32-prefix-context.c: New file.
17493         * modules/unicase/u32-prefix-context: New file.
17494
17495         New module 'unicase/u16-prefix-context'.
17496         * lib/unicase/u16-prefix-context.c: New file.
17497         * modules/unicase/u16-prefix-context: New file.
17498
17499         New module 'unicase/u8-prefix-context'.
17500         * lib/unicase/u8-prefix-context.c: New file.
17501         * lib/unicase/u-prefix-context.h: New file.
17502         * lib/unicase/context.h: New file.
17503         * modules/unicase/u8-prefix-context: New file.
17504
17505         New module 'unicase/empty-prefix-context'.
17506         * lib/unicase/empty-prefix-context.c: New file.
17507         * modules/unicase/empty-prefix-context: New file.
17508
17509         New module 'unicase/ignorable'.
17510         * lib/unicase/ignorable.c: New file.
17511         * modules/unicase/ignorable: New file.
17512
17513         New module 'unicase/cased'.
17514         * lib/unicase/caseprop.h: New file.
17515         * lib/unicase/cased.c: New file.
17516         * modules/unicase/cased: New file.
17517
17518         New functions for case mapping of substrings.
17519         * lib/unicase.h (casing_prefix_context_t): New type.
17520         (unicase_empty_prefix_context): New variable.
17521         (u8_casing_prefix_context, u16_casing_prefix_context,
17522         u32_casing_prefix_context, u8_casing_prefixes_context,
17523         u16_casing_prefixes_context, u32_casing_prefixes_context): New
17524         declarations.
17525         (casing_suffix_context_t): New type.
17526         (unicase_empty_suffix_context): New variable.
17527         (u8_casing_suffix_context, u16_casing_suffix_context,
17528         u32_casing_suffix_context, u8_casing_suffixes_context,
17529         u16_casing_suffixes_context, u32_casing_suffixes_context,
17530         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
17531         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
17532         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
17533         declarations.
17534
17535 2009-06-28  Jim Meyering  <meyering@redhat.com>
17536
17537         boostrap: indent only with spaces
17538         * build-aux/bootstrap: Indent only with spaces, never TABs.
17539
17540         bootstrap: split long lines
17541         * build-aux/bootstrap: Keep line length < 80.
17542
17543         bootstrap: sync from coreutils
17544         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
17545         just as autoreconf does.  Verify a list of prerequisite
17546         package-name,version-number pairs if defined in bootstrap.conf.
17547         Refer to README-prereq, if prerequisites are not satisfied.
17548
17549 2009-06-27  Eric Blake  <ebb9@byu.net>
17550
17551         tests: add test for bogus NULL definition
17552         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
17553         * tests/test-stdlib.c: Likewise.
17554         * tests/test-string.c: Likewise.
17555         * tests/test-locale.c: Likewise.
17556         * tests/test-unistd.c: Likewise.
17557         * modules/stdio-tests (Depends-on): Add verify.
17558         * modules/stdlib-tests (Depends-on): Likewise.
17559         * modules/string-tests (Depends-on): Likewise.
17560         * modules/locale-tests (Depends-on): Likewise.
17561         * modules/unistd-tests (Depends-on): Likewise.
17562
17563 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
17564
17565         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
17566         self-explaining comment.
17567         * m4/selinux-selinux-h: Update serial.
17568         (gl_LIBSELINUX): New macro, adding a warning for missing development
17569         packages to code extracted from...
17570         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
17571         Add warning for missing development packages here, too.
17572
17573 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
17574
17575         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
17576
17577 2009-06-25  Eric Blake  <ebb9@byu.net>
17578
17579         version-etc: fix regression
17580         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
17581         gcc.
17582         (version_etc): Use it, to catch bugs with trailing NULL.
17583         * lib/version-etc.c (version_etc_arn): Delete unused argument.
17584         (version_etc_va): Fix logic bug.
17585         * modules/version-etc-tests: Add test.
17586         * tests/test-version-etc.c: New file.
17587         * tests/test-version-etc.sh: Likewise.
17588
17589 2009-06-25  Sam Steingold  <sds@gnu.org>
17590
17591         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
17592         mbtowc declaration.
17593
17594 2009-06-25  Eric Blake  <ebb9@byu.net>
17595
17596         fpurge: migrate into <stdio.h>
17597         * lib/fpurge.h: Delete...
17598         * lib/stdio.in.h (fpurge): ...and declare here, instead.
17599         * lib/fpurge.c (fpurge): Change declaring header.
17600         * modules/fpurge (Files): Drop deleted file.
17601         (Depends-on): Add stdio.
17602         (configure.ac): Set witness.
17603         * modules/stdio (Makefile.am): Support fpurge macros.
17604         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
17605         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
17606         * lib/fflush.c: Update client.
17607         * tests/test-fpurge.c: Likewise.
17608         * NEWS: Mention the change.
17609
17610 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17611
17612         * lib/argp-version-etc.c (program_authors): Add const
17613         qualifier.
17614         * lib/version-etc.c: Fix typos in the comments.
17615         * modules/argp-version-etc: Depends on version-etc.
17616
17617 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17618
17619         argp-version-etc: new module.
17620
17621         * lib/argp-version-etc.c: New file.
17622         * lib/argp-version-etc.h: New file.
17623         * modules/argp-version-etc: New file.
17624         * modules/argp-version-etc-tests: New file.
17625         * tests/test-argp-version-etc.c: New test.
17626         * tests/test-argp-version-etc-1.sh: New test.
17627
17628 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
17629
17630         Provide additional interfaces and documentation for version-etc
17631         module.
17632
17633         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
17634         interfaces.
17635         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
17636         prototypes.
17637
17638 2009-06-24  Bruno Haible  <bruno@clisp.org>
17639
17640         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
17641         HAVE_LIB${NAME} macro.
17642         Reported by Sam Steingold <sds@gnu.org>.
17643
17644 2009-06-23  Simon Josefsson  <simon@josefsson.org>
17645
17646         * modules/hash-tests (test_hash_LDADD): Link to libintl when
17647         needed.
17648
17649 2009-06-21  Bruno Haible  <bruno@clisp.org>
17650
17651         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
17652         work.
17653         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
17654         together with LIB${NAME}, LTLIB${NAME}.
17655         Reported by Sam Steingold <sds@gnu.org>.
17656
17657 2009-06-20  Jim Meyering  <meyering@redhat.com>
17658
17659         tests: make sc_require_test_exit_idiom more generic
17660         * top/maint.mk (Exit_witness_file): New overridable variable.
17661         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
17662         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
17663
17664 2009-06-19  Jim Meyering  <meyering@redhat.com>
17665
17666         hash: reverse order of src/dst parameters in an internal interface
17667         * lib/hash.c (transfer_entries): Reverse order of parameters to
17668         put DST before SRC.  Adjust callers.
17669
17670         tests: test-hash: avoid wholesale duplication
17671         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
17672         Instead, use a loop and add a single conditional.
17673
17674         tests: test-hash: allow seed selection via a command line argument
17675         * tests/test-hash.c (get_seed): New function.
17676         (main): Use it.
17677
17678 2009-06-19  Eric Blake  <ebb9@byu.net>
17679
17680         hash: avoid memory leak on allocation failure
17681         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
17682         failure.  Factor repeated algorithm...
17683         (transfer_entries): ...into new helper routine.
17684         (hash_delete): React to hash_rehash return value.
17685
17686         hash: reduce memory pressure in hash_rehash no-op case
17687         * lib/hash.c (next_prime): Avoid overflow.
17688         (hash_initialize): Factor bucket size computation...
17689         (compute_bucket_size): ...into new helper function.
17690         (hash_rehash): Use new function and open coding to reduce memory
17691         pressure, and avoid a memory leak in USE_OBSTACK code.
17692         Reported by Jim Meyering.
17693
17694 2009-06-18  Eric Blake  <ebb9@byu.net>
17695
17696         hash: make rotation more obvious
17697         * modules/hash (Depends-on): Add bitrotate and stdint.
17698         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
17699         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
17700         (SIZE_MAX): Rely on headers for definition.
17701         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
17702         (raw_hasher): Use rotr_sz.
17703         Suggested by Jim Meyering.
17704
17705         hash: fix memory leak in last patch
17706         * lib/hash.c (hash_rehash): Avoid memory leak.
17707
17708         hash: avoid no-op rehashing
17709         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
17710
17711         hash: provide default callback functions
17712         * lib/hash.c (raw_hasher, raw_comparator): New functions.
17713         (hash_initialize): Use them as defaults.
17714         * tests/test-hash.c (main): Test this.
17715
17716         hash: minor optimization
17717         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
17718         when possible.
17719         (hash_initialize): Document this promise.
17720         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
17721         * tests/test-hash.c (hash_compare_strings): Test this.
17722
17723 2009-06-18  Bruno Haible  <bruno@clisp.org>
17724
17725         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
17726         going to be replaced anyway.
17727
17728 2009-06-18  Bruno Haible  <bruno@clisp.org>
17729
17730         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
17731         in one place.
17732         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
17733         be replaced anyway.
17734
17735 2009-06-18  Eric Blake  <ebb9@byu.net>
17736
17737         hash: check for resize before insertion
17738         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
17739         threshold before insertion, so that a pathological hash_rehash
17740         that fills every bucket can still trigger another rehash.
17741
17742 2009-06-18  Jim Meyering  <meyering@redhat.com>
17743
17744         hash-tests: add a loop around the small tests
17745         * tests/test-hash.c (main): Repeat small tests with selected
17746         small initial table sizes.
17747
17748 2009-06-17  Eric Blake  <ebb9@byu.net>
17749
17750         hash: minor cleanups
17751         * lib/hash.h (hash_entry): Make opaque, by moving...
17752         * lib/hash.c (hash_entry): ...here.
17753         (hash_insert): Clarify restrictions on what can be inserted.
17754         (hash_get_next): Clarify when it is safe to remove an element
17755         during traversal.
17756         (check_tuning): Skip verification when tuning is known safe.
17757         (hash_initialize): Clarify restrictions on tuning.
17758
17759 2009-06-17  Jim Meyering  <jim@meyering.net>
17760         and Eric Blake  <ebb9@byu.net>
17761
17762         hash-tests: new module
17763         * modules/hash-tests: New file.
17764         * tests/test-hash.c: New file.
17765
17766 2009-06-17  Eric Blake  <ebb9@byu.net>
17767
17768         strstr-simple: document new module
17769         * MODULES.html.sh: Document new module.
17770
17771         strstr, strcasestr: replace on platforms with broken memchr
17772         * modules/strstr: Split into...
17773         * modules/strstr-simple: ...new module that does not care about
17774         performance, but does care about glibc bug.
17775         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
17776         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
17777         if platform memchr is broken, per Debian bug 521737.
17778         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
17779         memchr.
17780         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
17781         * doc/posix-functions/strstr.texi (strstr): Document the fix.
17782         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
17783         * modules/mountlist (Depends-on): Add strstr-simple.
17784         * modules/gen-uni-tables (Depends-on): Likewise.
17785         * modules/argz (Depends-on): Add strstr.
17786
17787 2009-06-17  Bruno Haible  <bruno@clisp.org>
17788
17789         * modules/posix_spawn-internal (Depends-on): Add errno.
17790
17791 2009-06-17  Bruno Haible  <bruno@clisp.org>
17792
17793         Define missing ESTALE on Interix 3.5.
17794         * lib/errno.in.h (ESTALE): Assign a value if missing.
17795         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
17796         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
17797         missing.
17798         * doc/posix-headers/errno.texi: Mention the Interix bug.
17799         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
17800
17801 2009-06-15  Eric Blake  <ebb9@byu.net>
17802
17803         memchr, memchr2: add valgrind exception
17804         * lib/memchr.valgrind: New file.
17805         * lib/memchr2.valgrind: New file.
17806         * modules/memchr (Files): Distribute valgrind file.
17807         * modules/memchr2 (Files): Likewise.
17808
17809         docs: memchr is no longer obsolete
17810         * MODULES.html.sh: Move memchr from obsolete to string.h section.
17811         * lib/string.in.h (memchr): Simplify logic.
17812
17813 2009-06-14  Jim Meyering  <meyering@redhat.com>
17814
17815         link-follow: fix the "checking..." message to not mention trailing slash
17816         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
17817         never considered trailing slashes.
17818
17819 2009-06-14  Bruno Haible  <bruno@clisp.org>
17820
17821         * m4/memchr.m4: Mention also the bug on IA-64.
17822         * doc/posix-functions/memchr.texi: Likewise.
17823
17824 2009-06-12  Eric Blake  <ebb9@byu.net>
17825
17826         memchr: detect broken x86_64 and alpha implementations
17827         * modules/memchr-tests (Depends-on): Move mmap detection...
17828         * modules/memchr (Depends-on): ...here.
17829         (configure.ac): Set indicator.
17830         * lib/string.in.h (memchr): Declare replacement.
17831         * modules/string (Makefile.am): Trigger replacement.
17832         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
17833         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
17834         bugs.
17835         * doc/posix-functions/memchr.texi (memchr): Document the bug.
17836         * modules/getpagesize (License): Relax license.
17837
17838 2009-06-11  Bruno Haible  <bruno@clisp.org>
17839
17840         * lib/idpriv.h: Add more references.
17841
17842 2009-06-08  Bruno Haible  <bruno@clisp.org>
17843
17844         Tests for module 'idpriv-droptemp'.
17845         * modules/idpriv-droptemp-tests: New file.
17846         * tests/test-idpriv-droptemp.sh: New file.
17847         * tests/test-idpriv-droptemp.su.sh: New file.
17848         * tests/test-idpriv-droptemp.c: New file.
17849
17850         New module 'idpriv-droptemp'.
17851         * lib/idpriv-droptemp.c: New file.
17852         * modules/idpriv-droptemp: New file.
17853
17854 2009-06-08  Bruno Haible  <bruno@clisp.org>
17855
17856         Tests for module 'idpriv-drop'.
17857         * modules/idpriv-drop-tests: New file.
17858         * tests/test-idpriv-drop.sh: New file.
17859         * tests/test-idpriv-drop.su.sh: New file.
17860         * tests/test-idpriv-drop.c: New file.
17861
17862         New module 'idpriv-drop'.
17863         * lib/idpriv.h: New file.
17864         * lib-idpriv-drop.c: New file.
17865         * m4/idpriv.m4: New file.
17866         * modules/idpriv-drop: New file.
17867
17868 2009-06-08  Bruno Haible  <bruno@clisp.org>
17869
17870         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
17871         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
17872         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
17873         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
17874         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
17875         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
17876         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
17877
17878 2009-06-08  Eric Blake  <ebb9@byu.net>
17879
17880         test-strstr: use memory fence, when possible
17881         * tests/test-strstr.c (main): Use memory fence, in order to be
17882         more likely to trigger Debian bug 521737.
17883         * modules/strstr-tests (Files): Pull in additional files.
17884
17885         memchr: no longer obsolete, for wider field testing
17886         * modules/memchr (Status, Notice): Delete, this module is no
17887         longer obsolete.
17888         * modules/vasnprintf (Depends-on): Add memchr.
17889
17890 2009-06-07  Jim Meyering  <meyering@redhat.com>
17891
17892         hash: declare some functions with the warn_unused_result attribute
17893         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
17894
17895 2009-06-07  Bruno Haible  <bruno@clisp.org>
17896
17897         * tests/test-alignof.c: Don't test int64_t if it does not exist.
17898         Reported by Eric Blake.
17899
17900 2009-06-06  Eric Blake  <ebb9@byu.net>
17901
17902         test-alignof: fix typo with long double
17903         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
17904         compiler error.
17905
17906 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
17907
17908         Escape non-texinfo { and }s.
17909         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
17910         markup error.
17911
17912 2009-06-04  Jim Meyering  <meyering@redhat.com>
17913
17914         gitlog-to-changelog: don't infloop on an empty commit log
17915         * build-aux/gitlog-to-changelog: Warn about an empty log message.
17916         Reported by Boris Petersen <transacid@centerim.org>.
17917
17918 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
17919
17920         version-etc: extend for packagers
17921         Add three new configure options, intended for packagers:
17922           --with-packager="packager name"
17923           --with-packager-version="packager-specific version"
17924           --with-packager-bug-reports="packager bug reporting"
17925         An example with coreutils:
17926           $ ./configure \
17927             --with-packager=Gentoo \
17928             --with-packager-bug-report=http://bugs.gentoo.org/ \
17929             --with-packager-version="patchset 1.6"
17930           $ ./src/ls --version | head -n2
17931           ls (GNU coreutils) 7.1-dirty
17932           Packaged by Gentoo (patchset 1.6)
17933         Note that the bug reporting info via --help doesn't show up because
17934         coreutils uses its own custom emit_bug_reporting_address() implementation
17935         in src/system.h.  If it didn't, it'd look like:
17936           $ ./src/ls --help | tail -n4
17937           Report bugs to <bug-coreutils@gnu.org>.
17938           Report Gentoo bugs to <http://bugs.gentoo.org/>.
17939           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
17940           General help using GNU software: <http://www.gnu.org/gethelp/>.
17941         * lib/version-etc.c: Print new information, if provided.
17942         * m4/version-etc.m4: New file.
17943         * modules/version-etc (Files): Add m4/version-etc.m4.
17944         (configure.ac): Add gl_VERSION_ETC.
17945
17946 2009-05-31  Bruno Haible  <bruno@clisp.org>
17947
17948         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
17949         and 'int64_t'.
17950         * modules/alignof-tests (Dependencies): Add stdint.
17951         Reported by Eric Blake.
17952
17953 2009-05-31  Bruno Haible  <bruno@clisp.org>
17954
17955         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
17956         restriction due to compiler bugs.
17957         Reported by Eric Blake.
17958
17959 2009-05-31  Simon Josefsson  <simon@josefsson.org>
17960             Bruno Haible  <bruno@clisp.org>
17961
17962         Fix test-alignof failure.
17963         * lib/alignof.h (alignof_slot): New macro.
17964         (alignof_type): New macro, with the same semantics as the previous
17965         'alignof'.
17966         (alignof): Alias to alignof_slot.
17967         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
17968         check that the results are usable as constant expressions.
17969
17970 2009-05-31  Bruno Haible  <bruno@clisp.org>
17971
17972         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
17973         * tests/test-memchr.c (main): Check that memchr does not read past the
17974         first occurrence of the byte.
17975         * tests/test-strstr.c (main): Update comment.
17976         Suggested by Eric Blake.
17977
17978 2009-05-30  Bruno Haible  <bruno@clisp.org>
17979
17980         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
17981         detail how to use dumpbin.
17982         Reported by David Byron <dbyron@dbyron.com>.
17983
17984 2009-06-02  Simon Josefsson  <simon@josefsson.org>
17985
17986         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
17987
17988 2009-06-02  Simon Josefsson  <simon@josefsson.org>
17989
17990         * m4/manywarnings.m4: Add GCC 4.4 warnings.
17991
17992 2009-05-28  Bruno Haible  <bruno@clisp.org>
17993
17994         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
17995         build-aux/ files.
17996
17997 2009-05-28  Simon Josefsson  <simon@josefsson.org>
17998
17999         * gnulib-tool (func_import): Transform license on build-aux/ files too.
18000
18001 2009-05-27  Simon Josefsson  <simon@josefsson.org>
18002
18003         * gnulib-tool (sed_transform_main_lib_file)
18004         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
18005         regexps.
18006
18007 2009-05-26  Simon Josefsson  <simon@josefsson.org>
18008
18009         * tests/test-strstr.c: Add another self-test.
18010         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
18011         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
18012
18013 2009-05-23  Bruno Haible  <bruno@clisp.org>
18014
18015         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
18016         change.
18017
18018 2009-05-21  Bruno Haible  <bruno@clisp.org>
18019
18020         Simplify use of mode_t varargs.
18021         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
18022         uses 'mode_t' or 'int'.
18023         * lib/openat.c (openat): Likewise.
18024         * lib/open-safer.c (open_safer): Likewise.
18025         * m4/mode_t.m4: New file.
18026         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
18027         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
18028         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
18029         * modules/open (Files): Add m4/mode_t.m4.
18030         * modules/openat (Files): Likewise.
18031         * modules/fcntl-safer (Files): Likewise.
18032         Suggested by Eric Blake.
18033
18034 2009-05-21  Pádraig Brady  <P@draigbrady.com>
18035
18036         * doc/glibc-functions/fallocate.texi: New file.
18037         * doc/gnulib.texi: Include it.
18038
18039 2009-05-21  Eric Blake  <ebb9@byu.net>
18040             Bruno Haible  <bruno@clisp.org>
18041
18042         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
18043         invocations.
18044         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
18045
18046 2009-05-21  Eric Blake  <ebb9@byu.net>
18047             Bruno Haible  <bruno@clisp.org>
18048
18049         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
18050         include_next. Fix of 2008-11-20 commit.
18051         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
18052         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
18053         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
18054         NEXT_MATH_H.
18055         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
18056         instead of NEXT_MATH_H.
18057
18058 2009-05-21  Bruno Haible  <bruno@clisp.org>
18059
18060         Avoid redefinition warnings for SIZE_MAX.
18061         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
18062         Reported by Simon Josefsson.
18063
18064 2009-05-21  Bruno Haible  <bruno@clisp.org>
18065
18066         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
18067         AC_CACHE_VAL.
18068
18069 2009-05-20  Bruno Haible  <bruno@clisp.org>
18070
18071         Make zeroptr.h work on mingw.
18072         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
18073         mprotect.
18074         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
18075         * modules/memchr2-tests (configure.ac): Likewise.
18076         * modules/memcmp-tests (configure.ac): Likewise.
18077         * modules/memmem-tests (configure.ac): Likewise.
18078         * modules/memrchr-tests (configure.ac): Likewise.
18079         Reported by Simon Josefsson.
18080
18081 2009-05-20  Simon Josefsson  <simon@josefsson.org>
18082
18083         * tests/test-glob.c: Include string.h for strcmp prototype.
18084
18085 2009-05-20  Simon Josefsson  <simon@josefsson.org>
18086
18087         * modules/getdelim (Depends-on): Add explicit stdint, although it
18088         was implicitly already pulled in via realloc-posix.
18089         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
18090
18091 2009-05-20  Simon Josefsson  <simon@josefsson.org>
18092
18093         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
18094         G. Christensen" <tgc@jupiterrise.com>.
18095         * m4/sys_socket_h.m4: Check for sa_family_t.
18096         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
18097         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
18098         * tests/test-sys_socket.c: Check that sa_family_t works.
18099
18100 2009-05-18  Eric Blake  <ebb9@byu.net>
18101
18102         maint.mk: allow gnulib_dir in VPATH build
18103         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
18104
18105 2009-05-15  Jim Meyering  <meyering@redhat.com>
18106
18107         maint.mk: Give gnulib_dir a default definition.
18108         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
18109         Thus, most packages no longer need to specify this variable in cfg.mk
18110
18111 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
18112
18113         rename.m4: fix typos that would make non-mingw cross-configure fail
18114         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
18115
18116 2009-05-13  Eric Blake  <ebb9@byu.net>
18117
18118         mmap-anon: avoid out-of-order autoconf expansion
18119         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
18120         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
18121         * modules/memchr-tests (Depends-on): Add extensions.
18122         * modules/memchr2-tests (Depends-on): Add extensions.
18123         * modules/memcmp-tests (Depends-on): Add extensions.
18124         * modules/memmem-tests (Depends-on): Add extensions.
18125         * modules/memrchr-tests (Depends-on): Add extensions.
18126
18127 2009-05-13  Bruno Haible  <bruno@clisp.org>
18128
18129         Make some tests ISO C 99 compliant.
18130         * tests/zerosize-ptr.h: New file.
18131         * tests/test-memchr.c: Include zerosize-ptr.h.
18132         (main): Use a zero-size object pointer instead of NULL.
18133         * tests/test-memchr2.c: Include zerosize-ptr.h.
18134         (main): Use a zero-size object pointer instead of NULL.
18135         * tests/test-memcmp.c: Include zerosize-ptr.h.
18136         (main): Use a zero-size object pointer instead of NULL.
18137         * tests/test-memmem.c: Include zerosize-ptr.h.
18138         (main): Use a zero-size object pointer instead of NULL.
18139         * tests/test-memrchr.c: Include zerosize-ptr.h.
18140         (main): Use a zero-size object pointer instead of NULL.
18141         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
18142         m4/mmap-anon.m4.
18143         (Depends-on): Add getpagesize.
18144         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
18145         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
18146         m4/mmap-anon.m4.
18147         (Depends-on): Add getpagesize.
18148         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
18149         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
18150         m4/mmap-anon.m4.
18151         (Depends-on): Add getpagesize.
18152         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
18153         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
18154         m4/mmap-anon.m4.
18155         (Depends-on): Add getpagesize.
18156         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
18157         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
18158         m4/mmap-anon.m4.
18159         (Depends-on): Add getpagesize.
18160         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
18161
18162 2009-05-12  Bruno Haible  <bruno@clisp.org>
18163
18164         Tests for module 'alignof'.
18165         * modules/alignof-tests: New file.
18166         * tests/test-alignof.c: New file.
18167
18168 2009-05-12  Bruno Haible  <bruno@clisp.org>
18169
18170         Fix alignof macro.
18171         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
18172         vendor compilers that are always correct.
18173
18174 2009-05-12  Bruno Haible  <bruno@clisp.org>
18175
18176         Make the MAP_ANONYMOUS detection work on HP-UX 11.
18177         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
18178         not whether its fully works.
18179
18180 2009-05-12  Bruno Haible  <bruno@clisp.org>
18181
18182         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
18183
18184 2009-05-12  Jim Meyering  <meyering@redhat.com>
18185
18186         * top/maint.mk: Adjust backslash alignment.
18187
18188 2009-05-11  Simon Josefsson  <simon@josefsson.org>
18189
18190         * top/maint.mk: Make $(srcdir)/build-aux configurable.
18191
18192 2009-05-11  Eric Blake  <ebb9@byu.net>
18193
18194         argp: avoid undefined behavior
18195         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
18196         macros.
18197
18198 2009-05-08  Simon Josefsson  <simon@josefsson.org>
18199
18200         * tests/test-vc-list-files-git.sh: Do git config of user.email and
18201         user.name to prevent git commit from complaining.
18202
18203 2009-05-10  Bruno Haible  <bruno@clisp.org>
18204
18205         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
18206         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
18207         it rewrites every file name only once.
18208         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
18209
18210 2009-05-08  Bruno Haible  <bruno@clisp.org>
18211
18212         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
18213         instead of 'max'.
18214
18215 2009-05-08  Simon Josefsson  <simon@josefsson.org>
18216
18217         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
18218         sockaddr_storage test.
18219
18220 2009-05-07  Simon Josefsson  <simon@josefsson.org>
18221
18222         * modules/sys_socket (Makefile.am): Substitute
18223         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
18224         * m4/sys_socket_h.m4: Check for sockaddr_storage.
18225         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
18226         * tests/test-sys_socket.c: Check sockaddr_storage.
18227
18228 2009-05-08  Bruno Haible  <bruno@clisp.org>
18229
18230         New module 'alignof'.
18231         * lib/alignof.h: New file.
18232         * modules/alignof: New file.
18233
18234 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
18235             Bruno Haible  <bruno@clisp.org>
18236
18237         Fix test-file-has-acl on FreeBSD.
18238         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
18239         mask is implicitly added.
18240         * tests/test-file-has-acl.c: Include <signal.h>.
18241         (main): Terminate the test after 5 seconds.
18242         * modules/acl-tests (configure.ac): Check for alarm function.
18243
18244 2009-05-04  Bruno Haible  <bruno@clisp.org>
18245
18246         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
18247         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
18248         * modules/errno (configure.ac): Drop AC_REQUIRE.
18249         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
18250         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
18251
18252 2009-05-04  Simon Josefsson  <simon@josefsson.org>
18253
18254         * modules/glob-tests: New module.
18255         * tests/test-glob.c: Add.
18256
18257 2009-05-04  Simon Josefsson  <simon@josefsson.org>
18258
18259         * modules/fnmatch-tests: New module.
18260         * tests/test-fnmatch.c: Add.
18261
18262 2009-05-04  Eric Blake  <ebb9@byu.net>
18263
18264         maint: make the new no-submodule-changes rule VPATH-safe
18265         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
18266
18267 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
18268             Bruno Haible  <bruno@clisp.org>
18269
18270         acl: Fix infinite loop on FreeBSD.
18271         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
18272         of return value from acl_get_entry.
18273         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
18274         Likewise.
18275
18276 2009-05-03  Bruno Haible  <bruno@clisp.org>
18277
18278         * lib/acl-internal.h (acl_entries): Clarify return value.
18279         * lib/acl_entries.c (acl_entries): Likewise.
18280
18281 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
18282
18283         Bug fix in acl module.
18284         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
18285
18286 2009-05-03  Bruno Haible  <bruno@clisp.org>
18287
18288         Create gperf-generated file in the source dir, not in the build dir.
18289         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
18290         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
18291         * modules/unicase/locale-language (unicase/locale-languages.h):
18292         Likewise.
18293         * modules/unicase/special-casing (unicase/special-casing-table.h):
18294         Likewise.
18295         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
18296         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
18297         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
18298         Reported by Ralf Wildenhues.
18299
18300 2009-05-03  Bruno Haible  <bruno@clisp.org>
18301
18302         * modules/fnmatch (Description, configure.ac): Taken from
18303         fnmatch-posix.
18304         * modules/fnmatch-posix: Turn into a symbolic reference to the
18305         'fnmatch' module, and deprecate.
18306         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
18307
18308 2009-05-03  Bruno Haible  <bruno@clisp.org>
18309
18310         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
18311         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
18312         Reported by Ralf Wildenhues.
18313
18314 2009-05-04  Simon Josefsson  <simon@josefsson.org>
18315
18316         * m4/fnmatch.m4: Fix fnmatch re-define.
18317
18318 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
18319
18320         priv-set: new module and tests; adapt write-any-file
18321         * lib/priv-set.c: New file.
18322         * lib/priv-set.h: New file.
18323         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
18324         * lib/write-any-file.c: Simplify by using priv-set module.
18325         * m4/priv-set.m4: New file.
18326         * modules/priv-set: New file.
18327         * modules/unlinkdir: Add dependency on priv-set module.
18328         * modules/write-any-file: Likewise.
18329
18330         Tests for module 'priv-set'.
18331         * modules/priv-set-tests: New file.
18332         * tests/test-priv-set.c: New file.
18333
18334 2009-05-03  Jim Meyering  <meyering@redhat.com>
18335             Bruno Haible  <bruno@clisp.org>
18336
18337         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
18338         use the converted UTF-8 variant of the name instead.
18339
18340 2009-05-03  Jim Meyering  <meyering@redhat.com>
18341
18342         tests: tighten some getdate tests
18343         * tests/test-getdate.c (main): Tighten tests: require equality,
18344         not just greater than.  Set TZ envvar to UTC0.
18345
18346 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
18347
18348         getdate: correctly interpret "next monday" when run on a Monday
18349         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
18350         that e.g., "next tues" (when run on a tuesday) results in a date
18351         that is one week in the future, and not today's date.
18352         I.e., add a week when the wday is the same as the current one.
18353         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
18354         and earlier by Martin Bernreuther and Jan Minář.
18355         * tests/test-getdate.c (main): Check that "next DAY" is always in
18356         the future and that "last DAY" is always in the past.
18357
18358 2009-05-02  Jim Meyering  <meyering@redhat.com>
18359
18360         build: ensure that a release build fails when a submodule is unclean
18361         * top/maint.mk (no-submodule-changes): New rule.
18362         (alpha beta major): Depend on it.
18363
18364 2009-05-02  Bruno Haible  <bruno@clisp.org>
18365
18366         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
18367         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
18368         shell variable gl_fnmatch_required to detect which variant is
18369         requested.
18370         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
18371         gl_FUNC_FNMATCH_POSIX.
18372         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
18373         exclude fnmatch-posix.
18374
18375 2009-05-02  Bruno Haible  <bruno@clisp.org>
18376
18377         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
18378         * modules/mbsrtowcs (License): Change to LGPLv2+.
18379         * modules/strnlen1 (License): Likewise.
18380         Reported by Simon Josefsson.
18381
18382 2009-05-02  Bruno Haible  <bruno@clisp.org>
18383
18384         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
18385         "cross".
18386         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
18387         gnulib-tool was called with option --source-base=lib.
18388
18389 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18390
18391         Use automake *-local hooks without commands, for extensibility.
18392         * modules/localcharset (Makefile.am): Rename install-exec-local
18393         rule to install-exec-localcharset, and make it a prerequisite of
18394         install-exec-local.  Likewise, rename the uninstall-local rule to
18395         uninstall-localcharset, and make it a prerequisite of the former.
18396
18397 2009-05-01  Bruno Haible  <bruno@clisp.org>
18398
18399         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
18400         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
18401         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
18402         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
18403         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
18404         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
18405         m4/locale-zh.m4, m4/codeset.m4.
18406
18407         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
18408         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
18409         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
18410         m4/locale-zh.m4.
18411
18412         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
18413         REPLACE_WCRTOMB if mbstate_t must be replaced.
18414         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
18415         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
18416
18417 2009-05-01  Bruno Haible  <bruno@clisp.org>
18418
18419         Avoid compiler warnings when redefining macros defined by <libintl.h>.
18420         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
18421         dngettext, dcngettext, textdomain, bindtextdomain,
18422         bind_textdomain_codeset): Undefine before redefining.
18423
18424 2009-04-30  Bruno Haible  <bruno@clisp.org>
18425
18426         Fix bug introduced on 2009-04-25.
18427         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
18428         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
18429         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
18430         is defined.
18431         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
18432         is defined.
18433         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
18434         is defined.
18435         Reported by Elbert_Pol <elbert.pol@gmail.com>.
18436
18437 2009-04-28  Bruno Haible  <bruno@clisp.org>
18438
18439         Comment tweaks.
18440         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
18441         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
18442         * lib/unicase.h (u*_casexfrm): Likewise.
18443         Reported by Paolo Bonzini.
18444
18445 2009-04-28  Bruno Haible  <bruno@clisp.org>
18446
18447         Fix a compilation error.
18448         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
18449         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
18450         Reported by Jim Meyering.
18451
18452 2009-04-27  Bruno Haible  <bruno@clisp.org>
18453
18454         New module 'libunistring'.
18455         * modules/libunistring: New file.
18456         * m4/libunistring.m4: New file.
18457         * MODULES.html.sh (Unicode string functions): Add it.
18458
18459 2009-04-27  Eric Blake  <ebb9@byu.net>
18460
18461         maint.mk: allow package-specific header to provide <config.h>
18462         * top/maint.mk (sc_require_config_h): New variable.
18463         (sc_require_config_h, sc_require_config_h_first): Use it.
18464
18465 2009-04-27  Simon Josefsson  <simon@josefsson.org>
18466
18467         * top/maint.mk (sc_avoid_if_before_free): Except
18468         useless-if-before-free script.
18469
18470 2009-04-27  Eric Blake  <ebb9@byu.net>
18471
18472         maintainer-makefile: depend on all required helper scripts
18473         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
18474         useless-if-before-free.
18475         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
18476         version, rather than assuming gnulib checkout is available.
18477         Reported by Simen Josefsson.
18478
18479 2009-04-26  Bruno Haible  <bruno@clisp.org>
18480
18481         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
18482         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
18483         "../" or "..".
18484
18485 2009-04-26  Bruno Haible  <bruno@clisp.org>
18486
18487         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
18488         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
18489         AC_LIB_HAVE_LINKFLAGS.
18490
18491 2009-04-26  Bruno Haible  <bruno@clisp.org>
18492
18493         Simplify calling convention of u*_conv_from_encoding.
18494         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
18495         u32_conv_from_encoding): Expect a resultbuf argument and return the
18496         result directly as a pointer.
18497         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
18498         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
18499         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
18500         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
18501         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
18502         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
18503         Update.
18504         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
18505         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
18506         * lib/vasnprintf.c (VASNPRINTF): Update.
18507         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
18508         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
18509         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
18510         * NEWS: Mention the change.
18511
18512 2009-04-26  Bruno Haible  <bruno@clisp.org>
18513
18514         Simplify calling convention of u*_conv_to_encoding.
18515         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
18516         u32_conv_to_encoding): Expect a resultbuf argument and return the
18517         result directly as a pointer.
18518         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
18519         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
18520         freeing scaled_offsets if mem_iconveha failed.
18521         * lib/unicase/u-casexfrm.h (FUNC): Update.
18522         * lib/uninorm/u-normxfrm.h (FUNC): Update.
18523         * lib/vasnprintf.c (VASNPRINTF): Update.
18524         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
18525         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
18526         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
18527         * NEWS: Mention the change.
18528
18529 2009-04-26  Bruno Haible  <bruno@clisp.org>
18530
18531         Avoid test failures on AIX and OSF/1.
18532         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
18533         malloc(0).
18534         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
18535         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
18536         Likewise.
18537         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
18538         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
18539         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
18540         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
18541         * doc/posix-functions/malloc.texi: Document the portability problem
18542         related to malloc(0).
18543
18544 2009-04-26  Bruno Haible  <bruno@clisp.org>
18545
18546         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
18547         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
18548         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
18549
18550 2009-04-25  Bruno Haible  <bruno@clisp.org>
18551
18552         Avoid link error when creating a namespace clean library.
18553         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
18554         as macro with arguments if already defined as an alias.
18555         * lib/signbitf.c (gl_signbitf): Don't undefine.
18556         * lib/signbitd.c (gl_signbitd): Don't undefine.
18557         * lib/signbitl.c (gl_signbitl): Don't undefine.
18558
18559 2009-04-25  Jim Meyering  <meyering@redhat.com>
18560
18561         vc-list-files: fix another quoting bug
18562         * build-aux/vc-list-files: Avoid sed backslash expansion
18563         of pathological directory names.
18564
18565 2009-04-25  Eric Blake  <ebb9@byu.net>
18566
18567         vc-list-files: fix shell quoting error
18568         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
18569         timestamp.
18570
18571 2009-04-25  Jim Meyering  <meyering@redhat.com>
18572
18573         vc-list-files: restore lost functionality with subdir argument
18574         * build-aux/vc-list-files: When given a non-"." sub-directory
18575         argument, substitute the $dir/ prefix back onto each resulting name.
18576         Otherwise, coreutils' root_tests check would fail.
18577
18578 2009-04-24  Eric Blake  <ebb9@byu.net>
18579
18580         vc-list-files: ignore git symlinks
18581         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
18582         than ls-files, to ignore git symlinks.
18583
18584         maint.mk: import improvements from m4
18585         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
18586         (move_if_change): Delete unused macro.
18587         (news-date-check, vc-diff-check): Support VPATH builds.
18588         (announcement): Likewise.  Split --bootstrap-tools list...
18589         (boostrap-tools): ...into separate list, which can be overridden
18590         in cfg.mk.
18591         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
18592         requiring dependency on useless-if-before-free module.
18593         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
18594         Support VPATH builds.
18595
18596 2009-04-24  Jim Meyering  <meyering@redhat.com>
18597
18598         maint.mk: remove coreutils-specific rules and variables
18599         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
18600         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
18601         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
18602
18603         maint.mk: remove obsolete rule
18604         * top/maint.mk (rel-check): Remove rule.
18605         (WGET, WGETFLAGS): Remove now-unused variables.
18606
18607 2009-04-24  Simon Josefsson  <simon@josefsson.org>
18608
18609         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
18610         consistency.
18611
18612         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
18613         '$(PATH_SEPARATOR)' instead of ':'.
18614
18615 2009-04-24  Simon Josefsson  <simon@josefsson.org>
18616
18617         * lib/getopt1.c (main): Use 'const' for static array.
18618
18619 2009-04-24  Simon Josefsson  <simon@josefsson.org>
18620
18621         * top/maint.mk: Sync with coreutils.
18622         * NEWS: Explain incompatibilities.
18623
18624 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
18625             Bruno Haible  <bruno@clisp.org>
18626
18627         Fix cross-compilation results.
18628         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
18629         statement, as third argument of AC_TRY_RUN.
18630         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
18631         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
18632         Likewise.
18633         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
18634         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
18635         Likewise.
18636         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
18637         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
18638         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
18639
18640 2009-04-20  Bruno Haible  <bruno@clisp.org>
18641
18642         Avoid test failure on mingw.
18643         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
18644
18645 2009-04-20  Bruno Haible  <bruno@clisp.org>
18646
18647         Avoid compilation error on mingw.
18648         * modules/localename-tests (Depends-on): Add locale.
18649
18650 2009-04-19  Bruno Haible  <bruno@clisp.org>
18651
18652         Support for building a shared library on Windows platforms.
18653         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
18654         (main): Test the presence of UNINORM_NFC here.
18655         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
18656         (main): Test the presence of UNINORM_NFD here.
18657         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
18658         (main): Test the presence of UNINORM_NFKC here.
18659         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
18660         (main): Test the presence of UNINORM_NFKD here.
18661
18662 2009-04-19  Bruno Haible  <bruno@clisp.org>
18663
18664         Avoid a compiler warning.
18665         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
18666         Change type of variable 'sequence'.
18667
18668 2009-04-19  Bruno Haible  <bruno@clisp.org>
18669
18670         * modules/configmake (Makefile.am): When the contents of configmake.h
18671         does not change, arrange to preserve its modification time.
18672
18673 2009-04-17  Simon Josefsson  <simon@josefsson.org>
18674
18675         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
18676         gettext domain.
18677
18678 2009-04-16  Jim Meyering  <meyering@redhat.com>
18679
18680         useless-if-before-free: improve conversion code
18681         * build-aux/useless-if-before-free: Adjust code-in-comment to match
18682         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
18683
18684 2009-04-14  Bruno Haible  <bruno@clisp.org>
18685
18686         * modules/fcntl (Depends-on): Add extensions.
18687         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
18688
18689 2009-04-12  Ben Pfaff  <blp@gnu.org>
18690
18691         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
18692         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
18693
18694 2009-03-20  Ben Pfaff  <blp@gnu.org>
18695
18696         Make rename replace existing destinations on Windows.
18697         * m4/rename.m4: Add test for Mingw.
18698         * lib/rename.c: Add rename replacement that uses MoveFileEx with
18699         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
18700         * doc/posix-functions/rename.texi: Document.
18701
18702 2009-04-10  Bruno Haible  <bruno@clisp.org>
18703
18704         New include file "iconveh.h".
18705         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
18706         * lib/striconveh.h: Include it.
18707         (enum iconv_ilseq_handler): Remove definition.
18708         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
18709         striconveh.h.
18710         * lib/striconveha.c: Include striconveh.h.
18711         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
18712         * modules/striconveh (Files): Add lib/iconveh.h.
18713         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
18714         lib/striconveh.h.
18715
18716 2009-04-10  Bruno Haible  <bruno@clisp.org>
18717
18718         * lib/uniconv.h: Update comment.
18719
18720 2009-04-10  Bruno Haible  <bruno@clisp.org>
18721
18722         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
18723         always.
18724         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
18725         * lib/unistr/u16-mbtouc-aux.c: Likewise.
18726         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
18727         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
18728         "unistring-notinline.h", so that the function gets defined always.
18729         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
18730         * lib/unistr/u8-uctomb.c: Likewise.
18731         * lib/unistr/u16-mbtouc.c: Likewise.
18732         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
18733         * lib/unistr/u16-uctomb.c: Likewise.
18734         * lib/unistr/u32-mbtouc.c: Likewise.
18735         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
18736         * lib/unistr/u32-uctomb.c: Likewise.
18737
18738 2009-04-10  Bruno Haible  <bruno@clisp.org>
18739
18740         Mark 'utime' obsolete.
18741         * modules/utime (Status, Notice): New sections.
18742         Suggested by Jim Meyering.
18743
18744         Fix cross-compile guess for utime test.
18745         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
18746         autoconf.
18747         * doc/posix-functions/utime.texi: Give more precisions.
18748         Reported by Jan <ipif@ymail.com>.
18749
18750 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
18751
18752         filevercmp: correct today's change
18753         * lib/filevercmp.c: Also handle coreutils' test inputs.
18754         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
18755
18756         Fix regression in 'filevercmp' module. Thanks Sven Joachim
18757         for reporting it.
18758         * lib/filevercmp.c: Special handle for "", "." and "..".
18759         * tests/test-filevercmp.c: Enlarge the set suite.
18760
18761 2009-04-07  Jim Meyering  <meyering@redhat.com>
18762
18763         useless-if-before-free: show how to remove braced useless free, too
18764         * build-aux/useless-if-before-free: still only in a comment, though.
18765
18766 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
18767
18768         maint.mk: import changes to syntax-check macros from coreutils
18769         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
18770         Use them in the relevant macros.
18771
18772 2009-04-06  Bruno Haible  <bruno@clisp.org>
18773
18774         Fix unportable use of bit-fields.
18775         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
18776         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
18777         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
18778
18779 2009-04-06  Bruno Haible  <bruno@clisp.org>
18780
18781         Avoid test failures on AIX and OSF/1.
18782         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
18783         that malloc(0) = NULL.
18784         * tests/unicase/test-u8-tolower.c (check): Likewise.
18785         * tests/unicase/test-u8-totitle.c (check): Likewise.
18786         * tests/unicase/test-u8-toupper.c (check): Likewise.
18787         * tests/unicase/test-u16-casefold.c (check): Likewise.
18788         * tests/unicase/test-u16-tolower.c (check): Likewise.
18789         * tests/unicase/test-u16-totitle.c (check): Likewise.
18790         * tests/unicase/test-u16-toupper.c (check): Likewise.
18791         * tests/unicase/test-u32-casefold.c (check): Likewise.
18792         * tests/unicase/test-u32-tolower.c (check): Likewise.
18793         * tests/unicase/test-u32-totitle.c (check): Likewise.
18794         * tests/unicase/test-u32-toupper.c (check): Likewise.
18795         * tests/uninorm/test-u8-nfc.c (check): Likewise.
18796         * tests/uninorm/test-u8-nfd.c (check): Likewise.
18797         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
18798         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
18799         * tests/uninorm/test-u16-nfc.c (check): Likewise.
18800         * tests/uninorm/test-u16-nfd.c (check): Likewise.
18801         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
18802         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
18803         * tests/uninorm/test-u32-nfc.c (check): Likewise.
18804         * tests/uninorm/test-u32-nfd.c (check): Likewise.
18805         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
18806         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
18807
18808 2009-04-05  Bruno Haible  <bruno@clisp.org>
18809
18810         Work around an autoconf limitation.
18811         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
18812         comment line if it would be longer than 3 KB.
18813
18814 2009-04-05  Bruno Haible  <bruno@clisp.org>
18815
18816         Avoid test failure with libiconv-1.13.
18817         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
18818         of the expected test results.
18819
18820 2009-04-05  Bruno Haible  <bruno@clisp.org>
18821
18822         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
18823         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
18824         that it should be installed.
18825
18826 2009-04-05  Bruno Haible  <bruno@clisp.org>
18827
18828         * gnulib-tool: New option --copy-file.
18829         (func_usage): Document it.
18830         (func_dest_tmpfilename): Moved out of func_import.
18831         (func_add_file, func_update_file): New functions, extracted from
18832         func_import.
18833         (func_import): Update.
18834
18835 2009-04-05  Karl Berry  <karl@gnu.org>
18836
18837         * README: prominently mention gnulib-tool.
18838         Rearrange sections so getting the code is near the top.
18839
18840 2009-04-05  Bruno Haible  <bruno@clisp.org>
18841
18842         * lib/unicase.h: Mention u*_cmp2.
18843         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
18844         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
18845         * lib/unicase/ulc-casecmp.c: Likewise.
18846         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
18847         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
18848         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
18849         unistr/u8-cmp.
18850         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
18851         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
18852         unistr/u16-cmp.
18853         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
18854         unistr/u32-cmp.
18855
18856         * lib/uninorm.h: Mention u*_cmp2.
18857         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
18858         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
18859         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
18860         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
18861         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
18862         unistr/u8-cmp.
18863         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
18864         unistr/u16-cmp.
18865         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
18866         unistr/u32-cmp.
18867
18868         New module 'unistr/u32-cmp2'.
18869         * lib/unistr/u32-cmp2.c: New file.
18870         * modules/unistr/u32-cmp2: New file.
18871
18872         New module 'unistr/u16-cmp2'.
18873         * lib/unistr/u16-cmp2.c: New file.
18874         * modules/unistr/u16-cmp2: New file.
18875
18876         New module 'unistr/u8-cmp2'.
18877         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
18878         * lib/unistr/u8-cmp2.c: New file.
18879         * lib/unistr/u-cmp2.h: New file.
18880         * modules/unistr/u8-cmp2: New file.
18881
18882 2009-04-05  Bruno Haible  <bruno@clisp.org>
18883
18884         * lib/unictype.h (uc_property_is_valid): New macro.
18885         * tests/unictype/test-pr_byname.c (main): Use it.
18886
18887         * lib/unistr.h: Doc fixes.
18888         * lib/uniconv.h: Doc fixes.
18889         * lib/unictype.h: Doc fixes.
18890
18891 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
18892
18893         Port coreutils 7.2 to Solaris 8.
18894
18895         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
18896         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
18897         for Solaris 8.  This is a bit of a hack, as it means it's the
18898         caller's responsibility to add -lnsl if needed, but most likely it
18899         won't be needed since only getaddrinfo uses this and getaddrinfo
18900         isn't needed on Solaris 8.
18901
18902         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
18903         problem to Solaris 8 encountered with coreutils 7.2, which
18904         resulted in a message "fnmatch.c:292: warning: passing argument 4
18905         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
18906         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
18907
18908 2009-04-03  Simon Josefsson  <simon@josefsson.org>
18909
18910         * m4/ld-version-script.m4: Add FIXME comment.
18911
18912 2009-04-02  Simon Josefsson  <simon@josefsson.org>
18913
18914         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
18915         SOVERSION variable.
18916
18917 2009-04-02  Bruno Haible  <bruno@clisp.org>
18918
18919         * Makefile (info, html, dvi, pdf): Combine the rules.
18920         Suggested by Jim Meyering.
18921
18922 2009-04-01  Bruno Haible  <bruno@clisp.org>
18923
18924         * Makefile (info, html, dvi, pdf): New targets.
18925         Reported by Reuben Thomas <rrt@sc3d.org>.
18926
18927 2009-04-01  Bruno Haible  <bruno@clisp.org>
18928
18929         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
18930         can be put into PATH.
18931         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
18932
18933 2009-04-01  Bruno Haible  <bruno@clisp.org>
18934
18935         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
18936
18937 2009-04-01  Bruno Haible  <bruno@clisp.org>
18938
18939         Rename module 'visibility'.
18940         * modules/lib-symbol-visibility: Renamed from modules/visibility.
18941         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
18942         * doc/gnulib.texi: Update.
18943         * MODULES.html.sh (Misc): Update.
18944         * NEWS: Mention the change.
18945
18946 2009-04-01  Simon Josefsson  <simon@josefsson.org>
18947
18948         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
18949         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
18950         Eric Blake <ebb9@byu.net> for review.
18951         * MODULES.html.sh: Add lib-msvc-compat.
18952         * doc/gnulib.texi: Link to new section.
18953         * m4/ld-output-def.m4: New file.
18954         * doc/ld-output-def.texi: New file.
18955
18956 2009-04-01  Simon Josefsson  <simon@josefsson.org>
18957
18958         Rename ld-version-script to lib-symbol-versions.  Suggested by
18959         Bruno Haible <bruno@clisp.org>.
18960         * modules/ld-version-script: Renamed to lib-symbol-versions.
18961         * doc/ld-version-script.texi: Fix module name.
18962         * MODULES.html.sh: Add lib-symbol-versions.
18963
18964 2009-03-31  Simon Josefsson  <simon@josefsson.org>
18965
18966         * modules/u64-tests: New file.
18967         * tests/test-u64.c: New file.
18968
18969 2009-03-04  Simon Josefsson  <simon@josefsson.org>
18970
18971         * MODULES.html.sh: Mention u64.
18972         * modules/u64: New module.
18973         * modules/crypto/sha512: Depend on u64 module instead of providing
18974         u64.h.
18975
18976 2009-03-27  Eric Blake  <ebb9@byu.net>
18977
18978         test-strerror: make debugging EAI_SYSTEM easier
18979         * modules/getaddrinfo-tests (Depends-on): Add strerror.
18980         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
18981         failure was EAI_SYSTEM.
18982
18983 2009-03-25  Bruno Haible  <bruno@clisp.org>
18984
18985         Fix a problem with --enable-relocatable on Solaris 7.
18986         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
18987         since 2008-02-24.
18988
18989 2009-03-25  Eric Blake  <ebb9@byu.net>
18990
18991         test-sockets: avoid gcc warning
18992         * tests/test-sockets.c (main): Silence compiler warning.
18993
18994 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
18995
18996         New modules nproc, pthread, contributed by Glen Lenker.
18997
18998         * MODULES.html.sh: Add pthread, nproc.
18999         * lib/nproc.c: New file.
19000         * lib/nproc.h: New file.
19001         * lib/pthread.in.h: New file.
19002         * m4/pthread.m4: New file.
19003         * modules/nproc: New file.
19004         * modules/pthread: New file.
19005
19006 2009-03-24  Simon Josefsson  <simon@josefsson.org>
19007
19008         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
19009         New variable.
19010
19011 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
19012
19013         filevercmp: handle simple~ and numbered.~3~ backup suffixes
19014         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
19015         * tests/test-filevercmp.c: Add tests for backup suffixes.
19016
19017 2009-03-24  Simon Josefsson  <simon@josefsson.org>
19018
19019         * modules/stdlib (Depends-on): Add stdint, needed when defining
19020         struct random_data on, for example, HP-UX 10.20.  Reported by
19021         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
19022
19023 2009-03-24  Simon Josefsson  <simon@josefsson.org>
19024
19025         * lib/readline.c (readline): Call fflush on stdout after printing
19026         prompt.
19027
19028 2009-03-20  Bruno Haible  <bruno@clisp.org>
19029
19030         Remove dependency from 'close' module to -lws2_32 on native Windows.
19031         * lib/close-hook.h: New file.
19032         * lib/close-hook.c: New file.
19033         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
19034         w32sock.h.
19035         (_gl_close_fd_maybe_socket): Remove function.
19036         (rpl_close): Invoke execute_all_close_hooks instead of
19037         _gl_close_fd_maybe_socket.
19038         * lib/sockets.c: Include close-hook.h, w32sock.h.
19039         (close_fd_maybe_socket): New function, essentially from lib/close.c.
19040         (close_sockets_hook): New variable.
19041         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
19042         (gl_sockets_cleanup): Unregister it.
19043         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
19044         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
19045         * modules/close-hook: New file.
19046         * modules/close (Files): Remove lib/w32sock.h.
19047         (Depends-on): Add close-hook.
19048         (Link): Remove section.
19049         * modules/sockets (Files): Add lib/w32sock.h.
19050         (Depends-on): Add close-hook.
19051         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
19052         invocation.
19053         * NEWS: Mention that LIB_CLOSE is gone.
19054
19055 2009-03-23  Eric Blake  <ebb9@byu.net>
19056
19057         signal-tests: test previous patch
19058         * tests/test-signal.c: New file.
19059         * modules/signal-tests: Likewise.
19060
19061         signal.h: always support 'volatile sig_atomic_t'
19062         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
19063         (gl_SIGNAL_H_DEFAULTS): Add a default.
19064         * modules/signal (Makefile.am): Substitute if needed.
19065         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
19066         users can blindly add volatile.
19067         * doc/posix-headers/signal.texi (signal.h): Document it.
19068         Reported by Matthew Woehlke.
19069
19070 2009-03-23  Jim Meyering  <meyering@redhat.com>
19071
19072         pathmax: PATH_MAX: use pathconf only when available
19073         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
19074         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
19075         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
19076         This avoids a link failure in a PSP cross-compilation environment
19077         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
19078
19079         * lib/vasnprintf.c (divide): Fix typo in comment.
19080
19081 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19082
19083         * gnulib-tool (func_filter_filelist): Fix comment.
19084
19085 2009-03-20  Bruno Haible  <bruno@clisp.org>
19086
19087         Make sockets.h self-contained.
19088         * lib/sockets.c: Include sockets.h first.
19089         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
19090
19091 2009-03-19  Eric Blake  <ebb9@byu.net>
19092
19093         doc: mention more functions added in cygwin 1.7.0
19094         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
19095         addition.
19096         * doc/posix-functions/log2f.texi: Likewise.
19097
19098 2009-03-19  Jim Meyering  <meyering@redhat.com>
19099
19100         fsusage: avoid syntax error due to statement-before-declaration
19101         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
19102         after all declarations.  Reported by Matthew Woehlke in
19103         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
19104
19105 2009-03-18  Eric Blake  <ebb9@byu.net>
19106
19107         build-aux/compile: sync from automake
19108         * build-aux/compile: New file, from automake.
19109         * config/srclist.txt: Mention build-aux/compile.
19110
19111 2009-03-17  Bruno Haible  <bruno@clisp.org>
19112
19113         * lib/git-merge-changelog.c: Fix typo in comment.
19114         Reported by Reuben Thomas <rrt@sc3d.org>.
19115
19116 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
19117
19118         * m4/regex.m4: update and improve help for
19119         --without-included-regex.
19120
19121 2009-03-17  Simon Josefsson  <simon@josefsson.org>
19122
19123         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
19124         failure on missing include files.
19125
19126 2009-03-17  Eric Blake  <ebb9@byu.net>
19127
19128         doc: mention more functions added in cygwin 1.7.0
19129         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
19130         addition.
19131         * doc/posix-functions/fwscanf.texi: Likewise.
19132         * doc/posix-functions/swprintf.texi: Likewise.
19133         * doc/posix-functions/swscanf.texi: Likewise.
19134         * doc/posix-functions/vfwprintf.texi: Likewise.
19135         * doc/posix-functions/vfwscanf.texi: Likewise.
19136         * doc/posix-functions/vswprintf.texi: Likewise.
19137         * doc/posix-functions/vswscanf.texi: Likewise.
19138         * doc/posix-functions/vwprintf.texi: Likewise.
19139         * doc/posix-functions/vwscanf.texi: Likewise.
19140         * doc/posix-functions/wcscasecmp.texi: Likewise.
19141         * doc/posix-functions/wcsdup.texi: Likewise.
19142         * doc/posix-functions/wcsftime.texi: Likewise.
19143         * doc/posix-functions/wcsncasecmp.texi: Likewise.
19144         * doc/posix-functions/wprintf.texi: Likewise.
19145         * doc/posix-functions/wscanf.texi: Likewise.
19146         * doc/glibc-functions/gethostbyname2.texi: Likewise.
19147
19148 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19149
19150         maint.mk: really add $(AM_MAKEFLAGS)
19151         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
19152         was inadvertently omitted in the last commit.
19153         Spotted by Bruno Haible.
19154
19155         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
19156         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
19157         $(AM_MAKEFLAGS)' rather than plain `make'.
19158
19159         gnulib-tool: execute $MAKE not make
19160         * gnulib-tool: Default $MAKE to 'make'.
19161         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
19162         than make.  Initialize $MAKE in the do-autobuild script.
19163
19164         gnulib-tool: use $MAKE not make in generated files
19165         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
19166         make, in generated files.  Initialize $MAKE in the do-autobuild
19167         script.
19168
19169         * top/GNUmakefile (_have-git-version-gen): Fix typo.
19170
19171         GNUmakefile: disable parallelism only for multiple, recursive targets
19172         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
19173         additions in the Makefile.
19174         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
19175         by Automake.
19176         (.NOTPARALLEL): Only disable parallel builds if multiple targets
19177         are listed on the command line and at least one of them is
19178         listed in $(ALL_RECURSIVE_TARGETS).
19179
19180 2009-03-14  Bruno Haible  <bruno@clisp.org>
19181
19182         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
19183         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
19184         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
19185         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
19186         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
19187         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
19188         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
19189         unistr/u8-uctomb.
19190         * modules/unistr/u8-strchr (Depends-on): Likewise.
19191         * modules/unistr/u8-strrchr (Depends-on): Likewise.
19192         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
19193         unistr/u16-uctomb.
19194         * modules/unistr/u16-strchr (Depends-on): Likewise.
19195         * modules/unistr/u16-strrchr (Depends-on): Likewise.
19196
19197 2009-03-12  Bruno Haible  <bruno@clisp.org>
19198
19199         Work around select() bug on Interix 3.5.
19200         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
19201         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
19202         * m4/select.m4: New file.
19203         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
19204         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
19205         * modules/select (Files): Add m4/select.m4.
19206         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
19207         * modules/nanosleep (Depends-on): Add select.
19208         * modules/poll (Depends-on): Likewise.
19209         * doc/posix-functions/select.texi: Mention the Interix bug.
19210         Reported by Markus Duft <mduft@gentoo.org>.
19211
19212         * lib/select.c: Renamed from lib/winsock-select.c.
19213         * modules/select (Files): Add lib/select.c, remove
19214         lib/winsock-select.c.
19215         (configure.ac): Update.
19216
19217 2009-03-12  Jim Meyering  <meyering@redhat.com>
19218
19219         avoid gcc warnings about unused macro definitions
19220         * lib/readtokens.c (STREQ): Remove unused definition.
19221         * lib/xmalloc.c (SIZE_MAX): Likewise.
19222         * lib/openat-die.c (N_): Likewise.
19223         * lib/mountlist.c (SIZE_MAX): Remove definition.
19224         Instead, include <stdint.h>.
19225         * lib/readutmp.c: Likewise.
19226         * modules/readutmp (Depends-on): Add stdint.
19227         * modules/mountlist (Depends-on): Add stdint.
19228         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
19229
19230 2009-03-10  Bruno Haible  <bruno@clisp.org>
19231
19232         Tests for module 'mbmemcasecoll'.
19233         * modules/mbmemcasecoll-tests: New file.
19234         * tests/test-mbmemcasecoll1.sh: New file.
19235         * tests/test-mbmemcasecoll2.sh: New file.
19236         * tests/test-mbmemcasecoll3.sh: New file.
19237         * tests/test-mbmemcasecoll.c: New file.
19238
19239         New module 'mbmemcasecoll'.
19240         * lib/mbmemcasecoll.h: New file.
19241         * lib/mbmemcasecoll.c: New file.
19242         * modules/mbmemcasecoll: New file.
19243
19244         * tests/test-mbmemcasecmp.h: New file, extracted from
19245         tests/test-mbmemcasecmp.c.
19246         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
19247         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
19248         (main): Update.
19249         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
19250
19251 2009-03-09  Bruno Haible  <bruno@clisp.org>
19252
19253         Tests for module 'mbmemcasecmp'.
19254         * modules/mbmemcasecmp-tests: New file.
19255         * tests/test-mbmemcasecmp1.sh: New file.
19256         * tests/test-mbmemcasecmp2.sh: New file.
19257         * tests/test-mbmemcasecmp3.sh: New file.
19258         * tests/test-mbmemcasecmp.c: New file.
19259
19260         New module 'mbmemcasecmp'.
19261         * lib/mbmemcasecmp.h: New file.
19262         * lib/mbmemcasecmp.c: New file.
19263         * modules/mbmemcasecmp: New file.
19264
19265 2009-03-09  Bruno Haible  <bruno@clisp.org>
19266
19267         Tests for module 'unicase/ulc-casecoll'.
19268         * modules/unicase/ulc-casecoll-tests: New file.
19269         * tests/unicase/test-ulc-casecoll1.sh: New file.
19270         * tests/unicase/test-ulc-casecoll2.sh: New file.
19271         * tests/unicase/test-ulc-casecoll.c: New file.
19272
19273         New module 'unicase/ulc-casecoll'.
19274         * lib/unicase.h (ulc_casecoll): New declaration.
19275         * lib/unicase/ulc-casecoll.c: New file.
19276         * modules/unicase/ulc-casecoll: New file.
19277
19278         New module 'unicase/ulc-casexfrm'.
19279         * lib/unicase.h (ulc_casexfrm): New declaration.
19280         * lib/unicase/ulc-casexfrm.c: New file.
19281         * modules/unicase/ulc-casexfrm: New file.
19282
19283 2009-03-09  Bruno Haible  <bruno@clisp.org>
19284
19285         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
19286         invocations.
19287
19288         * m4/mbscasecmp.m4: Remove file.
19289         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
19290         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
19291
19292         * m4/mbscasestr.m4: Remove file.
19293         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
19294         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
19295
19296         * m4/mbschr.m4: Remove file.
19297         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
19298         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
19299
19300         * m4/mbscspn.m4: Remove file.
19301         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
19302         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
19303
19304         * m4/mbslen.m4: Remove file.
19305         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
19306         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
19307
19308         * m4/mbsncasecmp.m4: Remove file.
19309         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
19310         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
19311
19312         * m4/mbsnlen.m4: Remove file.
19313         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
19314         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
19315
19316         * m4/mbspbrk.m4: Remove file.
19317         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
19318         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
19319
19320         * m4/mbspcasecmp.m4: Remove file.
19321         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
19322         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
19323
19324         * m4/mbsrchr.m4: Remove file.
19325         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
19326         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
19327
19328         * m4/mbssep.m4: Remove file.
19329         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
19330         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
19331
19332         * m4/mbsspn.m4: Remove file.
19333         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
19334         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
19335
19336         * m4/mbsstr.m4: Remove file.
19337         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
19338         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
19339
19340         * m4/mbstok_r.m4: Remove file.
19341         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
19342         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
19343
19344         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
19345
19346         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
19347         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
19348
19349         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
19350
19351 2009-03-08  Bruno Haible  <bruno@clisp.org>
19352
19353         Tests for module 'unicase/ulc-casecmp'.
19354         * modules/unicase/ulc-casecmp-tests: New file.
19355         * tests/unicase/test-ulc-casecmp1.sh: New file.
19356         * tests/unicase/test-ulc-casecmp2.sh: New file.
19357         * tests/unicase/test-ulc-casecmp.c: New file.
19358
19359         New module 'unicase/ulc-casecmp'.
19360         * lib/unicase.h (ulc_casecmp): New declaration.
19361         * lib/unicase/ulc-casecmp.c: New file.
19362         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
19363         'const SRC_UNIT *'.
19364         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
19365         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
19366         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
19367         * modules/unicase/ulc-casecmp: New file.
19368
19369         Tests for module 'unicase/u32-is-cased'.
19370         * modules/unicase/u32-is-cased-tests: New file.
19371         * tests/unicase/test-u32-is-cased.c: New file.
19372
19373         Tests for module 'unicase/u16-is-cased'.
19374         * modules/unicase/u16-is-cased-tests: New file.
19375         * tests/unicase/test-u16-is-cased.c: New file.
19376
19377         Tests for module 'unicase/u8-is-cased'.
19378         * modules/unicase/u8-is-cased-tests: New file.
19379         * tests/unicase/test-u8-is-cased.c: New file.
19380         * tests/unicase/test-is-cased.h: New file.
19381
19382         New module 'unicase/u32-is-cased'.
19383         * lib/unicase/u32-is-cased.c: New file.
19384         * modules/unicase/u32-is-cased: New file.
19385
19386         New module 'unicase/u16-is-cased'.
19387         * lib/unicase/u16-is-cased.c: New file.
19388         * modules/unicase/u16-is-cased: New file.
19389
19390         New module 'unicase/u8-is-cased'.
19391         * lib/unicase/u8-is-cased.c: New file.
19392         * lib/unicase/u-is-cased.h: New file.
19393         * modules/unicase/u8-is-cased: New file.
19394
19395         Tests for module 'unicase/u32-is-casefolded'.
19396         * modules/unicase/u32-is-casefolded-tests: New file.
19397         * tests/unicase/test-u32-is-casefolded.c: New file.
19398
19399         Tests for module 'unicase/u16-is-casefolded'.
19400         * modules/unicase/u16-is-casefolded-tests: New file.
19401         * tests/unicase/test-u16-is-casefolded.c: New file.
19402
19403         Tests for module 'unicase/u8-is-casefolded'.
19404         * modules/unicase/u8-is-casefolded-tests: New file.
19405         * tests/unicase/test-u8-is-casefolded.c: New file.
19406         * tests/unicase/test-is-casefolded.h: New file.
19407
19408         New module 'unicase/u32-is-casefolded'.
19409         * lib/unicase/u32-is-casefolded.c: New file.
19410         * modules/unicase/u32-is-casefolded: New file.
19411
19412         New module 'unicase/u16-is-casefolded'.
19413         * lib/unicase/u16-is-casefolded.c: New file.
19414         * modules/unicase/u16-is-casefolded: New file.
19415
19416         New module 'unicase/u8-is-casefolded'.
19417         * lib/unicase/u8-is-casefolded.c: New file.
19418         * modules/unicase/u8-is-casefolded: New file.
19419
19420         Tests for module 'unicase/u32-is-titlecase'.
19421         * modules/unicase/u32-is-titlecase-tests: New file.
19422         * tests/unicase/test-u32-is-titlecase.c: New file.
19423
19424         Tests for module 'unicase/u16-is-titlecase'.
19425         * modules/unicase/u16-is-titlecase-tests: New file.
19426         * tests/unicase/test-u16-is-titlecase.c: New file.
19427
19428         Tests for module 'unicase/u8-is-titlecase'.
19429         * modules/unicase/u8-is-titlecase-tests: New file.
19430         * tests/unicase/test-u8-is-titlecase.c: New file.
19431         * tests/unicase/test-is-titlecase.h: New file.
19432
19433         New module 'unicase/u32-is-titlecase'.
19434         * lib/unicase/u32-is-titlecase.c: New file.
19435         * modules/unicase/u32-is-titlecase: New file.
19436
19437         New module 'unicase/u16-is-titlecase'.
19438         * lib/unicase/u16-is-titlecase.c: New file.
19439         * modules/unicase/u16-is-titlecase: New file.
19440
19441         New module 'unicase/u8-is-titlecase'.
19442         * lib/unicase/u8-is-titlecase.c: New file.
19443         * modules/unicase/u8-is-titlecase: New file.
19444
19445         Tests for module 'unicase/u32-is-lowercase'.
19446         * modules/unicase/u32-is-lowercase-tests: New file.
19447         * tests/unicase/test-u32-is-lowercase.c: New file.
19448
19449         Tests for module 'unicase/u16-is-lowercase'.
19450         * modules/unicase/u16-is-lowercase-tests: New file.
19451         * tests/unicase/test-u16-is-lowercase.c: New file.
19452
19453         Tests for module 'unicase/u8-is-lowercase'.
19454         * modules/unicase/u8-is-lowercase-tests: New file.
19455         * tests/unicase/test-u8-is-lowercase.c: New file.
19456         * tests/unicase/test-is-lowercase.h: New file.
19457
19458         New module 'unicase/u32-is-lowercase'.
19459         * lib/unicase/u32-is-lowercase.c: New file.
19460         * modules/unicase/u32-is-lowercase: New file.
19461
19462         New module 'unicase/u16-is-lowercase'.
19463         * lib/unicase/u16-is-lowercase.c: New file.
19464         * modules/unicase/u16-is-lowercase: New file.
19465
19466         New module 'unicase/u8-is-lowercase'.
19467         * lib/unicase/u8-is-lowercase.c: New file.
19468         * modules/unicase/u8-is-lowercase: New file.
19469
19470         Tests for module 'unicase/u32-is-uppercase'.
19471         * modules/unicase/u32-is-uppercase-tests: New file.
19472         * tests/unicase/test-u32-is-uppercase.c: New file.
19473
19474         Tests for module 'unicase/u16-is-uppercase'.
19475         * modules/unicase/u16-is-uppercase-tests: New file.
19476         * tests/unicase/test-u16-is-uppercase.c: New file.
19477
19478         Tests for module 'unicase/u8-is-uppercase'.
19479         * modules/unicase/u8-is-uppercase-tests: New file.
19480         * tests/unicase/test-u8-is-uppercase.c: New file.
19481         * tests/unicase/test-is-uppercase.h: New file.
19482
19483         New module 'unicase/u32-is-uppercase'.
19484         * lib/unicase/u32-is-uppercase.c: New file.
19485         * modules/unicase/u32-is-uppercase: New file.
19486
19487         New module 'unicase/u16-is-uppercase'.
19488         * lib/unicase/u16-is-uppercase.c: New file.
19489         * modules/unicase/u16-is-uppercase: New file.
19490
19491         New module 'unicase/u8-is-uppercase'.
19492         * lib/unicase/u8-is-uppercase.c: New file.
19493         * modules/unicase/u8-is-uppercase: New file.
19494
19495         New module 'unicase/u32-is-invariant'.
19496         * lib/unicase/u32-is-invariant.c: New file.
19497         * modules/unicase/u32-is-invariant: New file.
19498
19499         New module 'unicase/u16-is-invariant'.
19500         * lib/unicase/u16-is-invariant.c: New file.
19501         * modules/unicase/u16-is-invariant: New file.
19502
19503         New module 'unicase/u8-is-invariant'.
19504         * lib/unicase/u8-is-invariant.c: New file.
19505         * lib/unicase/invariant.h: New file.
19506         * lib/unicase/u-is-invariant.h: New file.
19507         * modules/unicase/u8-is-invariant: New file.
19508
19509         Tests for module 'unicase/u32-casecoll'.
19510         * modules/unicase/u32-casecoll-tests: New file.
19511         * tests/unicase/test-u32-casecoll.c: New file.
19512
19513         Tests for module 'unicase/u16-casecoll'.
19514         * modules/unicase/u16-casecoll-tests: New file.
19515         * tests/unicase/test-u16-casecoll.c: New file.
19516
19517         Tests for module 'unicase/u8-casecoll'.
19518         * modules/unicase/u8-casecoll-tests: New file.
19519         * tests/unicase/test-u8-casecoll.c: New file.
19520
19521         New module 'unicase/u32-casecoll'.
19522         * lib/unicase/u32-casecoll.c: New file.
19523         * modules/unicase/u32-casecoll: New file.
19524
19525         New module 'unicase/u16-casecoll'.
19526         * lib/unicase/u16-casecoll.c: New file.
19527         * modules/unicase/u16-casecoll: New file.
19528
19529         New module 'unicase/u8-casecoll'.
19530         * lib/unicase/u8-casecoll.c: New file.
19531         * lib/unicase/u-casecoll.h: New file.
19532         * modules/unicase/u8-casecoll: New file.
19533
19534         New module 'unicase/u32-casexfrm'.
19535         * lib/unicase/u32-casexfrm.c: New file.
19536         * modules/unicase/u32-casexfrm: New file.
19537
19538         New module 'unicase/u16-casexfrm'.
19539         * lib/unicase/u16-casexfrm.c: New file.
19540         * modules/unicase/u16-casexfrm: New file.
19541
19542         New module 'unicase/u8-casexfrm'.
19543         * lib/unicase/u8-casexfrm.c: New file.
19544         * lib/unicase/u-casexfrm.h: New file.
19545         * modules/unicase/u8-casexfrm: New file.
19546
19547         Tests for module 'unicase/u32-casecmp'.
19548         * modules/unicase/u32-casecmp-tests: New file.
19549         * tests/unicase/test-u32-casecmp.c: New file.
19550
19551         Tests for module 'unicase/u16-casecmp'.
19552         * modules/unicase/u16-casecmp-tests: New file.
19553         * tests/unicase/test-u16-casecmp.c: New file.
19554
19555         Tests for module 'unicase/u8-casecmp'.
19556         * modules/unicase/u8-casecmp-tests: New file.
19557         * tests/unicase/test-u8-casecmp.c: New file.
19558         * tests/unicase/test-casecmp.h: New file.
19559
19560         New module 'unicase/u32-casecmp'.
19561         * lib/unicase/u32-casecmp.c: New file.
19562         * modules/unicase/u32-casecmp: New file.
19563
19564         New module 'unicase/u16-casecmp'.
19565         * lib/unicase/u16-casecmp.c: New file.
19566         * modules/unicase/u16-casecmp: New file.
19567
19568         New module 'unicase/u8-casecmp'.
19569         * lib/unicase/u8-casecmp.c: New file.
19570         * lib/unicase/u-casecmp.h: New file.
19571         * modules/unicase/u8-casecmp: New file.
19572
19573         Tests for module 'unicase/u32-casefold'.
19574         * modules/unicase/u32-casefold-tests: New file.
19575         * tests/unicase/test-u32-casefold.c: New file.
19576
19577         Tests for module 'unicase/u16-casefold'.
19578         * modules/unicase/u16-casefold-tests: New file.
19579         * tests/unicase/test-u16-casefold.c: New file.
19580
19581         Tests for module 'unicase/u8-casefold'.
19582         * modules/unicase/u8-casefold-tests: New file.
19583         * tests/unicase/test-u8-casefold.c: New file.
19584
19585         New module 'unicase/u32-casefold'.
19586         * lib/unicase/u32-casefold.c: New file.
19587         * modules/unicase/u32-casefold: New file.
19588
19589         New module 'unicase/u16-casefold'.
19590         * lib/unicase/u16-casefold.c: New file.
19591         * modules/unicase/u16-casefold: New file.
19592
19593         New module 'unicase/u8-casefold'.
19594         * lib/unicase/u8-casefold.c: New file.
19595         * lib/unicase/u-casefold.h: New file.
19596         * modules/unicase/u8-casefold: New file.
19597
19598         New module 'unicase/tocasefold'.
19599         * lib/unicase/casefold.h: New file.
19600         * lib/unicase/tocasefold.c: New file.
19601         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
19602         * modules/unicase/tocasefold: New file.
19603
19604         Tests for module 'unicase/u32-totitle'.
19605         * modules/unicase/u32-totitle-tests: New file.
19606         * tests/unicase/test-u32-totitle.c: New file.
19607
19608         Tests for module 'unicase/u16-totitle'.
19609         * modules/unicase/u16-totitle-tests: New file.
19610         * tests/unicase/test-u16-totitle.c: New file.
19611
19612         Tests for module 'unicase/u8-totitle'.
19613         * modules/unicase/u8-totitle-tests: New file.
19614         * tests/unicase/test-u8-totitle.c: New file.
19615
19616         New module 'unicase/u32-totitle'.
19617         * lib/unicase/u32-totitle.c: New file.
19618         * modules/unicase/u32-totitle: New file.
19619
19620         New module 'unicase/u16-totitle'.
19621         * lib/unicase/u16-totitle.c: New file.
19622         * modules/unicase/u16-totitle: New file.
19623
19624         New module 'unicase/u8-totitle'.
19625         * lib/unicase/u8-totitle.c: New file.
19626         * lib/unicase/u-totitle.h: New file.
19627         * modules/unicase/u8-totitle: New file.
19628
19629         Tests for module 'unicase/u32-tolower'.
19630         * modules/unicase/u32-tolower-tests: New file.
19631         * tests/unicase/test-u32-tolower.c: New file.
19632
19633         Tests for module 'unicase/u16-tolower'.
19634         * modules/unicase/u16-tolower-tests: New file.
19635         * tests/unicase/test-u16-tolower.c: New file.
19636
19637         Tests for module 'unicase/u8-tolower'.
19638         * modules/unicase/u8-tolower-tests: New file.
19639         * tests/unicase/test-u8-tolower.c: New file.
19640
19641         New module 'unicase/u32-tolower'.
19642         * lib/unicase/u32-tolower.c: New file.
19643         * modules/unicase/u32-tolower: New file.
19644
19645         New module 'unicase/u16-tolower'.
19646         * lib/unicase/u16-tolower.c: New file.
19647         * modules/unicase/u16-tolower: New file.
19648
19649         New module 'unicase/u8-tolower'.
19650         * lib/unicase/u8-tolower.c: New file.
19651         * modules/unicase/u8-tolower: New file.
19652
19653         Tests for module 'unicase/u32-toupper'.
19654         * modules/unicase/u32-toupper-tests: New file.
19655         * tests/unicase/test-u32-toupper.c: New file.
19656
19657         Tests for module 'unicase/u16-toupper'.
19658         * modules/unicase/u16-toupper-tests: New file.
19659         * tests/unicase/test-u16-toupper.c: New file.
19660
19661         Tests for module 'unicase/u8-toupper'.
19662         * modules/unicase/u8-toupper-tests: New file.
19663         * tests/unicase/test-u8-toupper.c: New file.
19664
19665         New module 'unicase/u32-toupper'.
19666         * lib/unicase/u32-toupper.c: New file.
19667         * modules/unicase/u32-toupper: New file.
19668
19669         New module 'unicase/u16-toupper'.
19670         * lib/unicase/u16-toupper.c: New file.
19671         * modules/unicase/u16-toupper: New file.
19672
19673         New module 'unicase/u8-toupper'.
19674         * lib/unicase/u8-toupper.c: New file.
19675         * modules/unicase/u8-toupper: New file.
19676
19677         New module 'unicase/u32-casemap'.
19678         * lib/unicase/u32-casemap.c: New file.
19679         * modules/unicase/u32-casemap: New file.
19680
19681         New module 'unicase/u16-casemap'.
19682         * lib/unicase/u16-casemap.c: New file.
19683         * modules/unicase/u16-casemap: New file.
19684
19685         New module 'unicase/u8-casemap'.
19686         * lib/unicase/unicasemap.h: New file.
19687         * lib/unicase/u8-casemap.c: New file.
19688         * lib/unicase/u-casemap.h: New file.
19689         * modules/unicase/u8-casemap: New file.
19690
19691         New module 'unicase/special-casing'.
19692         * lib/unicase/special-casing.h: New file.
19693         * lib/unicase/special-casing.c: New file.
19694         * lib/unicase/special-casing-table.gperf: New file, generated by
19695         gen-uni-tables.c.
19696         * modules/unicase/special-casing: New file.
19697
19698         Tests for module 'unicase/locale-language'.
19699         * modules/unicase/locale-language-tests: New file.
19700         * tests/unicase/test-locale-language.sh: New file.
19701         * tests/unicase/test-locale-language.c: New file.
19702
19703         New module 'unicase/locale-language'.
19704         * lib/unicase/locale-language.c: New file.
19705         * lib/unicase/locale-languages.gperf: New file.
19706         * modules/unicase/locale-language: New file.
19707
19708         Generate more tables for case conversion and case folding.
19709         * lib/gen-uni-tables.c (SCC_*): New enum items.
19710         (struct special_casing_rule): New type.
19711         (casing_rules, num_casing_rules, allocated_casing_rules): New
19712         variables.
19713         (add_casing_rule, fill_casing_rules): New functions.
19714         (struct casefold_rule): New type.
19715         (casefolding_rules, num_casefolding_rules,
19716         allocated_casefolding_rules): New variables.
19717         (fill_casefolding_rules): New function.
19718         (unicode_casefold): New variable.
19719         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
19720         sort_casing_rules, output_casing_rules): New functions.
19721         (main): Accept to more arguments: SpecialCasing.txt and
19722         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
19723         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
19724         Output mapping for casefolding.
19725
19726         * lib/unicase.h: Include stdbool.h, uninorm.h.
19727         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
19728         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
19729         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
19730         arguments.
19731         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
19732         resultp arguments.
19733         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
19734         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
19735         resultp arguments.
19736         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
19737         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
19738         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
19739         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
19740         declarations.
19741         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
19742
19743 2009-03-08  Bruno Haible  <bruno@clisp.org>
19744
19745         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
19746         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
19747         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
19748         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
19749
19750 2009-03-07  Bruno Haible  <bruno@clisp.org>
19751
19752         Adjust u*_normcmp, u*_normcoll API.
19753         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
19754         u16_normcoll, u32_normcoll): Change failure conventions.
19755         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
19756         errno and return -1.
19757         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
19758
19759 2009-03-07  Bruno Haible  <bruno@clisp.org>
19760
19761         Tests for module 'uninorm/u32-normcoll'.
19762         * modules/uninorm/u32-normcoll-tests: New file.
19763         * tests/uninorm/test-u32-normcoll.c: New file.
19764
19765         Tests for module 'uninorm/u16-normcoll'.
19766         * modules/uninorm/u16-normcoll-tests: New file.
19767         * tests/uninorm/test-u16-normcoll.c: New file.
19768
19769         Tests for module 'uninorm/u8-normcoll'.
19770         * modules/uninorm/u8-normcoll-tests: New file.
19771         * tests/uninorm/test-u8-normcoll.c: New file.
19772
19773 2009-03-07  Bruno Haible  <bruno@clisp.org>
19774
19775         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
19776         tests/uninorm/test-u32-normcmp.c.
19777         * tests/uninorm/test-u32-normcmp.c: Include it.
19778         (test_nonascii): New function, extracted from main. Add some more
19779         tests.
19780         (main): Invoke test_ascii and test_nonascii.
19781         * modules/uninorm/u32-normcmp-tests (Files): Add
19782         tests/uninorm/test-u32-normcmp.h.
19783         (Depends-on): Remove uninorm/u32-normcmp.
19784
19785         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
19786         tests/uninorm/test-u16-normcmp.c.
19787         * tests/uninorm/test-u16-normcmp.c: Include it.
19788         (test_nonascii): New function, extracted from main. Add some more
19789         tests.
19790         (main): Invoke test_ascii and test_nonascii.
19791         * modules/uninorm/u16-normcmp-tests (Files): Add
19792         tests/uninorm/test-u16-normcmp.h.
19793         (Depends-on): Remove uninorm/u16-normcmp.
19794
19795         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
19796         tests/uninorm/test-u8-normcmp.c.
19797         * tests/uninorm/test-u8-normcmp.c: Include it.
19798         (test_nonascii): New function, extracted from main. Add some more
19799         tests.
19800         (main): Invoke test_ascii and test_nonascii.
19801         * modules/uninorm/u8-normcmp-tests (Files): Add
19802         tests/uninorm/test-u8-normcmp.h.
19803         (Depends-on): Remove uninorm/u8-normcmp.
19804
19805 2009-03-07  Bruno Haible  <bruno@clisp.org>
19806
19807         New module 'uninorm/u32-normcoll'.
19808         * lib/uninorm/u32-normcoll.c: New file.
19809         * modules/uninorm/u32-normcoll: New file.
19810
19811         New module 'uninorm/u16-normcoll'.
19812         * lib/uninorm/u16-normcoll.c: New file.
19813         * modules/uninorm/u16-normcoll: New file.
19814
19815         New module 'uninorm/u8-normcoll'.
19816         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
19817         declarations.
19818         * lib/uninorm/u8-normcoll.c: New file.
19819         * lib/uninorm/u-normcoll.h: New file.
19820         * modules/uninorm/u8-normcoll: New file.
19821
19822         New module 'uninorm/u32-normxfrm'.
19823         * lib/uninorm/u32-normxfrm.c: New file.
19824         * modules/uninorm/u32-normxfrm: New file.
19825
19826         New module 'uninorm/u16-normxfrm'.
19827         * lib/uninorm/u16-normxfrm.c: New file.
19828         * modules/uninorm/u16-normxfrm: New file.
19829
19830         New module 'uninorm/u8-normxfrm'.
19831         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
19832         declarations.
19833         * lib/uninorm/u8-normxfrm.c: New file.
19834         * lib/uninorm/u-normxfrm.h: New file.
19835         * modules/uninorm/u8-normxfrm: New file.
19836
19837 2009-03-07  Bruno Haible  <bruno@clisp.org>
19838
19839         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
19840         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
19841         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
19842
19843 2009-03-07  Bruno Haible  <bruno@clisp.org>
19844
19845         New module 'memxfrm'.
19846         * lib/memxfrm.h: New file.
19847         * lib/memxfrm.c: New file.
19848         * modules/memxfrm: New file.
19849
19850 2009-03-07  Bruno Haible  <bruno@clisp.org>
19851
19852         New module 'memcmp2'.
19853         * lib/memcmp2.h: New file.
19854         * lib/memcmp2.c: New file.
19855         * modules/memcmp2: New file.
19856
19857 2009-03-07  Bruno Haible  <bruno@clisp.org>
19858
19859         Tests for module 'uninorm/decomposing-form'.
19860         * modules/uninorm/decomposing-form-tests: New file.
19861         * tests/uninorm/test-decomposing-form.c: New file.
19862
19863         New module 'uninorm/decomposing-form'.
19864         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
19865         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
19866         Add 'decomposing_variant' field.
19867         * lib/uninorm/decomposing-form.c: New file.
19868         * lib/uninorm/nfc.c (uninorm_nfc): Update.
19869         * lib/uninorm/nfd.c (uninorm_nfd): Update.
19870         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
19871         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
19872         * modules/uninorm/decomposing-form: New file.
19873         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
19874         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
19875
19876 2009-03-07  Bruno Haible  <bruno@clisp.org>
19877
19878         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
19879         strings.
19880
19881 2009-03-06  Bruno Haible  <bruno@clisp.org>
19882
19883         Tests for module 'uninorm/u32-normcmp'.
19884         * tests/uninorm/test-u32-normcmp.c: New file.
19885         * modules/uninorm/u32-normcmp-tests: New file.
19886
19887         Tests for module 'uninorm/u16-normcmp'.
19888         * tests/uninorm/test-u16-normcmp.c: New file.
19889         * modules/uninorm/u16-normcmp-tests: New file.
19890
19891         Tests for module 'uninorm/u8-normcmp'.
19892         * tests/uninorm/test-u8-normcmp.c: New file.
19893         * modules/uninorm/u8-normcmp-tests: New file.
19894
19895         New module 'uninorm/u32-normcmp'.
19896         * lib/uninorm/u32-normcmp.c: New file.
19897         * modules/uninorm/u32-normcmp: New file.
19898
19899         New module 'uninorm/u16-normcmp'.
19900         * lib/uninorm/u16-normcmp.c: New file.
19901         * modules/uninorm/u16-normcmp: New file.
19902
19903         New module 'uninorm/u8-normcmp'.
19904         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
19905         declarations.
19906         * lib/uninorm/u8-normcmp.c: New file.
19907         * lib/uninorm/u-normcmp.h: New file.
19908         * modules/uninorm/u8-normcmp: New file.
19909
19910 2009-03-06  Bruno Haible  <bruno@clisp.org>
19911
19912         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
19913         Reported by Eric Blake.
19914
19915 2009-03-06  Eric Blake  <ebb9@byu.net>
19916             Bruno Haible  <bruno@clisp.org>
19917
19918         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
19919         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
19920         condition.
19921         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
19922         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
19923         condition.
19924         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
19925
19926 2009-03-06  Eric Blake  <ebb9@byu.net>
19927
19928         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
19929         to avoid compiler warnings.
19930         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
19931
19932 2009-03-05  Bruno Haible  <bruno@clisp.org>
19933
19934         * tests/test-ftell.c (main): Disable test beyond end of file on
19935         FreeMiNT.
19936         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
19937
19938 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
19939
19940         * lib/filevercmp.c: Move hidden files up in ordering.
19941         * tests/test-filevercmp.c: Add tests for hidden files.
19942
19943 2009-03-04  Bruno Haible  <bruno@clisp.org>
19944
19945         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
19946         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
19947         AM_CFLAGS.
19948         Reported by Simon Josefsson.
19949
19950 2009-03-03  Bruno Haible  <bruno@clisp.org>
19951
19952         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
19953         Reported by Simon Josefsson.
19954
19955         * doc/ld-version-script.texi: Update node reference.
19956
19957 2009-03-03  Bruno Haible  <bruno@clisp.org>
19958
19959         * modules/visibility (License): Change to 'unlimited'.
19960         Suggested by Simon Josefsson.
19961
19962 2009-03-03  Jim Meyering  <meyering@redhat.com>
19963
19964         unlinkdir: cannot_unlink_dir may modify process state
19965         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
19966         it's neither thread-safe nor appropriate for use in a library.
19967
19968 2009-03-03  Eric Blake  <ebb9@byu.net>
19969
19970         test-closein: silence test under Darwin
19971         * tests/test-closein.sh: Ignore stderr from cat, since we don't
19972         care if it dies from EPIPE or EBADF.
19973
19974 2009-03-03  Bruno Haible  <bruno@clisp.org>
19975
19976         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
19977         earlier.
19978         * doc/visibility.texi: Fix @node and @section.
19979
19980 2009-03-03  Simon Josefsson  <simon@josefsson.org>
19981
19982         * doc/gnulib.texi: Link to sections for ld version script and
19983         visibility.
19984         * doc/visibility.texi: Add @node and @section.
19985         * modules/ld-version-script: New module.
19986         * m4/ld-version-script.m4: New file.
19987         * doc/ld-version-script.texi: New file.
19988
19989 2009-03-02  David Lutterkort  <lutter@redhat.com>
19990
19991         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
19992         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19993
19994 2009-03-02  Bruno Haible  <bruno@clisp.org>
19995
19996         * doc/visibility.texi: Mention libtool's -export-symbols option.
19997
19998 2009-03-02  Jim Meyering  <meyering@redhat.com>
19999
20000         announce-gen: new option: --no-print-checksums
20001         * build-aux/announce-gen (usage): Describe it.
20002         (print_checksums): Print a newline here, not in the [*] footnote.
20003         (main): Honor it.
20004
20005 2009-03-01  Bruno Haible  <bruno@clisp.org>
20006
20007         Use socklen_t in the native Windows replacements prototypes.
20008         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
20009         instead of 'int'.
20010         * lib/getsockopt.c (rpl_getsockopt): Likewise.
20011         * lib/setsockopt.c (rpl_setsockopt): Likewise.
20012         * modules/getsockopt (Depends-on): Add socklen.
20013         * modules/setsockopt (Depends-on): Add socklen.
20014
20015 2009-03-01  Bruno Haible  <bruno@clisp.org>
20016
20017         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
20018         least 4.2.
20019
20020 2009-03-01  Eric Blake  <ebb9@byu.net>
20021             Bruno Haible  <bruno@clisp.org>
20022
20023         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
20024         error messages.
20025         * lib/wait-process.c (wait_subprocess): Omit error message about
20026         deadly signal sent to the child of termsigp != NULL.
20027
20028 2009-03-01  Eric Blake  <ebb9@byu.net>
20029
20030         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
20031
20032 2009-03-01  Bruno Haible  <bruno@clisp.org>
20033
20034         Avoid a gcc warning.
20035         * tests/test-sched.c (b): Make global.
20036         Reported by Eric Blake.
20037
20038 2009-01-19  Martin Lambers  <marlam@marlam.de>
20039
20040         Provide POSIX semantics for socket timeout options on W32.
20041         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
20042         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
20043         * modules/setsockopt: Depend on sys_time module for struct timeval.
20044         * modules/getsockopt: Depend on sys_time module for struct timeval.
20045
20046 2009-03-01  Simon Josefsson  <simon@josefsson.org>
20047
20048         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
20049         __USE_GNU, for consistency with netdb.in.h.
20050         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
20051
20052 2009-03-01  Bruno Haible  <bruno@clisp.org>
20053
20054         More support for FreeMiNT.
20055         * lib/fseeko.c (rpl_fseeko): Complete last commit.
20056         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
20057
20058 2009-03-01  Bruno Haible  <bruno@clisp.org>
20059
20060         More support for FreeMiNT.
20061         * lib/fpurge.c (fpurge): Correct last commit.
20062         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
20063
20064 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20065
20066         Fix unportable awk script in vc-list-files.
20067         * build-aux/vc-list-files: In the replacement awk script, use
20068         substr with a second argument of 1, not zero.
20069         Report by Simon Josefsson.
20070
20071 2009-02-28  Bruno Haible  <bruno@clisp.org>
20072
20073         More support for FreeMiNT.
20074         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
20075         to FreeMiNT today.
20076         * lib/fwriting.c (fwriting): Likewise.
20077         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
20078
20079 2009-02-28  Bruno Haible  <bruno@clisp.org>
20080
20081         * tests/test-freadseek.c (main): Disable test beyond end of file on
20082         FreeMiNT.
20083         * tests/test-ftello.c (main): Likewise.
20084         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
20085
20086 2009-02-28  Bruno Haible  <bruno@clisp.org>
20087
20088         Add tentative support for FreeMiNT.
20089         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
20090         * lib/fpurge.c (fpurge): Likewise.
20091         * lib/freadable.c (freadable): Likewise.
20092         * lib/freading.c (freading): Likewise.
20093         * lib/freadptr.c (freadptr): Likewise.
20094         * lib/freadseek.c (freadptrinc): Likewise.
20095         * lib/fseeko.c (rpl_fseeko): Likewise.
20096         * lib/fseterr.c (fseterr): Likewise.
20097         * lib/fwritable.c (fwritable): Likewise.
20098         * lib/fwriting.c (fwriting): Likewise.
20099         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
20100         Hourihane.
20101         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
20102
20103 2009-02-28  Bruno Haible  <bruno@clisp.org>
20104
20105         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
20106         SIGCHLD.
20107         Reported by Jim Meyering.
20108
20109 2009-02-28  Bruno Haible  <bruno@clisp.org>
20110
20111         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
20112         Mention the results of these tests on various platforms.
20113         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
20114         order.
20115         * doc/posix-functions/printf.texi: Likewise.
20116         * doc/posix-functions/snprintf.texi: Likewise.
20117         * doc/posix-functions/sprintf.texi: Likewise.
20118         * doc/posix-functions/vfprintf.texi: Likewise.
20119         * doc/posix-functions/vprintf.texi: Likewise.
20120         * doc/posix-functions/vsnprintf.texi: Likewise.
20121         * doc/posix-functions/vsprintf.texi: Likewise.
20122         * doc/glibc-functions/obstack_printf.texi: Likewise.
20123         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
20124
20125 2009-02-28  Bruno Haible  <bruno@clisp.org>
20126
20127         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
20128         Reported by Loïc Minier <lool@dooz.org>.
20129
20130 2009-02-27  Bruno Haible  <bruno@clisp.org>
20131
20132         * gnulib-tool (func_import): Make the sed expression used to create the
20133         sed script for updating the .gitignore file POSIX compliant.
20134         Reported by Eric Blake.
20135
20136 2009-02-27  Bruno Haible  <bruno@clisp.org>
20137
20138         * gnulib-tool (sed): Don't alias as "sed --posix".
20139         Reported by Eric Blake.
20140
20141 2009-02-27  Bruno Haible  <bruno@clisp.org>
20142
20143         Avoid test link errors.
20144         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
20145         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
20146         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
20147         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
20148         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20149
20150 2009-02-27  Bruno Haible  <bruno@clisp.org>
20151
20152         Avoid spurious "(cached)" in configure output.
20153         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
20154         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
20155         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
20156         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
20157         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
20158         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
20159         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
20160         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
20161         Reported by Eric Blake.
20162
20163 2009-02-27  Eric Blake  <ebb9@byu.net>
20164
20165         printf: fix regression in previous patch
20166         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
20167
20168 2009-02-27  Bruno Haible  <bruno@clisp.org>
20169
20170         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
20171         value.
20172         * lib/stdint.in.h: Likewise.
20173         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
20174
20175 2009-02-27  Eric Blake  <ebb9@byu.net>
20176
20177         doc: mention more functions added in cygwin 1.7.0
20178         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
20179         addition.
20180         * doc/posix-functions/open_wmemstream.texi: Likewise.
20181         * doc/posix-functions/wcsnlen.texi: Likewise.
20182         * doc/posix-functions/wcsnrtombs.texi: Likewise.
20183         * doc/posix-functions/wcstod.texi: Likewise.
20184         * doc/posix-functions/wcstof.texi: Likewise.
20185         * doc/posix-functions/wcstoimax.texi: Likewise.
20186         * doc/posix-functions/wcstok.texi: Likewise.
20187         * doc/posix-functions/wcstoumax.texi: Likewise.
20188
20189         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
20190         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
20191         * doc/posix-functions/fprintf.texi: Update.
20192         * doc/posix-functions/printf.texi: Update.
20193         * doc/posix-functions/snprintf.texi: Update.
20194         * doc/posix-functions/sprintf.texi: Update.
20195         * doc/posix-functions/vfprintf.texi: Update.
20196         * doc/posix-functions/vprintf.texi: Update.
20197         * doc/posix-functions/vsnprintf.texi: Update.
20198         * doc/posix-functions/vsprintf.texi: Update.
20199         * doc/glibc-functions/obstack_printf.texi: Update.
20200         * doc/glibc-functions/obstack_vprintf.texi: Update.
20201
20202 2009-02-26  Eric Blake  <ebb9@byu.net>
20203
20204         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
20205         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
20206         compilation bug by using runtime conversion.
20207         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
20208         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
20209         * modules/ceill-tests (Files): Use nan.h.
20210         * modules/floorl-tests (Files): Likewise.
20211         * modules/frexpl-tests (Files): Likewise.
20212         * modules/isnanl-tests (Files): Likewise.
20213         * modules/ldexpl-tests (Files): Likewise.
20214         * modules/roundl-tests (Files): Likewise.
20215         * modules/truncl-tests (Files): Likewise.
20216         * tests/test-ceill.c (main): Use a working NaN.
20217         * tests/test-floorl.c (main): Likewise.
20218         * tests/test-frexpl.c (main): Likewise.
20219         * tests/test-isnan.c (test_long_double): Likewise.
20220         * tests/test-isnanl.h (main): Likewise.
20221         * tests/test-ldexpl.h (main): Likewise.
20222         * tests/test-roundl.h (main): Likewise.
20223         * tests/test-truncl.h (main): Likewise.
20224         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
20225
20226 2009-02-26  Eric Blake  <ebb9@byu.net>
20227             Bruno Haible  <bruno@clisp.org>
20228
20229         Work around a *printf bug with %ls on Solaris.
20230         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
20231         precision is specified, sprintf stops converting the wide string
20232         argument when the number of bytes that have been produced by this
20233         conversion equals or exceeds the precision.
20234         * doc/posix-functions/fprintf.texi: Update.
20235         * doc/posix-functions/printf.texi: Update.
20236         * doc/posix-functions/snprintf.texi: Update.
20237         * doc/posix-functions/sprintf.texi: Update.
20238         * doc/posix-functions/vfprintf.texi: Update.
20239         * doc/posix-functions/vprintf.texi: Update.
20240         * doc/posix-functions/vsnprintf.texi: Update.
20241         * doc/posix-functions/vsprintf.texi: Update.
20242         * doc/glibc-functions/obstack_printf.texi: Update.
20243         * doc/glibc-functions/obstack_vprintf.texi: Update.
20244
20245 2009-02-26  Eric Blake  <ebb9@byu.net>
20246
20247         stdlib: favor compiler check of random.h
20248         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
20249         to avoid an ObjC random.h installed by Swarm.
20250
20251 2009-02-26  Bruno Haible  <bruno@clisp.org>
20252
20253         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
20254         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
20255         Reported by Gary V. Vaughan <gary@gnu.org>.
20256
20257 2009-02-26  Bruno Haible  <bruno@clisp.org>
20258
20259         Fix *printf behaviour regarding the %ls directive.
20260         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
20261         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
20262         NEED_PRINTF_DIRECTIVE_LS.
20263         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
20264         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
20265         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
20266         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
20267         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
20268         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
20269         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
20270         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
20271         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
20272         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
20273         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
20274         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
20275         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
20276         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
20277         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
20278         * doc/posix-functions/fprintf.texi: Update.
20279         * doc/posix-functions/printf.texi: Update.
20280         * doc/posix-functions/snprintf.texi: Update.
20281         * doc/posix-functions/sprintf.texi: Update.
20282         * doc/posix-functions/vfprintf.texi: Update.
20283         * doc/posix-functions/vprintf.texi: Update.
20284         * doc/posix-functions/vsnprintf.texi: Update.
20285         * doc/posix-functions/vsprintf.texi: Update.
20286         * doc/glibc-functions/obstack_printf.texi: Update.
20287         * doc/glibc-functions/obstack_vprintf.texi: Update.
20288         Reported by Eric Blake.
20289
20290 2009-02-25  Bruno Haible  <bruno@clisp.org>
20291
20292         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
20293         with known value.
20294         Reported by Gary V. Vaughan <gary@gnu.org>.
20295
20296 2009-02-25  Bruno Haible  <bruno@clisp.org>
20297
20298         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
20299         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
20300         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
20301         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
20302         Reported by Gary V. Vaughan <gary@gnu.org>.
20303
20304 2009-02-25  Bruno Haible  <bruno@clisp.org>
20305
20306         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
20307         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
20308         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
20309         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
20310         Reported by Gary V. Vaughan <gary@gnu.org>.
20311
20312 2009-02-25  Eric Blake  <ebb9@byu.net>
20313
20314         tests: skip fseek/ftell tests if ungetc is broken
20315         * m4/ungetc.m4: New file.
20316         * modules/fseek-tests: Split test, so ungetc dependency is
20317         separate from rest of test.
20318         * modules/fseeko-tests: Likewise.
20319         * modules/ftell-tests: Likewise.
20320         * modules/ftello-tests: Likewise.
20321         * tests/test-fseek.c (main): Isolate ungetc dependency.
20322         * tests/test-fseeko.c (main): Likewise.
20323         * tests/test-ftell.c (main): Likewise.
20324         * tests/test-ftello.c (main): Likewise.
20325         * tests/test-fseek2.sh: New file.
20326         * tests/test-fseeko2.sh: Likewise.
20327         * tests/test-ftell2.sh: Likewise.
20328         * tests/test-ftello2.sh: Likewise.
20329
20330 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
20331
20332         test-getaddrinfo: fix usage of skip return code 77
20333         * tests/test-gettaddrinfo.c: Return skip code 77 only
20334         for first occurance of skip (4x77 is not 77)
20335
20336 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
20337
20338         strtod: avoid C99 decl-after-statement
20339         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
20340
20341 2009-02-24  Eric Blake  <ebb9@byu.net>
20342
20343         strtod: detect HP-UX 11.31 bug
20344         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
20345         Reported by Gary V. Vaughan.
20346
20347 2009-02-23  Bruno Haible  <bruno@clisp.org>
20348
20349         Fix invalid read past end of memory block.
20350         * lib/vasnprintf.c (DCHAR_SET): Define.
20351         (local_wcslen): Define only when needed.
20352         (local_strnlen, local_wcsnlen): New functions.
20353         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
20354         directives that involve a conversion ourselves.
20355         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
20356         wcsnlen, mbrtowc, wcrtomb.
20357         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
20358         * tests/test-vasprintf-posix.c (test_function): Likewise.
20359         * tests/test-snprintf-posix.h (test_function): Likewise.
20360         * tests/test-sprintf-posix.h (test_function): Likewise.
20361         Reported by Ben Pfaff <blp@cs.stanford.edu>.
20362
20363 2009-02-22  Bruno Haible  <bruno@clisp.org>
20364
20365         Implement new clarified decomposition of Hangul syllables.
20366         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
20367         of type LTV, return only a pairwise decomposition.
20368         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
20369         Likewise.
20370         * tests/uninorm/test-decomposition.c (main): Updated expected result.
20371         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
20372         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
20373
20374 2009-02-22  Bruno Haible  <bruno@clisp.org>
20375
20376         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
20377         zero-length results and shrink excess allocated memory.
20378         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
20379         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
20380         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
20381         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
20382         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
20383         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
20384         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
20385         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
20386         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
20387         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
20388         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
20389         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
20390
20391 2009-02-21  Bruno Haible  <bruno@clisp.org>
20392
20393         * doc/gnulib.texi: Include safe-alloc.texi earlier.
20394         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
20395         spaces after a period. Put a space between a macro name and its
20396         argument list. Trivial rewordings.
20397         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
20398         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
20399         (main): Return 0 explicitly.
20400
20401 2009-02-21  Bruno Haible  <bruno@clisp.org>
20402
20403         Tests for module 'uninorm/filter'.
20404         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
20405         * modules/uninorm/filter-tests: New file.
20406
20407         New module 'uninorm/filter'.
20408         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
20409         uninorm_filter_flush, uninorm_filter_free): New declarations.
20410         * lib/uninorm/uninorm-filter.c: New file.
20411         * modules/uninorm/filter: New file.
20412
20413 2009-02-21  Bruno Haible  <bruno@clisp.org>
20414
20415         Tests for module 'uninorm/nfkc'.
20416         * tests/uninorm/test-nfkc.c: New file.
20417         * tests/uninorm/test-u8-nfkc.c: New file.
20418         * tests/uninorm/test-u16-nfkc.c: New file.
20419         * tests/uninorm/test-u32-nfkc.c: New file.
20420         * tests/uninorm/test-u32-nfkc-big.sh: New file.
20421         * tests/uninorm/test-u32-nfkc-big.c: New file.
20422         * modules/uninorm/nfkc-tests: New file.
20423
20424         New module 'uninorm/nfkc'.
20425         * lib/uninorm/nfkc.c: New file.
20426         * modules/uninorm/nfkc: New file.
20427
20428         Tests for module 'uninorm/nfkd'.
20429         * tests/uninorm/test-nfkd.c: New file.
20430         * tests/uninorm/test-u8-nfkd.c: New file.
20431         * tests/uninorm/test-u16-nfkd.c: New file.
20432         * tests/uninorm/test-u32-nfkd.c: New file.
20433         * tests/uninorm/test-u32-nfkd-big.sh: New file.
20434         * tests/uninorm/test-u32-nfkd-big.c: New file.
20435         * modules/uninorm/nfkd-tests: New file.
20436
20437         New module 'uninorm/nfkd'.
20438         * lib/uninorm/nfkd.c: New file.
20439         * modules/uninorm/nfkd: New file.
20440
20441         Tests for module 'uninorm/nfc'.
20442         * tests/uninorm/test-nfc.c: New file.
20443         * tests/uninorm/test-u8-nfc.c: New file.
20444         * tests/uninorm/test-u16-nfc.c: New file.
20445         * tests/uninorm/test-u32-nfc.c: New file.
20446         * tests/uninorm/test-u32-nfc-big.sh: New file.
20447         * tests/uninorm/test-u32-nfc-big.c: New file.
20448         * modules/uninorm/nfc-tests: New file.
20449
20450         New module 'uninorm/nfc'.
20451         * lib/uninorm/nfc.c: New file.
20452         * modules/uninorm/nfc: New file.
20453
20454         Tests for module 'uninorm/nfd'.
20455         * tests/uninorm/test-nfd.c: New file.
20456         * tests/uninorm/test-u8-nfd.c: New file.
20457         * tests/uninorm/test-u16-nfd.c: New file.
20458         * tests/uninorm/test-u32-nfd.c: New file.
20459         * tests/uninorm/test-u32-nfd-big.sh: New file.
20460         * tests/uninorm/test-u32-nfd-big.c: New file.
20461         * tests/uninorm/test-u32-normalize-big.h: New file.
20462         * tests/uninorm/test-u32-normalize-big.c: New file.
20463         * tests/uninorm/NormalizationTest.txt: New file, created from
20464         Unicode 5.1.0 NormalizationTest.txt.
20465         * modules/uninorm/nfd-tests: New file.
20466
20467         New module 'uninorm/nfd'.
20468         * lib/uninorm/nfd.c: New file.
20469         * modules/uninorm/nfd: New file.
20470
20471         New module 'uninorm/u32-normalize'.
20472         * lib/uninorm/u32-normalize.c: New file.
20473         * modules/uninorm/u32-normalize: New file.
20474
20475         New module 'uninorm/u16-normalize'.
20476         * lib/uninorm/u16-normalize.c: New file.
20477         * modules/uninorm/u16-normalize: New file.
20478
20479         New module 'uninorm/u8-normalize'.
20480         * lib/uninorm/u8-normalize.c: New file.
20481         * lib/uninorm/normalize-internal.h: New file.
20482         * lib/uninorm/u-normalize-internal.h: New file.
20483         * modules/uninorm/u8-normalize: New file.
20484
20485         New module 'uninorm/decompose-internal'.
20486         * lib/uninorm/decompose-internal.c: New file.
20487         * modules/uninorm/decompose-internal: New file.
20488
20489         Tests for module 'uninorm/composition'.
20490         * tests/uninorm/test-composition.c: New file.
20491         * modules/uninorm/composition-tests: New file.
20492
20493         New module 'uninorm/composition'.
20494         * lib/uninorm/composition.c: New file.
20495         * lib/uninorm/composition-table.gperf: New file, generated by
20496         gen-uni-tables.
20497         * modules/uninorm/composition: New file.
20498
20499         Tests for module 'uninorm/compat-decomposition'.
20500         * tests/uninorm/test-compat-decomposition.c: New file.
20501         * modules/uninorm/compat-decomposition-tests: New file.
20502
20503         New module 'uninorm/compat-decomposition'.
20504         * lib/uninorm/decompose-internal.h: New file.
20505         * lib/uninorm/compat-decomposition.c: New file.
20506         * modules/uninorm/compat-decomposition: New file.
20507
20508         Tests for module 'uninorm/canonical-decomposition'.
20509         * tests/uninorm/test-canonical-decomposition.c: New file.
20510         * modules/uninorm/canonical-decomposition-tests: New file.
20511
20512         New module 'uninorm/canonical-decomposition'.
20513         * lib/uninorm/canonical-decomposition.c: New file.
20514         * modules/uninorm/canonical-decomposition: New file.
20515
20516         Tests for module 'uninorm/decomposition'.
20517         * tests/uninorm/test-decomposition.c: New file.
20518         * modules/uninorm/decomposition-tests: New file.
20519
20520         New module 'uninorm/decomposition'.
20521         * lib/uninorm/decomposition.c: New file.
20522         * modules/uninorm/decomposition: New file.
20523
20524         New module 'uninorm/decomposition-table'.
20525         * lib/uninorm/decomposition-table.h: New file.
20526         * lib/uninorm/decomposition-table.c: New file.
20527         * lib/uninorm/decomposition-table1.h: New file, generated by
20528         gen-uni-tables.
20529         * lib/uninorm/decomposition-table2.h: New file, generated by
20530         gen-uni-tables.
20531         * modules/uninorm/decomposition-table: New file.
20532
20533         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
20534         (UC_DECOMP_*): New enumeration items.
20535         (get_decomposition): New function.
20536         (struct decomp_table): New type.
20537         (output_decomposition, output_decomposition_tables): New functions.
20538         (unicode_composition_exclusions): New variable.
20539         (fill_composition_exclusions, debug_output_composition_tables): New
20540         functions.
20541         (main): Accept one more argument. Invoke fill_composition_exclusions.
20542         Output decomposition and composition tables.
20543
20544         New module 'uninorm/base'.
20545         * lib/uninorm.h: New file.
20546         * lib/unictype.h: Update comment.
20547         * modules/uninorm/base: New file.
20548
20549 2009-02-21  David Lutterkort  <lutter@redhat.com>
20550
20551         Tests for module 'safe-alloc'.
20552         * tests/test-safe-alloc.c: New file.
20553         * modules/safe-alloc-tests: New file.
20554
20555         New module 'safe-alloc'.
20556         * lib/safe-alloc.h: New file.
20557         * lib/safe-alloc.c: New file.
20558         * m4/safe-alloc.m4: New file.
20559         * modules/safe-alloc: New file.
20560         * doc/safe-alloc.texi: New file.
20561         * doc/gnulib.texi: Include it.
20562         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
20563         safe-alloc.
20564
20565 2009-02-18  Bruno Haible  <bruno@clisp.org>
20566
20567         Fix link error on non-glibc systems.
20568         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
20569         variable.
20570         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20571
20572 2009-02-18  Jim Meyering  <meyering@redhat.com>
20573
20574         fts: avoid used-uninitialized error due to recent change
20575         * lib/fts.c (fts_read): Guard uses of the new member,
20576         parent->fts_n_dirs_remaining, since it's not relevant for
20577         the parent of a directory specified on the command-line.
20578
20579 2009-02-17  James Youngman  <jay@gnu.org>
20580             Bruno Haible  <bruno@clisp.org>
20581
20582         * m4/include_next.m4: Reformulate comment.
20583
20584 2009-02-16  Jim Meyering  <meyering@redhat.com>
20585
20586         fts: add #if guards so that the fts_lgpl module still builds
20587         * lib/fts.c: Guard just-added hash-table-using parts with
20588         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
20589         Reported by Simon Josefsson.
20590
20591 2009-02-15  Bruno Haible  <bruno@clisp.org>
20592
20593         * modules/array-mergesort-tests: New file.
20594         * tests/test-array-mergesort.c: New file.
20595
20596         New module 'array-mergesort'.
20597         * modules/array-mergesort: New file.
20598         * lib/array-mergesort.h: New file.
20599
20600 2009-02-15  Bruno Haible  <bruno@clisp.org>
20601
20602         Fix 2009-02-07 commit.
20603         * lib/gen-uni-tables.c (output_predicate, output_category,
20604         output_combclass, output_bidi_category, output_decimal_digit,
20605         output_digit, output_numeric, output_mirror, output_scripts,
20606         output_ident_category, output_simple_mapping): Fix format directives.
20607         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
20608
20609 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
20610
20611         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
20612         fixes are available from IBM.
20613
20614 2009-02-13  Jim Meyering  <meyering@redhat.com>
20615
20616         fts: arrange not to stat non-directories in more cases
20617         This makes GNU find (when it doesn't need to stat each file)
20618         *much* more efficient at traversing reiserfs file systems.
20619         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
20620         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
20621         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
20622         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
20623         (leaf_optimization_applies): New function.
20624         (LCO_hash, LCO_compare): New helper functions.
20625         (link_count_optimize_ok): New function.
20626         (fts_stat): Initialize new member (if dir).
20627         (fts_read): Decrement parent's fts_n_dirs_remaining count if
20628         we've just stat'ed a directory.  Skip the stat call when possible.
20629         ---
20630         Note this AFS-related exchange:
20631         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
20632         and note find's pioctl call in find/fstype.c.
20633         But that is necessary only if you want to enable the
20634         optimization for AFS, and for now, I don't.
20635
20636         fts: move a function definition "up" (no semantic change)
20637         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
20638         "up" to precede upcoming use of a related function.
20639
20640 2009-02-11  Jim Meyering  <meyering@redhat.com>
20641
20642         fts: correct internal computation of nlinks (optimization-related)
20643         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
20644         whether the current entry is a directory, so don't test it.
20645
20646 2009-02-10  Bruno Haible  <bruno@clisp.org>
20647
20648         Tests for module 'uniwbrk/ulc-wordbreaks'.
20649         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
20650         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
20651         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
20652
20653         Tests for module 'uniwbrk/u32-wordbreaks'.
20654         * modules/uniwbrk/u32-wordbreaks-tests: New file.
20655         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
20656
20657         Tests for module 'uniwbrk/u16-wordbreaks'.
20658         * modules/uniwbrk/u16-wordbreaks-tests: New file.
20659         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
20660
20661         Tests for module 'uniwbrk/u8-wordbreaks'.
20662         * modules/uniwbrk/u8-wordbreaks-tests: New file.
20663         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
20664
20665 2009-02-10  Bruno Haible  <bruno@clisp.org>
20666
20667         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
20668         property.
20669         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
20670         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
20671         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
20672
20673 2009-02-10  Simon Josefsson  <simon@josefsson.org>
20674
20675         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
20676         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
20677
20678 2009-02-10  Bruno Haible  <bruno@clisp.org>
20679
20680         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
20681         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
20682         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
20683         * lib/unilbrk/u8-possible-linebreaks.c: Update.
20684         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
20685         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
20686
20687 2009-02-09  Simon Josefsson  <simon@josefsson.org>
20688
20689         * lib/sockets.h (gl_fd_to_handle): New function.
20690
20691         * tests/test-sockets.c: Call gl_fd_to_handle.
20692
20693 2009-02-09  Bruno Haible  <bruno@clisp.org>
20694
20695         * doc/havelib.texi: Document the conventions on bi-arch systems.
20696
20697 2009-02-08  Bruno Haible  <bruno@clisp.org>
20698
20699         Document the AC_LIB_LINKFLAGS macro.
20700         * doc/havelib.texi: New file, mostly written on 2005-05-24.
20701         * doc/gnulib.texi: Include it.
20702
20703 2009-02-08  Bruno Haible  <bruno@clisp.org>
20704
20705         Fix wrong order of sections, compared to TOC.
20706         * doc/gnulib.texi: Include relocatable-maint.texi after the
20707         "Regular expressions" node, not before.
20708
20709 2009-02-08  Bruno Haible  <bruno@clisp.org>
20710
20711         Tests for module 'unicase/totitle'.
20712         * modules/unicase/totitle-tests: New file.
20713
20714         Tests for module 'unicase/tolower'.
20715         * modules/unicase/tolower-tests: New file.
20716
20717         Tests for module 'unicase/toupper'.
20718         * modules/unicase/toupper-tests: New file.
20719         * tests/unicase/test-mapping-part1.h: New file.
20720         * tests/unicase/test-mapping-part2.h: New file.
20721
20722         New module 'unicase/totitle'.
20723         * modules/unicase/totitle: New file.
20724         * lib/unicase/totitle.c: New file.
20725
20726         New module 'unicase/tolower'.
20727         * modules/unicase/tolower: New file.
20728         * lib/unicase/tolower.c: New file.
20729
20730         New module 'unicase/toupper'.
20731         * modules/unicase/toupper: New file.
20732         * lib/unicase/toupper.c: New file.
20733         * lib/unicase/simple-mapping.h: New file.
20734
20735         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
20736         (mapping_table): New structure.
20737         (output_simple_mapping): New function.
20738         (main): Invoke output_simple_mapping_test and output_simple_mapping.
20739         * modules/gen-uni-tables (Description): Update.
20740         * lib/unicase/toupper.h: New file, automatically generated by
20741         gen-uni-tables.
20742         * lib/unicase/tolower.h: New file, automatically generated by
20743         gen-uni-tables.
20744         * lib/unicase/totitle.h: New file, automatically generated by
20745         gen-uni-tables.
20746         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
20747         gen-uni-tables.
20748         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
20749         gen-uni-tables.
20750         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
20751         gen-uni-tables.
20752
20753         New module 'unicase/base'.
20754         * modules/unicase/base: New file.
20755         * lib/unicase.h: New file.
20756
20757 2009-02-08  Bruno Haible  <bruno@clisp.org>
20758
20759         New module 'uniwbrk/ulc-wordbreaks'.
20760         * modules/uniwbrk/ulc-wordbreaks: New file.
20761         * lib/uniwbrk/ulc-wordbreaks.c: New file.
20762
20763         New module 'uniwbrk/u32-wordbreaks'.
20764         * modules/uniwbrk/u32-wordbreaks: New file.
20765         * lib/uniwbrk/u32-wordbreaks.c: New file.
20766
20767         New module 'uniwbrk/u16-wordbreaks'.
20768         * modules/uniwbrk/u16-wordbreaks: New file.
20769         * lib/uniwbrk/u16-wordbreaks.c: New file.
20770
20771         New module 'uniwbrk/u8-wordbreaks'.
20772         * modules/uniwbrk/u8-wordbreaks: New file.
20773         * lib/uniwbrk/u8-wordbreaks.c: New file.
20774         * lib/uniwbrk/u-wordbreaks.h: New file.
20775
20776         New module 'uniwbrk/table'.
20777         * modules/uniwbrk/table: New file.
20778         * lib/uniwbrk/wbrktable.h: New file.
20779         * lib/uniwbrk/wbrktable.c: New file.
20780
20781         New module 'uniwbrk/wordbreak-property'.
20782         * modules/uniwbrk/wordbreak-property: New file.
20783         * lib/uniwbrk/wordbreak-property.c: New file.
20784
20785         * lib/gen-uni-tables.c (WBP_*): New enum items.
20786         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
20787         (unicode_org_wbp): New variable.
20788         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
20789         New functions.
20790         (wbp_table): New structure.
20791         (output_wbp, output_wbrk_tables): New functions.
20792         (main): Accept additional argument. Invoke fill_org_wbp,
20793         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
20794         output_wbrk_tables.
20795         * modules/gen-uni-tables (Description): Update.
20796         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
20797         gen-uni-tables.
20798
20799         New module 'uniwbrk/base'.
20800         * modules/uniwbrk/base: New file.
20801         * lib/uniwbrk.h: New file.
20802
20803 2009-02-08  Bruno Haible  <bruno@clisp.org>
20804
20805         Update to Unicode 5.1.0.
20806         * lib/gen-uni-tables.c (is_property_alphabetic): Include
20807         U+2185..U+2188.
20808         (is_property_default_ignorable_code_point): Don't include characters
20809         of category Cc or Cs and not-a-characters.
20810         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
20811         U+0D79, U+109E, U+109F, U+A60C.
20812         * lib/unictype/bidi_of.h: Regenerated.
20813         * lib/unictype/blocks.h: Regenerated.
20814         * lib/unictype/categ_C.h: Regenerated.
20815         * lib/unictype/categ_Cf.h: Regenerated.
20816         * lib/unictype/categ_Cn.h: Regenerated.
20817         * lib/unictype/categ_L.h: Regenerated.
20818         * lib/unictype/categ_Ll.h: Regenerated.
20819         * lib/unictype/categ_Lm.h: Regenerated.
20820         * lib/unictype/categ_Lo.h: Regenerated.
20821         * lib/unictype/categ_Lu.h: Regenerated.
20822         * lib/unictype/categ_M.h: Regenerated.
20823         * lib/unictype/categ_Mc.h: Regenerated.
20824         * lib/unictype/categ_Me.h: Regenerated.
20825         * lib/unictype/categ_Mn.h: Regenerated.
20826         * lib/unictype/categ_N.h: Regenerated.
20827         * lib/unictype/categ_Nd.h: Regenerated.
20828         * lib/unictype/categ_Nl.h: Regenerated.
20829         * lib/unictype/categ_No.h: Regenerated.
20830         * lib/unictype/categ_P.h: Regenerated.
20831         * lib/unictype/categ_Pd.h: Regenerated.
20832         * lib/unictype/categ_Pe.h: Regenerated.
20833         * lib/unictype/categ_Pf.h: Regenerated.
20834         * lib/unictype/categ_Pi.h: Regenerated.
20835         * lib/unictype/categ_Po.h: Regenerated.
20836         * lib/unictype/categ_Ps.h: Regenerated.
20837         * lib/unictype/categ_S.h: Regenerated.
20838         * lib/unictype/categ_Sk.h: Regenerated.
20839         * lib/unictype/categ_Sm.h: Regenerated.
20840         * lib/unictype/categ_So.h: Regenerated.
20841         * lib/unictype/categ_of.h: Regenerated.
20842         * lib/unictype/combining.h: Regenerated.
20843         * lib/unictype/ctype_alnum.h: Regenerated.
20844         * lib/unictype/ctype_alpha.h: Regenerated.
20845         * lib/unictype/ctype_graph.h: Regenerated.
20846         * lib/unictype/ctype_lower.h: Regenerated.
20847         * lib/unictype/ctype_print.h: Regenerated.
20848         * lib/unictype/ctype_punct.h: Regenerated.
20849         * lib/unictype/ctype_upper.h: Regenerated.
20850         * lib/unictype/decdigit.h: Regenerated.
20851         * lib/unictype/digit.h: Regenerated.
20852         * lib/unictype/mirror.h: Regenerated.
20853         * lib/unictype/numeric.h: Regenerated.
20854         * lib/unictype/pr_alphabetic.h: Regenerated.
20855         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
20856         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
20857         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
20858         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
20859         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
20860         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
20861         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
20862         * lib/unictype/pr_combining.h: Regenerated.
20863         * lib/unictype/pr_dash.h: Regenerated.
20864         * lib/unictype/pr_decimal_digit.h: Regenerated.
20865         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
20866         * lib/unictype/pr_deprecated.h: Regenerated.
20867         * lib/unictype/pr_diacritic.h: Regenerated.
20868         * lib/unictype/pr_extender.h: Regenerated.
20869         * lib/unictype/pr_format_control.h: Regenerated.
20870         * lib/unictype/pr_grapheme_base.h: Regenerated.
20871         * lib/unictype/pr_grapheme_extend.h: Regenerated.
20872         * lib/unictype/pr_grapheme_link.h: Regenerated.
20873         * lib/unictype/pr_id_continue.h: Regenerated.
20874         * lib/unictype/pr_id_start.h: Regenerated.
20875         * lib/unictype/pr_ideographic.h: Regenerated.
20876         * lib/unictype/pr_ignorable_control.h: Regenerated.
20877         * lib/unictype/pr_lowercase.h: Regenerated.
20878         * lib/unictype/pr_math.h: Regenerated.
20879         * lib/unictype/pr_numeric.h: Regenerated.
20880         * lib/unictype/pr_other_alphabetic.h: Regenerated.
20881         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
20882         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
20883         * lib/unictype/pr_other_id_continue.h: Regenerated.
20884         * lib/unictype/pr_other_lowercase.h: Regenerated.
20885         * lib/unictype/pr_other_math.h: Regenerated.
20886         * lib/unictype/pr_punctuation.h: Regenerated.
20887         * lib/unictype/pr_sentence_terminal.h: Regenerated.
20888         * lib/unictype/pr_soft_dotted.h: Regenerated.
20889         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
20890         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
20891         * lib/unictype/pr_unified_ideograph.h: Regenerated.
20892         * lib/unictype/pr_uppercase.h: Regenerated.
20893         * lib/unictype/pr_xid_continue.h: Regenerated.
20894         * lib/unictype/pr_xid_start.h: Regenerated.
20895         * lib/unictype/pr_zero_width.h: Regenerated.
20896         * lib/unictype/scripts.h: Regenerated.
20897         * lib/unictype/scripts_byname.gperf: Regenerated.
20898         * lib/unictype/sy_java_ident.h: Regenerated.
20899         * lib/unilbrk/lbrkprop1.h: Regenerated.
20900         * lib/unilbrk/lbrkprop2.h: Regenerated.
20901         * tests/unictype/test-categ_C.c: Regenerated.
20902         * tests/unictype/test-categ_Cf.c: Regenerated.
20903         * tests/unictype/test-categ_Cn.c: Regenerated.
20904         * tests/unictype/test-categ_L.c: Regenerated.
20905         * tests/unictype/test-categ_Ll.c: Regenerated.
20906         * tests/unictype/test-categ_Lm.c: Regenerated.
20907         * tests/unictype/test-categ_Lo.c: Regenerated.
20908         * tests/unictype/test-categ_Lu.c: Regenerated.
20909         * tests/unictype/test-categ_M.c: Regenerated.
20910         * tests/unictype/test-categ_Mc.c: Regenerated.
20911         * tests/unictype/test-categ_Me.c: Regenerated.
20912         * tests/unictype/test-categ_Mn.c: Regenerated.
20913         * tests/unictype/test-categ_N.c: Regenerated.
20914         * tests/unictype/test-categ_Nd.c: Regenerated.
20915         * tests/unictype/test-categ_Nl.c: Regenerated.
20916         * tests/unictype/test-categ_No.c: Regenerated.
20917         * tests/unictype/test-categ_P.c: Regenerated.
20918         * tests/unictype/test-categ_Pd.c: Regenerated.
20919         * tests/unictype/test-categ_Pe.c: Regenerated.
20920         * tests/unictype/test-categ_Pf.c: Regenerated.
20921         * tests/unictype/test-categ_Pi.c: Regenerated.
20922         * tests/unictype/test-categ_Po.c: Regenerated.
20923         * tests/unictype/test-categ_Ps.c: Regenerated.
20924         * tests/unictype/test-categ_S.c: Regenerated.
20925         * tests/unictype/test-categ_Sk.c: Regenerated.
20926         * tests/unictype/test-categ_Sm.c: Regenerated.
20927         * tests/unictype/test-categ_So.c: Regenerated.
20928         * tests/unictype/test-ctype_alnum.c: Regenerated.
20929         * tests/unictype/test-ctype_alpha.c: Regenerated.
20930         * tests/unictype/test-ctype_graph.c: Regenerated.
20931         * tests/unictype/test-ctype_lower.c: Regenerated.
20932         * tests/unictype/test-ctype_print.c: Regenerated.
20933         * tests/unictype/test-ctype_punct.c: Regenerated.
20934         * tests/unictype/test-ctype_upper.c: Regenerated.
20935         * tests/unictype/test-decdigit.h: Regenerated.
20936         * tests/unictype/test-digit.h: Regenerated.
20937         * tests/unictype/test-numeric.h: Regenerated.
20938         * tests/unictype/test-pr_alphabetic.c: Regenerated.
20939         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
20940         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
20941         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
20942         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
20943         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
20944         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
20945         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
20946         * tests/unictype/test-pr_combining.c: Regenerated.
20947         * tests/unictype/test-pr_dash.c: Regenerated.
20948         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
20949         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
20950         * tests/unictype/test-pr_deprecated.c: Regenerated.
20951         * tests/unictype/test-pr_diacritic.c: Regenerated.
20952         * tests/unictype/test-pr_extender.c: Regenerated.
20953         * tests/unictype/test-pr_format_control.c: Regenerated.
20954         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
20955         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
20956         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
20957         * tests/unictype/test-pr_id_continue.c: Regenerated.
20958         * tests/unictype/test-pr_id_start.c: Regenerated.
20959         * tests/unictype/test-pr_ideographic.c: Regenerated.
20960         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
20961         * tests/unictype/test-pr_lowercase.c: Regenerated.
20962         * tests/unictype/test-pr_math.c: Regenerated.
20963         * tests/unictype/test-pr_numeric.c: Regenerated.
20964         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
20965         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
20966         Regenerated.
20967         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
20968         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
20969         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
20970         * tests/unictype/test-pr_other_math.c: Regenerated.
20971         * tests/unictype/test-pr_punctuation.c: Regenerated.
20972         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
20973         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
20974         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
20975         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
20976         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
20977         * tests/unictype/test-pr_uppercase.c: Regenerated.
20978         * tests/unictype/test-pr_xid_continue.c: Regenerated.
20979         * tests/unictype/test-pr_xid_start.c: Regenerated.
20980         * tests/unictype/test-pr_zero_width.c: Regenerated.
20981
20982         Update to Unicode 5.1.0.
20983         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
20984         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
20985         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
20986         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
20987         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
20988         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
20989         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
20990         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
20991         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
20992         (nonspacing_table_ind): Update.
20993         * tests/uniwidth/test-uc_width2.sh: Update expected result.
20994
20995         Update to Unicode 5.1.0.
20996         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
20997         code transform.
20998         * lib/uniname/uniname.c (unicode_character_name,
20999         unicode_name_character): Add the range 0x1Fxxx to the code transform.
21000         * lib/uniname/uninames.h: Regenerated.
21001         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
21002
21003 2009-02-07  Bruno Haible  <bruno@clisp.org>
21004
21005         Merge gen-ctype and gen-lbrk into a single program.
21006         * lib/gen-uni-tables.c: New file, incorporating
21007         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
21008         Add directory prefixes to the names of the generated files.
21009         * lib/unictype/gen-ctype.c: Remove file.
21010         * lib/unilbrk/gen-lbrk.c: Remove file.
21011         * modules/gen-uni-tables: New file.
21012         * modules/unictype/gen-ctype: Remove file.
21013         * modules/unilbrk/gen-lbrk: Remove file.
21014
21015 2009-02-07  Bruno Haible  <bruno@clisp.org>
21016
21017         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
21018
21019         New module 'unistr/u32-strcoll'.
21020         * modules/unistr/u32-strcoll: New file.
21021         * lib/unistr/u32-strcoll.c: New file.
21022
21023         New module 'unistr/u16-strcoll'.
21024         * modules/unistr/u16-strcoll: New file.
21025         * lib/unistr/u16-strcoll.c: New file.
21026
21027         New module 'unistr/u8-strcoll'.
21028         * modules/unistr/u8-strcoll: New file.
21029         * lib/unistr/u8-strcoll.c: New file.
21030         * lib/unistr/u-strcoll.h: New file.
21031
21032 2009-02-07  Bruno Haible  <bruno@clisp.org>
21033
21034         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
21035         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
21036         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
21037         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
21038         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
21039         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
21040
21041 2009-02-07  Bruno Haible  <bruno@clisp.org>
21042
21043         Make 64-bit clean.
21044         * lib/unictype/gen-ctype.c (output_predicate, output_category,
21045         output_combclass, output_bidi_category, output_decimal_digit,
21046         output_digit, output_numeric, output_mirror, output_scripts,
21047         output_ident_category): Use proper width specifier in format strings.
21048
21049 2009-02-07  Bruno Haible  <bruno@clisp.org>
21050
21051         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
21052         failure behaviour.
21053
21054 2009-02-07  Jim Meyering  <meyering@redhat.com>
21055
21056         regex: avoid compilation failure with upcoming gcc-4.4
21057         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
21058         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
21059         "... error: integer overflow in preprocessor expression".
21060
21061 2009-02-05  Ben Pfaff  <blp@gnu.org>
21062
21063         Fix link errors on Windows when close module is used.
21064         * modules/close: Add $(LIB_CLOSE) to Link section.
21065         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
21066         $(LIB_CLOSE) on Windows.
21067
21068 2009-02-05  Jim Meyering  <meyering@redhat.com>
21069
21070         still avoid unused-parameter warnings, but do it cleanly
21071         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
21072         (get_fs_usage): Cast to void instead.
21073         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
21074         (dev_from_mount_options, read_file_system_list): Cast to void.
21075         Prompted by Bruno Haible.
21076
21077 2009-02-04  Jim Meyering  <meyering@redhat.com>
21078
21079         fsusage.c: correct copyright year
21080         * lib/fsusage.c: Reflect year in which the change is pushed into
21081
21082         avoid misc. warnings
21083         * lib/fsusage.c (UNUSED_PARAM): Define.
21084         (get_fs_usage): Mark parameter "disk" as unused.
21085         * lib/getugroups.c (getgrent): Use "void" in prototype.
21086         * lib/mountlist.c: Mark unused parameters.
21087         (read_file_system_list): Declare a local with "const".
21088         * lib/nanosleep.c (getnow): Declare static.
21089         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
21090
21091         dirfd: set errno upon failure
21092         * lib/dirfd.c: Include <errno.h>.
21093         Set errno to ENOTSUP when returning -1.
21094         * modules/dirfd (Depends-on): Add errno.
21095         Suggested by John Kodis <kodis@comcast.net>.
21096
21097 2009-02-01  Bruno Haible  <bruno@clisp.org>
21098
21099         Don't assume sizeof (long) >= sizeof (void *).
21100         * lib/memcmp.c: Include stdint.h.
21101         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
21102         srcp2 to 'const byte *'.
21103         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
21104         types to uintptr_t.
21105         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
21106         * modules/memcmp (Depends-on): Add stdint.
21107         Reported by Ozkan Sezer <sezeroz@gmail.com>.
21108
21109 2009-01-30  Eric Blake  <ebb9@byu.net>
21110
21111         fix more require-before-expand issues
21112         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
21113         expand, AC_PROG_AWK.
21114         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
21115
21116 2009-01-28  Eric Blake  <ebb9@byu.net>
21117
21118         version-etc: use consistent URL formatting
21119         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
21120         Improve formatting.  Use fputs for string without %.
21121
21122 2009-01-28  Jim Meyering  <meyering@redhat.com>
21123
21124         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
21125         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
21126         "underquoted definition of NAME" from autoconf-2.59.
21127
21128 2009-01-28  Bruno Haible  <bruno@clisp.org>
21129
21130         * doc/gnulib.texi: Add "Obsolete modules" to index.
21131
21132 2009-01-28  Jim Meyering  <meyering@redhat.com>
21133
21134         useless-if-before-free: recognize more variants
21135         * build-aux/useless-if-before-free: Also recognize e.g.,
21136         if (NULL != p) free (p);
21137
21138 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
21139
21140         test-getaddrinfo: skip (don't fail) this test when there's no network
21141         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
21142         on the presumption that it means you lack network access.
21143
21144 2009-01-26  Jim Meyering  <meyering@redhat.com>
21145
21146         fflush: avoid warnings on modern systems
21147         * lib/fflush.c (rpl_fflush): Move declarations of locals,
21148         pos and result, into scopes where they're used.
21149
21150 2009-01-26  Eric Blake  <ebb9@byu.net>
21151
21152         Silence warning reintroduced by recent extensions patch.
21153         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
21154         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
21155         autoconf.
21156
21157         Backport improved autoconf semantics of AC_DEFUN_ONCE.
21158         * m4/00gnulib.m4: New file.
21159         * gnulib-tool (func_get_filelist): Always use it.
21160         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
21161         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
21162
21163 2009-01-25  Bruno Haible  <bruno@clisp.org>
21164
21165         Make test-quotearg work on MacOS X and AIX.
21166         * tests/test-quotearg.sh: New file.
21167         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
21168         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
21169         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
21170         include <libintl.h>.
21171         (fake_locale): Remove variable.
21172         (gettext, dgettext, dcgettext): Remove functions.
21173         (main): Instead of setting a fake locale, set a real locale. Call
21174         textdomain and bindtextdomain.
21175         * modules/quotearg-tests (Files): Add the new files.
21176         (Depends-on): Add gettext, setenv, unsetenv.
21177         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
21178         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
21179         Augment TESTS_ENVIRONMENT.
21180
21181 2009-01-25  Bruno Haible  <bruno@clisp.org>
21182
21183         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
21184         fr_FR.ISO8859-1 locale on MacOS X.
21185         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
21186         ja_JP.eucJP locale on MacOS X.
21187         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
21188         zh_CN.GB18030 locale on MacOS X.
21189
21190 2009-01-25  Bruno Haible  <bruno@clisp.org>
21191
21192         Avoid link errors on MacOS X 10.3.
21193         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
21194         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
21195
21196 2009-01-25  Bruno Haible  <bruno@clisp.org>
21197
21198         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
21199         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
21200         * modules/pipe (Files): Remove m4/posix_spawn.m4.
21201         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
21202         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
21203         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
21204         posix_spawnattr_init, posix_spawnattr_setsigmask,
21205         posix_spawnattr_setflags, posix_spawnattr_destroy.
21206
21207         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
21208         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
21209         * modules/execute (Files): Remove m4/posix_spawn.m4.
21210         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
21211         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
21212         posix_spawnattr_init, posix_spawnattr_setsigmask,
21213         posix_spawnattr_setflags, posix_spawnattr_destroy.
21214
21215 2009-01-25  Bruno Haible  <bruno@clisp.org>
21216
21217         * lib/glthread/threadlib.c: Include <stdlib.h>.
21218
21219 2009-01-25  Bruno Haible  <bruno@clisp.org>
21220
21221         * lib/glthread/threadlib.c (dummy): New declaration.
21222
21223 2009-01-25  Bruno Haible  <bruno@clisp.org>
21224
21225         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
21226         multibyte characters also for the GB18030 encoding. Don't crash when
21227         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
21228
21229 2009-01-25  Bruno Haible  <bruno@clisp.org>
21230
21231         Avoid redefining 'struct random_data' on OSF/1 5.1.
21232         * lib/stdlib.in.h: Include <random.h> if it exists.
21233         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
21234         HAVE_RANDOM_H. Include <random.h> when testing whether
21235         'struct random_data' exists.
21236         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
21237
21238 2009-01-25  Bruno Haible  <bruno@clisp.org>
21239
21240         Don't install charset.alias on MacOS X >= 10.3.
21241         * lib/localcharset.c (DARWIN7): New macro.
21242         (get_charset_aliases): Hardcode the result for Darwin7.
21243         * modules/localcharset (install-exec-local): Don't install
21244         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
21245
21246 2009-01-25  Bruno Haible  <bruno@clisp.org>
21247
21248         Don't install charset.alias on mingw and Cygwin.
21249         * modules/localcharset (install-exec-local): Don't install
21250         charset.alias on mingw and Cygwin, if the file does not yet exist.
21251         The result for these platforms is hardcoded in localcharset.c.
21252
21253 2009-01-25  Bruno Haible  <bruno@clisp.org>
21254
21255         Make it possible again to use AC_GNU_SOURCE together with gnulib.
21256         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
21257         before requiring AC_USE_SYSTEM_EXTENSIONS.
21258
21259 2009-01-25  Jim Meyering  <meyering@redhat.com>
21260
21261         c-strtod: avoid warnings
21262         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
21263         "assignment discards qualifiers from pointer target type" warnings.
21264
21265 2009-01-24  Bruno Haible  <bruno@clisp.org>
21266
21267         Add support for non-UTF-8 locales on MacOS X.
21268         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
21269         canonical encodings. For Darwin 7 and newer, don't map traditional
21270         encodings to UTF-8.
21271         Reported by Vincent Lefevre <vincent@vinc17.org>
21272         at <http://savannah.gnu.org/bugs/?25235>.
21273
21274 2009-01-24  Bruno Haible  <bruno@clisp.org>
21275
21276         * doc/gnulib.texi (Obsolete modules): New section.
21277         Reported by Mike Frysinger <vapier@gentoo.org>.
21278
21279 2009-01-24  Bruno Haible  <bruno@clisp.org>
21280
21281         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
21282         (%.dvi): New rule.
21283
21284 2009-01-24  Bruno Haible  <bruno@clisp.org>
21285
21286         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
21287         Reported by Eric Blake.
21288
21289 2009-01-24  Bruno Haible  <bruno@clisp.org>
21290
21291         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
21292         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
21293         Reported by Gary V. Vaughan <gary@gnu.org>.
21294
21295 2009-01-24  Bruno Haible  <bruno@clisp.org>
21296
21297         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
21298
21299 2009-01-23  Bruno Haible  <bruno@clisp.org>
21300
21301         Make c-strtod, c-strtold usable in libraries.
21302         * lib/c-strtod.c: Include string.h instead of xalloc.h.
21303         (C_STRTOD): Call strdup instead of xstrdup.
21304         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
21305         * modules/c-strtold (Depends-on): Likewise.
21306         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
21307         * NEWS: Mention the change.
21308         Reported by Michael Gold <mgold@ncf.ca>.
21309
21310 2009-01-23  Jim Meyering  <meyering@redhat.com>
21311
21312         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
21313         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
21314         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
21315
21316 2009-01-23  Simon Josefsson  <simon@josefsson.org>
21317
21318         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
21319         GNU CoreUtils.
21320         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
21321         * modules/version-etc (Description): Update.
21322
21323 2009-01-22  Bruno Haible  <bruno@clisp.org>
21324
21325         Cache the C locale object.
21326         * lib/c-strtod.c (c_locale_cache): New variable.
21327         (c_locale): New function.
21328         (C_STRTOD): Use it, and don't call freelocale.
21329         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
21330         Suggested by Paolo Bonzini.
21331
21332 2009-01-21  Bruno Haible  <bruno@clisp.org>
21333
21334         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
21335         conditions other than overflow.
21336
21337 2009-01-21  Bruno Haible  <bruno@clisp.org>
21338
21339         * lib/c-strtod.c: Include errno.h.
21340         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
21341         value from STRTOD_L and STRTOD.
21342
21343 2009-01-21  Bruno Haible  <bruno@clisp.org>
21344         and Jim Meyering  <meyering@redhat.com>
21345
21346         nanosleep: skip configure test (fail it) for apple universal builds
21347         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
21348         universal builds, assume that nanosleep does not work.
21349         * modules/nanosleep (Depends-on): Add multiarch.
21350
21351         mktime: skip configure test (fail it) for apple universal builds
21352         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
21353         universal builds, assume that mktime does not work.
21354         * modules/mktime (Depends-on): Add multiarch.
21355
21356 2009-01-21  Eric Blake  <ebb9@byu.net>
21357
21358         multiarch: avoid expand-before-require warning
21359         * modules/multiarch (configure.ac): Require, rather than expand,
21360         gl_MULTIARCH.
21361         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
21362         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
21363         enforce that all clients require it.  Partial reversion of
21364         2008-12-29 patch.
21365
21366         error: avoid expand-before-require warning
21367         * modules/errno (configure.ac): Require, rather than expand,
21368         gl_HEADER_ERRNO_H.
21369         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
21370         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
21371         enforce that all clients require it.
21372
21373         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
21374         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
21375         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
21376         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
21377
21378 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
21379
21380         Revert:
21381         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
21382
21383         regex: do not depend on obsolete modules.
21384         * modules/regex: Remove memcmp and memmove.
21385
21386 2009-01-20  Bruno Haible  <bruno@clisp.org>
21387
21388         Make the 'link' module link on Windows NT 4.
21389         * lib/link.c (_WIN32_WINNT): Don't define.
21390         (CreateHardLinkFuncType): New type.
21391         (CreateHardLinkFunc, initialized): New variables.
21392         (initialize): New function.
21393         (link): Invoke CreateHardLink indirectly through the function pointer.
21394
21395 2009-01-20  Bruno Haible  <bruno@clisp.org>
21396
21397         Fix compilation failure on mingw.
21398         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
21399
21400 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
21401
21402         * doc/c-strtod.texi: Mention a couple of restrictions.
21403
21404 2009-01-20  Jim Meyering  <meyering@redhat.com>
21405
21406         gettimeofday: move more declarations out of functions
21407         * lib/gettimeofday.c: Move extern declarations of tzset and
21408         gmtime out of containing functions.  Prompted by Bruno Haible.
21409
21410 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
21411
21412         regex: do not depend on obsolete modules.
21413         * modules/regex: Remove memcmp and memmove.
21414
21415 2009-01-19  Bruno Haible  <bruno@clisp.org>
21416
21417         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
21418         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
21419         gl_BIGENDIAN, not AC_C_BIGENDIAN.
21420         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
21421         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
21422
21423 2009-01-19  Bruno Haible  <bruno@clisp.org>
21424
21425         * tests/test-link.c: Include <errno.h>.
21426         (main): Exit with code 77 when a hard link cannot be created due to
21427         the file system.
21428         * tests/test-link.sh: Skip test when a hard link cannot be created due
21429         to the file system.
21430         Suggested by Eric Blake.
21431
21432 2009-01-19  Martin Lambers  <marlam@marlam.de>
21433
21434         * modules/link-tests: New file.
21435         * tests/test-link.sh: New file.
21436         * tests/test-link.c: New file.
21437
21438 2009-01-19  Eric Blake  <ebb9@byu.net>
21439
21440         doc: mention another function added in cygwin 1.7.0
21441         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
21442         Another new function in cygwin 1.7.
21443
21444 2009-01-19  Bruno Haible  <bruno@clisp.org>
21445
21446         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
21447         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
21448         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
21449         gl_BIGENDIAN, not AC_C_BIGENDIAN.
21450         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
21451         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
21452         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
21453         * m4/md4.m4 (gl_MD4): Likewise.
21454         * m4/md5.m4 (gl_MD5): Likewise.
21455         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
21456         * m4/sha1.m4 (gl_SHA1): Likewise.
21457         * m4/sha256.m4 (gl_SHA256): Likewise.
21458         * m4/sha512.m4 (gl_SHA512): Likewise.
21459
21460 2009-01-19  Bruno Haible  <bruno@clisp.org>
21461
21462         * modules/uniname/uniname-tests (Depends-on): Add progname.
21463         * tests/uniname/test-uninames.c: Include progname.h.
21464         (main): Call set_program_name.
21465
21466         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
21467         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
21468         (main): Call set_program_name.
21469
21470         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
21471         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
21472         (main): Call set_program_name.
21473
21474         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
21475         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
21476         (main): Call set_program_name.
21477
21478         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
21479         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
21480         (main): Call set_program_name.
21481
21482         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
21483         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
21484         (main): Call set_program_name.
21485
21486         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
21487         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
21488         (main): Call set_program_name.
21489
21490         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
21491         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
21492         (main): Call set_program_name.
21493
21494         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
21495         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
21496         (main): Call set_program_name.
21497
21498 2009-01-19  Eric Blake  <ebb9@byu.net>
21499
21500         test-unistd: test previous patch
21501         * tests/test-unistd.c: Test *_FILENO macros.
21502
21503         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
21504         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
21505         Guarantee a definition.
21506         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
21507         * modules/unistd-safer (Depends-on): Add dependency on unistd.
21508         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
21509         * lib/dup-safer.c (STDERR_FILENO): Likewise.
21510         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
21511         Likewise.
21512         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
21513         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
21514         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
21515         Likewise.
21516         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
21517         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
21518         (STDERR_FILENO): Likewise.
21519         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
21520         (STDERR_FILENO): Likewise.
21521         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
21522         (STDERR_FILENO): Likewise.
21523         Reported by Elbert Pol.
21524
21525 2009-01-19  Eric Blake  <ebb9@byu.net>
21526
21527         doc: mention more functions added in cygwin 1.7.0
21528         * doc/posix-functions/abort.texi (abort): Update wording related
21529         to cygwin.
21530         * doc/posix-functions/daylight.texi (daylight): Likewise.
21531         * doc/posix-functions/optarg.texi (optarg): Likewise.
21532         * doc/posix-functions/optarg.texi (opterr): Likewise.
21533         * doc/posix-functions/optarg.texi (optind): Likewise.
21534         * doc/posix-functions/optarg.texi (optopt): Likewise.
21535         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
21536         worked in 1.5.x, and was withdrawn in 1.7.
21537         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
21538         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
21539         cygwin versions.
21540         * doc/posix-functions/perror.texi (perror): Likewise.
21541         * doc/posix-functions/printf.texi (printf): Likewise.
21542         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
21543         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
21544         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
21545         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
21546         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21547         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
21548         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
21549         Likewise.
21550         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
21551         Likewise.
21552         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
21553         this function.
21554         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
21555         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
21556         Likewise.
21557         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
21558         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
21559         * doc/posix-functions/confstr.texi (confstr): Likewise.
21560         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
21561         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
21562         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
21563         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
21564         * doc/posix-functions/fputws.texi (fputws): Likewise.
21565         * doc/posix-functions/fwide.texi (fwide): Likewise.
21566         * doc/posix-functions/getwc.texi (getwc): Likewise.
21567         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
21568         * doc/posix-functions/putwc.texi (putwc): Likewise.
21569         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
21570         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
21571         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
21572         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
21573         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
21574         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
21575         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
21576         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
21577         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
21578         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
21579         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
21580
21581 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
21582
21583         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
21584         * lib/ioctl.c: Include <sys/ioctl.h>.
21585
21586 2009-01-19  Simon Josefsson  <simon@josefsson.org>
21587
21588         * modules/getdate-tests (Depends-on): Add progname.
21589         * tests/test-getdate.c: Use progname module, to avoid link errors
21590         on non-glibc systems.
21591
21592 2009-01-18  Simon Josefsson  <simon@josefsson.org>
21593
21594         * modules/filenamecat-tests (Depends-on): Add progname.
21595         * modules/fstrcmp-tests (Depends-on): Likewise.
21596
21597         * tests/test-filenamecat.c: Use progname module, to avoid link
21598         errors on non-glibc systems.
21599         * tests/test-fstrcmp.c: Likewise.
21600
21601 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
21602
21603         gettimeofday: avoid warning: nested extern declaration of 'localtime'
21604         * lib/gettimeofday.c: Move extern declaration out of function.
21605
21606 2009-01-18  Bruno Haible  <bruno@clisp.org>
21607
21608         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
21609         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
21610         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
21611
21612 2009-01-18  Bruno Haible  <bruno@clisp.org>
21613
21614         * lib/strftime.c (MEMPCPY): Remove unused macro.
21615         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
21616
21617 2009-01-18  Martin Lambers  <marlam@marlam.de>
21618
21619         New module 'link'.
21620         * lib/unistd.in.h (link): New declaration.
21621         * lib/link.c: New file.
21622         * m4/link.m4: New file.
21623         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
21624         HAVE_LINK.
21625         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
21626         * modules/link: New file.
21627         * doc/posix-functions/link.texi: Mention the new module.
21628
21629 2009-01-18  Bruno Haible  <bruno@clisp.org>
21630
21631         * tests/test-avltree_list.c (main): Call set_program_name.
21632         * tests/test-avltree_oset.c (main): Likewise.
21633         * tests/test-obstack-printf.c: Include progname.h.
21634         (main): Call set_program_name.
21635         * tests/test-quotearg.c: Include progname.h.
21636         (main): Call set_program_name.
21637         * tests/test-xmemdup0.c: Include progname.h.
21638         (main): Call set_program_name.
21639
21640 2009-01-18  Bruno Haible  <bruno@clisp.org>
21641
21642         New module 'alphasort'.
21643         * lib/dirent.in.h (alphasort): New declaration.
21644         * lib/alphasort.c: New file, from glibc with modifications.
21645         * m4/alphasort.m4: New file.
21646         * modules/alphasort: New file.
21647         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
21648         HAVE_ALPHASORT.
21649         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
21650         HAVE_ALPHASORT.
21651         * doc/posix-functions/alphasort.texi: Mention the new module and the
21652         portability problems.
21653
21654 2009-01-18  Bruno Haible  <bruno@clisp.org>
21655
21656         New module 'scandir'.
21657         * lib/dirent.in.h (scandir): New declaration.
21658         * lib/scandir.c: New file, from glibc with modifications.
21659         * m4/scandir.m4: New file.
21660         * modules/scandir: New file.
21661         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
21662         HAVE_SCANDIR.
21663         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
21664         HAVE_SCANDIR.
21665         * doc/posix-functions/scandir.texi: Mention the new module and the
21666         portability problems.
21667
21668 2009-01-17  Bruno Haible  <bruno@clisp.org>
21669
21670         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
21671         Update documentation.
21672         (func_remove_suffix): Escape all dots in the suffix. Update
21673         documentation.
21674         (func_filter_filelist): Update documentation.
21675         Reported by Ralf Wildenhues.
21676
21677 2009-01-17  Bruno Haible  <bruno@clisp.org>
21678
21679         * modules/dprintf-posix-tests: New file.
21680         * tests/test-dprintf-posix.sh: New file.
21681         * tests/test-dprintf-posix.c: New file.
21682
21683         New modules 'dprintf', 'dprintf-posix'.
21684         * lib/stdio.in.h (dprintf): New declaration.
21685         * lib/dprintf.c: New file.
21686         * m4/dprintf.m4: New file.
21687         * m4/dprintf-posix.m4: New file.
21688         * modules/dprintf: New file.
21689         * modules/dprintf-posix: New file.
21690         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
21691         HAVE_DPRINTF, REPLACE_DPRINTF.
21692         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
21693         HAVE_DPRINTF, REPLACE_DPRINTF.
21694         * doc/posix-functions/dprintf.texi: Mention the new modules.
21695
21696 2009-01-17  Bruno Haible  <bruno@clisp.org>
21697
21698         * modules/vdprintf-posix-tests: New file.
21699         * tests/test-vdprintf-posix.sh: New file.
21700         * tests/test-vdprintf-posix.c: New file.
21701
21702         New modules 'vdprintf', 'vdprintf-posix'.
21703         * lib/stdio.in.h (vdprintf): New declaration.
21704         * lib/vdprintf.c: New file.
21705         * m4/vdprintf.m4: New file.
21706         * m4/vdprintf-posix.m4: New file.
21707         * modules/vdprintf: New file.
21708         * modules/vdprintf-posix: New file.
21709         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
21710         HAVE_VDPRINTF, REPLACE_VDPRINTF.
21711         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
21712         HAVE_VDPRINTF, REPLACE_VDPRINTF.
21713         * doc/posix-functions/vdprintf.texi: Mention the new modules.
21714
21715 2009-01-17  Bruno Haible  <bruno@clisp.org>
21716
21717         Fix replacement of fopen on mingw.
21718         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
21719         mingw.
21720
21721 2009-01-17  Bruno Haible  <bruno@clisp.org>
21722
21723         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
21724         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
21725
21726 2009-01-17  Bruno Haible  <bruno@clisp.org>
21727
21728         Avoid test-fflush2.sh failure on mingw.
21729         * tests/test-fflush2.c: Include binary-io.h.
21730         (main): Put standard input into binary mode.
21731         * modules/fflush-tests (Depends-on): Add binary-io.
21732
21733 2009-01-17  Bruno Haible  <bruno@clisp.org>
21734
21735         * lib/wchar.in.h: In another particular situation, include only the
21736         system's <wchar.h> file.
21737         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
21738         Reported by Albert Chin-A-Young <china@thewrittenword.com>
21739         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
21740
21741 2009-01-17  Bruno Haible  <bruno@clisp.org>
21742
21743         Support for stripping executables in --enable-relocatable.
21744         * build-aux/install-reloc: Expect one more argument, or an environment
21745         variable RELOC_STRIP_PROG. If set, strip the destination program and
21746         its wrapper.
21747         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
21748         RELOC_STRIP_PROG.
21749         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
21750         to set RELOCATABLE_STRIP.
21751         * NEWS: Mention the new Makefile requirement.
21752
21753 2009-01-17  Bruno Haible  <bruno@clisp.org>
21754
21755         * build-aux/install-reloc: Remove debugging information left over by
21756         C compiler on MacOS X.
21757
21758 2009-01-17  Bruno Haible  <bruno@clisp.org>
21759
21760         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
21761         * lib/progreloc.c (find_executable): Fix type of pointer passed to
21762         _NSGetExecutablePath.
21763
21764 2009-01-16  Jim Meyering  <meyering@redhat.com>
21765
21766         strerror: avoid warnings about discarding "const"
21767         * lib/strerror.c (rpl_strerror): Instead of returning a const
21768         string from each and every "case", use a variable, and add a single
21769         cast after the switch.
21770
21771 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
21772
21773         * lib/arpa_inet.in.h: Add extern "C" block for C++.
21774
21775 2009-01-16  Bruno Haible  <bruno@clisp.org>
21776
21777         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
21778         array initializer syntax that also works in C++ mode.
21779         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21780
21781 2009-01-16  Jim Meyering  <meyering@redhat.com>
21782
21783         poll: suppress a warning
21784         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
21785         to ignore "...unsigned expression < 0 is always false" warnings.
21786
21787 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
21788
21789         poll: remove declarations of unused variables
21790         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
21791         sockbuf and optlen.
21792
21793 2009-01-15  Bruno Haible  <bruno@clisp.org>
21794
21795         Make fflush-after-ungetc POSIX compliant on BSD systems.
21796         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
21797         (clear_ungetc_buffer): Implement also for other systems.
21798         (rpl_fflush): On glibc systems, invoke
21799         clear_ungetc_buffer_preserving_position. Otherwise, invoke
21800         clear_ungetc_buffer after fetching the stream's position, not before.
21801
21802 2009-01-15  Bruno Haible  <bruno@clisp.org>
21803
21804         Make fflush-after-ungetc POSIX compliant on glibc systems.
21805         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
21806         after ungetc.
21807         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
21808         (rpl_fflush): On glibc systems, simply call the system's fflush
21809         function after clearing the ungetc buffer.
21810         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
21811         Instead, lseek only to the end of file, then use the system's fseeko
21812         for the rest. On glibc systems, reset the EOF indicator bit.
21813
21814 2009-01-15  Jim Meyering  <meyering@redhat.com>
21815
21816         openmp.m4: revert quote-adding change, for portability to older autoconf
21817         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
21818         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
21819         Simon Josefsson noticed the problem when using autoconf-2.61.
21820
21821 2009-01-15  Bruno Haible  <bruno@clisp.org>
21822
21823         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
21824         * tests/test-fflush2.c (ASSERT): Always fail.
21825         (main): Add two tests for fflush() after ungetc(), taking into account
21826         the Austin Group's clarification.
21827         Suggested by Eric Blake.
21828
21829 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
21830
21831         mktime.m4: remove K&R-style function prototypes
21832         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
21833         for the Sun C++ compiler.
21834
21835 2009-01-14  Bruno Haible  <bruno@clisp.org>
21836
21837         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
21838         while including <wchar.h>.
21839         * lib/wchar.in.h: In two particular situations on HP-UX, include only
21840         the system's <wchar.h> file.
21841         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
21842
21843 2009-01-14  Bruno Haible  <bruno@clisp.org>
21844
21845         * m4/csharp.m4: Don't mention gettext on the serial number line.
21846         * m4/csharpexec.m4: Likewise.
21847         * m4/eaccess.m4: Likewise.
21848         * m4/javaexec.m4: Likewise.
21849         * m4/sig_atomic_t.m4: Likewise.
21850         * m4/tmpdir.m4: Likewise.
21851         * m4/intldir.m4: Bump gettext version.
21852         * m4/lib-ld.m4: Likewise.
21853
21854 2009-01-14  Bruno Haible  <bruno@clisp.org>
21855
21856         * lib/progname.c (set_program_name): Add more comments.
21857         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
21858
21859 2009-01-14  Simon Josefsson  <simon@josefsson.org>
21860
21861         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
21862         were sys/stat.h does not define it.
21863
21864 2009-01-14  Jim Meyering  <meyering@redhat.com>
21865
21866         many *.m4 files: improve m4 quoting
21867         99% of this change was performed by running the following commands:
21868         git ls-files | grep '\.m4$' | xargs perl -pi \
21869           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
21870           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
21871           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
21872           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
21873         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
21874         The remainder were to add Copyright dates, increment serial numbers,
21875         undo some changes in comments, exclude m4/intl.m4, and add quotes
21876         around the "1" in ",1" where the unusual spacing prohibited the
21877         above regexps from doing the job.  For more details, see
21878         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
21879         * m4/acl.m4: Modified.
21880         * m4/afs.m4: Likewise.
21881         * m4/alloca.m4: Likewise.
21882         * m4/argp.m4: Likewise.
21883         * m4/argz.m4: Likewise.
21884         * m4/atexit.m4: Likewise.
21885         * m4/bison-i18n.m4: Likewise.
21886         * m4/bison.m4: Likewise.
21887         * m4/byteswap.m4: Likewise.
21888         * m4/c-stack.m4: Likewise.
21889         * m4/c-strtod.m4: Likewise.
21890         * m4/calloc.m4: Likewise.
21891         * m4/canonicalize-lgpl.m4: Likewise.
21892         * m4/chown.m4: Likewise.
21893         * m4/clock_time.m4: Likewise.
21894         * m4/codeset.m4: Likewise.
21895         * m4/copy-file.m4: Likewise.
21896         * m4/csharp.m4: Likewise.
21897         * m4/csharpcomp.m4: Likewise.
21898         * m4/csharpexec.m4: Likewise.
21899         * m4/d-ino.m4: Likewise.
21900         * m4/d-type.m4: Likewise.
21901         * m4/dirfd.m4: Likewise.
21902         * m4/double-slash-root.m4: Likewise.
21903         * m4/eaccess.m4: Likewise.
21904         * m4/eealloc.m4: Likewise.
21905         * m4/environ.m4: Likewise.
21906         * m4/errno_h.m4: Likewise.
21907         * m4/euidaccess.m4: Likewise.
21908         * m4/execute.m4: Likewise.
21909         * m4/fatal-signal.m4: Likewise.
21910         * m4/fchdir.m4: Likewise.
21911         * m4/fcntl_h.m4: Likewise.
21912         * m4/fileblocks.m4: Likewise.
21913         * m4/filenamecat.m4: Likewise.
21914         * m4/findprog.m4: Likewise.
21915         * m4/flexmember.m4: Likewise.
21916         * m4/fnmatch.m4: Likewise.
21917         * m4/fopen.m4: Likewise.
21918         * m4/fpending.m4: Likewise.
21919         * m4/fprintf-posix.m4: Likewise.
21920         * m4/free.m4: Likewise.
21921         * m4/frexp.m4: Likewise.
21922         * m4/frexpl.m4: Likewise.
21923         * m4/fsusage.m4: Likewise.
21924         * m4/ftruncate.m4: Likewise.
21925         * m4/gc-camellia.m4: Likewise.
21926         * m4/gc-random.m4: Likewise.
21927         * m4/gc.m4: Likewise.
21928         * m4/getaddrinfo.m4: Likewise.
21929         * m4/getcwd-abort-bug.m4: Likewise.
21930         * m4/getcwd-path-max.m4: Likewise.
21931         * m4/getdate.m4: Likewise.
21932         * m4/getdomainname.m4: Likewise.
21933         * m4/getgroups.m4: Likewise.
21934         * m4/gethostname.m4: Likewise.
21935         * m4/gethrxtime.m4: Likewise.
21936         * m4/getline.m4: Likewise.
21937         * m4/getloadavg.m4: Likewise.
21938         * m4/getndelim2.m4: Likewise.
21939         * m4/getpass.m4: Likewise.
21940         * m4/gettext.m4: Likewise.
21941         * m4/gettime.m4: Likewise.
21942         * m4/gettimeofday.m4: Likewise.
21943         * m4/gnulib-common.m4: Likewise.
21944         * m4/group-member.m4: Likewise.
21945         * m4/host-os.m4: Likewise.
21946         * m4/iconv.m4: Likewise.
21947         * m4/iconv_open.m4: Likewise.
21948         * m4/inet_ntop.m4: Likewise.
21949         * m4/inet_pton.m4: Likewise.
21950         * m4/inline.m4: Likewise.
21951         * m4/intldir.m4: Likewise.
21952         * m4/intlmacosx.m4: Likewise.
21953         * m4/intmax.m4: Likewise.
21954         * m4/intmax_t.m4: Likewise.
21955         * m4/inttypes.m4: Likewise.
21956         * m4/inttypes_h.m4: Likewise.
21957         * m4/inttypes-pri.m4: Likewise.
21958         * m4/isapipe.m4: Likewise.
21959         * m4/isnand.m4: Likewise.
21960         * m4/isnanf.m4: Likewise.
21961         * m4/isnanl.m4: Likewise.
21962         * m4/javacomp.m4: Likewise.
21963         * m4/javaexec.m4: Likewise.
21964         * m4/jm-winsz1.m4: Likewise.
21965         * m4/jm-winsz2.m4: Likewise.
21966         * m4/lchown.m4: Likewise.
21967         * m4/lcmessage.m4: Likewise.
21968         * m4/ldexpl.m4: Likewise.
21969         * m4/lib-ld.m4: Likewise.
21970         * m4/lib-link.m4: Likewise.
21971         * m4/libsigsegv.m4: Likewise.
21972         * m4/link-follow.m4: Likewise.
21973         * m4/localcharset.m4: Likewise.
21974         * m4/locale-fr.m4: Likewise.
21975         * m4/locale-ja.m4: Likewise.
21976         * m4/locale-tr.m4: Likewise.
21977         * m4/locale-zh.m4: Likewise.
21978         * m4/lock.m4: Likewise.
21979         * m4/longlong.m4: Likewise.
21980         * m4/ls-mntd-fs.m4: Likewise.
21981         * m4/lstat.m4: Likewise.
21982         * m4/malloc.m4: Likewise.
21983         * m4/mathl.m4: Likewise.
21984         * m4/mbrtowc.m4: Likewise.
21985         * m4/mbstate_t.m4: Likewise.
21986         * m4/mbswidth.m4: Likewise.
21987         * m4/memchr.m4: Likewise.
21988         * m4/memcmp.m4: Likewise.
21989         * m4/memcpy.m4: Likewise.
21990         * m4/memmem.m4: Likewise.
21991         * m4/memmove.m4: Likewise.
21992         * m4/mempcpy.m4: Likewise.
21993         * m4/memrchr.m4: Likewise.
21994         * m4/memset.m4: Likewise.
21995         * m4/minmax.m4: Likewise.
21996         * m4/mkdir-slash.m4: Likewise.
21997         * m4/mkdtemp.m4: Likewise.
21998         * m4/mktime.m4: Likewise.
21999         * m4/mmap-anon.m4: Likewise.
22000         * m4/mountlist.m4: Likewise.
22001         * m4/nanosleep.m4: Likewise.
22002         * m4/nls.m4: Likewise.
22003         * m4/nocrash.m4: Likewise.
22004         * m4/open.m4: Likewise.
22005         * m4/openat.m4: Likewise.
22006         * m4/openmp.m4: Likewise.
22007         * m4/pathmax.m4: Likewise.
22008         * m4/perl.m4: Likewise.
22009         * m4/physmem.m4: Likewise.
22010         * m4/pipe.m4: Likewise.
22011         * m4/po.m4: Likewise.
22012         * m4/poll.m4: Likewise.
22013         * m4/posixtm.m4: Likewise.
22014         * m4/posixver.m4: Likewise.
22015         * m4/printf-frexp.m4: Likewise.
22016         * m4/printf-frexpl.m4: Likewise.
22017         * m4/printf-posix.m4: Likewise.
22018         * m4/printf-posix-rpl.m4: Likewise.
22019         * m4/printf.m4: Likewise.
22020         * m4/progtest.m4: Likewise.
22021         * m4/putenv.m4: Likewise.
22022         * m4/readline.m4: Likewise.
22023         * m4/readlink.m4: Likewise.
22024         * m4/readutmp.m4: Likewise.
22025         * m4/realloc.m4: Likewise.
22026         * m4/regex.m4: Likewise.
22027         * m4/relocatable.m4: Likewise.
22028         * m4/relocatable-lib.m4: Likewise.
22029         * m4/rename-dest-slash.m4: Likewise.
22030         * m4/rename.m4: Likewise.
22031         * m4/rmdir-errno.m4: Likewise.
22032         * m4/rmdir.m4: Likewise.
22033         * m4/roundf.m4: Likewise.
22034         * m4/roundl.m4: Likewise.
22035         * m4/rpmatch.m4: Likewise.
22036         * m4/save-cwd.m4: Likewise.
22037         * m4/selinux-selinux-h.m4: Likewise.
22038         * m4/setenv.m4: Likewise.
22039         * m4/settime.m4: Likewise.
22040         * m4/sig2str.m4: Likewise.
22041         * m4/sig_atomic_t.m4: Likewise.
22042         * m4/signalblocking.m4: Likewise.
22043         * m4/signbit.m4: Likewise.
22044         * m4/sigpipe.m4: Likewise.
22045         * m4/sockets.m4: Likewise.
22046         * m4/sockpfaf.m4: Likewise.
22047         * m4/st_dm_mode.m4: Likewise.
22048         * m4/stat-time.m4: Likewise.
22049         * m4/stdbool.m4: Likewise.
22050         * m4/stdint.m4: Likewise.
22051         * m4/stdint_h.m4: Likewise.
22052         * m4/stpcpy.m4: Likewise.
22053         * m4/stpncpy.m4: Likewise.
22054         * m4/strcase.m4: Likewise.
22055         * m4/strchrnul.m4: Likewise.
22056         * m4/strcspn.m4: Likewise.
22057         * m4/strdup.m4: Likewise.
22058         * m4/strftime.m4: Likewise.
22059         * m4/strndup.m4: Likewise.
22060         * m4/strnlen.m4: Likewise.
22061         * m4/strpbrk.m4: Likewise.
22062         * m4/strptime.m4: Likewise.
22063         * m4/strsep.m4: Likewise.
22064         * m4/strtod.m4: Likewise.
22065         * m4/strtoimax.m4: Likewise.
22066         * m4/strtok_r.m4: Likewise.
22067         * m4/strtol.m4: Likewise.
22068         * m4/strtoll.m4: Likewise.
22069         * m4/strtoul.m4: Likewise.
22070         * m4/strtoull.m4: Likewise.
22071         * m4/strtoumax.m4: Likewise.
22072         * m4/strverscmp.m4: Likewise.
22073         * m4/threadlib.m4: Likewise.
22074         * m4/timegm.m4: Likewise.
22075         * m4/tm_gmtoff.m4: Likewise.
22076         * m4/tmpdir.m4: Likewise.
22077         * m4/tmpfile.m4: Likewise.
22078         * m4/tzset.m4: Likewise.
22079         * m4/uintmax_t.m4: Likewise.
22080         * m4/unlinkdir.m4: Likewise.
22081         * m4/unlocked-io.m4: Likewise.
22082         * m4/uptime.m4: Likewise.
22083         * m4/userspec.m4: Likewise.
22084         * m4/utimbuf.m4: Likewise.
22085         * m4/utime.m4: Likewise.
22086         * m4/utimes-null.m4: Likewise.
22087         * m4/utimes.m4: Likewise.
22088         * m4/vararrays.m4: Likewise.
22089         * m4/vasnprintf.m4: Likewise.
22090         * m4/vfprintf-posix.m4: Likewise.
22091         * m4/vprintf-posix.m4: Likewise.
22092         * m4/wait-process.m4: Likewise.
22093         * m4/wchar_t.m4: Likewise.
22094         * m4/wint_t.m4: Likewise.
22095         * m4/write-any-file.m4: Likewise.
22096         * m4/yield.m4: Likewise.
22097
22098 2009-01-13  Bruno Haible  <bruno@clisp.org>
22099
22100         Avoid test-copy-file.sh failures when ACL support insufficient.
22101         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
22102         TESTS_ENVIRONMENT.
22103         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
22104         Reported by Jim Meyering.
22105
22106 2009-01-13  Bruno Haible  <bruno@clisp.org>
22107
22108         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
22109         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
22110         * modules/unistdio/u8-printf-parse (Files): Likewise.
22111         * modules/unistdio/u32-printf-parse (Files): Likewise.
22112         * modules/unistdio/ulc-printf-parse (Files): Likewise.
22113
22114 2009-01-13  Simon Josefsson  <simon@josefsson.org>
22115
22116         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
22117         and m4/inttypes_h.m4 too.
22118
22119 2009-01-12  Eric Blake  <ebb9@byu.net>
22120
22121         tests: IRIX 6.2 cc can't compile -0.0 into .data
22122         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
22123         rather than at compile-time.
22124         * tests/test-floorl.c (minus_zero): Likewise.
22125         * tests/test-frexpl.c (minus_zero): Likewise.
22126         * tests/test-isnan.c (minus_zerol): Likewise.
22127         * tests/test-isnanl.h (minus_zero): Likewise.
22128         * tests/test-ldexpl.c (minus_zero): Likewise.
22129         * tests/test-roundl.c (minus_zero): Likewise.
22130         * tests/test-signbit.c (minus_zerol): Likewise.
22131         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
22132         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
22133         * tests/test-truncl.c (minus_zero): Likewise.
22134         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
22135         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
22136         Reported by Tom G. Christensen and Nelson H. F. Beebe.
22137
22138 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
22139
22140         regex: fix glibc bug 9697
22141         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
22142         handling.
22143
22144 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
22145
22146         regex: fix glibc bug 697
22147         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
22148         being NULL also if there are no backreferences.
22149
22150 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
22151
22152         regex: merge glibc changes
22153         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
22154         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
22155         re_string_skip_chars, re_string_reconstruct): Likewise.
22156         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
22157
22158 2009-01-07  Jim Meyering  <meyering@redhat.com>
22159
22160         poll: filter through cppi
22161         * lib/poll.c: Indent cpp directives to reflect nesting.
22162
22163 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
22164
22165         poll: don't return uninitialized
22166         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
22167
22168 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
22169
22170         avoid compile failure on AIX 6.1
22171         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
22172         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
22173
22174 2009-01-04  Jim Meyering  <meyering@redhat.com>
22175
22176         remove duplicate inclusion of <stdio.h>
22177         * tests/test-fprintf-posix.c: Likewise.
22178         * tests/test-printf-posix.c: Likewise.
22179         * tests/test-snprintf-posix.c: Likewise.
22180         * tests/test-sprintf-posix.c: Likewise.
22181         * tests/test-vasprintf-posix.c: Likewise.
22182         * tests/test-vfprintf-posix.c: Likewise.
22183         * tests/test-vprintf-posix.c: Likewise.
22184         * tests/test-vsnprintf-posix.c: Likewise.
22185         * tests/test-vsprintf-posix.c: Likewise.
22186
22187 2009-01-03  Jim Meyering  <meyering@redhat.com>
22188
22189         gnulib-tool: fix sed-based filtering
22190         * gnulib-tool (func_filter_filelist): Remove extra backslash
22191         in sed_fff_filter definition.
22192
22193 2009-01-02  Jim Meyering  <meyering@redhat.com>
22194
22195         strftime: avoid compilation failure on Solaris 2.6
22196         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
22197         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
22198         Don't #define mbrlen or mbsinit, since now they're guaranteed to
22199         be available.  Reported by Tom G. Christensen.  Details in
22200         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
22201
22202 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22203             Bruno Haible  <bruno@clisp.org>
22204
22205         Speed up gnulib-tool by doing more string processing through shell
22206         built-ins.
22207         * gnulib-tool (fast_func_append): New variable.
22208         (func_remove_prefix, func_remove_suffix): New functions.
22209         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
22210         (func_filter_filelist): New function.
22211         (func_get_dependencies): Use func_remove_suffix instead of sed.
22212         (func_get_automake_snippet): Use func_filter_filelist instead of a
22213         subshell and sed invocation.
22214
22215 2009-01-01  Bruno Haible  <bruno@clisp.org>
22216
22217         Fix a security bug.
22218         * gnulib-tool (func_import, import, update): Don't allow the characters
22219         '"', '$', '`', '\' in macro arguments that become part of commands that
22220         are evaluated.
22221
22222 2009-01-01  Bruno Haible  <bruno@clisp.org>
22223
22224         * gnulib-tool (func_reset_sigpipe): Add more comments.
22225
22226 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22227
22228         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
22229         func_emit_tests_Makefile_am, func_import): Abort loops early if we
22230         already know the answer.
22231
22232 2009-01-01  Jim Meyering  <meyering@redhat.com>
22233
22234         * lib/version-etc.c (version_etc_va): Update copyright year.
22235
22236 2008-12-30  Bruno Haible  <bruno@clisp.org>
22237
22238         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
22239         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
22240         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
22241
22242 2008-12-29  Eric Blake  <ebb9@byu.net>
22243
22244         multiarch: avoid autoconf AC_REQUIRE bug
22245         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
22246         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
22247         2.63 and older.
22248         Reported by Bruno Haible, and analyzed in
22249         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
22250
22251 2008-12-29  Bruno Haible  <bruno@clisp.org>
22252
22253         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
22254         files in subdirectories correctly.
22255         Reported by Ralf Wildenhues.
22256
22257 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22258
22259         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
22260         rather than 'join FILE -', for Solaris join.
22261
22262 2008-12-29  Bruno Haible  <bruno@clisp.org>
22263
22264         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
22265         quoting.
22266         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
22267         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22268         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22269         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
22270         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
22271         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
22272         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
22273         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
22274         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
22275         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
22276         * m4/nls.m4 (AM_NLS): Likewise.
22277         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
22278         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
22279         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
22280         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
22281         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
22282         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
22283         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
22284         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
22285         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
22286         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
22287         * m4/xsize.m4 (gl_XSIZE): Likewise.
22288         Suggested by Jim Meyering.
22289
22290 2008-11-17  Bruce Korb  <bkorb@gnu.org>
22291
22292         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
22293         * lib/parse-duration.c: use a switch instead of cascading if's.
22294
22295 2008-12-29  Eric Blake  <ebb9@byu.net>
22296
22297         wchar.h: supply WEOF on Irix 5.3
22298         * lib/wchar.in.h (wint_t): Also supply WEOF.
22299         * lib/wctype.in.h (wint_t): Likewise.
22300         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
22301         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
22302         Reported by Tom G. Christensen.
22303
22304 2008-12-26  Bruno Haible  <bruno@clisp.org>
22305
22306         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
22307         i486, i586, i686.
22308
22309 2008-12-26  Bruno Haible  <bruno@clisp.org>
22310
22311         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
22312
22313 2008-12-26  Bruno Haible  <bruno@clisp.org>
22314
22315         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
22316         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
22317         not __STDC_CONSTANT_MACROS.
22318         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
22319
22320 2008-12-25  Bruno Haible  <bruno@clisp.org>
22321
22322         Add support for universal builds to vasnprintf.
22323         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
22324         universal builds, guess no.
22325         * modules/vasnprintf-posix (Depends-on): Add multiarch.
22326         * modules/vasprintf-posix (Depends-on): Likewise.
22327         * modules/fprintf-posix (Depends-on): Likewise.
22328         * modules/vfprintf-posix (Depends-on): Likewise.
22329         * modules/snprintf-posix (Depends-on): Likewise.
22330         * modules/vsnprintf-posix (Depends-on): Likewise.
22331         * modules/sprintf-posix (Depends-on): Likewise.
22332         * modules/vsprintf-posix (Depends-on): Likewise.
22333         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22334         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22335         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22336         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22337         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22338         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22339         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22340
22341         Add support for universal builds to <inttypes.h>.
22342         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
22343         _SCNu64_PREFIX): In Apple
22344         universal builds, define directly, using _LP64.
22345         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
22346         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
22347         * modules/inttypes (Depends-on): Add multiarch.
22348         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
22349
22350         Add support for universal builds to <stdint.h>.
22351         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
22352         universal builds, define directly, using _LP64.
22353         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
22354         Apple universal builds, don't test for the size and suffix of ptrdiff_t
22355         and size_t.
22356         * modules/stdint (Depends-on): Add multiarch.
22357         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
22358
22359         New module 'multiarch'.
22360         * modules/multiarch: New file.
22361         * m4/multiarch.m4: New file.
22362
22363 2008-12-25  Bruno Haible  <bruno@clisp.org>
22364
22365         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
22366
22367 2008-12-25  Bruno Haible  <bruno@clisp.org>
22368
22369         * modules/btowc (License): Relicense under LGPLv2+.
22370         * modules/mbsinit (License): Likewise.
22371         * modules/mbrtowc (License): Likewise.
22372         * modules/wcrtomb (License): Likewise.
22373         * modules/streq (License): Likewise.
22374         Reported by David Lutterkort <lutter@redhat.com>.
22375
22376 2008-12-23  Bruno Haible  <bruno@clisp.org>
22377
22378         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
22379
22380 2008-12-23  Bruno Haible  <bruno@clisp.org>
22381
22382         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
22383         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
22384         GETADDRINFO_LIB, not in LIBS.
22385         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
22386         * modules/canon-host (Link): Likewise.
22387         * NEWS: Mention the change.
22388         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
22389         GETADDRINFO_LIB.
22390
22391 2008-12-22  Bruno Haible  <bruno@clisp.org>
22392
22393         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
22394         * doc/posix-functions/iswalpha_l.texi: Likewise.
22395         * doc/posix-functions/iswblank_l.texi: Likewise.
22396         * doc/posix-functions/iswcntrl_l.texi: Likewise.
22397         * doc/posix-functions/iswctype_l.texi: Likewise.
22398         * doc/posix-functions/iswdigit_l.texi: Likewise.
22399         * doc/posix-functions/iswgraph_l.texi: Likewise.
22400         * doc/posix-functions/iswlower_l.texi: Likewise.
22401         * doc/posix-functions/iswprint_l.texi: Likewise.
22402         * doc/posix-functions/iswpunct_l.texi: Likewise.
22403         * doc/posix-functions/iswspace_l.texi: Likewise.
22404         * doc/posix-functions/iswupper_l.texi: Likewise.
22405         * doc/posix-functions/iswxdigit_l.texi: Likewise.
22406         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
22407         * doc/posix-functions/open_wmemstream.texi: Likewise.
22408         * doc/posix-functions/swscanf.texi: Likewise.
22409         * doc/posix-functions/towctrans_l.texi: Likewise.
22410         * doc/posix-functions/towlower.texi: Likewise.
22411         * doc/posix-functions/towlower_l.texi: Likewise.
22412         * doc/posix-functions/towupper.texi: Likewise.
22413         * doc/posix-functions/towupper_l.texi: Likewise.
22414         * doc/posix-functions/vfwprintf.texi: Likewise.
22415         * doc/posix-functions/vfwscanf.texi: Likewise.
22416         * doc/posix-functions/vswscanf.texi: Likewise.
22417         * doc/posix-functions/vwprintf.texi: Likewise.
22418         * doc/posix-functions/vwscanf.texi: Likewise.
22419         * doc/posix-functions/wcpcpy.texi: Likewise.
22420         * doc/posix-functions/wcpncpy.texi: Likewise.
22421         * doc/posix-functions/wcscasecmp.texi: Likewise.
22422         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
22423         * doc/posix-functions/wcscoll_l.texi: Likewise.
22424         * doc/posix-functions/wcsdup.texi: Likewise.
22425         * doc/posix-functions/wcsncasecmp.texi: Likewise.
22426         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
22427         * doc/posix-functions/wcsnlen.texi: Likewise.
22428         * doc/posix-functions/wcsnrtombs.texi: Likewise.
22429         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
22430         * doc/posix-functions/wctrans_l.texi: Likewise.
22431         * doc/posix-functions/wctype_l.texi: Likewise.
22432         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
22433         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
22434         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
22435         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
22436         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
22437         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
22438         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
22439         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
22440         * doc/glibc-functions/wcschrnul.texi: Likewise.
22441         * doc/glibc-functions/wcsftime_l.texi: Likewise.
22442         * doc/glibc-functions/wcstod_l.texi: Likewise.
22443         * doc/glibc-functions/wcstof_l.texi: Likewise.
22444         * doc/glibc-functions/wcstol_l.texi: Likewise.
22445         * doc/glibc-functions/wcstold_l.texi: Likewise.
22446         * doc/glibc-functions/wcstoll_l.texi: Likewise.
22447         * doc/glibc-functions/wcstoq.texi: Likewise.
22448         * doc/glibc-functions/wcstoul_l.texi: Likewise.
22449         * doc/glibc-functions/wcstoull_l.texi: Likewise.
22450         * doc/glibc-functions/wcstouq.texi: Likewise.
22451         * doc/glibc-functions/wmempcpy.texi: Likewise.
22452
22453 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
22454             Eric Blake  <ebb9@byu.net>
22455             Paolo Bonzini  <bonzini@gnu.org>
22456             Bruno Haible  <bruno@clisp.org>
22457
22458         Make c-stack work on Haiku.
22459         * lib/c-stack.c (SA_ONSTACK): Define fallback.
22460         (c_stack_action): Use SA_ONSTACK flag.
22461
22462 2008-12-22  Bruno Haible  <bruno@clisp.org>
22463
22464         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
22465
22466 2008-12-22  Bruno Haible  <bruno@clisp.org>
22467
22468         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
22469         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
22470         being overridden.
22471         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
22472         New macros.
22473         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
22474         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
22475         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
22476         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
22477
22478 2008-12-22  Bruno Haible  <bruno@clisp.org>
22479
22480         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
22481         from test code.
22482
22483 2008-12-22  Eric Blake  <ebb9@byu.net>
22484
22485         Avoid gcc warnings on cygwin.
22486         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
22487         Avoid unused variable.
22488         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
22489         Likewise.
22490
22491 2008-12-22  Bruno Haible  <bruno@clisp.org>
22492
22493         Remove HAVE_MBRTOWC conditionals.
22494         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
22495         (mbscasecmp): Assume mbrtowc function.
22496         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
22497         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
22498         * lib/mbschr.c: Include mbuiter.h unconditionally.
22499         (mbschr): Assume mbrtowc function.
22500         * lib/mbscspn.c: Include mbuiter.h unconditionally.
22501         (mbscspn): Assume mbrtowc function.
22502         * lib/mbslen.c: Include mbuiter.h unconditionally.
22503         (mbslen): Assume mbrtowc function.
22504         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
22505         (mbsncasecmp): Assume mbrtowc function.
22506         * lib/mbsnlen.c: Include mbiter.h unconditionally.
22507         (mbsnlen): Assume mbrtowc function.
22508         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
22509         (mbspbrk): Assume mbrtowc function.
22510         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
22511         (mbspcasecmp): Assume mbrtowc function.
22512         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
22513         (mbsrchr): Assume mbrtowc function.
22514         * lib/mbssep.c: Include mbuiter.h unconditionally.
22515         (mbssep): Assume mbrtowc function.
22516         * lib/mbsspn.c: Include mbuiter.h unconditionally.
22517         (mbsspn): Assume mbrtowc function.
22518         * lib/mbsstr.c: Include mbuiter.h unconditionally.
22519         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
22520         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
22521         (mbstok_r): Assume mbrtowc function.
22522         * lib/propername.c: Include mbuiter.h unconditionally.
22523         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
22524         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
22525         (trim2): Assume mbrtowc function.
22526         * lib/mbswidth.c (mbsinit): Remove fallback definition.
22527         (mbsnwidth): Assume mbrtowc function.
22528         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
22529         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
22530         fallback definitions.
22531         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
22532
22533 2008-12-22  Bruno Haible  <bruno@clisp.org>
22534
22535         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
22536
22537 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
22538
22539         * modules/regex: Request emulations for the mb*/wc* functions we need.
22540         * m4/regex.m4: Don't look for those functions here.
22541         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
22542
22543 2008-12-22  Bruno Haible  <bruno@clisp.org>
22544
22545         * modules/fnmatch (Depends-on): Remove duplicated dependency.
22546
22547 2008-12-21  Bruno Haible  <bruno@clisp.org>
22548
22549         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
22550         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
22551         (Include): Remove conditionalization.
22552         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
22553         (Include): Remove conditionalization.
22554         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
22555         (Include): Remove conditionalization.
22556         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
22557         * m4/mbfile.m4 (gl_MBFILE): Likewise.
22558         * NEWS: Mention the change.
22559         Reported by Alan Hourihane <alanh@fairlite.co.uk>
22560         via Sergey Poznyakoff <gray@gnu.org.ua>.
22561
22562 2008-12-21  Bruno Haible  <bruno@clisp.org>
22563
22564         * MODULES.html.sh (Extended multibyte and wide character utilities
22565         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
22566         wcrtomb, wcsrtombs.
22567         (Support for systems lacking POSIX:2008): Add accept, bind, close,
22568         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
22569         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
22570         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
22571
22572 2008-12-21  Bruno Haible  <bruno@clisp.org>
22573
22574         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
22575
22576 2008-12-21  Bruno Haible  <bruno@clisp.org>
22577
22578         * modules/wcsnrtombs-tests: New file.
22579         * tests/test-wcsnrtombs1.sh: New file.
22580         * tests/test-wcsnrtombs2.sh: New file.
22581         * tests/test-wcsnrtombs3.sh: New file.
22582         * tests/test-wcsnrtombs4.sh: New file.
22583         * tests/test-wcsnrtombs.c: New file.
22584
22585         New module 'wcsnrtombs'.
22586         * lib/wchar.in.h (wcsnrtombs): New declaration.
22587         * lib/wcsnrtombs.c: New file.
22588         * lib/wcsrtombs-state.c: New file.
22589         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
22590         (internal_state): Remove variable.
22591         * m4/wcsnrtombs.m4: New file.
22592         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
22593         compilation units.
22594         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
22595         HAVE_WCSNRTOMBS.
22596         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
22597         HAVE_WCSNRTOMBS.
22598         * modules/wcsnrtombs: New file.
22599         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
22600         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
22601
22602 2008-12-21  Bruno Haible  <bruno@clisp.org>
22603
22604         * modules/wcsrtombs-tests: New file.
22605         * tests/test-wcsrtombs1.sh: New file.
22606         * tests/test-wcsrtombs2.sh: New file.
22607         * tests/test-wcsrtombs3.sh: New file.
22608         * tests/test-wcsrtombs4.sh: New file.
22609         * tests/test-wcsrtombs.c: New file.
22610
22611         New module 'wcsrtombs'.
22612         * lib/wchar.in.h (wcsrtombs): New declaration.
22613         * lib/wcsrtombs.c: New file.
22614         * m4/wcsrtombs.m4: New file.
22615         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
22616         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
22617         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
22618         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
22619         * modules/wcsrtombs: New file.
22620         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
22621         bugs.
22622
22623 2008-12-21  Bruno Haible  <bruno@clisp.org>
22624
22625         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
22626         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
22627         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
22628         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
22629         if not correct.
22630         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
22631         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
22632         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
22633         m4/locale-zh.m4, m4/codeset.m4.
22634         * doc/posix-functions/wcrtomb.texi: Document the bug.
22635
22636 2008-12-21  Bruno Haible  <bruno@clisp.org>
22637
22638         Work around a btowc() bug on IRIX 6.5.
22639         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
22640         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
22641         REPLACE_WTOBC if not.
22642         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
22643         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
22644         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
22645
22646 2008-12-21  Bruno Haible  <bruno@clisp.org>
22647
22648         * modules/wcrtomb-tests: New file.
22649         * tests/test-wcrtomb.sh: New file.
22650         * tests/test-wcrtomb.c: New file.
22651
22652         New module 'wcrtomb'.
22653         * lib/wchar.in.h (wcrtomb): New declaration.
22654         * lib/wcrtomb.c: New file.
22655         * m4/wcrtomb.m4: New file.
22656         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
22657         HAVE_WCRTOMB.
22658         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
22659         HAVE_WCRTOMB.
22660         * modules/wcrtomb: New file.
22661         * doc/posix-functions/wcrtomb.texi: Mention the new module.
22662
22663 2008-12-21  Bruno Haible  <bruno@clisp.org>
22664
22665         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
22666         * modules/mbsrtowcs (Files): Likewise.
22667         * modules/wctob (Files): Likewise.
22668         * modules/c-strcase-tests (Files): Likewise.
22669         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
22670         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
22671         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
22672         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
22673         * modules/vasnprintf-posix-tests (Files): Likewise.
22674
22675 2008-12-21  William Pursell  <bill.pursell@gmail.com>
22676
22677         gitlog-to-changelog: pass all command-line arguments to git-log
22678         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
22679         it is sometimes convenient to filter the commits in various ways.
22680         gitlog-to-changelog only allows --since to specify a start date,
22681         but git-log itself supports many other filtering mechanisms.
22682         At the moment, I want to filter by branch name.  Rather than
22683         adding a --branch option to gitlog-to-changelog, it seems more
22684         flexible to simply pass all options directly to git-log and let
22685         git do the work.  Notice that this effectively makes --since a
22686         redundant option for gitlog-to-changelog, but removing it would
22687         require current usage to change since calls would then require
22688         an additional '--'.
22689
22690 2008-12-21  Bruno Haible  <bruno@clisp.org>
22691
22692         * modules/mbsnrtowcs-tests: New file.
22693         * tests/test-mbsnrtowcs1.sh: New file.
22694         * tests/test-mbsnrtowcs2.sh: New file.
22695         * tests/test-mbsnrtowcs3.sh: New file.
22696         * tests/test-mbsnrtowcs4.sh: New file.
22697         * tests/test-mbsnrtowcs.c: New file.
22698
22699         New module 'mbsnrtowcs'.
22700         * lib/wchar.in.h (mbsnrtowcs): New declaration.
22701         * lib/mbsnrtowcs.c: New file.
22702         * lib/mbsrtowcs-state.c: New file.
22703         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
22704         (internal_state): Remove variable.
22705         * m4/mbsnrtowcs.m4: New file.
22706         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
22707         compilation units.
22708         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
22709         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
22710         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
22711         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
22712         * modules/mbsnrtowcs: New file.
22713         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
22714         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
22715         portability problem.
22716
22717 2008-12-21  Bruno Haible  <bruno@clisp.org>
22718
22719         Work around mbsrtowcs bug.
22720         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
22721         (gl_FUNC_MBSRTOWCS): Invoke it.
22722         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
22723         m4/locale-zh.m4.
22724         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
22725
22726 2008-12-21  Bruno Haible  <bruno@clisp.org>
22727
22728         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
22729
22730 2008-12-21  Bruno Haible  <bruno@clisp.org>
22731
22732         Update doc for AIX.
22733         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
22734         16-bit wchar_t type.
22735         * doc/posix-functions/btowc.texi: Likewise.
22736         * doc/posix-functions/fgetwc.texi: Likewise.
22737         * doc/posix-functions/fgetws.texi: Likewise.
22738         * doc/posix-functions/fputwc.texi: Likewise.
22739         * doc/posix-functions/fputws.texi: Likewise.
22740         * doc/posix-functions/fwide.texi: Likewise.
22741         * doc/posix-functions/fwprintf.texi: Likewise.
22742         * doc/posix-functions/fwscanf.texi: Likewise.
22743         * doc/posix-functions/getwchar.texi: Likewise.
22744         * doc/posix-functions/getwc.texi: Likewise.
22745         * doc/posix-functions/iswalnum.texi: Likewise.
22746         * doc/posix-functions/iswalpha.texi: Likewise.
22747         * doc/posix-functions/iswblank.texi: Likewise.
22748         * doc/posix-functions/iswcntrl.texi: Likewise.
22749         * doc/posix-functions/iswctype.texi: Likewise.
22750         * doc/posix-functions/iswdigit.texi: Likewise.
22751         * doc/posix-functions/iswgraph.texi: Likewise.
22752         * doc/posix-functions/iswlower.texi: Likewise.
22753         * doc/posix-functions/iswprint.texi: Likewise.
22754         * doc/posix-functions/iswpunct.texi: Likewise.
22755         * doc/posix-functions/iswspace.texi: Likewise.
22756         * doc/posix-functions/iswupper.texi: Likewise.
22757         * doc/posix-functions/iswxdigit.texi: Likewise.
22758         * doc/posix-functions/mbrtowc.texi: Likewise.
22759         * doc/posix-functions/mbsrtowcs.texi: Likewise.
22760         * doc/posix-functions/mbstowcs.texi: Likewise.
22761         * doc/posix-functions/mbtowc.texi: Likewise.
22762         * doc/posix-functions/putwchar.texi: Likewise.
22763         * doc/posix-functions/putwc.texi: Likewise.
22764         * doc/posix-functions/swprintf.texi: Likewise.
22765         * doc/posix-functions/tolower.texi: Likewise.
22766         * doc/posix-functions/toupper.texi: Likewise.
22767         * doc/posix-functions/towctrans.texi: Likewise.
22768         * doc/posix-functions/ungetwc.texi: Likewise.
22769         * doc/posix-functions/vswprintf.texi: Likewise.
22770         * doc/posix-functions/wcrtomb.texi: Likewise.
22771         * doc/posix-functions/wcscat.texi: Likewise.
22772         * doc/posix-functions/wcschr.texi: Likewise.
22773         * doc/posix-functions/wcscmp.texi: Likewise.
22774         * doc/posix-functions/wcscoll.texi: Likewise.
22775         * doc/posix-functions/wcscpy.texi: Likewise.
22776         * doc/posix-functions/wcscspn.texi: Likewise.
22777         * doc/posix-functions/wcsftime.texi: Likewise.
22778         * doc/posix-functions/wcslen.texi: Likewise.
22779         * doc/posix-functions/wcsncat.texi: Likewise.
22780         * doc/posix-functions/wcsncmp.texi: Likewise.
22781         * doc/posix-functions/wcsncpy.texi: Likewise.
22782         * doc/posix-functions/wcspbrk.texi: Likewise.
22783         * doc/posix-functions/wcsrchr.texi: Likewise.
22784         * doc/posix-functions/wcsrtombs.texi: Likewise.
22785         * doc/posix-functions/wcsspn.texi: Likewise.
22786         * doc/posix-functions/wcsstr.texi: Likewise.
22787         * doc/posix-functions/wcstod.texi: Likewise.
22788         * doc/posix-functions/wcstof.texi: Likewise.
22789         * doc/posix-functions/wcstoimax.texi: Likewise.
22790         * doc/posix-functions/wcstok.texi: Likewise.
22791         * doc/posix-functions/wcstold.texi: Likewise.
22792         * doc/posix-functions/wcstoll.texi: Likewise.
22793         * doc/posix-functions/wcstol.texi: Likewise.
22794         * doc/posix-functions/wcstombs.texi: Likewise.
22795         * doc/posix-functions/wcstoull.texi: Likewise.
22796         * doc/posix-functions/wcstoul.texi: Likewise.
22797         * doc/posix-functions/wcstoumax.texi: Likewise.
22798         * doc/posix-functions/wcswidth.texi: Likewise.
22799         * doc/posix-functions/wcsxfrm.texi: Likewise.
22800         * doc/posix-functions/wctob.texi: Likewise.
22801         * doc/posix-functions/wctomb.texi: Likewise.
22802         * doc/posix-functions/wctrans.texi: Likewise.
22803         * doc/posix-functions/wctype.texi: Likewise.
22804         * doc/posix-functions/wcwidth.texi: Likewise.
22805         * doc/posix-functions/wmemchr.texi: Likewise.
22806         * doc/posix-functions/wmemcmp.texi: Likewise.
22807         * doc/posix-functions/wmemcpy.texi: Likewise.
22808         * doc/posix-functions/wmemmove.texi: Likewise.
22809         * doc/posix-functions/wmemset.texi: Likewise.
22810         * doc/posix-functions/wprintf.texi: Likewise.
22811         * doc/posix-functions/wscanf.texi: Likewise.
22812
22813 2008-12-21  Bruno Haible  <bruno@clisp.org>
22814
22815         Update doc for HP-UX 11.11.
22816         * doc/posix-functions/btowc.texi: Clarify that the function is missing
22817         in HP-UX version 11.00, not in all versions of HP-UX 11.
22818         * doc/posix-functions/fwide.texi: Likewise.
22819         * doc/posix-functions/fwprintf.texi: Likewise.
22820         * doc/posix-functions/fwscanf.texi: Likewise.
22821         * doc/posix-functions/inet_ntop.texi: Likewise.
22822         * doc/posix-functions/inet_pton.texi: Likewise.
22823         * doc/posix-functions/mbrlen.texi: Likewise.
22824         * doc/posix-functions/mbrtowc.texi: Likewise.
22825         * doc/posix-functions/mbsinit.texi: Likewise.
22826         * doc/posix-functions/mbsrtowcs.texi: Likewise.
22827         * doc/posix-functions/swprintf.texi: Likewise.
22828         * doc/posix-functions/swscanf.texi: Likewise.
22829         * doc/posix-functions/towctrans.texi: Likewise.
22830         * doc/posix-functions/vfwprintf.texi: Likewise.
22831         * doc/posix-functions/vswprintf.texi: Likewise.
22832         * doc/posix-functions/vwprintf.texi: Likewise.
22833         * doc/posix-functions/wcrtomb.texi: Likewise.
22834         * doc/posix-functions/wcsrtombs.texi: Likewise.
22835         * doc/posix-functions/wcsstr.texi: Likewise.
22836         * doc/posix-functions/wctob.texi: Likewise.
22837         * doc/posix-functions/wctrans.texi: Likewise.
22838         * doc/posix-functions/wmemchr.texi: Likewise.
22839         * doc/posix-functions/wmemcmp.texi: Likewise.
22840         * doc/posix-functions/wmemcpy.texi: Likewise.
22841         * doc/posix-functions/wmemmove.texi: Likewise.
22842         * doc/posix-functions/wmemset.texi: Likewise.
22843         * doc/posix-functions/wprintf.texi: Likewise.
22844         * doc/posix-functions/wscanf.texi: Likewise.
22845
22846 2008-12-21  Bruno Haible  <bruno@clisp.org>
22847
22848         Work around a portability problem.
22849         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
22850         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
22851
22852 2008-12-20  Bruno Haible  <bruno@clisp.org>
22853
22854         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
22855         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
22856         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
22857         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
22858         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
22859
22860         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
22861         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
22862         set.
22863         (GNULIB_defined_mbstate_t): New macro.
22864         (mbsinit): Redefine if REPLACE_MBSINIT is set.
22865         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
22866         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
22867         reuses the system's mbrtowc function but works around the bugs.
22868         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
22869         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
22870         macros.
22871         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
22872         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
22873         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
22874         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
22875         REPLACE_MBSINIT if mbsinit needs to be overridden.
22876         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
22877         REPLACE_MBSINIT, REPLACE_MBRTOWC.
22878         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
22879         REPLACE_MBSINIT, REPLACE_MBRTOWC.
22880         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
22881         m4/locale-zh.m4.
22882         (Depends): Add mbsinit.
22883         * modules/mbsinit (Depends): Add mbrtowc.
22884         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
22885
22886 2008-12-20  Bruno Haible  <bruno@clisp.org>
22887
22888         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
22889         so that there are no conversion errors on AIX.
22890         * tests/test-mbsrtowcs.c (main): LIkewise.
22891
22892 2008-12-20  Bruno Haible  <bruno@clisp.org>
22893
22894         Work around wctob bug on Solaris <= 9.
22895         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
22896         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
22897         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
22898         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
22899         * modules/wctob (Files): Add m4/locale-fr.m4.
22900         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
22901
22902 2008-12-20  Bruno Haible  <bruno@clisp.org>
22903
22904         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
22905         /dev/null.
22906         * tests/test-select-in.sh: Likewise.
22907         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22908
22909 2008-12-20  Bruno Haible  <bruno@clisp.org>
22910
22911         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
22912         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
22913         Cygwin 1.5.x.
22914
22915 2008-12-20  Bruno Haible  <bruno@clisp.org>
22916
22917         Ensure mbstate_t is defined on HP-UX 11.11.
22918         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
22919         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
22920         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
22921         AC_USE_SYSTEM_EXTENSIONS.
22922         * modules/fnmatch (Depends-on): Add extensions.
22923         * modules/mbrlen (Depends-on): Likewise.
22924         * modules/mbrtowc (Depends-on): Likewise.
22925         * modules/mbsinit (Depends-on): Likewise.
22926         * modules/mbsrtowcs (Depends-on): Likewise.
22927         * modules/mbswidth (Depends-on): Likewise.
22928         * modules/quotearg (Depends-on): Likewise.
22929         * modules/strftime (Depends-on): Likewise.
22930
22931 2008-12-20  Bruno Haible  <bruno@clisp.org>
22932
22933         Ensure wctob is declared on IRIX 6.5.
22934         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
22935         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
22936         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
22937         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
22938         of HAVE_WCTOB.
22939         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
22940         HAVE_WCTOB.
22941         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
22942
22943 2008-12-19  Bruno Haible  <bruno@clisp.org>
22944
22945         * modules/mbsrtowcs-tests: New file.
22946         * tests/test-mbsrtowcs1.sh: New file.
22947         * tests/test-mbsrtowcs2.sh: New file.
22948         * tests/test-mbsrtowcs3.sh: New file.
22949         * tests/test-mbsrtowcs4.sh: New file.
22950         * tests/test-mbsrtowcs.c: New file.
22951
22952         New module 'mbsrtowcs'.
22953         * lib/wchar.in.h (mbsrtowcs): New declaration.
22954         * lib/mbsrtowcs.c: New file.
22955         * m4/mbsrtowcs.m4: New file.
22956         * modules/mbsrtowcs: New file.
22957         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
22958         HAVE_MBSRTOWCS.
22959         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
22960         HAVE_MBSRTOWCS.
22961         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
22962
22963 2008-12-19  Bruno Haible  <bruno@clisp.org>
22964
22965         New module 'mbrlen'.
22966         * lib/wchar.in.h (mbrlen): New declaration.
22967         * lib/mbrlen.c: New file.
22968         * m4/mbrlen.m4: New file.
22969         * modules/mbrlen: New file.
22970         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
22971         HAVE_MBRLEN.
22972         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
22973         HAVE_MBRLEN.
22974         * doc/posix-functions/mbrlen.texi: Document the new module.
22975
22976 2008-12-19  Bruno Haible  <bruno@clisp.org>
22977
22978         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
22979         * modules/mbrtowc (Depends-on): Add verify.
22980         Suggested by Paul Eggert.
22981
22982 2008-12-18  Bruno Haible  <bruno@clisp.org>
22983
22984         * modules/mbsinit-tests: New file.
22985         * tests/test-mbsinit.sh: New file.
22986         * tests/test-mbsinit.c: New file.
22987
22988 2008-12-18  Bruno Haible  <bruno@clisp.org>
22989
22990         * modules/mbrtowc-tests: New file.
22991         * tests/test-mbrtowc1.sh: New file.
22992         * tests/test-mbrtowc2.sh: New file.
22993         * tests/test-mbrtowc3.sh: New file.
22994         * tests/test-mbrtowc4.sh: New file.
22995         * tests/test-mbrtowc.c: New file.
22996
22997         New module 'mbrtowc'.
22998         * lib/wchar.in.h (mbstate_t): Override when the system does not have
22999         mbsinit and mbrtowc.
23000         (mbrtowc): New declaration.
23001         * lib/mbrtowc.c: New file.
23002         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
23003         * modules/mbrtowc: New file.
23004         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
23005         HAVE_MBRTOWC.
23006         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
23007         HAVE_MBRTOWC.
23008         * doc/posix-functions/mbrtowc.texi: Document the new module.
23009
23010 2008-12-18  Bruno Haible  <bruno@clisp.org>
23011
23012         New module 'wctob'.
23013         * lib/wchar.in.h (wctob): New declaration.
23014         * lib/wctob.c: New file.
23015         * m4/wctob.m4: New file.
23016         * modules/wctob: New file.
23017         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
23018         HAVE_WCTOB.
23019         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
23020         * doc/posix-functions/wctob.texi: Document the new module.
23021
23022 2008-12-18  Bruno Haible  <bruno@clisp.org>
23023
23024         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
23025         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
23026
23027 2008-12-18  Simon Josefsson  <simon@josefsson.org>
23028
23029         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
23030         G. Christensen" <tgc@jupiterrise.com>.
23031
23032         * lib/flock.c: Need to include errno.h.  Reported by "Tom
23033         G. Christensen" <tgc@jupiterrise.com>.
23034
23035         * lib/flock.c: Need to include string.h.  Reported by "Tom
23036         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
23037         <ebb9@byu.net>.
23038
23039 2008-12-18  Bruno Haible  <bruno@clisp.org>
23040
23041         * m4/locale-ja.m4: New file, from GNU gettext.
23042
23043 2008-12-17  Bruno Haible  <bruno@clisp.org>
23044
23045         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
23046         Suggested by Eric Blake.
23047
23048 2008-12-17  Bruno Haible  <bruno@clisp.org>
23049
23050         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
23051
23052 2008-12-17  Bruno Haible  <bruno@clisp.org>
23053
23054         * lib/mbsinit.c: Include verify.h. Verify an assumption.
23055         * modules/mbsinit (Depends-on): Add verify.
23056         Suggested by Paul Eggert.
23057
23058 2008-12-17  Bruno Haible  <bruno@clisp.org>
23059
23060         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
23061         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
23062         gl_FUNC_MBRTOWC.
23063         * m4/mbiter.m4 (gl_MBITER): LIkewise.
23064         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
23065         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
23066         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
23067         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
23068         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
23069         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
23070         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
23071         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
23072         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
23073         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
23074         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
23075         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
23076         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
23077         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
23078         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
23079         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
23080         * modules/trim (configure.ac): Likewise.
23081
23082 2008-12-17  Bruno Haible  <bruno@clisp.org>
23083
23084         * modules/btowc-tests: New file.
23085         * tests/test-btowc1.sh: New file.
23086         * tests/test-btowc2.sh: New file.
23087         * tests/test-btowc.c: New file.
23088
23089         New module 'btowc'.
23090         * lib/wchar.in.h (btowc): New declaration.
23091         * lib/btowc.c: New file.
23092         * m4/btowc.m4: New file.
23093         * modules/btowc: New file.
23094         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
23095         HAVE_BTOWC.
23096         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
23097         * doc/posix-functions/btowc.texi: Document the new module.
23098
23099 2008-12-17  Bruno Haible  <bruno@clisp.org>
23100
23101         New module 'mbsinit'.
23102         * lib/wchar.in.h (mbsinit): New declaration.
23103         * lib/mbsinit.c: New file.
23104         * m4/mbsinit.m4: New file.
23105         * modules/mbsinit: New file.
23106         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
23107         HAVE_MBSINIT.
23108         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
23109         HAVE_MBSINIT.
23110         * doc/posix-functions/mbsinit.texi: Document the new module.
23111
23112 2008-12-16  Bruno Haible  <bruno@clisp.org>
23113
23114         * lib/unistd.in.h: Add comment.
23115         * tests/test-environ.c: Don't include <stdlib.h>.
23116
23117 2008-12-16  Bruno Haible  <bruno@clisp.org>
23118
23119         * lib/parse-duration.h (parse_duration): Document return value
23120         convention.
23121         * lib/parse-duration.c: Include specification header first. Add
23122         comments.
23123         (_): Remove macro.
23124         (parse_year_month_day, parse_hour_minute_second): Move side effects
23125         outside of strchr call.
23126         (parse_non_iso8601): Move side effects outside of isspace call.
23127         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
23128         call.
23129
23130 2008-12-16  Bruno Haible  <bruno@clisp.org>
23131
23132         * tests/test-parse-duration.sh: Produce no output when the test
23133         succeeds.
23134
23135 2008-12-16  Bruno Haible  <bruno@clisp.org>
23136
23137         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
23138         expressions.
23139
23140 2008-12-15  Bruno Haible  <bruno@clisp.org>
23141
23142         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
23143         * doc/glibc-functions/flistxattr.texi: Likewise.
23144         * doc/glibc-functions/fopencookie.texi: Likewise.
23145         * doc/glibc-functions/fremovexattr.texi: Likewise.
23146         * doc/glibc-functions/fsetxattr.texi: Likewise.
23147         * doc/glibc-functions/getxattr.texi: Likewise.
23148         * doc/glibc-functions/lgetxattr.texi: Likewise.
23149         * doc/glibc-functions/listxattr.texi: Likewise.
23150         * doc/glibc-functions/llistxattr.texi: Likewise.
23151         * doc/glibc-functions/lremovexattr.texi: Likewise.
23152         * doc/glibc-functions/lsetxattr.texi: Likewise.
23153         * doc/glibc-functions/removexattr.texi: Likewise.
23154         * doc/glibc-functions/setxattr.texi: Likewise.
23155         * doc/posix-functions/open_memstream.texi: Likewise.
23156
23157 2008-12-15  Eric Blake  <ebb9@byu.net>
23158
23159         Update doc for cygwin 1.7.
23160         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
23161         functions.
23162         * doc/posix-functions/fchmodat.texi: Likewise.
23163         * doc/posix-functions/fchownat.texi: Likewise.
23164         * doc/posix-functions/fdopendir.texi: Likewise.
23165         * doc/posix-functions/fmemopen.texi: Likewise.
23166         * doc/posix-functions/freeaddrinfo.texi: Likewise.
23167         * doc/posix-functions/fstatat.texi: Likewise.
23168         * doc/posix-functions/futimens.texi: Likewise.
23169         * doc/posix-functions/gai_strerror.texi: Likewise.
23170         * doc/posix-functions/getaddrinfo.texi: Likewise.
23171         * doc/posix-functions/getnameinfo.texi: Likewise.
23172         * doc/posix-functions/if_freenameindex.texi: Likewise.
23173         * doc/posix-functions/if_indextoname.texi: Likewise.
23174         * doc/posix-functions/if_nameindex.texi: Likewise.
23175         * doc/posix-functions/if_nametoindex.texi: Likewise.
23176         * doc/posix-functions/insque.texi: Likewise.
23177         * doc/posix-functions/linkat.texi: Likewise.
23178         * doc/posix-functions/llrint.texi: Likewise.
23179         * doc/posix-functions/llrintf.texi: Likewise.
23180         * doc/posix-functions/llrintl.texi: Likewise.
23181         * doc/posix-functions/lockf.texi: Likewise.
23182         * doc/posix-functions/lrintl.texi: Likewise.
23183         * doc/posix-functions/mkdirat.texi: Likewise.
23184         * doc/posix-functions/mkfifoat.texi: Likewise.
23185         * doc/posix-functions/mknodat.texi: Likewise.
23186         * doc/posix-functions/mq_close.texi: Likewise.
23187         * doc/posix-functions/mq_getattr.texi: Likewise.
23188         * doc/posix-functions/mq_notify.texi: Likewise.
23189         * doc/posix-functions/mq_open.texi: Likewise.
23190         * doc/posix-functions/mq_receive.texi: Likewise.
23191         * doc/posix-functions/mq_send.texi: Likewise.
23192         * doc/posix-functions/mq_setattr.texi: Likewise.
23193         * doc/posix-functions/mq_timedreceive.texi: Likewise.
23194         * doc/posix-functions/mq_timedsend.texi: Likewise.
23195         * doc/posix-functions/mq_unlink.texi: Likewise.
23196         * doc/posix-functions/open_memstream.texi: Likewise.
23197         * doc/posix-functions/openat.texi: Likewise.
23198         * doc/posix-functions/posix_fadvise.texi: Likewise.
23199         * doc/posix-functions/posix_fallocate.texi: Likewise.
23200         * doc/posix-functions/posix_madvise.texi: Likewise.
23201         * doc/posix-functions/posix_memalign.texi: Likewise.
23202         * doc/posix-functions/posix_openpt.texi: Likewise.
23203         * doc/posix-functions/readlinkat.texi: Likewise.
23204         * doc/posix-functions/remque.texi: Likewise.
23205         * doc/posix-functions/renameat.texi: Likewise.
23206         * doc/posix-functions/rintl.texi: Likewise.
23207         * doc/posix-functions/sem_unlink.texi: Likewise.
23208         * doc/posix-functions/shm_open.texi: Likewise.
23209         * doc/posix-functions/shm_unlink.texi: Likewise.
23210         * doc/posix-functions/signgam.texi: Likewise.
23211         * doc/posix-functions/sigset.texi: Likewise.
23212         * doc/posix-functions/stpcpy.texi: Likewise.
23213         * doc/posix-functions/stpncpy.texi: Likewise.
23214         * doc/posix-functions/strerror.texi: Likewise.
23215         * doc/posix-functions/strtod.texi: Likewise.
23216         * doc/posix-functions/symlinkat.texi: Likewise.
23217         * doc/posix-functions/unlinkat.texi: Likewise.
23218         * doc/posix-functions/utimensat.texi: Likewise.
23219         * doc/glibc-functions/bindresvport.texi: Likewise.
23220         * doc/glibc-functions/dn_expand.texi: Likewise.
23221         * doc/glibc-functions/exp10.texi: Likewise.
23222         * doc/glibc-functions/exp10f.texi: Likewise.
23223         * doc/glibc-functions/fgetxattr.texi: Likewise.
23224         * doc/glibc-functions/flistxattr.texi: Likewise.
23225         * doc/glibc-functions/fopencookie.texi: Likewise.
23226         * doc/glibc-functions/freeifaddrs.texi: Likewise.
23227         * doc/glibc-functions/fremovexattr.texi: Likewise.
23228         * doc/glibc-functions/fsetxattr.texi: Likewise.
23229         * doc/glibc-functions/getifaddrs.texi: Likewise.
23230         * doc/glibc-functions/getxattr.texi: Likewise.
23231         * doc/glibc-functions/lgetxattr.texi: Likewise.
23232         * doc/glibc-functions/listxattr.texi: Likewise.
23233         * doc/glibc-functions/llistxattr.texi: Likewise.
23234         * doc/glibc-functions/lremovexattr.texi: Likewise.
23235         * doc/glibc-functions/lsetxattr.texi: Likewise.
23236         * doc/glibc-functions/pow10.texi: Likewise.
23237         * doc/glibc-functions/pow10f.texi: Likewise.
23238         * doc/glibc-functions/rcmd_af.texi: Likewise.
23239         * doc/glibc-functions/removexattr.texi: Likewise.
23240         * doc/glibc-functions/res_init.texi: Likewise.
23241         * doc/glibc-functions/res_mkquery.texi: Likewise.
23242         * doc/glibc-functions/res_query.texi: Likewise.
23243         * doc/glibc-functions/res_querydomain.texi: Likewise.
23244         * doc/glibc-functions/res_send.texi: Likewise.
23245         * doc/glibc-functions/rresvport_af.texi: Likewise.
23246         * doc/glibc-functions/setxattr.texi: Likewise.
23247         * doc/glibc-functions/strcasestr.texi: Likewise.
23248
23249 2008-12-15  Bruno Haible  <bruno@clisp.org>
23250
23251         Fix compilation error on OSF/1 4.0.
23252         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
23253         <sys/time.h>, simply delegate to the system header.
23254         Reported by Daniel Richard G. <oss@teragram.com>.
23255
23256 2008-12-15  Bruno Haible  <bruno@clisp.org>
23257
23258         * doc/posix-functions/openat.texi: Mention the 'openat' module.
23259         * doc/posix-functions/fchmodat.texi: Likewise.
23260         * doc/posix-functions/fchownat.texi: Likewise.
23261         * doc/posix-functions/fdopendir.texi: Likewise.
23262         * doc/posix-functions/fstatat.texi: Likewise.
23263         * doc/posix-functions/mkdirat.texi: Likewise.
23264         * doc/posix-functions/unlinkat.texi: Likewise.
23265
23266 2008-12-14  Bruno Haible  <bruno@clisp.org>
23267
23268         Update doc for POSIX:2008.
23269         * doc/posix-functions/faccessat.texi: New file.
23270         * doc/posix-functions/fchmodat.texi: New file.
23271         * doc/posix-functions/fchownat.texi: New file.
23272         * doc/posix-functions/fdopendir.texi: New file.
23273         * doc/posix-functions/fstatat.texi: New file.
23274         * doc/posix-functions/futimens.texi: New file.
23275         * doc/posix-functions/linkat.texi: New file.
23276         * doc/posix-functions/mkdirat.texi: New file.
23277         * doc/posix-functions/mkfifoat.texi: New file.
23278         * doc/posix-functions/mknodat.texi: New file.
23279         * doc/posix-functions/open_wmemstream.texi: New file.
23280         * doc/posix-functions/openat.texi: New file.
23281         * doc/posix-functions/psiginfo.texi: New file.
23282         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
23283         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
23284         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
23285         * doc/posix-functions/readlinkat.texi: New file.
23286         * doc/posix-functions/renameat.texi: New file.
23287         * doc/posix-functions/strerror_l.texi: New file.
23288         * doc/posix-functions/symlinkat.texi: New file.
23289         * doc/posix-functions/unlinkat.texi: New file.
23290         * doc/posix-functions/utimensat.texi: New file.
23291         * doc/gnulib.texi (Function Substitutes): Add these subsections.
23292
23293 2008-12-14  Bruno Haible  <bruno@clisp.org>
23294
23295         Update doc for POSIX:2008.
23296         * doc/posix-functions/alphasort.texi: Renamed from
23297         doc/glibc-functions/alphasort.texi.
23298         * doc/posix-functions/dirfd.texi: Renamed from
23299         doc/glibc-functions/dirfd.texi.
23300         * doc/posix-functions/dprintf.texi: Renamed from
23301         doc/glibc-functions/dprintf.texi.
23302         * doc/posix-functions/duplocale.texi: Renamed from
23303         doc/glibc-functions/duplocale.texi.
23304         * doc/posix-functions/fexecve.texi: Renamed from
23305         doc/glibc-functions/fexecve.texi.
23306         * doc/posix-functions/fmemopen.texi: Renamed from
23307         doc/glibc-functions/fmemopen.texi.
23308         * doc/posix-functions/freelocale.texi: Renamed from
23309         doc/glibc-functions/freelocale.texi.
23310         * doc/posix-functions/getdate_err.texi: Renamed from
23311         doc/glibc-functions/getdate_err.texi.
23312         * doc/posix-functions/isalnum_l.texi: Renamed from
23313         doc/glibc-functions/isalnum_l.texi.
23314         * doc/posix-functions/isalpha_l.texi: Renamed from
23315         doc/glibc-functions/isalpha_l.texi.
23316         * doc/posix-functions/isblank_l.texi: Renamed from
23317         doc/glibc-functions/isblank_l.texi.
23318         * doc/posix-functions/iscntrl_l.texi: Renamed from
23319         doc/glibc-functions/iscntrl_l.texi.
23320         * doc/posix-functions/isdigit_l.texi: Renamed from
23321         doc/glibc-functions/isdigit_l.texi.
23322         * doc/posix-functions/isgraph_l.texi: Renamed from
23323         doc/glibc-functions/isgraph_l.texi.
23324         * doc/posix-functions/islower_l.texi: Renamed from
23325         doc/glibc-functions/islower_l.texi.
23326         * doc/posix-functions/isprint_l.texi: Renamed from
23327         doc/glibc-functions/isprint_l.texi.
23328         * doc/posix-functions/ispunct_l.texi: Renamed from
23329         doc/glibc-functions/ispunct_l.texi.
23330         * doc/posix-functions/isspace_l.texi: Renamed from
23331         doc/glibc-functions/isspace_l.texi.
23332         * doc/posix-functions/isupper_l.texi: Renamed from
23333         doc/glibc-functions/isupper_l.texi.
23334         * doc/posix-functions/iswalnum_l.texi: Renamed from
23335         doc/glibc-functions/iswalnum_l.texi.
23336         * doc/posix-functions/iswalpha_l.texi: Renamed from
23337         doc/glibc-functions/iswalpha_l.texi.
23338         * doc/posix-functions/iswblank_l.texi: Renamed from
23339         doc/glibc-functions/iswblank_l.texi.
23340         * doc/posix-functions/iswcntrl_l.texi: Renamed from
23341         doc/glibc-functions/iswcntrl_l.texi.
23342         * doc/posix-functions/iswctype_l.texi: Renamed from
23343         doc/glibc-functions/iswctype_l.texi.
23344         * doc/posix-functions/iswdigit_l.texi: Renamed from
23345         doc/glibc-functions/iswdigit_l.texi.
23346         * doc/posix-functions/iswgraph_l.texi: Renamed from
23347         doc/glibc-functions/iswgraph_l.texi.
23348         * doc/posix-functions/iswlower_l.texi: Renamed from
23349         doc/glibc-functions/iswlower_l.texi.
23350         * doc/posix-functions/iswprint_l.texi: Renamed from
23351         doc/glibc-functions/iswprint_l.texi.
23352         * doc/posix-functions/iswpunct_l.texi: Renamed from
23353         doc/glibc-functions/iswpunct_l.texi.
23354         * doc/posix-functions/iswspace_l.texi: Renamed from
23355         doc/glibc-functions/iswspace_l.texi.
23356         * doc/posix-functions/iswupper_l.texi: Renamed from
23357         doc/glibc-functions/iswupper_l.texi.
23358         * doc/posix-functions/iswxdigit_l.texi: Renamed from
23359         doc/glibc-functions/iswxdigit_l.texi.
23360         * doc/posix-functions/isxdigit_l.texi: Renamed from
23361         doc/glibc-functions/isxdigit_l.texi.
23362         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
23363         doc/glibc-functions/mbsnrtowcs.texi.
23364         * doc/posix-functions/mkdtemp.texi: Renamed from
23365         doc/glibc-functions/mkdtemp.texi.
23366         * doc/posix-functions/newlocale.texi: Renamed from
23367         doc/glibc-functions/newlocale.texi.
23368         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
23369         doc/glibc-functions/nl_langinfo_l.texi.
23370         * doc/posix-functions/open_memstream.texi: Renamed from
23371         doc/glibc-functions/open_memstream.texi.
23372         * doc/posix-functions/opterr.texi: Renamed from
23373         doc/glibc-functions/opterr.texi.
23374         * doc/posix-functions/optind.texi: Renamed from
23375         doc/glibc-functions/optind.texi.
23376         * doc/posix-functions/optopt.texi: Renamed from
23377         doc/glibc-functions/optopt.texi.
23378         * doc/posix-functions/psignal.texi: Renamed from
23379         doc/glibc-functions/psignal.texi.
23380         * doc/posix-functions/scandir.texi: Renamed from
23381         doc/glibc-functions/scandir.texi.
23382         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
23383         doc/glibc-functions/sched_get_priority_min.texi.
23384         * doc/posix-functions/signgam.texi: Renamed from
23385         doc/glibc-functions/signgam.texi.
23386         * doc/posix-functions/stpcpy.texi: Renamed from
23387         doc/glibc-functions/stpcpy.texi.
23388         * doc/posix-functions/stpncpy.texi: Renamed from
23389         doc/glibc-functions/stpncpy.texi.
23390         * doc/posix-functions/strcasecmp_l.texi: Renamed from
23391         doc/glibc-functions/strcasecmp_l.texi.
23392         * doc/posix-functions/strcoll_l.texi: Renamed from
23393         doc/glibc-functions/strcoll_l.texi.
23394         * doc/posix-functions/strfmon_l.texi: Renamed from
23395         doc/glibc-functions/strfmon_l.texi.
23396         * doc/posix-functions/strftime_l.texi: Renamed from
23397         doc/glibc-functions/strftime_l.texi.
23398         * doc/posix-functions/strncasecmp_l.texi: Renamed from
23399         doc/glibc-functions/strncasecmp_l.texi.
23400         * doc/posix-functions/strndup.texi: Renamed from
23401         doc/glibc-functions/strndup.texi.
23402         * doc/posix-functions/strnlen.texi: Renamed from
23403         doc/glibc-functions/strnlen.texi.
23404         * doc/posix-functions/strsignal.texi: Renamed from
23405         doc/glibc-functions/strsignal.texi.
23406         * doc/posix-functions/strxfrm_l.texi: Renamed from
23407         doc/glibc-functions/strxfrm_l.texi.
23408         * doc/posix-functions/timer_gettime.texi: Renamed from
23409         doc/glibc-functions/timer_gettime.texi.
23410         * doc/posix-functions/tolower_l.texi: Renamed from
23411         doc/glibc-functions/tolower_l.texi.
23412         * doc/posix-functions/toupper_l.texi: Renamed from
23413         doc/glibc-functions/toupper_l.texi.
23414         * doc/posix-functions/towctrans_l.texi: Renamed from
23415         doc/glibc-functions/towctrans_l.texi.
23416         * doc/posix-functions/towlower_l.texi: Renamed from
23417         doc/glibc-functions/towlower_l.texi.
23418         * doc/posix-functions/towupper_l.texi: Renamed from
23419         doc/glibc-functions/towupper_l.texi.
23420         * doc/posix-functions/uselocale.texi: Renamed from
23421         doc/glibc-functions/uselocale.texi.
23422         * doc/posix-functions/vdprintf.texi: Renamed from
23423         doc/glibc-functions/vdprintf.texi.
23424         * doc/posix-functions/wcpcpy.texi:
23425         Renamed from doc/glibc-functions/wcpcpy.texi.
23426         * doc/posix-functions/wcpncpy.texi: Renamed from
23427         doc/glibc-functions/wcpncpy.texi.
23428         * doc/posix-functions/wcscasecmp.texi: Renamed from
23429         doc/glibc-functions/wcscasecmp.texi.
23430         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
23431         doc/glibc-functions/wcscasecmp_l.texi.
23432         * doc/posix-functions/wcscoll_l.texi: Renamed from
23433         doc/glibc-functions/wcscoll_l.texi.
23434         * doc/posix-functions/wcsdup.texi: Renamed from
23435         doc/glibc-functions/wcsdup.texi.
23436         * doc/posix-functions/wcsncasecmp.texi: Renamed from
23437         doc/glibc-functions/wcsncasecmp.texi.
23438         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
23439         doc/glibc-functions/wcsncasecmp_l.texi.
23440         * doc/posix-functions/wcsnlen.texi: Renamed from
23441         doc/glibc-functions/wcsnlen.texi.
23442         * doc/posix-functions/wcsnrtombs.texi: Renamed from
23443         doc/glibc-functions/wcsnrtombs.texi.
23444         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
23445         doc/glibc-functions/wcsxfrm_l.texi.
23446         * doc/posix-functions/wctrans_l.texi: Renamed from
23447         doc/glibc-functions/wctrans_l.texi.
23448         * doc/posix-functions/wctype_l.texi: Renamed from
23449         doc/glibc-functions/wctype_l.texi.
23450         * doc/gnulib.texi (Function Substitutes): Add these subsections.
23451         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
23452         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
23453         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
23454         these subsections.
23455         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
23456         Remove sections.
23457
23458 2008-12-14  Bruno Haible  <bruno@clisp.org>
23459
23460         Update doc for POSIX:2008.
23461         * doc/posix-functions/*.texi: Update URL of POSIX specification.
23462
23463 2008-12-14  Bruno Haible  <bruno@clisp.org>
23464
23465         Update doc for POSIX:2008.
23466         * doc/pastposix-functions/bcmp.texi: Renamed from
23467         doc/posix-functions/bcmp.texi.
23468         * doc/pastposix-functions/bcopy.texi: Renamed from
23469         doc/posix-functions/bcopy.texi.
23470         * doc/pastposix-functions/bsd_signal.texi: Renamed from
23471         doc/posix-functions/bsd_signal.texi.
23472         * doc/pastposix-functions/bzero.texi: Renamed from
23473         doc/posix-functions/bzero.texi.
23474         * doc/pastposix-functions/ecvt.texi: Renamed from
23475         doc/posix-functions/ecvt.texi.
23476         * doc/pastposix-functions/fcvt.texi: Renamed from
23477         doc/posix-functions/fcvt.texi.
23478         * doc/pastposix-functions/ftime.texi: Renamed from
23479         doc/posix-functions/ftime.texi.
23480         * doc/pastposix-functions/gcvt.texi: Renamed from
23481         doc/posix-functions/gcvt.texi.
23482         * doc/pastposix-functions/getcontext.texi: Renamed from
23483         doc/posix-functions/getcontext.texi.
23484         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
23485         doc/posix-functions/gethostbyaddr.texi.
23486         * doc/pastposix-functions/gethostbyname.texi: Renamed from
23487         doc/posix-functions/gethostbyname.texi.
23488         * doc/pastposix-functions/getwd.texi: Renamed from
23489         doc/posix-functions/getwd.texi.
23490         * doc/pastposix-functions/h_errno.texi: Renamed from
23491         doc/posix-functions/h_errno.texi.
23492         * doc/pastposix-functions/index.texi: Renamed from
23493         doc/posix-functions/index.texi.
23494         * doc/pastposix-functions/makecontext.texi: Renamed from
23495         doc/posix-functions/makecontext.texi.
23496         * doc/pastposix-functions/mktemp.texi: Renamed from
23497         doc/posix-functions/mktemp.texi.
23498         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
23499         doc/posix-functions/pthread_attr_getstackaddr.texi.
23500         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
23501         doc/posix-functions/pthread_attr_setstackaddr.texi.
23502         * doc/pastposix-functions/rindex.texi: Renamed from
23503         doc/posix-functions/rindex.texi.
23504         * doc/pastposix-functions/scalb.texi: Renamed from
23505         doc/posix-functions/scalb.texi.
23506         * doc/pastposix-functions/setcontext.texi: Renamed from
23507         doc/posix-functions/setcontext.texi.
23508         * doc/pastposix-functions/swapcontext.texi: Renamed from
23509         doc/posix-functions/swapcontext.texi.
23510         * doc/pastposix-functions/ualarm.texi: Renamed from
23511         doc/posix-functions/ualarm.texi.
23512         * doc/pastposix-functions/usleep.texi: Renamed from
23513         doc/posix-functions/usleep.texi.
23514         * doc/pastposix-functions/vfork.texi: Renamed from
23515         doc/posix-functions/vfork.texi.
23516         * doc/pastposix-functions/wcswcs.texi: Renamed from
23517         doc/posix-functions/wcswcs.texi.
23518         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
23519         (Function Substitutes): Update.
23520
23521 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23522
23523         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
23524         m4/strerror.m4.
23525
23526 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23527             Bruno Haible  <bruno@clisp.org>
23528
23529         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
23530
23531 2008-12-13  Bruno Haible  <bruno@clisp.org>
23532
23533         * modules/strtoull (Depends-on): Remove unistd.
23534
23535 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23536
23537         * modules/strtoull (Depends-on): Add stdlib.
23538
23539 2008-12-11  Simon Josefsson  <simon@josefsson.org>
23540
23541         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
23542
23543 2008-12-10  Jim Meyering  <meyering@redhat.com>
23544
23545         gl_ASSERT: don't say assertions are disabled when they're not
23546         * m4/assert.m4 (gl_ASSERT): Do not make configure report
23547         "checking whether to enable assertions... no", when they are in
23548         fact enabled.  This is solely a bug in the output of configure.
23549         In spite of saying "no", NDEBUG was not defined in that case.
23550         Also, as noted by Eric Blake, leave assertions enabled upon
23551         --enable-assert=INVALID.
23552
23553 2008-12-10  Bruno Haible  <bruno@clisp.org>
23554
23555         Change MODULES.html to refer to POSIX:2008 where possible.
23556         * MODULES.html.sh (POSIX2008_URL): New variable.
23557         (posix_headers): Remove sys/timeb, ucontext.
23558         (posix2001_headers): New variable.
23559         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
23560         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
23561         index, makecontext, mktemp, pthread_attr_getstackaddr,
23562         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
23563         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
23564         (posix2001_functions): New variable.
23565         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
23566         otherwise.
23567
23568 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23569
23570         add missing include to parse-duration.c
23571         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
23572         * modules/parse-duration (Depends-on): Add xalloc.
23573
23574         fix sed script reading maint.mk
23575         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
23576         (syntax-check-rules): Use it.
23577
23578 2008-12-09  Bruno Haible  <bruno@clisp.org>
23579
23580         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
23581         MacOS X 10.4/PowerPC.
23582         Reported by Simon Josefsson.
23583
23584 2008-12-08  Jim Meyering  <meyering@redhat.com>
23585
23586         work around mingw's lack of some S_IF definitions
23587         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
23588         Reported by Simon Josefsson.
23589
23590 2008-12-08  Bruno Haible  <bruno@clisp.org>
23591
23592         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
23593         applied to variables. Needed on MacOS X 10.4/PowerPC.
23594         Reported by Simon Josefsson.
23595
23596 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
23597         and Eric Blake  <ebb9@byu.net>
23598
23599         assert: honor --enable-assert
23600         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
23601         order to honor --enable-assert, rather than treating it as a
23602         synonym for --disable-assert.
23603
23604 2008-12-08  Jim Meyering  <meyering@redhat.com>
23605
23606         * lib/posixtm.c: Remove now-useless declaration of mktime.
23607
23608         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
23609
23610 2008-12-07  Bruno Haible  <bruno@clisp.org>
23611
23612         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
23613         test_once): Mark functions as static.
23614         * tests/test-tls.c (test_tls): Likewise.
23615
23616 2008-12-07  Bruno Haible  <bruno@clisp.org>
23617
23618         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
23619         iconv_register_autodetect.
23620
23621 2008-12-07  Jim Meyering  <meyering@redhat.com>
23622
23623         posixtm.c: avoid a warning
23624         * lib/posixtm.c (posixtime): Don't initialize tm0.
23625         It's no longer needed to placate gcc4's -Wuninitialized,
23626         and the attempt to placate would elicit a new warning.
23627
23628         unicodeio.c: mark unused parameters
23629         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
23630         (fallback_failure_callback): Likewise.
23631
23632 2008-12-07  Bruno Haible  <bruno@clisp.org>
23633
23634         * gnulib-tool (func_create_testdir): When building the tests
23635         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
23636         Reported by Simon Josefsson.
23637
23638 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23639
23640         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
23641
23642 2008-12-06  Bruno Haible  <bruno@clisp.org>
23643
23644         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
23645         Suggested by Eric Blake.
23646
23647 2008-12-06  Bruno Haible  <bruno@clisp.org>
23648
23649         Fix a c-stack test failure on MacOS X.
23650         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
23651         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
23652         handler for SIGBUS as well.
23653         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
23654         install a signal handler for SIGBUS as well.
23655         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
23656
23657 2008-12-06  Bruno Haible  <bruno@clisp.org>
23658
23659         Advocacy documentation.
23660         * doc/gnulib-intro.texi (Benefits): New section.
23661         * doc/gnulib.texi: Update.
23662
23663 2008-12-06  Bruno Haible  <bruno@clisp.org>
23664
23665         Document the 'manywarnings' module.
23666         * doc/manywarnings.texi: New file.
23667         * doc/gnulib.texi: Include it.
23668
23669 2008-12-05  Eric Blake  <ebb9@byu.net>
23670
23671         tests: silence some gcc warnings
23672         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
23673         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
23674         type mismatches.
23675
23676 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23677             Bruno Haible  <bruno@clisp.org>
23678
23679         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
23680
23681 2008-11-29  Jim Meyering  <meyering@redhat.com>
23682
23683         unicodeio.c: mark unused parameters
23684         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
23685         (fallback_failure_callback): Likewise.
23686
23687         fts: fix a thinko
23688         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
23689         (set_stat_type): Return S_IF*-valued "type" directly.
23690         Prompted by James Youngman's spotting a related bug.
23691         Confirmed by further testing through find.
23692
23693         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
23694         * lib/fts.c (D_TYPE): Define.
23695         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
23696         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
23697         (s_ifmt_shift_bits): New function.
23698         (set_stat_type): New function.
23699         (fts_build): When not calling fts_stat, call set_stat_type
23700         to propagate dirent.d_type info to fts_read caller.
23701         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
23702         fts_statp->st_mode type information may be valid.
23703
23704 2008-11-28  Simon Josefsson  <simon@josefsson.org>
23705
23706         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
23707         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
23708         <sds@gnu.org>.
23709
23710 2008-11-20  Bruno Haible  <bruno@clisp.org>
23711
23712         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
23713         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
23714         INCLUDE_NEXT.
23715         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
23716         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
23717         * modules/math (Makefile.am): Substitute
23718         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
23719         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23720
23721 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
23722             Bruno Haible  <bruno@clisp.org>
23723
23724         * lib/stdint.in.h: Define all type macros so that their expansion is
23725         a single typedef'ed token. Fixes a compilation failure in Boost which
23726         does "using ::int8_t;".
23727
23728 2008-11-18  Simon Josefsson  <simon@josefsson.org>
23729
23730         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
23731         gl_MANYWARN_ALL_GCC.
23732         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
23733         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
23734         * modules/manywarnings: New file.
23735         * MODULES.html.sh: Mention manywarnings module.
23736
23737 2008-11-18  Bruno Haible  <bruno@clisp.org>
23738
23739         * doc/gnulib-tool.texi (Unit tests): New section.
23740
23741 2008-11-18  Simon Josefsson  <simon@josefsson.org>
23742
23743         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
23744         paths like 'lib/po/foo.po'.
23745
23746 2008-11-17  Simon Josefsson  <simon@josefsson.org>
23747
23748         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
23749         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
23750
23751 2008-11-17  Simon Josefsson  <simon@josefsson.org>
23752
23753         * m4/warnings.m4: Use CPPFLAGS to really check whether the
23754         parameter works.
23755
23756 2008-11-17  Simon Josefsson  <simon@josefsson.org>
23757
23758         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
23759
23760 2008-11-17  Bruce Korb  <bkorb@gnu.org>
23761
23762         * modules/parse-duration-tests: New file.
23763         * tests/test-parse-duration.sh: New file.
23764         * tests/test-parse-duration.c: New file.
23765
23766         New module 'parse-duration'.
23767         * lib/parse-duration.h: New file.
23768         * lib/parse-duration.c: New file.
23769         * modules/parse-duration: New file.
23770
23771 2008-11-17  Bruno Haible  <bruno@clisp.org>
23772
23773         * tests/test-select-out.sh: Comment out the first pipe test.
23774         Reported by Simon Josefsson.
23775
23776 2008-11-17  Bruno Haible  <bruno@clisp.org>
23777
23778         * modules/getaddrinfo (Depends-on): Add servent, hostent.
23779         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
23780         gl_HOSTENT.
23781
23782 2008-11-17  Bruno Haible  <bruno@clisp.org>
23783
23784         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
23785         -lnetwork and -lnet. Needed for Haiku and BeOS.
23786
23787 2008-11-16  Bruno Haible  <bruno@clisp.org>
23788
23789         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
23790
23791 2008-11-16  Bruno Haible  <bruno@clisp.org>
23792
23793         Avoid test failure on Haiku.
23794         * tests/test-fsync.c: Include <errno.h>.
23795         (main): Don't require that fsync (0) fails.
23796
23797 2008-11-15  Bruno Haible  <bruno@clisp.org>
23798
23799         New module 'hostent'.
23800         * modules/hostent: New file.
23801         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
23802
23803 2008-11-15  Bruno Haible  <bruno@clisp.org>
23804
23805         New module 'servent'.
23806         * modules/servent: New file.
23807         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
23808
23809 2008-11-15  Bruno Haible  <bruno@clisp.org>
23810
23811         Avoid generating same test program with two different rules.
23812         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
23813         test-frexp to test-frexp-nolibm.
23814         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
23815         test-frexpl to test-frexpl-nolibm.
23816
23817 2008-11-15  Bruno Haible  <bruno@clisp.org>
23818
23819         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
23820         $(FREXPL_LIBM).
23821
23822 2008-11-15  Bruno Haible  <bruno@clisp.org>
23823
23824         * lib/netdb.in.h: Activate the definitions also when the system's
23825         <netdb.h> has 'struct addrinfo'.
23826         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
23827         EAI_OVERFLOW or AI_NUMERICSERV.
23828         * doc/posix-headers/netdb.texi: Document the problem.
23829
23830 2008-11-15  Bruno Haible  <bruno@clisp.org>
23831
23832         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
23833
23834         Make the 'sched' module work on platforms where <sched.h> exists but
23835         is incomplete (such as Haiku).
23836         * lib/sched.in.h; Include the system's <sched.h> if it exists.
23837         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
23838         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
23839         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
23840         HAVE_STRUCT_SCHED_PARAM.
23841         * modules/sched (Depends-on): Add include_next.
23842         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
23843         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
23844         * doc/posix-headers/sched.texi: Document the issue.
23845
23846 2008-11-13  Jim Meyering  <meyering@redhat.com>
23847
23848         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
23849         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
23850         test would fail due to the difference in the Report bugs to ...
23851         line.  The expected address is empty, "<>", while the actual
23852         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
23853
23854 2008-11-12  Bruno Haible  <bruno@clisp.org>
23855
23856         lstat: don't compile lstat.c on systems lacking lstat
23857         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
23858         which don't have lstat; this is handled by lib/sys_stat.in.h already.
23859         Reported by Daniel P. Berrange via Jim Meyering.
23860
23861 2008-11-12  Jim Meyering  <meyering@redhat.com>
23862
23863         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
23864
23865 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23866
23867         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
23868         instead.
23869
23870 2008-11-12  Bruno Haible  <bruno@clisp.org>
23871
23872         * lib/unicodeio.c: Include unistr.h.
23873         (utf8_wctomb): Remove function.
23874         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
23875
23876 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23877
23878         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
23879         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
23880         <bruno@clisp.org>.
23881         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
23882
23883 2008-11-12  Simon Josefsson  <simon@josefsson.org>
23884
23885         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
23886         * doc/gnulib.texi: Add section for warnings.
23887
23888 2008-11-11  Bruno Haible  <bruno@clisp.org>
23889
23890         * lib/sockets.h: Add a comment.
23891
23892 2008-11-11  Karl Berry  <karl@gnu.org>
23893
23894         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
23895
23896 2008-11-11  Eric Blake  <ebb9@byu.net>
23897
23898         fdl.texi: avoid git symlinks
23899         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
23900
23901 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23902
23903         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
23904
23905 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23906
23907         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
23908         (gl_WARN_ADD): Substitute $2 if literal.
23909
23910 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23911
23912         * m4/warning.m4: Remove.
23913
23914 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
23915
23916         * m4/warnings.m4: Almost complete rewrite. :-)
23917
23918 2008-11-10  Simon Josefsson  <simon@josefsson.org>
23919
23920         * modules/warnings: New module.
23921         * m4/warnings.m4: New file.
23922         * MODULES.html.sh: Mention warnings module.
23923         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
23924         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
23925
23926 2008-11-10  Eric Blake  <ebb9@byu.net>
23927
23928         fdl.texi: make a symlink to the latest version
23929         * doc/standards.texi: Revert today's earlier change.
23930         * doc/fdl-1.2.texi: Rename from old fdl.texi...
23931         * doc/fdl.texi: ...and replace this with a symlink to the newer
23932         fdl-1.3.texi.
23933
23934 2008-11-10  Bruno Haible  <bruno@clisp.org>
23935
23936         * tests/test-select-fd.c (main): Accept the result file name as fourth
23937         argument.
23938         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
23939         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
23940
23941 2008-11-10  Bruno Haible  <bruno@clisp.org>
23942
23943         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
23944         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
23945         as autoconf-substituted macros.
23946         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
23947         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
23948         gl_NETDB_H_DEFAULTS. Set these variables.
23949         * modules/netdb (Makefile.am): Substitute these variables.
23950
23951 2008-11-10  Eric Blake  <ebb9@byu.net>
23952
23953         standards.texi: include correct file for FDL 1.3
23954         * doc/standards.texi (GNU Free Documentation License): Change
23955         include file to pull in FDL 1.3, not 1.2.
23956
23957         fdl.texi: revert accidental change to license
23958         * doc/fdl.texi: This is FDL 1.2, not 1.3.
23959
23960 2008-11-10  Bruno Haible  <bruno@clisp.org>
23961
23962         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
23963         cross-compiling guesses also when the native compile gives no result.
23964
23965 2008-11-10  Bruno Haible  <bruno@clisp.org>
23966
23967         * lib/spawni.c (__spawni): Force variable into the stack.
23968
23969 2008-11-10  Bruno Haible  <bruno@clisp.org>
23970
23971         Add support for Haiku.
23972         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
23973         glibc and BeOS, but also on Haiku.
23974         * lib/fpurge.c (fpurge): Likewise.
23975         * lib/freadable.c (freadable): Likewise.
23976         * lib/freadahead.c (freadahead): Likewise.
23977         * lib/freading.c (freading): Likewise.
23978         * lib/freadptr.c (freadptr): Likewise.
23979         * lib/freadseek.c (freadptrinc): Likewise.
23980         * lib/fseeko.c (rpl_fseeko): Likewise.
23981         * lib/fseterr.c (fseterr): Likewise.
23982         * lib/fwritable.c (fwritable): Likewise.
23983         * lib/fwriting.c (fwriting): Likewise.
23984         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
23985
23986 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
23987
23988         * lib/config.charset: Treat Haiku like BeOS.
23989
23990 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
23991
23992         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
23993         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
23994
23995 2008-11-08  Bruno Haible  <bruno@clisp.org>
23996
23997         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
23998         AC_CACHE_CHECK.
23999
24000 2008-11-08  Bruno Haible  <bruno@clisp.org>
24001
24002         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
24003
24004 2008-11-08  Bruno Haible  <bruno@clisp.org>
24005
24006         * tests/test-select-fd.c: New file.
24007         * tests/test-select-in.sh: New file.
24008         * tests/test-select-out.sh: New file.
24009         * tests/test-select-stdin.c: New file.
24010         * modules/select-tests (Files): Add the new files.
24011         (Depends-on): Add gettimeofday.
24012         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
24013         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
24014         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
24015
24016 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
24017             Bruno Haible  <bruno@clisp.org>
24018
24019         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
24020
24021 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
24022
24023         * build-aux/pmccabe2html: Added support for C++ source files.
24024
24025 2008-11-05  Ben Pfaff  <blp@gnu.org>
24026
24027         Fix lib/close.c build on Windows.
24028         * modules/close (Files): Add lib/w32sock.h.
24029
24030 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
24031
24032         Accept Bison's NEWS format.
24033         * build-aux/announce-gen (print_news_deltas): Tweak
24034         $re_prefix.
24035
24036 2008-11-04  Bruno Haible  <bruno@clisp.org>
24037
24038         * modules/random_r (Maintainer): Add glibc.
24039
24040 2008-11-04  Simon Josefsson  <simon@josefsson.org>
24041
24042         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
24043         by karl@freefriends.org (Karl Berry).
24044         * doc/alloca.texi: Likewise.
24045         * doc/c-ctype.texi: Likewise.
24046         * doc/c-strcase.texi: Likewise.
24047         * doc/c-strcaseeq.texi: Likewise.
24048         * doc/c-strcasestr.texi: Likewise.
24049         * doc/c-strstr.texi: Likewise.
24050         * doc/c-strtod.texi: Likewise.
24051         * doc/c-strtold.texi: Likewise.
24052         * doc/ctime.texi: Likewise.
24053         * doc/error.texi: Likewise.
24054         * doc/fdl.texi: Likewise.
24055         * doc/gcd.texi: Likewise.
24056         * doc/getdate.texi: Likewise.
24057         * doc/gnulib-intro.texi: Likewise.
24058         * doc/gnulib-tool.texi: Likewise.
24059         * doc/gnulib.texi: Likewise.
24060         * doc/inet_ntoa.texi: Likewise.
24061         * doc/maintain.texi: Likewise.
24062         * doc/make-stds.texi: Likewise.
24063         * doc/quote.texi: Likewise.
24064         * doc/regexprops-generic.texi: Likewise.
24065         * doc/standards.texi: Likewise.
24066         * doc/verify.texi: Likewise.
24067         * doc/visibility.texi: Likewise.
24068         * doc/gnulib.texi (GNU Free Documentation License): Include
24069         fdl-1.3.texi instead of fdl.texi.
24070
24071 2008-11-04  Simon Josefsson  <simon@josefsson.org>
24072
24073         * doc/fdl-1.3.texi: New file, from
24074         <http://www.gnu.org/licenses/fdl-1.3.texi>.
24075         * modules/fdl-1.3: Add.
24076         * MODULES.html.sh: Add fdl-1.3.
24077
24078 2008-11-03  Bruno Haible  <bruno@clisp.org>
24079
24080         Make determination of absolute name of header file work with AIX xlc.
24081         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
24082         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
24083         preprocessing.
24084         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
24085         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
24086
24087 2008-11-03  Simon Josefsson  <simon@josefsson.org>
24088
24089         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
24090         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
24091         <ludo@gnu.org>.
24092
24093 2008-11-02  Bruno Haible  <bruno@clisp.org>
24094
24095         Mark 'strpbrk' obsolete.
24096         * modules/strpbrk (Status, Notice): New sections.
24097         * modules/strtok_r (Depends-on): Add strpbrk.
24098
24099 2008-11-02  Bruno Haible  <bruno@clisp.org>
24100
24101         Mark 'strdup' obsolete.
24102         * modules/strdup (Status, Notice): New sections.
24103         * modules/findprog (Depends-on): Add strdup.
24104         * modules/getaddrinfo (Depends-on): Likewise.
24105         * modules/localename (Depends-on): Likewise.
24106         * modules/relocatable-lib (Depends-on): Likewise.
24107         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
24108         * modules/relocatable-prog (Depends-on): Likewise.
24109         * modules/trim (Depends-on): Likewise.
24110         * modules/unictype/gen-ctype (Depends-on): Likewise.
24111         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
24112
24113 2008-11-02  Bruno Haible  <bruno@clisp.org>
24114
24115         Mark 'strcspn' obsolete.
24116         * modules/strcspn (Status, Notice): New sections.
24117
24118 2008-11-02  Bruno Haible  <bruno@clisp.org>
24119
24120         Mark 'rmdir' obsolete.
24121         * modules/rmdir (Status, Notice): New sections.
24122         * modules/clean-temp (Depends-on): Add rmdir.
24123         * modules/openat (Depends-on): Likewise.
24124
24125 2008-11-02  Bruno Haible  <bruno@clisp.org>
24126
24127         Mark 'raise' obsolete.
24128         * modules/raise (Status, Notice): New sections.
24129         (Include): Specify <signal.h>.
24130         * modules/stdio (Depends-on): Add raise.
24131         * modules/write (Depends-on): Likewise.
24132
24133 2008-11-02  Bruno Haible  <bruno@clisp.org>
24134
24135         Mark 'memset' obsolete.
24136         * modules/memset (Status, Notice): New sections.
24137
24138 2008-11-02  Bruno Haible  <bruno@clisp.org>
24139
24140         Mark 'memmove' obsolete.
24141         * modules/memmove (Status, Notice): New sections.
24142         * modules/argp (Depends-on): Add memmove.
24143         * modules/argz (Depends-on): Likewise.
24144         * modules/canonicalize (Depends-on): Likewise.
24145         * modules/canonicalize-lgpl (Depends-on): Likewise.
24146         * modules/fts (Depends-on): Likewise.
24147         * modules/getcwd (Depends-on): Likewise.
24148         * modules/human (Depends-on): Likewise.
24149         * modules/regex (Depends-on): Likewise.
24150         * modules/striconveh (Depends-on): Likewise.
24151         * modules/trim (Depends-on): Likewise.
24152         * modules/unistr/u8-move (Depends-on): Likewise.
24153         * modules/unistr/u16-move (Depends-on): Likewise.
24154         * modules/unistr/u32-move (Depends-on): Likewise.
24155
24156 2008-11-02  Bruno Haible  <bruno@clisp.org>
24157
24158         Mark 'memcpy' obsolete.
24159         * modules/memcpy (Status, Notice): New sections.
24160
24161 2008-11-02  Bruno Haible  <bruno@clisp.org>
24162
24163         Mark 'memcmp' obsolete.
24164         * modules/memcmp (Status, Notice): New sections.
24165         * modules/argmatch (Depends-on): Add memchr.
24166         * modules/backupfile (Depends-on): Likewise.
24167         * modules/c-strcasestr (Depends-on): Likewise.
24168         * modules/crypto/des (Depends-on): Likewise.
24169         * modules/csharpcomp (Depends-on): Likewise.
24170         * modules/fnmatch (Depends-on): Likewise.
24171         * modules/git-merge-changelog (Depends-on): Likewise.
24172         * modules/isnand (Depends-on): Likewise.
24173         * modules/isnand-nolibm (Depends-on): Likewise.
24174         * modules/isnanf (Depends-on): Likewise.
24175         * modules/isnanf-nolibm (Depends-on): Likewise.
24176         * modules/isnanl (Depends-on): Likewise.
24177         * modules/isnanl-nolibm (Depends-on): Likewise.
24178         * modules/mbchar (Depends-on): Likewise.
24179         * modules/memcoll (Depends-on): Likewise.
24180         * modules/quotearg (Depends-on): Likewise.
24181         * modules/regex (Depends-on): Likewise.
24182         * modules/relocatable-prog (Depends-on): Likewise.
24183         * modules/same (Depends-on): Likewise.
24184         * modules/signbit (Depends-on): Likewise.
24185         * modules/strcasestr-simple (Depends-on): Likewise.
24186         * modules/unictype/gen-ctype (Depends-on): Likewise.
24187         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
24188         * modules/uniname/uniname (Depends-on): Likewise.
24189         * modules/unistr/u8-cmp (Depends-on): Likewise.
24190
24191 2008-11-02  Bruno Haible  <bruno@clisp.org>
24192
24193         Mark 'memchr' obsolete.
24194         * modules/memchr (Status, Notice): New sections.
24195         * modules/argp (Depends-on): Add memchr.
24196         * modules/base64 (Depends-on): Likewise.
24197         * modules/c-strcasestr (Depends-on): Likewise.
24198         * modules/chdir-long (Depends-on): Likewise.
24199         * modules/fnmatch (Depends-on): Likewise.
24200         * modules/getsubopt (Depends-on): Likewise.
24201         * modules/git-merge-changelog (Depends-on): Likewise.
24202         * modules/glob (Depends-on): Likewise.
24203         * modules/strcasestr-simple (Depends-on): Likewise.
24204         * modules/strnlen (Depends-on): Likewise.
24205
24206 2008-11-02  Bruno Haible  <bruno@clisp.org>
24207
24208         Mark 'atexit' obsolete.
24209         * modules/atexit (Status, Notice): New sections.
24210         * modules/chdir-long (Depends-on): Add atexit.
24211         * modules/wait-process (Depends-on): Likewise.
24212
24213 2008-11-02  Bruno Haible  <bruno@clisp.org>
24214
24215         * gnulib-tool: New option --with-obsolete.
24216         (func_usage): Document it.
24217         (func_modules_transitive_closure): Drop obsolete dependencies if
24218         incobsolete is not true.
24219         (func_import): Read and save the incobsolete variable to the cache.
24220
24221 2008-11-02  Bruno Haible  <bruno@clisp.org>
24222
24223         * modules/TEMPLATE-EXTENDED: New field 'Status'.
24224         * gnulib-tool: New option --extract-status.
24225         (func_usage): Document it.
24226         (sed_extract_prog): Recognize it.
24227         (func_get_status): New function.
24228
24229 2008-10-30  Simon Josefsson  <simon@josefsson.org>
24230
24231         * modules/sockets (License): Change from LGPL to LGPLv2+.
24232
24233 2008-10-28  Simon Josefsson  <simon@josefsson.org>
24234
24235         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
24236
24237 2008-10-28  Simon Josefsson  <simon@josefsson.org>
24238
24239         * MODULES.html.sh (Support for systems lacking POSIX:2001):
24240         Mention times and sys_times.
24241         * modules/sys_times, modules/sys_times-tests: New modules.
24242         * modules/times, modules/times-tests: Likewise
24243         * m4/sys_times_h.m4: New file.
24244         * lib/sys_times.in.h: Likewise
24245         * lib/times.c: Likewise.
24246         * tests/test-sys_times.c: Likewise.
24247         * tests/test-times.c: Likewise.
24248         * doc/posix-headers/sys_times.texi: Update.
24249         * doc/posix-functions/times.texi: Update.
24250
24251 2008-10-28  Jim Meyering  <meyering@redhat.com>
24252
24253         * modules/tempname (Depends-on): Add lstat.
24254
24255         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
24256
24257 2008-10-28  Simon Josefsson  <simon@josefsson.org>
24258
24259         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
24260         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
24261         using idiom used elsewhere in gnulib.
24262
24263 2008-10-27  Jim Meyering  <meyering@redhat.com>
24264
24265         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
24266
24267 2008-10-27  Simon Josefsson  <simon@josefsson.org>
24268
24269         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
24270         TESTS_ENVIRONMENT, for shell scripts that needs to call built
24271         programs.
24272         * tests/test-argp-2.sh: Use $EXEEXT when needed.
24273
24274 2008-10-27  Simon Josefsson  <simon@josefsson.org>
24275
24276         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
24277
24278 2008-10-27  Bruno Haible  <bruno@clisp.org>
24279
24280         * tests/test-lstat.c: Include <stdio.h>.
24281
24282 2008-10-27  Simon Josefsson  <simon@josefsson.org>
24283
24284         * modules/lstat-tests: New module.
24285         * tests/test-lstat.c: New file.
24286
24287 2008-10-26  Jim Meyering  <meyering@redhat.com>
24288
24289         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
24290
24291 2008-10-26  Simon Josefsson  <simon@josefsson.org>
24292             Bruno Haible  <bruno@clisp.org>
24293
24294         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
24295         * modules/configmake (Include): Add a note that the include must come
24296         after all system headers.
24297         * lib/javaversion.c: Include configmake.h after all other includes.
24298
24299 2008-10-26  Bruno Haible  <bruno@clisp.org>
24300
24301         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
24302         HAVE_STRUCT_RANDOM_DATA to 1.
24303         (gl_STDLIB_H): Simplify.
24304
24305 2008-10-26  Simon Josefsson  <simon@josefsson.org>
24306
24307         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
24308         substitute HAVE_STRUCT_RANDOM_DATA.
24309         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
24310         random_data.
24311         * modules/stdlib (Makefile.am): Substitute
24312         HAVE_STRUCT_RANDOM_DATA.
24313
24314 2008-10-26  Simon Josefsson  <simon@josefsson.org>
24315
24316         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
24317         * doc/gnulib-intro.texi (Copyright): Likewise.
24318
24319 2008-10-26  Simon Josefsson  <simon@josefsson.org>
24320
24321         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
24322         findings.
24323
24324 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
24325             Bruno Haible  <bruno@clisp.org>
24326
24327         * lib/unistd.in.h: Include <winsock2.h>.
24328         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
24329         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
24330         Provide dummy declarations.
24331         (gethostname): Override.
24332         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
24333         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
24334         gl_PREREQ_SYS_H_WINSOCK2.
24335         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
24336         * doc/posix-functions/gethostname.texi: More details.
24337
24338 2008-10-25  Bruno Haible  <bruno@clisp.org>
24339
24340         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
24341         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
24342         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
24343
24344         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
24345         here ...
24346         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
24347         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
24348         gl_UNISTD_H_DEFAULTS.
24349
24350 2008-10-25  Eric Blake  <ebb9@byu.net>
24351
24352         signbit: avoid spurious compiler failure
24353         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
24354         declarations inside function.
24355
24356 2008-10-24  Simon Josefsson  <simon@josefsson.org>
24357             Bruno Haible  <bruno@clisp.org>
24358
24359         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
24360         * modules/random_r (Depends-on): Add stdint.
24361
24362 2008-10-24  Bruno Haible  <bruno@clisp.org>
24363
24364         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
24365         Eggert.
24366         * modules/strerror (License): Likewise.
24367
24368 2008-10-24  Jim Meyering  <meyering@redhat.com>
24369
24370         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
24371         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
24372
24373 2008-10-24  Eric Blake  <ebb9@byu.net>
24374
24375         getgroups: fix compilation when getgroups is available
24376         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
24377         but with <config.h> override of getgroups disabled.
24378
24379 2008-10-24  Simon Josefsson  <simon@josefsson.org>
24380
24381         * doc/gnulib.texi (Header files): Add note about C++ problems.
24382         Explained by Bruno Haible <bruno@clisp.org>.
24383
24384 2008-10-23  Bruno Haible  <bruno@clisp.org>
24385
24386         Define a dummy SA_NODEFER macro on Interix.
24387         * lib/signal.in.h (SA_NODEFER): Define fallback.
24388         Reported by Aleksey Cheusov <cheusov@tut.by> via
24389         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
24390
24391 2008-10-23  Bruno Haible  <bruno@clisp.org>
24392
24393         * modules/freadahead (License): Change to LGPLv2+.
24394         Suggested by Simon Josefsson.
24395
24396 2008-10-23  Jim Meyering  <meyering@redhat.com>
24397
24398         random_r: new module
24399         * modules/random_r: New file.
24400         * m4/random_r.m4: New file.
24401         * lib/random_r.c: New file, from glibc.
24402         * modules/random_r-tests: New file.
24403         * tests/test-random_r.c: New file.
24404         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
24405          Declare.
24406         (RAND_MAX): Define.
24407         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
24408         * modules/stdlib: Substitute them, too.
24409         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
24410         * doc/glibc-functions/initstate_r.texi: Mention the new module.
24411         * doc/glibc-functions/random_r.texi: Likewise.
24412         * doc/glibc-functions/setstate_r.texi: Likewise.
24413         * doc/glibc-functions/srandom_r.texi: Likewise.
24414         * config/srclist.txt: Mention it.
24415
24416 2008-10-23  David Lutterkort  <lutter@redhat.com>
24417
24418         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
24419         link requirement
24420
24421 2008-10-23  Jim Meyering  <meyering@redhat.com>
24422
24423         selinux-h: mark parameters of stub functions as intentionally unused
24424         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
24425         * lib/se-context.in.h: Likewise.
24426
24427 2008-10-22  Simon Josefsson  <simon@josefsson.org>
24428
24429         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
24430
24431 2008-10-22  Simon Josefsson  <simon@josefsson.org>
24432
24433         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
24434
24435 2008-10-22  Eric Blake  <ebb9@byu.net>
24436
24437         glthread/thread: avoid compiler warning
24438         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
24439         Add unreachable abort to silence compiler.
24440
24441 2008-10-22  Eric Blake  <ebb9@byu.net>
24442
24443         netdb: also supply struct addrinfo for cygwin 1.5.x
24444         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
24445         older cygwin.
24446         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
24447         cygwin.
24448         * doc/posix-headers/netdb.texi (netdb.h): Document this.
24449
24450 2008-10-22  Bruno Haible  <bruno@clisp.org>
24451
24452         * users.txt: Update entry about pspp.
24453
24454 2008-10-21  Bruno Haible  <bruno@clisp.org>
24455
24456         Simplification.
24457         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
24458         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
24459
24460         Simplification.
24461         * lib/ioctl.c (ioctl): Don't undefine.
24462         * lib/socket.c (socket): Don't undefine.
24463
24464         Remove unused module indicator macros.
24465         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
24466         GNULIB_$1 as a C macro.
24467
24468         * doc/posix-functions/close.texi: Undo last change.
24469         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
24470         Windows platforms.
24471
24472 2008-10-21  Bruno Haible  <bruno@clisp.org>
24473
24474         Add gethostname() declaration to <unistd.h>.
24475         * lib/unistd.in.h (gethostname): New declaration.
24476         * lib/gethostname.c: Include <unistd.h>.
24477         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
24478         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
24479         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
24480         and HAVE_GETHOSTNAME.
24481         * modules/gethostname (Depends-on): Add unistd.
24482         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24483         (Include): Specify <unistd.h>.
24484         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
24485         HAVE_GETHOSTNAME.
24486         * tests/test-gethostname.c: Include <unistd.h> first.
24487
24488 2008-10-21  Bruno Haible  <bruno@clisp.org>
24489
24490         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
24491         * modules/select-tests (Depends-on): Likewise.
24492         Reported by Simon Josefsson.
24493
24494 2008-10-21  Simon Josefsson  <simon@josefsson.org>
24495
24496         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
24497         * lib/accept.c: New file, based on winsock.c.
24498         * lib/bind.c: New file, based on winsock.c.
24499         * lib/connect.c: New file, based on winsock.c.
24500         * lib/getpeername.c: New file, based on winsock.c.
24501         * lib/getsockname.c: New file, based on winsock.c.
24502         * lib/getsockopt.c: New file, based on winsock.c.
24503         * lib/ioctl.c: New file, based on winsock.c.
24504         * lib/listen.c: New file, based on winsock.c.
24505         * lib/recv.c: New file, based on winsock.c.
24506         * lib/recvfrom.c: New file, based on winsock.c.
24507         * lib/send.c: New file, based on winsock.c.
24508         * lib/sendto.c: New file, based on winsock.c.
24509         * lib/setsockopt.c: New file, based on winsock.c.
24510         * lib/shutdown.c: New file, based on winsock.c.
24511         * lib/socket.c: New file, based on winsock.c.
24512         * lib/w32sock.h: New file, based on winsock.c.
24513         * lib/winsock.c: Remove file.
24514         * modules/accept: Likewise.
24515         * modules/bind: Likewise.
24516         * modules/connect: Likewise.
24517         * modules/getpeername: Likewise.
24518         * modules/getsockname: Likewise.
24519         * modules/getsockopt: Likewise.
24520         * modules/ioctl: Likewise.
24521         * modules/listen: Likewise.
24522         * modules/recv: Likewise.
24523         * modules/recvfrom: Likewise.
24524         * modules/send: Likewise.
24525         * modules/sendto: Likewise.
24526         * modules/setsockopt: Likewise.
24527         * modules/shutdown: Likewise.
24528         * modules/socket: Use socket.c instead of winsock.c.
24529         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
24530         * doc/posix-functions/accept.texi: Doc fix.
24531         * doc/posix-functions/bind.texi: Doc fix.
24532         * doc/posix-functions/close.texi: Doc fix.
24533         * doc/posix-functions/connect.texi: Doc fix.
24534         * doc/posix-functions/getpeername.texi: Doc fix.
24535         * doc/posix-functions/getsockname.texi: Doc fix.
24536         * doc/posix-functions/getsockopt.texi: Doc fix.
24537         * doc/posix-functions/ioctl.texi: Doc fix.
24538         * doc/posix-functions/listen.texi: Doc fix.
24539         * doc/posix-functions/recv.texi: Doc fix.
24540         * doc/posix-functions/recvfrom.texi: Doc fix.
24541         * doc/posix-functions/send.texi: Doc fix.
24542         * doc/posix-functions/sendto.texi: Doc fix.
24543         * doc/posix-functions/setsockopt.texi: Doc fix.
24544         * doc/posix-functions/shutdown.texi: Doc fix.
24545         * doc/posix-functions/socket.texi: Doc fix.
24546
24547 2008-10-20  Bruno Haible  <bruno@clisp.org>
24548
24549         Take into account the role of SIGABRT_COMPAT on Windows 2008.
24550         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
24551         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
24552         as an alias for SIGABRT.
24553         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
24554         (sigaction): Map it to SIGABRT.
24555         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
24556
24557 2008-10-20  Bruno Haible  <bruno@clisp.org>
24558
24559         * lib/fts.c: Don't include lstat.h.
24560         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
24561
24562         Move the lstat() declaration to <sys/stat.h>.
24563         * lib/lstat.h: Remove file.
24564         * lib/sys_stat.in.h: Add special invocation convention.
24565         (lstat): New declaration.
24566         * lib/lstat.c (orig_lstat): New function.
24567         (rpl_lstat): Use orig_lstat instead of lstat.
24568         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
24569         AC_C_INLINE. Set REPLACE_LSTAT.
24570         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
24571         and REPLACE_LSTAT.
24572         * modules/lstat (Files): Remove lib/lstat.h.
24573         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
24574         (Include): Specify <sys/stat.h> instead of lstat.h.
24575         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
24576         REPLACE_LSTAT.
24577         * NEWS: Mention the change.
24578
24579 2008-10-20  Bruno Haible  <bruno@clisp.org>
24580
24581         * modules/posix_spawn-tests: New file.
24582         * tests/test-posix_spawn3.c: New file.
24583
24584 2008-10-20  Bruno Haible  <bruno@clisp.org>
24585
24586         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
24587         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
24588         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
24589         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
24590         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
24591
24592 2008-10-20  Bruno Haible  <bruno@clisp.org>
24593
24594         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
24595         of posix_spawn on AIX 5.3.
24596
24597 2008-10-20  Bruno Haible  <bruno@clisp.org>
24598
24599         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
24600
24601 2008-10-20  Bruno Haible  <bruno@clisp.org>
24602
24603         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
24604         of AC_LANG_PROGRAM.
24605
24606 2008-10-20  Simon Josefsson  <simon@josefsson.org>
24607
24608         * lib/netdb.in.h: Don't define GNU specific constants until they
24609         are supported or needed.  Reported by Bruno Haible
24610         <bruno@clisp.org>.
24611
24612 2008-10-20  Simon Josefsson  <simon@josefsson.org>
24613
24614         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
24615
24616 2008-10-20  Simon Josefsson  <simon@josefsson.org>
24617
24618         * lib/getaddrinfo.h: Remove file.
24619         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
24620         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
24621         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
24622         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
24623         * modules/netdb: Substitute GNULIB_GETADDRINFO.
24624         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
24625         * tests/test-getaddrinfo.c: Likewise.
24626         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
24627         * NEWS: Mention change.
24628
24629 2008-10-19  Bruno Haible  <bruno@clisp.org>
24630
24631         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
24632
24633 2008-10-19  Bruno Haible  <bruno@clisp.org>
24634
24635         * lib/wait-process.c: Include simply <sys/wait.h>.
24636         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
24637         WIFSTOPPED): Remove fallback definitions.
24638         * modules/wait-process (Depends-on): Add sys_wait.
24639
24640         New module 'sys_wait'.
24641         * modules/sys_wait: New file.
24642         * lib/sys_wait.in.h: New file, partially copied from
24643         lib/wait-process.c.
24644         * m4/sys_wait_h.m4: New file.
24645         * doc/posix-headers/sys_wait.texi: Mention the new module.
24646
24647 2008-10-19  Bruno Haible  <bruno@clisp.org>
24648
24649         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
24650
24651 2008-10-19  Bruno Haible  <bruno@clisp.org>
24652
24653         Assume that waitpid() fills an 'int' status, not a 'union wait'.
24654         * lib/wait-process.c (WAIT_T): Remove type.
24655         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
24656         (wait_subprocess): Update.
24657
24658 2008-10-19  Bruno Haible  <bruno@clisp.org>
24659
24660         New module 'atoll'.
24661         * modules/atoll: New file.
24662         * lib/stdlib.in.h (atoll): New declaration.
24663         * lib/atoll.c: New file, from glibc with modifications.
24664         * m4/atoll.m4: New file.
24665         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
24666         HAVE_ATOLL.
24667         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
24668         * doc/posix-functions/atoll.texi: Mention the new module.
24669
24670 2008-10-19  Bruno Haible  <bruno@clisp.org>
24671
24672         Add strtoull() declaration to <stdlib.h>.
24673         * lib/stdlib.in.h (strtoull): New declaration.
24674         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
24675         Set HAVE_STRTOULL.
24676         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
24677         HAVE_STRTOULL.
24678         * modules/strtoull (Depends-on): Add stdlib.
24679         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24680         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
24681         HAVE_STRTOULL.
24682
24683 2008-10-19  Bruno Haible  <bruno@clisp.org>
24684
24685         Add strtoll() declaration to <stdlib.h>.
24686         * lib/stdlib.in.h (strtoll): New declaration.
24687         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
24688         Set HAVE_STRTOLL.
24689         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
24690         HAVE_STRTOLL.
24691         * modules/strtoll (Depends-on): Add stdlib.
24692         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24693         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
24694
24695 2008-10-19  Bruno Haible  <bruno@clisp.org>
24696
24697         * modules/bcopy (Depends-on): Add strings.
24698         (Include): Specify <strings.h>.
24699
24700 2008-10-19  Bruno Haible  <bruno@clisp.org>
24701
24702         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
24703
24704 2008-10-19  Bruno Haible  <bruno@clisp.org>
24705
24706         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
24707         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
24708         mingw.
24709
24710 2008-10-19  Bruno Haible  <bruno@clisp.org>
24711
24712         * lib/atanl.c: Don't include isnanl.h.
24713         * lib/cosl.c: Likewise.
24714         * lib/ldexpl.c: Likewise.
24715         * lib/logl.c: Likewise.
24716         * lib/sinl.c: Likewise.
24717         * lib/sqrtl.c: Likewise.
24718         * lib/tanl.c: Likewise.
24719
24720         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
24721         * lib/isnanf.h: Remove file.
24722         * lib/isnand.h: Remove file.
24723         * lib/isnanl.h: Remove file.
24724         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
24725         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
24726         macros.
24727         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
24728         HAVE_ISNANF, don't define it as a C macro.
24729         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
24730         HAVE_ISNAND, don't define it as a C macro.
24731         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
24732         HAVE_ISNANL, don't define it as a C macro.
24733         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
24734         HAVE_ISNAN[FDL].
24735         * modules/isnanf (Files): Remove lib/isnanf.h.
24736         (Depends-on): Add math.
24737         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24738         (Include): Specify <math.h> instead of isnanf.h.
24739         * modules/isnand (Files): Remove lib/isnand.h.
24740         (Depends-on): Add math.
24741         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24742         (Include): Specify <math.h> instead of isnand.h.
24743         * modules/isnanl (Files): Remove lib/isnanl.h.
24744         (Depends-on): Add math.
24745         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
24746         (Include): Specify <math.h> instead of isnanl.h.
24747         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
24748         HAVE_ISNAN[FDL].
24749         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
24750         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
24751         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
24752         * NEWS: Mention the change.
24753
24754 2008-10-18  Bruno Haible  <bruno@clisp.org>
24755
24756         Add getusershell(), setusershell(), endusershell() declarations to
24757         <unistd.h>.
24758         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
24759         declarations.
24760         * lib/getusershell.c: Include unistd.h.
24761         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
24762         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
24763         HAVE_GETUSERSHELL.
24764         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
24765         and HAVE_GETUSERSHELL.
24766         * modules/getusershell (Depends-on): Add unistd, extensions.
24767         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24768         (Include): Specify <unistd.h>.
24769         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
24770         HAVE_GETUSERSHELL.
24771
24772 2008-10-18  Bruno Haible  <bruno@clisp.org>
24773
24774         Add a getloadavg() declaration to <stdlib.h>.
24775         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
24776         getloadavg declaration.
24777         (getloadavg): New declaration.
24778         * lib/getloadavg.c: Include <stdlib.h> first.
24779         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
24780         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
24781         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
24782         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
24783         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
24784         * modules/getloadavg (Depends-on): Add stdlib, extensions.
24785         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
24786         (Include): Specify <stdlib.h>.
24787         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
24788         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
24789
24790 2008-10-18  Bruno Haible  <bruno@clisp.org>
24791
24792         * lib/dirchownmod.c: Don't include lchmod.h.
24793
24794         Move the lchmod() declaration to <sys/stat.h>.
24795         * lib/lchmod.h: Remove file.
24796         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
24797         (lchmod): New declaration, moved here from lib/lchown.h.
24798         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
24799         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
24800         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
24801         and HAVE_LCHMOD.
24802         * modules/lchmod (Files): Remove lib/lchmod.h.
24803         (Depends-on): Add sys_stat, extensions.
24804         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
24805         (Include): Specify <sys/stat.h> instead of lchmod.h.
24806         * modules/sys_stat (Depends-on): Add link-warning.
24807         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
24808         definition of GL_LINK_WARNING.
24809         * NEWS: Mention the change.
24810
24811 2008-10-18  Bruno Haible  <bruno@clisp.org>
24812
24813         * lib/fchdir.c: Don't include dirfd.h.
24814         * lib/fts.c: Likewise.
24815         * lib/getcwd.c: Likewise.
24816         * lib/glob.c: Likewise.
24817
24818         Move the dirfd() declaration to <dirent.h>.
24819         * lib/dirfd.h: Remove file.
24820         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
24821         (dirfd): New declaration.
24822         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
24823         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
24824         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
24825         HAVE_DECL_DIRFD.
24826         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
24827         HAVE_DECL_DIRFD.
24828         * modules/dirfd (Files): Remove lib/dirfd.h.
24829         (Depends-on): Add dirent, extensions.
24830         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
24831         (Include): Specify <dirent.h> instead of dirfd.h.
24832         * modules/dirent (Depends-on): Add link-warning.
24833         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
24834         definition of GL_LINK_WARNING.
24835         * NEWS: Mention the change.
24836
24837 2008-10-18  Bruno Haible  <bruno@clisp.org>
24838
24839         Move the euidaccess() declaration to <unistd.h>.
24840         * lib/euidaccess.h: Remove file.
24841         * lib/unistd.in.h (euidaccess): New declaration.
24842         * lib/euidaccess.c: Don't include euidaccess.h.
24843         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
24844         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
24845         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
24846         and HAVE_EUIDACCESS.
24847         * modules/euidaccess (Files): Remove lib/euidaccess.h.
24848         (Depends-on): Add unistd.
24849         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24850         (Include): Specify <unistd.h> instead of euidaccess.h.
24851         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
24852         HAVE_EUIDACCESS.
24853         * NEWS: Mention the change.
24854
24855 2008-10-18  Bruno Haible  <bruno@clisp.org>
24856
24857         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
24858
24859         Move the getdomainname() declaration to <unistd.h>.
24860         * lib/getdomainname.h: Remove file.
24861         * lib/unistd.in.h (getdomainname): New declaration.
24862         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
24863         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
24864         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
24865         HAVE_GETDOMAINNAME.
24866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
24867         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
24868         * modules/getdomainname (Files): Remove lib/getdomainname.h.
24869         (Depends-on): Add unistd, extensions.
24870         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
24871         (Includes): Specify <unistd.h> instead of getdomainname.h.
24872         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
24873         HAVE_GETDOMAINNAME.
24874         * NEWS: Mention the change.
24875
24876 2008-10-18  Bruno Haible  <bruno@clisp.org>
24877
24878         * modules/dirent: New file.
24879         * m4/dirent_h.m4: New file.
24880         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
24881         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
24882         * modules/fchdir (Files): Remove lib/dirent.in.h.
24883         (Depends-on): Add dirent.
24884         (Makefile.am): Move rules to modules/dirent.
24885         * doc/posix-headers/dirent.texi: Mention the new module.
24886
24887 2008-10-18  Bruno Haible  <bruno@clisp.org>
24888
24889         Avoid -Wunused-parameter warnings in public gnulib header files.
24890         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
24891         macro.
24892         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
24893
24894 2008-10-18  Bruno Haible  <bruno@clisp.org>
24895
24896         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
24897         * doc/glibc-functions/error.texi: Mention the module 'error'.
24898         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
24899         * doc/glibc-functions/getdomainname.texi: Mention the module
24900         'getdomainname'.
24901         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
24902         * doc/glibc-functions/getpagesize.texi: Mention the module
24903         'getpagesize'.
24904         * doc/glibc-functions/getusershell.texi: Mention the module
24905         'getusershell'.
24906         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
24907         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
24908         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
24909         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
24910         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
24911         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
24912         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
24913         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
24914         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
24915         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
24916         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
24917         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
24918         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
24919         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
24920
24921 2008-10-17  Bruno Haible  <bruno@clisp.org>
24922
24923         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
24924         HP-UX and IRIX, use -0.0L.
24925         * tests/test-ceill.c (minus_zero): Likewise.
24926         * tests/test-floorl.c (minus_zero): Likewise.
24927         * tests/test-frexpl.c (minus_zero): Likewise.
24928         * tests/test-isnan.c (minus_zerol): Likewise.
24929         * tests/test-isnanl.h (minus_zero): Likewise.
24930         * tests/test-ldexpl.c (minus_zero): Likewise.
24931         * tests/test-roundl.c (minus_zero): Likewise.
24932         * tests/test-signbit.c (minus_zerol): Likewise.
24933         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
24934         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
24935         * tests/test-truncl.c (minus_zero): Likewise.
24936         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
24937         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
24938         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
24939         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
24940
24941 2008-10-17  Bruno Haible  <bruno@clisp.org>
24942
24943         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
24944         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
24945         that it gets activated only for gcc >= 3.0.
24946         * lib/dirent.in.h: Likewise.
24947         * lib/errno.in.h: Likewise.
24948         * lib/fcntl.in.h: Likewise.
24949         * lib/float.in.h: Likewise.
24950         * lib/iconv.in.h: Likewise.
24951         * lib/inttypes.in.h: Likewise.
24952         * lib/locale.in.h: Likewise.
24953         * lib/math.in.h: Likewise.
24954         * lib/netdb.in.h: Likewise.
24955         * lib/netinet_in.in.h: Likewise.
24956         * lib/search.in.h: Likewise.
24957         * lib/signal.in.h: Likewise.
24958         * lib/spawn.in.h: Likewise.
24959         * lib/stdarg.in.h: Likewise.
24960         * lib/stdint.in.h: Likewise.
24961         * lib/stdio.in.h: Likewise.
24962         * lib/stdlib.in.h: Likewise.
24963         * lib/string.in.h: Likewise.
24964         * lib/strings.in.h: Likewise.
24965         * lib/sys_file.in.h: Likewise.
24966         * lib/sys_ioctl.in.h: Likewise.
24967         * lib/sys_select.in.h: Likewise.
24968         * lib/sys_socket.in.h: Likewise.
24969         * lib/sys_stat.in.h: Likewise.
24970         * lib/sys_time.in.h: Likewise.
24971         * lib/sysexits.in.h: Likewise.
24972         * lib/time.in.h: Likewise.
24973         * lib/unistd.in.h: Likewise.
24974         * lib/wchar.in.h: Likewise.
24975         * lib/wctype.in.h: Likewise.
24976         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
24977
24978 2008-10-17  Jim Meyering  <meyering@redhat.com>
24979
24980         ignore-value: don't depend on inline module
24981         * modules/ignore-value (Depends-on): Remove 'inline'.
24982         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
24983         Suggestion from Bruno Haible.
24984
24985 2008-10-17  Bruno Haible  <bruno@clisp.org>
24986
24987         New implementation of condition variables for Win32.
24988         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
24989         (gl_linked_waitqueue_t): New type.
24990         (gl_cond_t): Use it.
24991         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
24992         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
24993         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
24994         (glthread_cond_init_func, glthread_cond_wait_func,
24995         glthread_cond_timedwait_func, glthread_cond_signal_func,
24996         glthread_cond_broadcast_func, glthread_cond_destroy_func):
24997         Reimplemented on the basis of gl_linked_waitqueue_t.
24998         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
24999         gl_waitqueue_t.
25000         (gl_rwlock_t): Update.
25001         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
25002
25003 2008-10-17  Simon Josefsson  <simon@josefsson.org>
25004
25005         * modules/recvfrom (Depends-on): Add dependency on getpeername.
25006         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
25007
25008 2008-10-17  Jim Meyering  <meyering@redhat.com>
25009
25010         ignore-value: new module
25011         * modules/ignore-value: New file.
25012         * lib/ignore-value.h: New file.
25013         * MODULES.html.sh (Compiler warning management): New section,
25014         just for this module.  More to come.
25015
25016 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
25017
25018         open-safer.c: avoid 'signed and unsigned in conditional...' warning
25019         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
25020         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
25021
25022 2008-10-16  Jim Meyering  <meyering@redhat.com>
25023
25024         openat-die.c: avoid 'no previous prototype' warning
25025         * lib/openat-die.c: Include "openat.h".
25026         Reported by Reuben Thomas <rrt@sc3d.org>.
25027
25028 2008-10-16  Simon Josefsson  <simon@josefsson.org>
25029
25030         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
25031         * lib/netdb.in.h: Fix typo.
25032         Reported by Bruno Haible  <bruno@clisp.org>
25033
25034         * lib/netdb.in.h: Include sys/socket.h for platforms without
25035         netdb.h, to get structures like hostent on MinGW.
25036         * modules/netdb (Depends-on): Add sys_socket.
25037
25038 2008-10-15  Simon Josefsson  <simon@josefsson.org>
25039
25040         * modules/netdb, modules/netdb-tests: New file.
25041         * m4/netdb_h.m4: New file.
25042         * lib/netdb.in.h: Add, currently just an empty file pending
25043         definitions.
25044         * tests/test-netdb.c: New file.
25045         * doc/posix-headers/netdb.texi: Mention that we replace it if
25046         needed.
25047         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
25048         netdb.
25049
25050 2008-10-15  Simon Josefsson  <simon@josefsson.org>
25051
25052         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
25053         with code.
25054
25055 2008-10-13  Bruno Haible  <bruno@clisp.org>
25056
25057         * lib/glthread/cond.c (glthread_cond_wait_func,
25058         glthread_cond_timedwait_func): Add a comment.
25059
25060 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
25061
25062         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
25063         * tests/test-select.c: Likewise,
25064
25065 2008-10-13  Bruno Haible  <bruno@clisp.org>
25066
25067         * lib/glthread/cond.c (glthread_cond_wait_func,
25068         glthread_cond_timedwait_func): Fix variable name.
25069         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
25070
25071 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
25072
25073         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
25074         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
25075         struct sockaddr.sa_len.
25076         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
25077
25078 2008-10-13  Simon Josefsson  <simon@josefsson.org>
25079
25080         * build-aux/pmccabe2html: Add css and css_url parameters.
25081
25082 2008-10-12  Bruno Haible  <bruno@clisp.org>
25083
25084         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
25085         calling aclx_get.
25086         Reported by Rainer Tammer <tammer@tammer.net>.
25087
25088 2008-10-12  Bruno Haible  <bruno@clisp.org>
25089
25090         Use msvcrt aware primitives for creation/termination of Win32 threads.
25091         * lib/glthread/thread.c: Include <process.h>.
25092         (glthread_create_func): Use _beginthreadex instead of CreateThread.
25093         (wrapper_func): Update signature.
25094         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
25095
25096 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
25097             Bruno Haible  <bruno@clisp.org>
25098
25099         Provide a Win32 implementation of the 'cond' module.
25100         * lib/glthread/cond.h [USE_WIN32]: New implementation.
25101         * lib/glthread/cond.c (glthread_cond_init_func,
25102         glthread_cond_wait_func, glthread_cond_timedwait_func,
25103         glthread_cond_signal_func, glthread_cond_broadcast_func,
25104         glthread_cond_destroy_func) [USE_WIN32]: New functions.
25105         * modules/cond (Dependencies): Add gettimeofday.
25106
25107 2008-10-11  Bruno Haible  <bruno@clisp.org>
25108
25109         Make sleep work on older versions of mingw.
25110         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
25111         only whether it exists.
25112         * doc/posix-functions/sleep.texi: Mention the problem with older
25113         versions of mingw.
25114
25115 2008-10-11  Bruno Haible  <bruno@clisp.org>
25116
25117         New module 'shutdown'.
25118         * modules/shutdown: New file.
25119         * lib/sys_socket.in.h (shutdown): New declaration.
25120         * lib/winsock.c (shutdown): New function.
25121         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
25122         GNULIB_SHUTDOWN.
25123         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
25124         * doc/posix-functions/shutdown.texi: Document the new module.
25125
25126 2008-10-11  Jim Meyering  <meyering@redhat.com>
25127
25128         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
25129
25130 2008-10-11  Bruno Haible  <bruno@clisp.org>
25131
25132         New module 'fclose'.
25133         * modules/fclose: New file.
25134         * lib/stdio.in.h (fclose): New declaration.
25135         * lib/fclose.c: New file.
25136         * m4/fclose.m4: New file.
25137         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
25138         REPLACE_FCLOSE.
25139         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
25140         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
25141         REPLACE_FCLOSE.
25142         * modules/close (Depends-on): fclose.
25143         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
25144
25145 2008-10-11  Bruno Haible  <bruno@clisp.org>
25146
25147         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
25148         set errno and don't call _close.
25149
25150 2008-10-10  Bruno Haible  <bruno@clisp.org>
25151
25152         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
25153         ACL, not afterwards. Fixes test failure on Cygwin.
25154
25155 2008-10-09  Ben Pfaff  <blp@gnu.org>
25156
25157         * build-aux/announce-gen: Fix gnulib version related part of usage
25158         message.  Die with a useful error message if no tarballs are
25159         found.
25160
25161 2008-10-10  Jim Meyering  <meyering@redhat.com>
25162
25163         bootstrap: use git's --depth=N option only if it's supported
25164         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
25165         recognize the --depth option.  Reported by Pádraig Brady.
25166
25167 2008-10-09  Bruno Haible  <bruno@clisp.org>
25168
25169         New module 'ioctl'.
25170         * modules/ioctl: New file.
25171         * lib/sys_socket.in.h (ioctl): Remove declaration.
25172         * lib/winsock.c: Include <sys/ioctl.h>.
25173         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
25174         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
25175         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
25176         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
25177         * doc/posix-functions/ioctl.texi: Mention the new module.
25178
25179 2008-10-09  Bruno Haible  <bruno@clisp.org>
25180
25181         New module 'sys_ioctl'.
25182         * lib/sys_ioctl.in.h: New file.
25183         * m4/sys_ioctl_h.m4: New file.
25184         * modules/sys_ioctl: New file.
25185         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
25186
25187 2008-10-09  Bruno Haible  <bruno@clisp.org>
25188
25189         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
25190         * lib/winsock.c: Include <stdarg.h>.
25191         (rpl_ioctl): Change to second argument 'int' and then varargs.
25192
25193 2008-10-09  Bruno Haible  <bruno@clisp.org>
25194
25195         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
25196         when the sys_socket module is present and the system has <winsock2.h>.
25197
25198 2008-10-09  Bruno Haible  <bruno@clisp.org>
25199
25200         * doc/posix-functions/close.texi: Mention module 'close' instead of
25201         module 'sys_socket'.
25202
25203 2008-10-09  Bruno Haible  <bruno@clisp.org>
25204
25205         * doc/glibc-headers/sys_ioctl.texi: New file.
25206         * doc/gnulib.texi: Include it.
25207
25208 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
25209             Bruno Haible  <bruno@clisp.org>
25210
25211         Combine the two replacements of 'close'.
25212         * lib/sys_socket.in.h (close): Define to a reminder to include
25213         <unistd.h>.
25214         (_gl_close_fd_maybe_socket): New declaration.
25215         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
25216         * lib/winsock.c (close): Remove undefinition.
25217         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
25218         needed for the gnulib module 'close'.
25219         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
25220         define to an error symbol or to a warning, if suitable.
25221         * lib/close.c: Include <sys/socket.h>.
25222         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
25223         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
25224         UNISTD_H_HAVE_WINSOCK2_H.
25225         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
25226         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25227         UNISTD_H_HAVE_WINSOCK2_H.
25228         * modules/sys_socket (Files): Add m4/unistd_h.m4.
25229         (configure.ac): Set a module indicator.
25230         (Makefile.am): Substitute GNULIB_CLOSE.
25231         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
25232         * modules/poll-tests (Depends-on): Add close.
25233         * modules/select-tests (Depends-on): Likewise.
25234
25235 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
25236             Bruno Haible  <bruno@clisp.org>
25237
25238         New module 'close'.
25239         * modules/close: New file.
25240         * lib/unistd.in.h (close): Move declaration out of the
25241         FCHDIR_REPLACEMENT scope.
25242         (_gl_unregister_fd): New declaration.
25243         * lib/close.c: New file.
25244         * lib/fchdir.c (rpl_close): Remove function.
25245         * m4/close.m4: New file.
25246         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
25247         close.
25248         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
25249         REPLACE_CLOSE.
25250         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
25251         REPLACE_CLOSE.
25252         * modules/fchdir (Depends-on): Add close.
25253
25254 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
25255             Bruno Haible  <bruno@clisp.org>
25256
25257         * lib/fcntl.in.h (open): Simplify conditionals.
25258         (_gl_register_fd): New declaration.
25259         * lib/fchdir.c (rpl_open): Remove function.
25260         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
25261         also.
25262         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
25263         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
25264         open.
25265
25266 2008-10-09  Jim Meyering  <meyering@redhat.com>
25267
25268         GNUmakefile: use the more name-space-friendly "_version"
25269         * top/GNUmakefile (_dummy): Update.
25270         (_version): Rename from "version".
25271
25272 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
25273             Bruno Haible  <bruno@clisp.org>
25274
25275         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
25276         rpl_close.
25277         (_gl_register_fd): New function, extracted from rpl_open.
25278         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
25279         (rpl_open, rpl_opendir): Use _gl_register_fd.
25280
25281 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
25282
25283         Fix organization of 'open' replacement.
25284         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
25285         (gl_FUNC_OPEN): Use it.
25286         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
25287
25288 2008-10-08  Bruno Haible  <bruno@clisp.org>
25289
25290         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
25291
25292 2008-10-08  Simon Josefsson  <simon@josefsson.org>
25293
25294         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
25295         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
25296         listen).
25297
25298 2008-10-08  Eric Blake  <ebb9@byu.net>
25299
25300         GNUmakefile: add 'make version' target
25301         * top/GNUmakefile (_curr-ver): Split version update rules...
25302         (version): ...into a target.
25303
25304 2008-10-07  Bruno Haible  <bruno@clisp.org>
25305
25306         Use a more portable replacement expression for -0.0L.
25307         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
25308         instead of -0.0L. Fix m4 quotation.
25309
25310         * tests/test-signbit.c: Include <float.h>.
25311         (minus_zero): New variable.
25312         (test_signbitl): Use minus_zero instead of -zero.
25313         * modules/signbit-tests (Depends-on): Add float.
25314
25315         * tests/test-ceill.c: Include <float.h>.
25316         (zero): Remove variable.
25317         (minus_zero): New variable.
25318         (main): Use minus_zero instead of -zero.
25319         * modules/ceill-tests (Depends-on): Add float.
25320
25321         * tests/test-floorl.c: Include <float.h>.
25322         (zero): Remove variable.
25323         (minus_zero): New variable.
25324         (main): Use minus_zero instead of -zero.
25325         * modules/floorl-tests (Depends-on): Add float.
25326
25327         * tests/test-roundl.c: Include <float.h>.
25328         (zero): Remove variable.
25329         (minus_zero): New variable.
25330         (main): Use minus_zero instead of -zero.
25331         * modules/roundl-tests (Depends-on): Add float.
25332
25333         * tests/test-truncl.c: Include <float.h>.
25334         (zero): Remove variable.
25335         (minus_zero): New variable.
25336         (main): Use minus_zero instead of -zero.
25337         * modules/truncl-tests (Depends-on): Add float.
25338
25339         * tests/test-frexpl.c (zero): Remove variable.
25340         (minus_zero): New variable.
25341         (main): Use minus_zero instead of -zero.
25342         * modules/frexpl-tests (Depends-on): Add float.
25343
25344         * tests/test-isnan.c (zerol): Remove variable.
25345         (minus_zerol): New variable.
25346         (test_long_double): Use minus_zerol instead of -zerol.
25347         * modules/isnan-tests (Depends-on): Add float.
25348
25349         * tests/test-isnanl.h (zero): Remove variable.
25350         (minus_zero): New variable.
25351         (main): Use minus_zero instead of -zero.
25352         * modules/isnanl-nolibm-tests (Depends-on): Add float.
25353         * modules/isnanl-tests (Depends-on): Add float.
25354
25355         * tests/test-ldexpl.c (zero): Remove variable.
25356         (minus_zero): New variable.
25357         (main): Use minus_zero instead of -zero.
25358         * modules/ldexpl-tests (Depends-on): Add float.
25359
25360         * tests/test-snprintf-posix.h (zerol): Remove variable.
25361         (minus_zerol): New variable.
25362         (test_function): Use minus_zerol instead of -zerol.
25363         * modules/snprintf-posix-tests (Depends-on): Add float.
25364         * modules/vsnprintf-posix-tests (Depends-on): Add float.
25365
25366         * tests/test-sprintf-posix.h (zerol): Remove variable.
25367         (minus_zerol): New variable.
25368         (test_function): Use minus_zerol instead of -zerol.
25369         * modules/sprintf-posix-tests (Depends-on): Add float.
25370         * modules/vsprintf-posix-tests (Depends-on): Add float.
25371
25372         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
25373         (minus_zerol): New variable.
25374         (test_function): Use minus_zerol instead of -zerol.
25375         * modules/vasnprintf-posix-tests (Depends-on): Add float.
25376
25377         * tests/test-vasprintf-posix.c (zerol): Remove variable.
25378         (minus_zerol): New variable.
25379         (test_function): Use minus_zerol instead of -zerol.
25380         * modules/vasprintf-posix-tests (Depends-on): Add float.
25381
25382 2008-10-07  Simon Josefsson  <simon@josefsson.org>
25383
25384         * MODULES.html.sh (Support for building documentation): Mention
25385         pmccabe2html.  Sort entries.
25386
25387         Add pmccabe2html module, from gnupdf.
25388         * build-aux/pmccabe.css: New file.
25389         * build-aux/pmccabe2html: New file.
25390         * m4/pmccabe2html.m4: New file.
25391         * modules/pmccabe2html: New file.
25392
25393 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
25394
25395         flock: new module
25396         * MODULES.html.sh: Add to list of modules.
25397         * lib/flock.c: flock implementation for Windows and Unix systems
25398         which have fcntl.
25399         * doc/glibc-functions/flock.texi: Update documentation.
25400         * lib/sys_file.in.h: <sys/file.h> header file.
25401         * m4/flock.m4: M4 macros.
25402         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
25403         * modules/flock: flock module.
25404         * modules/flock-tests: flock tests module.
25405         * modules/sys_file: sys/file.h module.
25406         * tests/test-flock.c: test suite for flock.
25407
25408 2008-10-06  Jim Meyering  <meyering@redhat.com>
25409
25410         bootstrap: check for LT_INIT more portably still ;-)
25411         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
25412         Spotted by Bruno Haible.
25413
25414 2008-10-06  Eric Blake  <ebb9@byu.net>
25415
25416         test-signbit: avoid tripping Irix cc bug on -0.0L
25417         * tests/test-signbit.c (minus_zerol): Delete, and replace with
25418         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
25419         entire testsuite consistent and avoids an Irix 6.2 bug.
25420
25421 2008-10-05  Bruno Haible  <bruno@clisp.org>
25422             Jim Meyering  <jim@meyering.net>
25423
25424         Add an option for ignoring EPIPE during close_stdout.
25425         * lib/closeout.h: Include <stdbool.h>.
25426         (close_stdout_set_ignore_EPIPE): New declaration.
25427         * lib/closeout.c: Include <stdbool.h>.
25428         (ignore_EPIPE): New variable.
25429         (close_stdout_set_ignore_EPIPE): New function.
25430         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
25431         * lib/close-stream.c (close_stream): Mention the possible EPIPE
25432         failure.
25433         * modules/closeout (Depends-on): Add stdbool.
25434
25435 2008-10-05  Bruno Haible  <bruno@clisp.org>
25436
25437         * modules/accept: New file.
25438         * modules/bind: New file.
25439         * modules/connect: New file.
25440         * modules/getpeername: New file.
25441         * modules/getsockname: New file.
25442         * modules/getsockopt: New file.
25443         * modules/listen: New file.
25444         * modules/recv: New file.
25445         * modules/recvfrom: New file.
25446         * modules/send: New file.
25447         * modules/sendto: New file.
25448         * modules/setsockopt: New file.
25449         * modules/socket: New file.
25450         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
25451         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
25452         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
25453         the particular module is requested. Add a link warning when the
25454         particular module is not requested.
25455         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
25456         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
25457         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
25458         the particular module is requested.
25459         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
25460         gl_SYS_SOCKET_H_DEFAULTS): New macros.
25461         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
25462         * modules/sys_socket (Depends-on): Add link-warning.
25463         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
25464         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
25465         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
25466         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
25467         GL_LINK_WARNING.
25468         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
25469         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
25470         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
25471         * doc/posix-functions/getpeername.texi: Mention the new module
25472         'getpeername'.
25473         * doc/posix-functions/getsockname.texi: Mention the new module
25474         'getsockname'.
25475         * doc/posix-functions/getsockopt.texi: Mention the new module
25476         'getsockopt'.
25477         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
25478         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
25479         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
25480         * doc/posix-functions/send.texi: Mention the new module 'send'.
25481         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
25482         * doc/posix-functions/setsockopt.texi: Mention the new module
25483         'setsockopt'.
25484         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
25485         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
25486         listen, connect, accept.
25487         * modules/select-tests (Depends-on): Likewise.
25488
25489 2008-10-05  Bruno Haible  <bruno@clisp.org>
25490
25491         * lib/winsock.c (strerror): Remove unused #undef.
25492         (rpl_close): Remove unused local variable.
25493
25494         * modules/sys_socket (Depends-on); Add errno.
25495
25496 2008-10-05  Bruno Haible  <bruno@clisp.org>
25497
25498         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
25499         (select): Add a link warning when the 'select' module is not used.
25500         * modules/sys_select (Depends-on): Add link-warning.
25501         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
25502         Suggested by Paolo Bonzini.
25503
25504 2008-10-05  Jim Meyering  <meyering@redhat.com>
25505
25506         bootstrap: check for LT_INIT more portably
25507         * build-aux/bootstrap: Avoid using grep -E, since it's not
25508         portable enough.  Suggestion from Bruno Haible.
25509
25510 2008-10-05  Bruno Haible  <bruno@clisp.org>
25511
25512         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
25513         as being fixed by gnulib.
25514
25515 2008-10-05  Bruno Haible  <bruno@clisp.org>
25516
25517         * modules/select-tests: New file, mostly copied from
25518         modules/sys_select-tests.
25519         * tests/test-select.c: New file, mostly copied from
25520         tests/test-sys_select.c.
25521         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
25522         * modules/sys_select-tests (Depends-on): Remove all dependencies.
25523         (Makefile.am): Remove test_sys_select_LDADD.
25524
25525         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
25526         to an undefined symbol, for an error message.
25527         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
25528         (gl_SYS_SELECT_H_DEFAULTS): New macro.
25529         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
25530         winsock-select.c here.
25531         * modules/sys_select (Files): Remove lib/winsock-select.c.
25532         (Depends-on): Remove alloca.
25533         (Makefile.am): Substitute GNULIB_SELECT.
25534         * modules/select: New file.
25535         * doc/posix-functions/select.texi: Update.
25536
25537 2008-10-05  Bruno Haible  <bruno@clisp.org>
25538
25539         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
25540         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
25541         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
25542         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
25543         getdtablesize.
25544         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
25545         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
25546
25547 2008-10-05  Bruno Haible  <bruno@clisp.org>
25548
25549         * modules/getdtablesize-tests: New file.
25550         * tests/test-getdtablesize.c: New file.
25551
25552         New module 'getdtablesize'.
25553         * lib/unistd.in.h (getdtablesize): New declaration.
25554         * lib/getdtablesize.c: New file.
25555         * m4/getdtablesize.m4: New file.
25556         * modules/getdtablesize: New file.
25557         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
25558         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
25559         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
25560         HAVE_GETDTABLESIZE.
25561         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
25562
25563 2008-10-05  Bruno Haible  <bruno@clisp.org>
25564
25565         * modules/sched (Makefile.am): Fix typo.
25566         Reported by Simon Josefsson.
25567
25568 2008-10-05  Jim Meyering  <meyering@redhat.com>
25569
25570         bootstrap: check for LT_INIT, too
25571         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
25572         are deprecated.  Suggestion from Ralf Wildenhues.
25573
25574 2008-10-05  Bruno Haible  <bruno@clisp.org>
25575
25576         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
25577         overriding them by ours.
25578         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
25579
25580 2008-10-05  Jim Meyering  <meyering@redhat.com>
25581
25582         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
25583         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
25584         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
25585
25586 2008-10-04  Bruno Haible  <bruno@clisp.org>
25587
25588         * modules/dup2 (License): Change to LGPLv2+.
25589         * modules/sleep (License): Likewise.
25590         * modules/perror (License): Likewise.
25591         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
25592         Blake.
25593         * modules/signal (License): Likewise.
25594         * modules/sigprocmask (License): Likewise.
25595         * modules/raise (License): Change to LGPLv2+, with approval by Jim
25596         Meyering.
25597
25598 2008-10-04  Bruno Haible  <bruno@clisp.org>
25599
25600         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
25601         Reported by Rainer Tammer <tammer@tammer.net>.
25602
25603 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
25604             Bruno Haible  <bruno@clisp.org>
25605
25606         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
25607         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
25608         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
25609
25610 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
25611
25612         filevercmp: new module
25613         * lib/filevercmp.h: New function filevercmp comparing version strings.
25614         * lib/filevercmp.c: Implementation of filevercmp function.
25615         * modules/filevercmp: Module metadata.
25616         * tests/test-filevercmp.c: Unit test for new module.
25617         * modules/filevercmp-tests: Unit test metadata.
25618         * MODULES.html.sh: Add filevercmp module.
25619
25620 2008-10-03  Bruno Haible  <bruno@clisp.org>
25621
25622         * lib/c-ctype.h: Add comment.
25623         Reported by Jim Meyering.
25624
25625 2008-10-02  Bruno Haible  <bruno@clisp.org>
25626
25627         * modules/posix_spawn-internal (Depends-on): Add 'open'.
25628
25629 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
25630
25631         * build-aux/bootstrap: Allow renaming bootstrap, and change the
25632         name of bootstrap.conf accordingly.
25633
25634 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
25635
25636         * build-aux/bootstrap: Install git-merge-changelog configuration
25637         items into .gitconfig if needed.
25638
25639 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
25640
25641         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
25642         git repository, and initialize/update it accordingly.
25643
25644 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
25645
25646         * modules/fsync-tests: New file.
25647         * tests/test-fsync.c: New file.
25648
25649         New module 'fsync'.
25650         * lib/fsync.c: New file.
25651         * m4/fsync.m4: New file.
25652         * modules/fsync: New file.
25653         * lib/unistd.in.h (fsync): New declaration.
25654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
25655         GNULIB_FSYNC and HAVE_FSYNC.
25656         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
25657         * MODULES.html.sh (posix_functions): Add fsync.
25658         * doc/posix-functions/fsync.texi: Mention the new module.
25659
25660 2008-10-02  Jim Meyering  <meyering@redhat.com>
25661
25662         fts.c: sync with similar code from coreutils' remove.c
25663         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
25664         Guard also with "#if defined __linux__", since for now at least,
25665         this code is Linux-kernel-specific.
25666
25667 2008-10-02  Jim Meyering  <meyering@redhat.com>
25668
25669         fts: bug fixes
25670         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
25671         Include <sys/vfs.h>, not <sys/statfs.h>.
25672
25673         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
25674         Include <sys/vfs.h>, not <sys/statfs.h>.
25675
25676 2008-10-01  Bruno Haible  <bruno@clisp.org>
25677
25678         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
25679         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
25680         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
25681         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
25682         * doc/posix-functions/posix_spawnp.texi: Likewise.
25683         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
25684         whether posix_spawn actually works.
25685         * m4/pipe.m4 (gl_PIPE): Likewise.
25686         * modules/execute (Files): Add m4/posix_spawn.m4.
25687         * modules/pipe (Files): Add m4/posix_spawn.m4.
25688         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
25689
25690 2008-10-01  Jim Meyering  <meyering@redhat.com>
25691
25692         remove trailing spaces
25693         * NEWS: Likewise.
25694         * lib/poll.c (poll): Likewise.
25695         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
25696         * lib/winsock.c (rpl_close): Likewise.
25697         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
25698         * modules/yield: Likewise.
25699         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
25700         * tests/test-sys_select.c (connect_to_socket): Likewise.
25701
25702         fts.c: adjust a new interface to be more generally useful
25703         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
25704         (fts_build): Adjust caller.
25705
25706 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25707
25708         * modules/cond-tests: New file.
25709         * tests/test-cond.c: New file.
25710
25711 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25712             Bruno Haible  <bruno@clisp.org>
25713
25714         * modules/cond (Dependencies): Add errno, time.
25715         * lib/glthread/cond.h: Include <time.h>.
25716         (gl_cond_define, gl_cond_define_initialized): Use the same definition
25717         across platforms.
25718
25719 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25720             Bruno Haible  <bruno@clisp.org>
25721
25722         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
25723
25724 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25725             Bruno Haible  <bruno@clisp.org>
25726
25727         * modules/tls-tests (Depends-on): Add thread, yield.
25728         (configure.ac): Remove all checks.
25729         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
25730         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
25731         gl_thread_self): Remove definitions. Include glthread/thread.h and
25732         glthread/yield.h instead.
25733         (test_tls): Pass an additional NULL argument to gl_thread_join.
25734
25735 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25736             Bruno Haible  <bruno@clisp.org>
25737
25738         * modules/lock-tests (Depends-on): Add thread, yield.
25739         (configure.ac): Remove all checks.
25740         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
25741         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
25742         gl_thread_self): Remove definitions. Include glthread/thread.h and
25743         glthread/yield.h instead.
25744         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
25745         additional NULL argument to gl_thread_join.
25746
25747 2008-09-30  Bruno Haible  <bruno@clisp.org>
25748
25749         Fix the Win32 implementation of the 'thread' module.
25750         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
25751         pointer type.
25752         (gl_thread_self): Invoke gl_thread_self_func.
25753         (gl_thread_self_func): New declaration.
25754         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
25755         (do_init_self_key, init_self_key): New functions.
25756         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
25757         Remove some fields.
25758         (running_threads, running_lock): Remove variables.
25759         (get_current_thread_handle): New function.
25760         (gl_thread_self_func, wrapper_func, glthread_create_func,
25761         glthread_join_func, gl_thread_exit_func): Largely rewritten and
25762         simplified.
25763
25764 2008-09-30  Bruno Haible  <bruno@clisp.org>
25765
25766         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
25767         files.
25768
25769 2008-09-30  Jim Meyering  <meyering@redhat.com>
25770
25771         fts.m4: correct the test for statfs.f_type
25772         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
25773         when checking for statfs.f_type.
25774
25775 2008-09-15  Simon Josefsson  <simon@josefsson.org>
25776
25777         tests: avoid some compiler warnings
25778         * tests/test-memchr.c (main): Pass NULL indirectly.
25779         * tests/test-getdate.c (main): Remove unused variable 'ret'.
25780
25781 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
25782
25783         getdate.y: disallow countable dayshifts like "4 yesterday ago"
25784         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
25785         exactly specified dayshifts.
25786         (dayshift): New rule.
25787         (rel): Add dayshift.
25788         (relative_time_table) [tomorrow, yesterday, today, now]:
25789         Use tDAY_SHIFT in place of tDAY_UNIT.
25790         * tests/test-getdate.c: Add tests for now-disallowed countable
25791         dayshifts, e.g., "4 yesterday ago".
25792
25793 2008-09-29  Bruno Haible  <bruno@clisp.org>
25794
25795         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
25796         * tests/test-posix_spawn1.in.sh: Renamed from
25797         tests/test-posix_spawn.in.sh.
25798         * tests/test-posix_spawn2.c: New file.
25799         * tests/test-posix_spawn2.in.sh: New file.
25800         * modules/posix_spawnp-tests (Files): Update.
25801         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
25802
25803 2008-09-29  Bruno Haible  <bruno@clisp.org>
25804
25805         Propagate effects of putenv/setenv/unsetenv to child processes.
25806         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
25807         * lib/pipe.c (create_pipe): Likewise.
25808
25809 2008-09-29  Bruno Haible  <bruno@clisp.org>
25810
25811         Enable use of shell scripts as executables in mingw.
25812         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
25813         run the program as a shell script.
25814         * lib/pipe.c (create_pipe): Likewise.
25815         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
25816         resulting array.
25817
25818 2008-09-29  Eric Blake  <ebb9@byu.net>
25819
25820         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
25821
25822 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
25823
25824         * doc/posix-functions/accept.texi: Update mingw problems.
25825         * doc/posix-functions/bind.texi: Update mingw problems.
25826         * doc/posix-functions/close.texi: Update mingw problems.
25827         * doc/posix-functions/connect.texi: Update mingw problems.
25828         * doc/posix-functions/getpeername.texi: Update mingw problems.
25829         * doc/posix-functions/getsockname.texi: Update mingw problems.
25830         * doc/posix-functions/getsockopt.texi: Update mingw problems.
25831         * doc/posix-functions/ioctl.texi: Update mingw problems.
25832         * doc/posix-functions/listen.texi: Update mingw problems.
25833         * doc/posix-functions/recv.texi: Update mingw problems.
25834         * doc/posix-functions/recvfrom.texi: Update mingw problems.
25835         * doc/posix-functions/select.texi: Update mingw problems.
25836         * doc/posix-functions/send.texi: Update mingw problems.
25837         * doc/posix-functions/sendto.texi: Update mingw problems.
25838         * doc/posix-functions/setsockopt.texi: Update mingw problems.
25839         * doc/posix-functions/socket.texi: Update mingw problems.
25840
25841 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
25842             Bruno Haible  <bruno@clisp.org>
25843
25844         * lib/sys_select.in.h: Include sys/time.h.
25845         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
25846         * modules/sys_select: Depend on sys_time.
25847         * tests/test-sys_select.c: Test that sys/select.h defines struct
25848         timeval fully.
25849
25850 2008-09-29  Bruno Haible  <bruno@clisp.org>
25851
25852         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
25853         * lib/sys_select.in.h: Likewise.
25854
25855 2008-09-29  Bruno Haible  <bruno@clisp.org>
25856
25857         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
25858
25859 2008-09-29  Bruno Haible  <bruno@clisp.org>
25860
25861         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
25862         Set LIBSOCKET instead of augmenting LIBS.
25863         * modules/sockets (Link): New section.
25864         * modules/sockets-tests (test_sockets_LDADD): New variable.
25865         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
25866         * modules/poll-tests (test_poll_LDADD): New variable.
25867         * NEWS: Document the change.
25868
25869 2008-09-29  Bruno Haible  <bruno@clisp.org>
25870
25871         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
25872         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
25873         ARPA_INET_H directly.
25874         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
25875
25876 2008-09-28  Bruno Haible  <bruno@clisp.org>
25877
25878         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
25879         from gl_HEADER_SYS_SOCKET.
25880         (gl_HEADER_SYS_SOCKET): Invoke it.
25881         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25882
25883 2008-09-28  Bruno Haible  <bruno@clisp.org>
25884
25885         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
25886         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
25887         Needed on OSF/1 4.0.
25888
25889 2008-09-28  Bruno Haible  <bruno@clisp.org>
25890
25891         Override open more carefully.
25892         * lib/open.c (orig_open): New function.
25893         (rpl_open): Use orig_open instead of open.
25894         * lib/fcntl.in.h: Add special invocation convention.
25895         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
25896         (gl_FUNC_OPEN): Invoke it.
25897
25898         Override freopen more carefully.
25899         * lib/freopen.c (orig_freopen): New function.
25900         (rpl_freopen): Use orig_freopen instead of freopen.
25901         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
25902         (gl_FUNC_FREOPEN): Invoke it.
25903
25904         Override fopen more carefully.
25905         * lib/fopen.c (orig_fopen): New function.
25906         (rpl_fopen): Use orig_fopen instead of fopen.
25907         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
25908         (gl_FUNC_FOPEN): Invoke it.
25909         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
25910
25911 2008-09-28  Bruno Haible  <bruno@clisp.org>
25912
25913         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
25914         SIGPIPE.
25915
25916 2008-09-28  Bruno Haible  <bruno@clisp.org>
25917
25918         * tests/test-sigaction.c (handler, main): Disable the check whether
25919         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
25920         glibc systems with LinuxThreads.
25921
25922 2008-09-28  Bruno Haible  <bruno@clisp.org>
25923
25924         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
25925
25926         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
25927         with AIX xlc.
25928         * lib/fcntl.in.h (open): Likewise.
25929         Reported by Rainer Tammer <tammer@tammer.net>.
25930
25931 2008-09-28  Bruno Haible  <bruno@clisp.org>
25932
25933         * modules/posix_spawnp-tests: New file.
25934         * tests/test-posix_spawn.c: New file.
25935         * tests/test-posix_spawn.in.sh: New file.
25936
25937         New module 'posix_spawnp'.
25938         * modules/posix_spawnp: New file.
25939         * lib/spawnp.c: New file, from GNU libc with modifications.
25940         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
25941
25942         New module 'posix_spawn'.
25943         * modules/posix_spawn: New file.
25944         * lib/spawn.c: New file, from GNU libc with modifications.
25945         * doc/posix-functions/posix_spawn.texi: Mention the new module.
25946
25947         New module 'posix_spawnattr_destroy'.
25948         * modules/posix_spawnattr_destroy: New file.
25949         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
25950         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
25951         module.
25952
25953         New module 'posix_spawnattr_setsigmask'.
25954         * modules/posix_spawnattr_setsigmask: New file.
25955         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
25956         modifications.
25957         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
25958         new module.
25959
25960         New module 'posix_spawnattr_getsigmask'.
25961         * modules/posix_spawnattr_getsigmask: New file.
25962         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
25963         modifications.
25964         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
25965         new module.
25966
25967         New module 'posix_spawnattr_setsigdefault'.
25968         * modules/posix_spawnattr_setsigdefault: New file.
25969         * lib/spawnattr_setdefault.c: New file, from GNU libc with
25970         modifications.
25971         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
25972         new module.
25973
25974         New module 'posix_spawnattr_getsigdefault'.
25975         * modules/posix_spawnattr_getsigdefault: New file.
25976         * lib/spawnattr_getdefault.c: New file, from GNU libc with
25977         modifications.
25978         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
25979         new module.
25980
25981         New module 'posix_spawnattr_setschedpolicy'.
25982         * modules/posix_spawnattr_setschedpolicy: New file.
25983         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
25984         modifications.
25985         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
25986         new module.
25987
25988         New module 'posix_spawnattr_getschedpolicy'.
25989         * modules/posix_spawnattr_getschedpolicy: New file.
25990         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
25991         modifications.
25992         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
25993         new module.
25994
25995         New module 'posix_spawnattr_setschedparam'.
25996         * modules/posix_spawnattr_setschedparam: New file.
25997         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
25998         modifications.
25999         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
26000         new module.
26001
26002         New module 'posix_spawnattr_getschedparam'.
26003         * modules/posix_spawnattr_getschedparam: New file.
26004         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
26005         modifications.
26006         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
26007         new module.
26008
26009         New module 'posix_spawnattr_setpgroup'.
26010         * modules/posix_spawnattr_setpgroup: New file.
26011         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
26012         modifications.
26013         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
26014         module.
26015
26016         New module 'posix_spawnattr_getpgroup'.
26017         * modules/posix_spawnattr_getpgroup: New file.
26018         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
26019         modifications.
26020         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
26021         module.
26022
26023         New module 'posix_spawnattr_setflags'.
26024         * modules/posix_spawnattr_setflags: New file.
26025         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
26026         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
26027         module.
26028
26029         New module 'posix_spawnattr_getflags'.
26030         * modules/posix_spawnattr_getflags: New file.
26031         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
26032         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
26033         module.
26034
26035         New module 'posix_spawnattr_init'.
26036         * modules/posix_spawnattr_init: New file.
26037         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
26038         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
26039         module.
26040
26041         New module 'posix_spawn_file_actions_destroy'.
26042         * modules/posix_spawn_file_actions_destroy: New file.
26043         * lib/spawn_faction_destroy.c: New file, from GNU libc with
26044         modifications.
26045         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
26046         the new module.
26047
26048         New module 'posix_spawn_file_actions_addopen'.
26049         * modules/posix_spawn_file_actions_addopen: New file.
26050         * lib/spawn_faction_addopen.c: New file, from GNU libc with
26051         modifications.
26052         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
26053         the new module.
26054
26055         New module 'posix_spawn_file_actions_adddup2'.
26056         * modules/posix_spawn_file_actions_adddup2: New file.
26057         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
26058         modifications.
26059         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
26060         the new module.
26061
26062         New module 'posix_spawn_file_actions_addclose'.
26063         * modules/posix_spawn_file_actions_addclose: New file.
26064         * lib/spawn_faction_addclose.c: New file, from GNU libc with
26065         modifications.
26066         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
26067         the new module.
26068
26069         New module 'posix_spawn_file_actions_init'.
26070         * modules/posix_spawn_file_actions_init: New file.
26071         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
26072         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
26073         new module.
26074
26075         New module 'posix_spawn-internal'.
26076         * modules/posix_spawn-internal: New file.
26077         * lib/spawn_int.h: New file, from GNU libc with modifications.
26078         * lib/spawni.c: New file, from GNU libc with modifications.
26079         * m4/posix_spawn.m4: New file.
26080
26081         New module 'spawn'.
26082         * modules/spawn: New file.
26083         * lib/spawn.in.h: New file, from GNU libc with modifications.
26084         * m4/spawn_h.m4: New file.
26085         * doc/posix-headers/spawn.texi: Mention the new module.
26086
26087 2008-09-28  Bruno Haible  <bruno@clisp.org>
26088
26089         * modules/sched-tests: New file.
26090         * tests/test-sched.c: New file.
26091
26092         New module 'sched'.
26093         * modules/sched: New file.
26094         * lib/sched.in.h: New file.
26095         * m4/sched_h.m4: New file.
26096         * doc/posix-headers/sched.texi: Mention the new module.
26097
26098 2008-09-27  Eric Blake  <ebb9@byu.net>
26099
26100         Fix previous patch, and tweak references to $0.
26101         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
26102         (func_version, func_gnulib_dir): Don't call this program
26103         gnulib-tool.
26104         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
26105         with using $0 in function.
26106         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
26107         (func_fatal_error): Reuse the name the user invoked us with.
26108
26109 2008-09-27  Bruno Haible  <bruno@clisp.org>
26110
26111         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
26112         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
26113         (gl_ICONV_H): Not here.
26114         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
26115         instead of assigning ICONV_H directly.
26116
26117         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
26118         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
26119         WCHAR_H directly.
26120
26121 2008-09-27  Bruno Haible  <bruno@clisp.org>
26122
26123         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
26124         * modules/arpa_inet (Depends-on): Add link-warning.
26125         (Makefile.am): Insert the definition of GL_LINK-WARNING.
26126         * modules/unistd (Makefile.am): Likewise.
26127
26128 2008-09-26  Bruno Haible  <bruno@clisp.org>
26129
26130         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
26131         variables.
26132         (func_version): Essentially copied from gnulib-tool.
26133         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
26134         func_readlink): Copied from gnulib-tool.
26135
26136 2008-09-26  Bruno Haible  <bruno@clisp.org>
26137
26138         * gnulib-tool (func_version): Change directory to $gnulib_dir before
26139         invoking git-version-gen.
26140
26141 2008-09-26  Bruno Haible  <bruno@clisp.org>
26142
26143         * posix-modules: Update to directory names changed on 2008-01-19.
26144         Remove commas in output before splitting into words. No more need to
26145         avoid 'ftruncate' since 2007-02-19.
26146
26147 2008-09-26  Bruno Haible  <bruno@clisp.org>
26148
26149         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
26150
26151 2008-09-26  Bruno Haible  <bruno@clisp.org>
26152
26153         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
26154         * modules/fwriteerror (Depends-on): Add errno.
26155
26156 2008-09-26  Bruno Haible  <bruno@clisp.org>
26157
26158         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
26159         * tests/test-vc-list-files-cvs.sh: Likewise.
26160
26161 2008-09-26  Bruno Haible  <bruno@clisp.org>
26162
26163         * doc/posix-headers/sys_resource.texi: Reorder items.
26164
26165 2008-09-26  Jim Meyering  <meyering@redhat.com>
26166
26167         fts: tweak inode comparison function
26168         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
26169         inode numbers, as documented.
26170
26171         fts: sort dirent entries on inode number before traversing
26172         This avoids a quadratic, seek-related performance penalty when
26173         operating on a directory containing many entries (measurable at 10k;
26174         3.5 hours at 2 million entries with a cold cache) on certain types
26175         of file systems, including ext3 and ext4, but not tmpfs.
26176         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
26177         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
26178         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
26179         (fs_handles_readdir_ordered_dirents_efficiently): New function.
26180         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
26181         (fts_build): Set the stat.st_ino member from D_INO.
26182         If it is likely to be useful, sort dirent entries on inode number.
26183
26184         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
26185         and the struct statfs.f_type member.
26186         * modules/fts (Depends-on): Add d-ino.
26187
26188 2008-09-26  Bruno Haible  <bruno@clisp.org>
26189
26190         * modules/sigpipe-die (Depends-on): Add sigpipe.
26191
26192         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
26193         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
26194         and GNULIB_STDIO_H_SIGPIPE are set.
26195         * lib/stdio-write.c: New file.
26196         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
26197         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
26198         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
26199         REPLACE_STDIO_WRITE_FUNCS.
26200         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
26201         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
26202         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
26203         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
26204         * modules/stdio (Files): Add lib/stdio-write.c.
26205         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
26206         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
26207         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
26208         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
26209         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
26210         REPLACE_FPRINTF_POSIX.
26211         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
26212         REPLACE_PRINTF_POSIX.
26213         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
26214         REPLACE_VFPRINTF_POSIX.
26215         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
26216         REPLACE_VPRINTF_POSIX.
26217         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
26218         SIGPIPE issue.
26219         * doc/posix-functions/fputc.texi: Likewise.
26220         * doc/posix-functions/fputs.texi: Likewise.
26221         * doc/posix-functions/fwrite.texi: Likewise.
26222         * doc/posix-functions/printf.texi: Likewise.
26223         * doc/posix-functions/putc.texi: Likewise.
26224         * doc/posix-functions/putchar.texi: Likewise.
26225         * doc/posix-functions/puts.texi: Likewise.
26226         * doc/posix-functions/vfprintf.texi: Likewise.
26227         * doc/posix-functions/vprintf.texi: Likewise.
26228
26229         * modules/safe-write (Depends-on): Add write.
26230
26231         * modules/sigpipe-tests: New file.
26232         * tests/test-sigpipe.c: New file.
26233         * tests/test-sigpipe.sh: New file.
26234
26235         * modules/write: New file.
26236         * lib/unistd.in.h: Include <sys/types.h>.
26237         (write): New declaration.
26238         * lib/write.c: New file.
26239         * m4/write.m4: New file.
26240         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26241         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
26242         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
26243         GNULIB_WRITE, REPLACE_WRITE.
26244         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
26245         and the SIGPIPE issue.
26246
26247         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
26248         (raise): New declaration.
26249         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
26250         (ext_signal): New function.
26251         (rpl_raise): New function.
26252         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
26253         GNULIB_SIGNAL_H_SIGPIPE.
26254         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
26255         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
26256
26257         * modules/sigpipe: New file.
26258         * m4/sigpipe.m4: New file.
26259
26260 2008-09-25  Derek Price  <derek@ximbiot.com>
26261             Bruno Haible  <bruno@clisp.org>
26262
26263         * gnulib-tool (func_import): Report all license incompatibilities, not
26264         just the first one.
26265
26266 2008-09-25  Bruno Haible  <bruno@clisp.org>
26267
26268         * gnulib-tool (func_import): When computing the edits, consider not
26269         only the Makefile.ams that exist but also those that will be generated.
26270
26271 2008-09-25  Simon Josefsson  <simon@josefsson.org>
26272
26273         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
26274         fixes gnulib-tool --test warning about duplicate dependency.
26275
26276 2008-09-25  Bruno Haible  <bruno@clisp.org>
26277
26278         * gnulib-tool: Don't ask the user to perform edits in the generated
26279         Makefile.ams.
26280         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
26281         apply to the Makefile.am being generated.
26282         (func_emit_tests_Makefile_am): Execute edits that apply to the
26283         Makefile.am being generated.
26284         (func_import): Setup list of Makefile.am edits before emitting the
26285         Makefile.ams, not at the end.
26286         (func_create_testdir): Update.
26287         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26288
26289 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26290
26291         * gnulib-tool (func_import): Store the --tests-base option in the
26292         comment in gnulib-cache.m4.
26293
26294 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
26295
26296         * NEWS: Document increased portability that sys_select now provides.
26297
26298         * lib/sys_select.in.h: Install select wrapper.
26299         * lib/sys_socket.in.h: Use more descriptive name when there is no
26300         select wrapper.
26301         * lib/winsock-select.c: New.
26302         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
26303         Require gl_HEADER_SYS_SOCKET.
26304         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
26305         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
26306         * tests/test-sys_select.c: Add functional tests.
26307
26308 2008-09-24  Eric Blake  <ebb9@byu.net>
26309
26310         open, fopen: close fd leak in last patch
26311         * lib/open.c (rpl_open): Close fd before returning error.
26312         * lib/fopen.c (rpl_fopen): Close fd before returning error.
26313         * doc/posix-functions/open.texi (open): Document that Irix also
26314         has the bug.
26315         * doc/posix-functions/fopen.texi (fopen): Likewise.
26316         Reported by Paolo Bonzini.
26317
26318 2008-09-24  Bruno Haible  <bruno@clisp.org>
26319
26320         Ensure that a filename ending in a slash cannot be used to access a
26321         non-directory.
26322         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
26323         to check whether it's really a directory.
26324         * lib/fopen.c: Include fcntl.h, unistd.h.
26325         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
26326         and fdopen().
26327         * modules/fopen (Depends-on): Add unistd.
26328         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
26329         * tests/test-fopen.c (main): Likewise.
26330         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
26331         * doc/posix-functions/fopen.texi: Likewise.
26332         Reported by Eric Blake.
26333
26334 2008-09-23  Eric Blake  <ebb9@byu.net>
26335
26336         c-stack: avoid compiler optimizations when provoking overflow
26337         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
26338         recursion harder to optimize, to ensure a stack overflow occurs.
26339         * tests/test-c-stack.c (recurse): Likewise.
26340         Borrowed from libsigsegv.
26341
26342         c-stack: work around Irix sigaltstack bug
26343         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
26344         whether sigaltstack uses wrong end of stack_t (copied in part from
26345         libsigsegv).
26346         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
26347         Irix bug, without requiring an over-allocation.
26348         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
26349         bug.
26350
26351         fopen: document mingw bug on directories
26352         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
26353         not allowing a stream visiting a directory, even though reading
26354         from such a stream is not portable.
26355
26356 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
26357
26358         * lib/poll.c: Rewrite.
26359         * modules/poll: Depend on alloca.
26360
26361 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
26362
26363         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
26364         instead define prototypes for a full set of wrappers.  Ensure
26365         that Cygwin does not use the compatibility code, which is only
26366         for MinGW.
26367         * lib/winsock.c: New.
26368         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
26369         * modules/sys_socket: Add lib/winsock.c.
26370
26371         * modules/poll-tests: Add errno and perror.
26372         * tests/test-poll.c: Use ioctl, not ioctlsocket.
26373
26374 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
26375
26376         * tests/test-poll.c: Downgrade minimum needed Winsock version.
26377
26378 2008-09-23  Bruno Haible  <bruno@clisp.org>
26379
26380         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
26381         * doc/glibc-functions/*: Likewise.
26382
26383 2008-09-23  Simon Josefsson  <simon@josefsson.org>
26384
26385         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
26386         success.
26387
26388 2008-09-22  Eric Blake  <ebb9@byu.net>
26389             Bruno Haible  <bruno@clisp.org>
26390
26391         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
26392         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
26393         supply %A but mishandle pseudo-NaN.
26394         Reported by Simon Josefsson.
26395
26396 2008-09-21  Bruno Haible  <bruno@clisp.org>
26397
26398         * tests/test-lock.c (main): Tweak skip message.
26399         * tests/test-tls.c (main): Likewise.
26400
26401 2008-09-21  Bruno Haible  <bruno@clisp.org>
26402
26403         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
26404         whether 'struct sigaction' has sa_sigaction here...
26405         (gl_PREREQ_SIG_HANDLER_H): ... not here.
26406         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
26407
26408 2008-09-21  Bruno Haible  <bruno@clisp.org>
26409
26410         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
26411         section.
26412         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
26413         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
26414         the new section.
26415         (Support for obsolete systems lacking POSIX:2001): New section.
26416         (String handling <string.h>): Move strdup to the new section.
26417         Suggested by Simon Josefsson and Paolo Bonzini.
26418
26419 2008-09-21  Bruno Haible  <bruno@clisp.org>
26420
26421         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
26422         exponents in %e and %g results on 'long double'. Needed for mingw's
26423         improved *printf functions.
26424         * tests/test-vasprintf-posix.c (test_function): Likewise.
26425         * tests/test-snprintf-posix.h (test_function): Likewise.
26426         * tests/test-sprintf-posix.h (test_function): Likewise.
26427         Reported by Eric Blake.
26428
26429 2008-09-21  Bruno Haible  <bruno@clisp.org>
26430
26431         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
26432         * tests/test-sprintf-posix.h (test_function): Likewise.
26433
26434 2008-09-21  Bruno Haible  <bruno@clisp.org>
26435
26436         * modules/getpass (Depends-on): Add strdup-posix.
26437
26438         New module 'strdup-posix'.
26439         * modules/strdup-posix: New file.
26440         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
26441         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
26442         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
26443         REPLACE_STRDUP.
26444         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
26445         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
26446         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26447         strdup-posix.
26448
26449         * modules/strdup (Depends-on): Remove malloc-posix.
26450
26451 2008-09-20  Bruno Haible  <bruno@clisp.org>
26452
26453         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
26454         Wildenhues.
26455
26456 2008-09-20  Bruno Haible  <bruno@clisp.org>
26457
26458         Ensure that wint_t gets defined on IRIX 5.3.
26459         * lib/wchar.in.h (wint_t): Define if not defined by the system.
26460         * lib/wctype.in.h (wint_t): Likewise.
26461         (__wctype_wint_t): Remove type.
26462         (isw*): Use wint_t instead of __wctype_wint_t.
26463         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
26464         * modules/wchar (Files): Add m4/wint_t.m4.
26465         (Makefile.am): Substitute HAVE_WINT_T.
26466         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
26467         * tests/test-wctype.c: Check that wint_t is defined.
26468         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
26469         * doc/posix-headers/wctype.texi: Likewise.
26470         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26471
26472 2008-09-18  Bruno Haible  <bruno@clisp.org>
26473
26474         * gnulib-tool (func_exit): Update comment.
26475
26476 2008-09-18  Simon Josefsson  <simon@josefsson.org>
26477
26478         * modules/getaddrinfo (Depends-on): Remove strdup, this module
26479         assumes strdup exists and does not depend on strdup to return
26480         ENOMEM on out of memory conditions.
26481
26482 2008-09-18  Bruno Haible  <bruno@clisp.org>
26483
26484         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
26485         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
26486         digits for the exponent.
26487
26488 2008-09-18  Jim Meyering  <meyering@redhat.com>
26489             Bruno Haible  <bruno@clisp.org>
26490
26491         * lib/vasnprintf.c (decimal_point_char): Define also if
26492         NEED_PRINTF_INFINITE_LONG_DOUBLE.
26493
26494 2008-09-16  Bruno Haible  <bruno@clisp.org>
26495         and Eric Blake  <ebb9@byu.net>
26496
26497         vasnprintf: support Irix 5.3
26498         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
26499         that mishandle long double infinity.
26500         Reported by Tom G. Christensen.
26501
26502 2008-09-16  Bruno Haible  <bruno@clisp.org>
26503
26504         * doc/glibc-functions/scandir.texi: Mention the function is missing on
26505         Solaris 9.
26506         * doc/glibc-functions/alphasort.texi: Likewise.
26507         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
26508
26509 2008-09-16  Jim Meyering  <meyering@redhat.com>
26510
26511         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
26512         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
26513         a umask modification leak out of a subshell.  Otherwise, the
26514         opensolaris /bin/sh would be accepted and thus cause unwarranted
26515         failures in the coreutils test suite.
26516
26517 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
26518
26519         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
26520         to succeed.
26521
26522 2008-09-16  Jim Meyering  <meyering@redhat.com>
26523
26524         avoid spurious test failure when library is built without ACL support
26525         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
26526         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
26527         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
26528         * tests/test-copy-acl.sh: Likewise.
26529
26530 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26531
26532         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
26533         based on character occurrence counts.
26534
26535 2008-09-15  Eric Blake  <ebb9@byu.net>
26536
26537         tests: avoid some compiler warnings
26538         * tests/test-memchr.c (main): Pass NULL indirectly.
26539         * tests/test-closein.c (main): Avoid unused variable.
26540
26541 2008-09-15  Bruno Haible  <bruno@clisp.org>
26542
26543         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
26544         are missing on OpenBSD 4.0 individually.
26545         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26546
26547 2008-09-15  Bruno Haible  <bruno@clisp.org>
26548
26549         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
26550         * doc/posix-functions/strerror.texi: Mention also Cygwin.
26551         * doc/posix-functions/perror.texi: Likewise.
26552         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
26553         is missing.
26554         Reported by Eric Blake.
26555
26556         * lib/errno.in.h: Use replacement values >= 2000.
26557         Reported by Eric Blake.
26558
26559 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26560
26561         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
26562         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
26563         limit.
26564         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
26565         compareseq was aborted.
26566
26567 2008-09-14  Bruno Haible  <bruno@clisp.org>
26568
26569         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
26570         yvec_edit_count.
26571         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
26572         (fstrcmp_bounded): Simplify result computation accordingly.
26573
26574 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26575
26576         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
26577         (fstrcmp): Define in terms of fstrcmp_bounded.
26578         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
26579         lower_bound argument.
26580         Return quickly if the result is certainly < lower_bound.
26581         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
26582
26583 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26584
26585         * lib/diffseq.h (EARLY_ABORT): New macro.
26586         (compareseq): Change return type to bool. Return true when EARLY_ABORT
26587         evaluates to true.
26588
26589 2008-09-14  Bruno Haible  <bruno@clisp.org>
26590
26591         * modules/perror-tests: New file.
26592         * tests/test-perror.sh: New file.
26593         * tests/test-perror.c: New file.
26594
26595         New module 'perror'.
26596         * lib/stdio.in.h (perror): New declaration.
26597         * lib/perror.c: New file.
26598         * m4/perror.m4: New file.
26599         * modules/perror: New file.
26600         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
26601         * doc/posix-functions/perror.texi: Mention the perror module.
26602         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
26603         REPLACE_PERROR.
26604         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
26605         REPLACE_PERROR.
26606
26607 2008-09-14  Bruno Haible  <bruno@clisp.org>
26608
26609         * modules/stdio (Makefile.am): Reorder to match the order in
26610         lib/stdio.in.h.
26611         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
26612
26613 2008-09-13  Bruno Haible  <bruno@clisp.org>
26614
26615         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
26616
26617 2008-09-13  Bruno Haible  <bruno@clisp.org>
26618
26619         Extend strerror to cover the added errno values.
26620         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
26621         (rpl_strerror): Provide error messages for the added errno values and
26622         for the WSA* values.
26623         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
26624         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
26625         strerror.
26626         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
26627         * modules/strerror (Depends-on): Add errno.
26628         * doc/posix-functions/strerror.texi: Document the change.
26629         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
26630         and EOVERFLOW.
26631
26632 2008-09-13  Bruno Haible  <bruno@clisp.org>
26633
26634         * modules/EOVERFLOW: Remove file.
26635         * m4/eoverflow.m4: Remove file.
26636         * modules/EOVERFLOW-tests: Remove file.
26637         * tests/test-EOVERFLOW.c: Remove file.
26638         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
26639         * modules/ftell (Depends-on): Likewise.
26640         * modules/getdelim (Depends-on): Likewise.
26641         * modules/getugroups (Depends-on): Likewise.
26642         * modules/poll (Depends-on): Likewise.
26643         * modules/snprintf (Depends-on): Likewise.
26644         * modules/sprintf-posix (Depends-on): Likewise.
26645         * modules/vasnprintf (Depends-on): Likewise.
26646         * modules/vasprintf (Depends-on): Likewise.
26647         * modules/vfprintf-posix (Depends-on): Likewise.
26648         * modules/vsnprintf (Depends-on): Likewise.
26649         * modules/vsprintf-posix (Depends-on): Likewise.
26650         * modules/xvasprintf (Depends-on): Likewise.
26651         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26652         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
26653         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
26654         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
26655         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26656         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
26657         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
26658         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
26659         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26660         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
26661         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
26662         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
26663         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26664         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
26665         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
26666         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
26667         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26668         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
26669         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
26670         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
26671         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26672         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
26673         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
26674         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
26675         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
26676         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26677         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
26678         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
26679         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
26680         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
26681         * MODULES.html.sh: Remove EOVERFLOW.
26682         * NEWS: Mention the change.
26683
26684 2008-09-13  Bruno Haible  <bruno@clisp.org>
26685
26686         * modules/errno-tests: New file.
26687         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
26688
26689         * lib/errno.in.h: New file.
26690         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
26691         * modules/errno: New file.
26692         * doc/posix-headers/errno.texi: Update documentation.
26693         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
26694
26695 2008-09-13  Bruno Haible  <bruno@clisp.org>
26696
26697         * tests/test-poll.c: Use #if for native Windows, rather than testing
26698         __MSVCRT__.
26699
26700 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26701             Bruno Haible  <bruno@clisp.org>
26702
26703         * lib/glob.c: Don't include <pwd.h> on native Windows.
26704         (WINDOWS32): New macro.
26705         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
26706
26707 2008-09-13  Bruno Haible  <bruno@clisp.org>
26708
26709         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
26710         (ETIMEDOUT): Remove macro.
26711         (glthread_cond_timedwait_multithreaded): New declaration.
26712         (glthread_cond_timedwait): Use it.
26713         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
26714         (glthread_cond_timedwait_multithreaded): New function.
26715
26716 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
26717
26718         * modules/poll-tests: Do not check for io.h.
26719         * tests/test-poll.c: Check for __MSVCRT__ instead.
26720
26721 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
26722
26723         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
26724         * modules/poll-tests: Add inet_pton, stdbool, sockets.
26725         * tests/test-poll.c: Use them.  Use _pipe on Windows.
26726
26727 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
26728
26729         * modules/poll-tests: New.
26730         * tests/test-poll.c: New.
26731
26732 2008-09-12  Eric Blake  <ebb9@byu.net>
26733
26734         frexp: test for NetBSD failure on -0.0
26735         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
26736         not all, bugs from NetBSD 3.0 have been fixed.
26737         * doc/posix-functions/frexp.texi (frexp): Document bug.
26738         Reported by Thomas Klausner.
26739
26740         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
26741         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
26742         literal -0.0.
26743         Reported by Jonathan C. Patschke <jp@centtech.com>.
26744
26745 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26746
26747         * lib/glthread/cond.h: Use dummy implementation also if
26748         USE_WIN32_THREADS.
26749
26750 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26751
26752         * modules/fnmatch-posix (License): Change to LGPLv2+.
26753         * modules/fnmatch-gnu (License): Likewise.
26754
26755 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
26756
26757         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
26758
26759 2008-09-11  Jim Meyering  <meyering@redhat.com>
26760
26761         * users.txt: Add gtk-vnc.
26762
26763 2008-09-08  Simon Josefsson  <simon@josefsson.org>
26764
26765         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
26766         rotate amounts.
26767
26768         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
26769         required for 16-bit and 8-bit rotates.
26770         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
26771         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
26772         UINT8_MAX instead of hard-coded constants.
26773         Suggested by Paul Eggert.
26774
26775 2008-09-07  Bruno Haible  <bruno@clisp.org>
26776
26777         * tests/test-striconveh.c (main): Check behaviour when converting from
26778         UTF-7.
26779
26780         Make striconveh work better with stateful encodings.
26781         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
26782         that iconv does not increment the inptr when returning -1/EINVAL.
26783
26784 2008-09-07  Bruno Haible  <bruno@clisp.org>
26785
26786         * build-aux/config.rpath: Update according to libtool-2.2.6.
26787         * build-aux/config.libpath: Likewise.
26788
26789 2008-09-06  Bruno Haible  <bruno@clisp.org>
26790
26791         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
26792         * lib/freadptr.c (freadptr): Likewise.
26793         * lib/freadseek.c (freadptrinc): Likewise.
26794         Reported by Simon Josefsson.
26795
26796 2008-09-06  Bruno Haible  <bruno@clisp.org>
26797
26798         * modules/freadptr (License): Change to LGPLv2+.
26799         * modules/freadseek (License): Likewise.
26800         Suggested by Eric Blake.
26801
26802         * modules/memchr2 (License): Change to LGPLv2+.
26803         Approved by Eric Blake.
26804
26805 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26806             Bruno Haible  <bruno@clisp.org>
26807
26808         Make gnulib-tool work with native 'sed' on AIX.
26809         * gnulib-tool (sed_noop): New variable.
26810         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
26811         func_add_or_update, func_create_testdir): Use it to initialize sed
26812         script variables.
26813         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
26814
26815 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
26816             Bruno Haible  <bruno@clisp.org>
26817
26818         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
26819         also works after #include directives.
26820
26821 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
26822
26823         getdate.y: reject an out-of-range timezone value
26824         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
26825         the range [-24...+24].  When specified with only one or two digits,
26826         * tests/test-getdate.c: Tests for the fix.
26827         * doc/getdate.texi: Document this change.
26828
26829 2008-09-03  Bruno Haible  <bruno@clisp.org>
26830
26831         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
26832
26833 2008-09-02  Simon Josefsson  <simon@josefsson.org>
26834
26835         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
26836         <bruce.korb@gmail.com> with ideas from Ben Pfaff
26837         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
26838         Blake <ebb9@byu.net>.
26839
26840         * tests/test-bitrotate.c: Add more test vectors.
26841
26842 2008-09-02  Eric Blake  <ebb9@byu.net>
26843
26844         vasnprintf-posix: handle large precision via %.*d
26845         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
26846         when handling it ourselves.
26847         * tests/test-vasnprintf-posix.c (test_function): Add test.
26848         * tests/test-snprintf-posix.h (test_function): Likewise.
26849         * tests/test-sprintf-posix.h (test_function): Likewise.
26850         * tests/test-vasprintf-posix.c (test_function): Likewise.
26851         Reported by Alain Guibert.
26852
26853 2008-09-01  Eric Blake  <ebb9@byu.net>
26854
26855         c-stack: make configure-time check more robust
26856         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
26857         successful sigaction call.
26858         Reported by Tom G. Christensen.
26859
26860 2008-09-01  Bruno Haible  <bruno@clisp.org>
26861
26862         New module 'findprog-lgpl'.
26863         * modules/findprog-lgpl: New file.
26864         * lib/findprog-lgpl.c: New file.
26865         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
26866         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
26867         to decide whether to use strdup or xstrdup, concatenated_filename or
26868         xconcatenated_filename.
26869
26870 2008-09-01  Bruno Haible  <bruno@clisp.org>
26871
26872         Split module 'concat-filename' into 'concat-filename' (LGPL) and
26873         'xconcat-filename' (GPL).
26874         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
26875         (License): Change to LGPLv2+.
26876         * modules/xconcat-filename: New file.
26877         * lib/concat-filename.h (concatenated_filename): Change specification.
26878         (xconcatenated_filename): New declaration.
26879         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
26880         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
26881         memory situations.
26882         * lib/xconcat-filename.c: New file.
26883         * NEWS: Mention the change.
26884         * lib/findprog.c: Include concat-filename.h, not filename.h.
26885         (find_in_path): Use xconcatenated_filename instead of
26886         concatenated_filename.
26887         * lib/javacomp.c: Include concat-filename.h, not filename.h.
26888         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
26889         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
26890         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
26891         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
26892         instead of concatenated_filename.
26893         * lib/javaexec.c: Include concat-filename.h, not filename.h.
26894         (execute_java_class): Use xconcatenated_filename instead of
26895         concatenated_filename.
26896         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
26897         * modules/javacomp (Depends-on): Likewise.
26898         * modules/javaexec (Depends-on): Likewise.
26899
26900 2008-09-01  Bruno Haible  <bruno@clisp.org>
26901
26902         Split module 'filename' into 'filename' and 'concat-filename'.
26903         * modules/filename: Keep only lib/filename.h.
26904         (License): Change to LGPLv2+.
26905         * modules/concat-filename: New file, extracted from modules/filename.
26906         * lib/filename.h (concatenated_filename): Remove declaration.
26907         * lib/concat-filename.h: New file, extracted from lib/filename.h.
26908         * lib/concat-filename.c: Include concat-filename.h.
26909         * NEWS: Mention the change.
26910
26911 2008-09-01  Simon Josefsson  <simon@josefsson.org>
26912
26913         * lib/bitrotate.h (rotl8, rotr8): Add.
26914
26915         * modules/bitrotate (configure.ac): Need
26916         AC_REQUIRE([AC_C_INLINE]).
26917         (Description): Mention stdint.h.  Reported by Bruno Haible
26918         <bruno@clisp.org>.
26919
26920         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
26921         Paolo Bonzini <bonzini@gnu.org>.
26922
26923 2008-08-31  Bruno Haible  <bruno@clisp.org>
26924
26925         Assume Solaris specific bi-arch conventions on Solaris systems.
26926         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
26927         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
26928         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
26929         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
26930         like acl_libdirstem.
26931         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
26932         acl_libdirstem.
26933         * NEWS: Mention the change.
26934         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
26935
26936 2008-08-31  Jim Meyering  <meyering@redhat.com>
26937
26938         * lib/strftime.h: Add comments describing the two added arguments.
26939
26940         remove duplicate #include directives
26941         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
26942         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
26943
26944 2008-08-31  Bruno Haible  <bruno@clisp.org>
26945
26946         New module 'sigpipe-die'.
26947         * modules/sigpipe-die: New file.
26948         * lib/sigpipe-die.h: New file.
26949         * lib/sigpipe-die.c: New file.
26950         * MODULES.html.sh (Signal handling): Add sigpipe-die.
26951
26952 2008-08-31  Bruno Haible  <bruno@clisp.org>
26953
26954         Don't override previously installed signal handlers.
26955         * lib/fatal-signal.c (saved_sigactions): New variable.
26956         (uninstall_handlers): Reset the signal to the saved handler, not
26957         to SIG_DFL (except when ignored).
26958         (install_handlers): Save the previous handlers.
26959
26960 2008-08-30  Bruno Haible  <bruno@clisp.org>
26961
26962         * gnulib-tool (func_reset_sigpipe): New function.
26963         (func_get_automake_snippet, func_modules_transitive_closure,
26964         func_import): Invoke it before a join command that reads from stdin,
26965         to avoid "echo: write error: Broken pipe" error messages on stderr.
26966         Reported by Sam Steingold <sds@gnu.org>.
26967
26968 2008-08-30  Bruno Haible  <bruno@clisp.org>
26969
26970         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
26971         Code copied from m4/open.m4.
26972         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
26973         access and the filename ends in a slash. Code copied from lib/open.c.
26974         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
26975         * tests/test-fopen.c (main): Check against bug with trailing slash.
26976
26977 2008-08-29  Bruno Haible  <bruno@clisp.org>
26978
26979         Avoid some "gcc -pedantic" warnings.
26980         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
26981         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
26982         * lib/dirent.in.h: Likewise.
26983         * lib/fcntl.in.h: Likewise.
26984         * lib/float.in.h: Likewise.
26985         * lib/iconv.in.h: Likewise.
26986         * lib/inttypes.in.h: Likewise.
26987         * lib/locale.in.h: Likewise.
26988         * lib/math.in.h: Likewise.
26989         * lib/netinet_in.in.h: Likewise.
26990         * lib/search.in.h: Likewise.
26991         * lib/signal.in.h: Likewise.
26992         * lib/stdarg.in.h: Likewise.
26993         * lib/stdint.in.h: Likewise.
26994         * lib/stdio.in.h: Likewise.
26995         * lib/stdlib.in.h: Likewise.
26996         * lib/string.in.h: Likewise.
26997         * lib/strings.in.h: Likewise.
26998         * lib/sys_select.in.h: Likewise.
26999         * lib/sys_socket.in.h: Likewise.
27000         * lib/sys_stat.in.h: Likewise.
27001         * lib/sys_time.in.h: Likewise.
27002         * lib/sysexits.in.h: Likewise.
27003         * lib/time.in.h: Likewise.
27004         * lib/unistd.in.h: Likewise.
27005         * lib/wchar.in.h: Likewise.
27006         * lib/wctype.in.h: Likewise.
27007         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
27008         * modules/fchdir (Makefile.am): Likewise.
27009         * modules/fcntl (Makefile.am): Likewise.
27010         * modules/float (Makefile.am): Likewise.
27011         * modules/iconv_open (Makefile.am): Likewise.
27012         * modules/inttypes (Makefile.am): Likewise.
27013         * modules/locale (Makefile.am): Likewise.
27014         * modules/math (Makefile.am): Likewise.
27015         * modules/netinet_in (Makefile.am): Likewise.
27016         * modules/search (Makefile.am): Likewise.
27017         * modules/signal (Makefile.am): Likewise.
27018         * modules/stdarg (Makefile.am): Likewise.
27019         * modules/stdint (Makefile.am): Likewise.
27020         * modules/stdio (Makefile.am): Likewise.
27021         * modules/stdlib (Makefile.am): Likewise.
27022         * modules/string (Makefile.am): Likewise.
27023         * modules/strings (Makefile.am): Likewise.
27024         * modules/sys_select (Makefile.am): Likewise.
27025         * modules/sys_socket (Makefile.am): Likewise.
27026         * modules/sys_stat (Makefile.am): Likewise.
27027         * modules/sys_time (Makefile.am): Likewise.
27028         * modules/sysexits (Makefile.am): Likewise.
27029         * modules/time (Makefile.am): Likewise.
27030         * modules/unistd (Makefile.am): Likewise.
27031         * modules/wchar (Makefile.am): Likewise.
27032         * modules/wctype (Makefile.am): Likewise.
27033         Reported by Reuben Thomas <rrt@sc3d.org>.
27034
27035 2008-08-29  Bruno Haible  <bruno@clisp.org>
27036
27037         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
27038         any more.
27039
27040 2008-08-29  Simon Josefsson  <simon@josefsson.org>
27041
27042         * MODULES.html.sh (Misc): Add bitrotate.
27043
27044         * modules/bitrotate: New file.
27045
27046         * lib/bitrotate.h: New file.
27047
27048         * modules/bitrotate-tests: New file.
27049
27050         * tests/test-bitrotate.c: New file.
27051
27052         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
27053         on the bitrotate module.
27054
27055         * lib/arctwo.c: Use new bitrotate module.
27056
27057 2008-08-29  Jim Meyering  <meyering@redhat.com>
27058
27059         bootstrap: merge changes from coreutils
27060         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
27061         of copied files.  Remove a kludge, now that this is fixed.
27062         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
27063         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
27064         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
27065
27066 2008-08-29  Bruno Haible  <bruno@clisp.org>
27067
27068         * MODULES.html.sh: Remove --cvs-urls option.
27069
27070 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
27071
27072         maint.mk: adjust to file name change
27073         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
27074
27075 2008-08-28  Jim Meyering  <meyering@redhat.com>
27076
27077         * modules/getndelim2 (License): Relicense to LGPLv2+.
27078         Approved by Richard Stallman for the version of 1995, and by
27079         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
27080
27081 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
27082
27083         * lib/getdelim.c (flockfile, funlockfile): Make all of them
27084         dummy if one is not available.  Do not touch them if
27085         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
27086         (getc_maybe_unlocked): New.
27087         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
27088
27089 2008-08-26  Eric Blake  <ebb9@byu.net>
27090
27091         doc/INSTALL: resync from autoconf
27092         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
27093         (INSTALL_PRELUDE): Delete; this is done more efficiently by
27094         moving...
27095         * install.texi [!autoconf]: ...here.  Resync from autoconf.
27096         * INSTALL: Regenerate.
27097         * INSTALL.ISO: New file.
27098         * INSTALL.UTF-8: Likewise.
27099
27100 2008-08-26  Jim Meyering  <meyering@redhat.com>
27101
27102         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
27103         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
27104         these definitions conditional, so that they may be overridden, too.
27105
27106 2008-08-26  Bruno Haible  <bruno@clisp.org>
27107
27108         Generate INSTALL file variants with prettier quotes.
27109         * doc/Makefile (INSTALL_PRELUDE): New macro.
27110         (INSTALL): Use it.
27111         (INSTALL.ISO, INSTALL.UTF-8): New rules.
27112
27113 2008-08-26  Bruno Haible  <bruno@clisp.org>
27114
27115         Run makeinfo in an English locale.
27116         * doc/Makefile (MAKEINFO): New variable.
27117
27118 2008-08-26  Bruno Haible  <bruno@clisp.org>
27119
27120         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
27121         Suggested by Eric Blake.
27122
27123 2008-08-25  Bruno Haible  <bruno@clisp.org>
27124
27125         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
27126
27127 2008-08-25  Eric Blake  <ebb9@byu.net>
27128
27129         c-stack: test that stack overflow can be caught
27130         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
27131         that platform allows handling stack overflow; at least OS/2 EMX
27132         has sigaltstack, but crashes before transferring control to
27133         handler on stack overflow.
27134         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
27135         check for HAVE_STACK_OVERFLOW_HANDLING.
27136         Reported by Elbert Pol.
27137
27138 2008-08-25  Bruno Haible  <bruno@clisp.org>
27139
27140         * doc/posix-functions/strftime.texi: Fix description of strftime
27141         module.
27142
27143 2008-08-24  Bruno Haible  <bruno@clisp.org>
27144
27145         * tests/uniwidth/test-uc_width2.c: New file.
27146         * tests/uniwidth/test-uc_width2.sh: New file.
27147         * modules/uniwidth/width-tests (Files): Add the new files.
27148         (TESTS): Add uniwidth/test-uc_width2.sh.
27149         (TESTS_ENVIRONMENT): New variable.
27150         (check_PROGRAMS): Add test-uc_width2.
27151         (test_uc_width2_SOURCES): New variable.
27152
27153         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
27154         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
27155         not 0x00AB.
27156         Reported by Alexander V. Lukyanov <lav@netis.ru>.
27157
27158 2008-08-22  Eric Blake  <ebb9@byu.net>
27159
27160         test-lock, test-tls: mention why a test is skipped
27161         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
27162         skipped.
27163         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
27164
27165         count-one-bits: relax license
27166         * modules/count-one-bits (License): Relicense to LGPLv2+.
27167         Suggested by Ludovic Courtès, approved by Ben Pfaff.
27168
27169 2008-08-22  Andreas Schwab  <schwab@suse.de>
27170
27171         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
27172         Remove spurious space in assignment.
27173
27174 2008-08-21  Simon Josefsson  <simon@josefsson.org>
27175
27176         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
27177         Paul Eggert <eggert@CS.UCLA.EDU>.
27178
27179 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
27180
27181         * modules/gettext: Add m4/threadlib.m4.
27182
27183 2008-08-19  Eric Blake  <ebb9@byu.net>
27184
27185         test-c-stack: fix compilation failure on FreeBSD 5.0
27186         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
27187         headers before <sys/resource.h>.
27188         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
27189         the bug.
27190         Reported by Nelson H. F. Beebe.
27191
27192         strverscmp: migrate from "strverscmp.h" to <string.h>
27193         * modules/string (Makefile.am): Add new hooks.
27194         * modules/strverscmp (Files): Remove strverscmp.h.
27195         (Depends-on): Add string.
27196         (configure.ac): Add indicator.
27197         (Include): Mention new header.
27198         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
27199         defaults.
27200         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
27201         results.
27202         * lib/strverscmp.h: Delete.
27203         * lib/string.in.h (strverscmp): Provide declaration, when needed.
27204         * tests/test-strverscmp.c (includes): Adjust client.
27205         * lib/check-version.c (includes): Likewise.
27206         * NEWS: Document the change.
27207
27208         strverscmp: add unit test
27209         * modules/strverscmp-tests: New file.
27210         * tests/test-strverscmp.c: Likewise.
27211
27212 2008-08-19  Simon Josefsson  <simon@josefsson.org>
27213
27214         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
27215         regarding Windows crypto stuff, from Mono.
27216
27217 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
27218
27219         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
27220         if present, for intel RND.  Return error on failures.
27221
27222 2008-08-18  Ben Pfaff  <blp@gnu.org>
27223
27224         gitlog-to-changelog: give better diagnostic for failed pipe-open
27225         * build-aux/gitlog-to-changelog: Improve error message: suggest
27226         that the version of Git may be too old.
27227
27228 2008-08-18  Simon Josefsson  <simon@josefsson.org>
27229
27230         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
27231         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
27232
27233 2008-08-18  Bruno Haible  <bruno@clisp.org>
27234
27235         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
27236         pthread_in_use().
27237
27238 2008-08-18  Bruno Haible  <bruno@clisp.org>
27239
27240         * lib/glthread/threadlib.c: Include <pthread.h>.
27241
27242 2008-08-18  Bruno Haible  <bruno@clisp.org>
27243
27244         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
27245         glthread_recursive_lock_* macros.
27246         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
27247         Fix syntax error.
27248
27249 2008-08-18  Bruno Haible  <bruno@clisp.org>
27250
27251         * lib/glthread/thread.c: Avoid forcing a context switch right after
27252         thread creation.
27253
27254 2008-08-17  Bruno Haible  <bruno@clisp.org>
27255
27256         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
27257         * lib/glthread/thread.h: Provide Win32 specific implementation.
27258         * modules/thread (Files): Add lib/glthread/thread.c.
27259         (Depends-on): Add lock.
27260         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
27261
27262 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27263
27264         New module 'yield'.
27265         * modules/yield: New file.
27266         * lib/glthread/yield.h: New file.
27267         * m4/yield.m4: New file.
27268         * MODULES.html.sh (Multithreading): Add yield.
27269
27270 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27271
27272         New module 'thread'.
27273         * modules/thread: New file.
27274         * lib/glthread/thread.h: New file.
27275         * m4/thread.m4: New file.
27276         * MODULES.html.sh (Multithreading): Add thread.
27277
27278 2008-08-17  Bruno Haible  <bruno@clisp.org>
27279
27280         * lib/glthread/lock.h: Include <stdlib.h> always.
27281         * lib/glthread/tls.h: Likewise.
27282         * lib/glthread/cond.h: Likewise.
27283
27284 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27285
27286         New module 'cond'.
27287         * modules/cond: New file.
27288         * lib/glthread/cond.h: New file.
27289         * lib/glthread/cond.c: New file.
27290         * m4/cond.m4: New file.
27291         * MODULES.html.sh (Multithreading): Add cond.
27292
27293 2008-08-16  Eric Blake  <ebb9@byu.net>
27294
27295         c-stack: fix regression on Irix 5.3 from 2008-06-21
27296         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
27297         sa_sigaction...
27298         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
27299         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
27300         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
27301         * modules/signal (Makefile.am): Use the value.
27302         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
27303         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
27304         * doc/posix-headers/signal.texi (signal.h): Document this
27305         portability issue.
27306         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
27307         Reported by Tom G. Christensen.
27308
27309 2008-08-17  Bruno Haible  <bruno@clisp.org>
27310
27311         New module 'threadlib'.
27312         * modules/threadlib: New file.
27313         * lib/glthread/threadlib.c: New file, extracted from
27314         lib/glthread/lock.c.
27315         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
27316         functions.
27317         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
27318         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
27319         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
27320         macros.
27321         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
27322         (gl_DISABLE_THREADS): Remove macro.
27323         * modules/lock (Files): Remove build-aux/config.rpath.
27324         (Depends-on): Remove havelib. Add threadlib.
27325         (configure.ac-early): Remove section.
27326         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
27327         * modules/tls (Depends-on): Remove lock. Add threadlib.
27328         (Link): New section, copied from threadlib.
27329         * MODULES.html.sh (Multithreading): Add threadlib.
27330
27331 2008-08-14  Bruno Haible  <bruno@clisp.org>
27332
27333         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
27334         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
27335         glthread_rwlock_unlock, glthread_rwlock_destroy,
27336         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
27337         glthread_recursive_lock_destroy): Define as macros always.
27338         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
27339         glthread_lock_lock.
27340         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
27341         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
27342         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
27343         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
27344         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
27345         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
27346         (glthread_recursive_lock_lock_func): Renamed from
27347         glthread_recursive_lock_lock.
27348         (glthread_recursive_lock_unlock_func): Renamed from
27349         glthread_recursive_lock_unlock.
27350         (glthread_recursive_lock_destroy_func): Renamed from
27351         glthread_recursive_lock_destroy.
27352
27353 2008-08-14  Bruno Haible  <bruno@clisp.org>
27354
27355         * lib/glthread/lock.h: Renamed from lib/lock.h.
27356         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
27357         * lib/glthread/tls.h: Renamed from lib/tls.h.
27358         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
27359         * lib/fstrcmp.c: Update includes.
27360         * lib/strsignal.c: Update includes.
27361         * modules/lock (Files, Makefile.am): Update.
27362         (Include): Change to "glthread/lock.h".
27363         * modules/tls (Files, Makefile.am): Update.
27364         (Include): Change to "glthread/tls.h".
27365         * tests/test-lock.c: Update includes.
27366         * tests/test-tls.c: Update includes.
27367         * NEWS: Mention the renamed header files.
27368
27369 2008-08-11  Jim Meyering  <meyering@redhat.com>
27370
27371         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
27372
27373 2008-08-11  Eric Blake  <ebb9@byu.net>
27374
27375         test-c-stack: avoid C99-ism
27376         * tests/test-c-stack.c (main): Fix whitespace, move declaration
27377         before statement.
27378         Reported by Alain Guibert.
27379
27380 2008-08-10  Jim Meyering  <meyering@redhat.com>
27381
27382         ensure that return value of uinttostr et al are not ignored
27383         * lib/inttostr.h (__GNUC_PREREQ): Define.
27384         (__attribute_warn_unused_result__): Define.
27385         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
27386
27387 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
27388
27389         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
27390         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
27391
27392 2008-08-07  Jim Meyering  <meyering@redhat.com>
27393
27394         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
27395
27396         * modules/mkstemp (License): Relicense under LGPLv2+.
27397         * modules/tempname (License): Likewise.
27398
27399 2008-08-06  Bruno Haible  <bruno@clisp.org>
27400
27401         * lib/poll.c (poll): Further micro-optimization.
27402
27403 2008-08-06  Jim Meyering  <meyering@redhat.com>
27404
27405         inet_pton.c: use locale-independent tolower
27406         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
27407         (inet_pton6): Use c_tolower rather than tolower.
27408         * modules/inet_pton (Depends-on): Add c-ctype.
27409
27410 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
27411
27412         * lib/poll.c (poll): Avoid division when timeout is 0, cache
27413         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
27414
27415 2008-08-06  Jim Meyering  <meyering@redhat.com>
27416
27417         * modules/inet_pton (License): Relicense under LGPLv2+.
27418
27419 2008-08-03  Bruno Haible  <bruno@clisp.org>
27420
27421         Additional non-aborting API for lock and tls.
27422         * lib/lock.h: Include <errno.h>.
27423         (glthread_lock_init): New macro/function.
27424         (gl_lock_init): Define as wrapper around glthread_lock_init.
27425         (glthread_lock_lock): New macro/function.
27426         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
27427         (glthread_lock_unlock): New macro/function.
27428         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
27429         (glthread_lock_destroy): New macro/function.
27430         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
27431         (glthread_rwlock_init): New macro/function.
27432         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
27433         (glthread_rwlock_rdlock): New macro/function.
27434         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
27435         (glthread_rwlock_wrlock): New macro/function.
27436         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
27437         (glthread_rwlock_unlock): New macro/function.
27438         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
27439         (glthread_rwlock_destroy): New macro/function.
27440         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
27441         (glthread_recursive_lock_init): New macro/function.
27442         (gl_recursive_lock_init): Define as wrapper around
27443         glthread_recursive_lock_init.
27444         (glthread_recursive_lock_lock): New macro/function.
27445         (gl_recursive_lock_lock): Define as wrapper around
27446         glthread_recursive_lock_lock.
27447         (glthread_recursive_lock_unlock): New macro/function.
27448         (gl_recursive_lock_unlock): Define as wrapper around
27449         glthread_recursive_lock_unlock.
27450         (glthread_recursive_lock_destroy): New macro/function.
27451         (gl_recursive_lock_destroy): Define as wrapper around
27452         glthread_recursive_lock_destroy.
27453         (glthread_once): New macro/function.
27454         (gl_once): Define as wrapper around glthread_once.
27455         Update function declarations.
27456         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
27457         glthread_rwlock_init. Return error code.
27458         (glthread_rwlock_rdlock_multithreaded): Renamed from
27459         glthread_rwlock_rdlock. Return error code.
27460         (glthread_rwlock_wrlock_multithreaded): Renamed from
27461         glthread_rwlock_wrlock. Return error code.
27462         (glthread_rwlock_unlock_multithreaded): Renamed from
27463         glthread_rwlock_unlock. Return error code.
27464         (glthread_rwlock_destroy_multithreaded): Renamed from
27465         glthread_rwlock_destroy. Return error code.
27466         (glthread_recursive_lock_init_multithreaded): Renamed from
27467         glthread_recursive_lock_init. Return error code.
27468         (glthread_recursive_lock_lock_multithreaded): Renamed from
27469         glthread_recursive_lock_lock. Return error code.
27470         (glthread_recursive_lock_unlock_multithreaded): Renamed from
27471         glthread_recursive_lock_unlock. Return error code.
27472         (glthread_recursive_lock_destroy_multithreaded): Renamed from
27473         glthread_recursive_lock_destroy. Return error code.
27474         (glthread_once_call): Make static.
27475         (glthread_once_multithreaded): Renamed from glthread_once.
27476         * lib/tls.h: Include <errno.h>.
27477         (glthread_tls_key_init): New macro/function.
27478         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
27479         (glthread_tls_set): New macro/function.
27480         (gl_tls_set): Define as wrapper around glthread_tls_set.
27481         (glthread_tls_key_destroy): New macro/function.
27482         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
27483         Update function declarations.
27484         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
27485         glthread_tls_get.
27486         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
27487
27488 2008-08-04  Eric Blake  <ebb9@byu.net>
27489
27490         gnumakefile: use space, not TAB, outside of targets
27491         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
27492
27493 2008-08-02  Jim Meyering  <meyering@redhat.com>
27494
27495         getdate.y: avoid locale-dependent date parsing failure
27496         In Turkish locales, getdate would fail to recognize keywords
27497         containing a lowercase "i".  The solution is not to rely on
27498         locale-sensitive case-conversion.
27499         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
27500         (lookup_word): Use c_toupper in place of toupper.
27501         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
27502         Reported by Vefa Bicakci <bicave@superonline.com> in
27503         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
27504         * modules/getdate (Depends-on): Add c-ctype.
27505
27506 2008-08-02  Bruno Haible  <bruno@clisp.org>
27507
27508         * gnulib-tool (func_import): When updating or creating a .gitignore
27509         file, prepend each added line with a slash, and ignore leading slashes
27510         from the existing lines.
27511         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
27512
27513 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27514
27515         Portability fix for GNU make 3.79.1.
27516         * top/GNUmakefile: Avoid 'else COND', which older GNU make
27517         versions do not understand.
27518
27519 2008-08-01  Bruno Haible  <bruno@clisp.org>
27520
27521         Work around bug of HP-UX 10.20 cc with -0.0 literal.
27522         * tests/test-isnanf.h (zero): New variable.
27523         (main): Avoid literal -0.0f.
27524         * tests/test-isnand.h (zero): New variable.
27525         (main): Avoid literal -0.0.
27526         * tests/test-isnanl.h (zero): New variable.
27527         (main): Avoid literal -0.0L.
27528         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
27529         (test_float, test_double, test_long_double): Avoid literals -0.0f,
27530         -0.0, -0.0L.
27531         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
27532         (test_signbitd): Avoid literal -0.0.
27533         (test_signbitl): Avoid literal -0.0L.
27534         * tests/test-ceilf1.c (zero): New variable.
27535         (main): Avoid literal -0.0f.
27536         * tests/test-ceill.c (zero): New variable.
27537         (main): Avoid literal -0.0L.
27538         * tests/test-floorf1.c (zero): New variable.
27539         (main): Avoid literal -0.0f.
27540         * tests/test-floorl.c (zero): New variable.
27541         (main): Avoid literal -0.0L.
27542         * tests/test-roundf1.c (zero): New variable.
27543         (main): Avoid literal -0.0f.
27544         * tests/test-round1.c (zero): New variable.
27545         (main): Avoid literal -0.0.
27546         * tests/test-roundl.c (zero): New variable.
27547         (main): Avoid literal -0.0L.
27548         * tests/test-truncf1.c (zero): New variable.
27549         (main): Avoid literal -0.0f.
27550         * tests/test-trunc1.c (zero): New variable.
27551         (main): Avoid literal -0.0.
27552         * tests/test-truncl.c (zero): New variable.
27553         (main): Avoid literal -0.0L.
27554         * tests/test-frexp.c (zero): New variable.
27555         (main): Avoid literal -0.0.
27556         * tests/test-frexpl.c (zero): New variable.
27557         (main): Avoid literal -0.0L.
27558         * tests/test-ldexpl.c (zero): New variable.
27559         (main): Avoid literal -0.0L.
27560         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
27561         (zerod, zerol): New variables.
27562         (test_function): Avoid literals -0.0, -0.0L.
27563         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
27564         (zerod, zerol): New variables.
27565         (test_function): Avoid literals -0.0, -0.0L.
27566         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
27567         (zerod, zerol): New variables.
27568         (test_function): Avoid literals -0.0, -0.0L.
27569         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
27570         (zerod, zerol): New variables.
27571         (test_function): Avoid literals -0.0, -0.0L.
27572         * tests/test-strtod.c (zero): New variable.
27573         (main): Avoid literal -0.0.
27574         Reported by Jonathan C. Patschke <jp@centtech.com>.
27575
27576 2008-07-31  Jim Meyering  <meyering@redhat.com>
27577
27578         sha256.h: correct definition of SHA224_DIGEST_SIZE
27579         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
27580         Reported by Paulie Pena IV <paulie4@gmail.com>.
27581         Define as 224 / 8, rather than as a literal.
27582         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
27583         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
27584         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
27585
27586 2008-07-31  Bruno Haible  <bruno@clisp.org>
27587
27588         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
27589         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
27590         Reported by Jonathan Patschke <jp@centtech.com>.
27591
27592 2008-07-31  Bruno Haible  <bruno@clisp.org>
27593
27594         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
27595         Reported by Paolo Bonzini <bonzini@gnu.org>.
27596
27597 2008-07-30  Eric Blake  <ebb9@byu.net>
27598
27599         test-strtod: allow compilation without -lm
27600         * tests/test-strtod.c (main): Avoid link dependence on fabs.
27601         Reported by Dennis Clarke <blastwave@gmail.com>.
27602
27603 2008-07-28  Jim Meyering  <meyering@redhat.com>
27604
27605         bootstrap: work also when there are no .po files in po/
27606         * build-aux/bootstrap (update_po_files): Complete the change
27607         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
27608
27609 2008-07-27  Jim Meyering  <meyering@redhat.com>
27610
27611         * users.txt: Add zile.
27612
27613 2008-07-26  Ben Pfaff  <blp@gnu.org>
27614
27615         Add missing dependencies on new m4/exponent[fdl].m4 files.
27616         * modules/isnanf-nolibm: Add m4/exponentf.m4.
27617         * modules/isnand-nolibm: Add m4/exponentd.m4.
27618         * modules/isnanl-nolibm: Add m4/exponentl.m4.
27619         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
27620         m4/isnan[fdl].m4, because the macros actually used moved.
27621         Reported by Jim Meyering.
27622
27623 2008-07-14  Ben Pfaff  <blp@gnu.org>
27624
27625         Add isinf module.
27626         * lib/isinf.c: New file.
27627         * lib/math.in.h: Define isinf macro if we have decided to replace
27628         it.
27629         * m4/isinf.m4: New file.
27630         * m4/math_h.m4: Initialize and substitute variables for isinf
27631         module.
27632         * modules/isinf: New file.
27633         * modules/isinf-tests: New file.
27634         * modules/math: Add substitutions for new module.
27635         * tests/test-isinf.c: New file.
27636         * doc/posix-functions/isinf.texi: Mention new module.
27637         * MODULES.html.sh: Mention new module.
27638
27639 2008-07-14  Ben Pfaff  <blp@gnu.org>
27640
27641         Factor out some macros for use by additional modules.
27642         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
27643         exponentf.m4.
27644         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
27645         exponentd.m4.
27646         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
27647         file exponentl.m4.
27648         * m4/exponentf.m4: New file.
27649         * m4/exponentd.m4: New file.
27650         * m4/exponentl.m4: New file.
27651         * modules/isnanf: Use new file m4/exponentf.m4.
27652         * modules/isnand: Use new file m4/exponentd.m4.
27653         * modules/isnanl: Use new file m4/exponentl.m4.
27654
27655 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
27656
27657         mktime.c: normalize tp->tm_isdst value to -1/0/1.
27658         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
27659         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
27660         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
27661
27662         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
27663         readlink on platforms without PATH_MAX.
27664
27665 2008-07-21  Eric Blake  <ebb9@byu.net>
27666
27667         Warn, not fail, on stale version.
27668         * top/GNUmakefile (_curr-ver): Tone down previous patch.
27669
27670         Don't allow installation with stale devel version number.
27671         * top/GNUmakefile (_is-install-target): New macro.
27672         (_curr-ver): Forbid installation with stale version number.
27673
27674 2008-07-20  Bruno Haible  <bruno@clisp.org>
27675
27676         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
27677         TESTS_ENVIRONMENT.
27678         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
27679
27680 2008-07-20  Bruno Haible  <bruno@clisp.org>
27681
27682         * lib/c-stack.h (c_stack_action): Add documentation.
27683         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
27684
27685 2008-07-20  Bruno Haible  <bruno@clisp.org>
27686
27687         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
27688         * modules/readlink (License): Likewise.
27689
27690 2008-07-17  Eric Blake  <ebb9@byu.net>
27691
27692         * modules/c-stack (Link): Fix typo.
27693
27694         Make c-stack use libsigsegv, when available.
27695         * modules/c-stack (Depends-on): Add libsigsegv.
27696         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
27697         needed.
27698         * lib/c-stack.c (SIGSTKSZ): Define fallback.
27699         (segv_handler, overflow_handler, c_stack_action)
27700         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
27701         implementation when libsigsegv is available, but only when using
27702         the library is necessary.
27703         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
27704         comment, explaining why XSI check fails on Linux.
27705         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
27706         * tests/test-c-stack2.sh: Tweak skip message.
27707         * NEWS: Document new link-time requirements.
27708
27709 2008-07-16  Eric Blake  <ebb9@byu.net>
27710
27711         c-stack: Expose false positives when not using libsigsegv.
27712         * modules/c-stack-tests (Files): Expand test.
27713         * tests/test-c-stack.c (main): Add means to conditionally trigger
27714         non-overflow SIGSEGV.
27715         * tests/test-c-stack2.sh: New file.
27716
27717 2008-07-14  Bruno Haible  <bruno@clisp.org>
27718
27719         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
27720         Reported by Eric Blake.
27721
27722 2008-07-14  Sam Steingold  <sds@gnu.org>
27723             Bruno Haible  <bruno@clisp.org>
27724
27725         New module libsigsegv.
27726         * modules/libsigsegv: New file.
27727         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
27728         modifications.
27729         * MODULES.html.sh (Signal handling): New section.
27730
27731 2008-07-14  Bruno Haible  <bruno@clisp.org>
27732
27733         * modules/unictype/ctype-* (Description): Add the word "function".
27734         Improves the resulting doc in MODULES.html.
27735
27736 2008-07-12  Ben Pfaff  <blp@gnu.org>
27737
27738         Add longlong module.
27739         * modules/longlong: New file.
27740
27741 2008-07-12  Bruno Haible  <bruno@clisp.org>
27742
27743         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
27744         to empty.
27745
27746 2008-07-10  Ben Pfaff  <blp@gnu.org>
27747
27748         Add isnan module.
27749         * doc/posix-functions/isnan.texi: Mention new module.
27750         * lib/math.in.h: Define isnan macro if we have decided to replace
27751         it.
27752         * m4/isnan.m4: New file.
27753         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
27754         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
27755         also.
27756         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
27757         redundancy.
27758         * m4/math_h.m4: Initialize and substitute variables for isnan
27759         module.
27760         * modules/isnan: New file.
27761         * modules/isnan-tests: New file.
27762         * modules/math: Add substitutions for new module.
27763         * tests/test-isnan.c: New file.
27764         * MODULES.html.sh: Mention new module.
27765
27766 2008-07-10  Ben Pfaff  <blp@gnu.org>
27767
27768         Add isnanf module.
27769         * lib/isnanf.m4: New file.
27770         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
27771         (gl_HAVE_ISNANF_IN_LIBM): New macro.
27772         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
27773         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
27774         * modules/isnanf: New file.
27775         * modules/isnanf-tests: New file.
27776         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
27777         files.
27778         * tests/test-isnanf-nolibm.c: factored most of its contents into
27779         new file tests/test-isnanf.h.
27780         * tests/test-isnanf.h: New file.
27781         * tests/test-isnanf.c: New file.
27782         * MODULES.html.sh: Mention new module.
27783         * doc/glibc-functions/isnanf.texi: Mention new module.
27784
27785 2008-07-10  Ben Pfaff  <blp@gnu.org>
27786
27787         Add isnand module.
27788         * lib/isnand.h: New file.
27789         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
27790         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
27791         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
27792         functionality also.
27793         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
27794         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
27795         (gl_HAVE_ISNAND_IN_LIBM): New macro.
27796         * modules/isnand: New file.
27797         * modules/isnand-tests: New file.
27798         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
27799         files.
27800         * tests/test-isnand-nolibm.c: factored most of its contents into
27801         new file tests/test-isnand.h.
27802         * tests/test-isnand.h: New file.
27803         * tests/test-isnand.c: New file.
27804         * MODULES.html.sh: Mention new module.
27805
27806 2008-07-10  Ben Pfaff  <blp@gnu.org>
27807
27808         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
27809         * lib/isnand.h: Rename lib/isnand-nolibm.h.
27810         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
27811         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
27812         * modules/isnanf-nolibm: Update references to renamed files.
27813         * modules/isnand-nolibm: Likewise.
27814         * modules/isnanf-nolibm-tests: Likewise.
27815         * modules/isnand-nolibm-tests: Likewise.
27816         * lib/frexp.c: Likewise.
27817         * lib/isfinite.c: Likewise.
27818         * lib/signbitd.c: Likewise.
27819         * lib/signbitf.c: Likewise.
27820         * lib/vasnprintf.c: Likewise.
27821         * tests/test-ceilf1.c: Likewise.
27822         * tests/test-ceilf2.c: Likewise.
27823         * tests/test-floorf1.c: Likewise.
27824         * tests/test-floorf2.c: Likewise.
27825         * tests/test-frexp.c: Likewise.
27826         * tests/test-round1.c: Likewise.
27827         * tests/test-round2.c: Likewise.
27828         * tests/test-roundf1.c: Likewise.
27829         * tests/test-strtod.c: Likewise.
27830         * tests/test-trunc1.c: Likewise.
27831         * tests/test-trunc2.c: Likewise.
27832         * tests/test-truncf1.c: Likewise.
27833         * tests/test-truncf2.c: Likewise.
27834         * NEWS: Mention the renamed header files.
27835
27836 2008-07-11  Jim Meyering  <meyering@redhat.com>
27837
27838         vc-list-files: make the last-resort awk code more portable
27839         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
27840         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
27841         does not support it.
27842
27843 2008-07-10  Eric Blake  <ebb9@byu.net>
27844
27845         Work with tar's bootstrap.
27846         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
27847         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
27848         an m4 comment.
27849
27850 2008-07-09  Jim Meyering  <meyering@redhat.com>
27851
27852         posix-shell.m4: fix typo that made this test malfunction
27853         * m4/posix-shell.m4: Remove capitalization in variable name.
27854
27855 2008-07-08  Bruno Haible  <bruno@clisp.org>
27856
27857         * m4/onceonly.m4: Update comments.
27858         Reported by Ben Pfaff <blp@cs.stanford.edu>.
27859
27860 2008-07-04  Jim Meyering  <meyering@redhat.com>
27861
27862         * users.txt: Add vc-dwim.
27863         (bison, coreutils): Use the gitweb URL.
27864
27865 2008-07-03  Jim Meyering  <meyering@redhat.com>
27866
27867         * users.txt: Add libffcall.  From Sam Steingold.
27868
27869 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
27870
27871         getdate.y: do not ignore TZ with relative day, month or year offset
27872         * lib/getdate.y (get_date): Move the tz-handling block to follow the
27873         relative-date-handling, since otherwise, the latter would clobber the
27874         sole output (an updated Start value) of the tz-handling block.
27875         * tests/test-getdate.c: Tests for the fix
27876
27877 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27878
27879         Recognize 'foo_LIBRARIES += libgnu.a'.
27880         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
27881         makefile snippet has already specified an installation location,
27882         also using '+='.
27883
27884 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
27885
27886         getdate.y: factor out common actions
27887         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
27888         Use them in place of open-coded actions.
27889
27890 2008-07-01  Simon Josefsson  <simon@josefsson.org>
27891
27892         Add self-test for getdate module.
27893         * modules/getdate-tests: New file.
27894         * tests/test-getdate.c: New file.
27895
27896 2008-06-29  Bruno Haible  <bruno@clisp.org>
27897
27898         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
27899         .gitignore.
27900         Reported by Sylvain Beucler <beuc@beuc.net>.
27901
27902 2008-06-29  Bruno Haible  <bruno@clisp.org>
27903
27904         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
27905         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
27906
27907 2008-06-29  Bruno Haible  <bruno@clisp.org>
27908
27909         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
27910         EXTRA_DIST.
27911         Reported by Sylvain Beucler <beuc@beuc.net>.
27912
27913 2008-06-26  Jim Meyering  <meyering@redhat.com>
27914
27915         make several modules depend on the "open" module
27916         This provides slightly increased consistency when opening-for-write
27917         the name of a non-directory spelled with a trailing slash.
27918         * modules/chdir-safer: Likewise.
27919         * modules/chown: Likewise.
27920         * modules/clean-temp: Likewise.
27921         * modules/copy-file: Likewise.
27922         * modules/fchdir: Likewise.
27923         * modules/fcntl-safer: Likewise.
27924         * modules/pipe: Likewise.
27925         * modules/utime: Likewise.
27926         Prompted by Eric Blake and Bruno Haible.
27927
27928 2008-06-24  Andreas Schwab  <schwab@suse.de>
27929
27930         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
27931         literals can be used as initializers for global variables.
27932
27933 2008-06-23  Eric Blake  <ebb9@byu.net>
27934
27935         Make gnulib-cache.m4 easier to diff.
27936         * gnulib-tool (func_import): Allow newlines when reading cached
27937         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
27938
27939 2008-06-23  Bruno Haible  <bruno@clisp.org>
27940
27941         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
27942         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
27943         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
27944         m4/signalblocking.m4.
27945         (gl_PREREQ_SIGACTION): Don't invoke it.
27946         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
27947         gl_PREREQ_SIG_HANDLER_H.
27948         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
27949         Don't check for sigaction here.
27950
27951 2008-06-23  Bruno Haible  <bruno@clisp.org>
27952
27953         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
27954         (install_handlers): Don't set the SA_RESETHAND flag.
27955
27956 2008-06-23  Bruno Haible  <bruno@clisp.org>
27957
27958         * m4/sigaction.m4: Comment fixes.
27959         * lib/signal.in.h: Likewise.
27960
27961 2008-06-23  Eric Blake  <ebb9@byu.net>
27962
27963         Fix typo.
27964         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
27965
27966         Avoid SA_ namespace.
27967         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
27968         Reported by Ralf Wildenhues.
27969
27970         Avoid test failure due to SA_RESTORER.
27971         * tests/test-sigaction.c (SA_MASK): New macro.
27972         (main): Avoid failing due to extension flags being set.
27973         Reported by Jim Meyering.
27974
27975         Revert use of sig-handler.h in sigprocmask.c.
27976         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
27977         it requires the existence of struct sigaction.
27978         * lib/sigprocmask.c (handler_t): Restore typedef.
27979         (rpl_signal, old_handlers): Use local type.
27980
27981 2008-06-22  Bruno Haible  <bruno@clisp.org>
27982
27983         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
27984         conditionally.
27985         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27986
27987 2008-06-22  Bruno Haible  <bruno@clisp.org>
27988
27989         * doc/posix-functions/siginterrupt.texi: Move note.
27990
27991         * lib/signal.in.h (SA_RESTART): New macro.
27992         * lib/sigaction.c: Update comment.
27993
27994         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
27995
27996         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
27997         (gl_PREREQ_SIGPROCMASK): Invoke it.
27998         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
27999
28000         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
28001
28002         * lib/sigprocmask.c: Update a comment.
28003
28004 2008-06-21  Eric Blake  <ebb9@byu.net>
28005
28006         Use sigaction module rather than signal().
28007         * modules/c-stack (Depends-on): Add sigaction.
28008         * modules/fatal-signal (Depends-on): Likewise.
28009         * modules/nanosleep (Depends-on): Likewise.
28010         * modules/sigprocmask (Files): Add sig-handler.h.
28011         * modules/sigaction (Files): Likewise.
28012         * lib/sig-handler.h (get_handler): New file, suggested by Paul
28013         Eggert.
28014         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
28015         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
28016         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
28017         (init_fatal_signals): Likewise.
28018         * lib/nanosleep.c (rpl_nanosleep): Likewise.
28019         (siginterrupt): Delete fallback.
28020         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
28021         instead.
28022         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
28023         siginterrupt.
28024
28025         New module sigaction, for mingw.
28026         * modules/sigaction: New module...
28027         * modules/sigaction-tests: ...and its test.
28028         * m4/sigaction.m4: New file.
28029         * lib/sigaction.c: Likewise.
28030         * tests/test-sigaction.c: Likewise.
28031         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
28032         * modules/signal (Makefile.am): Likewise.
28033         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
28034         needed.
28035         * doc/posix-headers/signal.texi (signal.h): Mention provided
28036         types.
28037         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
28038         that sigaction is preferable.
28039         * doc/posix-functions/sigaction.texi (sigaction): Mention new
28040         module.
28041         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
28042         sigaction.
28043
28044         Improve robustness of sigprocmask by overriding signal.
28045         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
28046         is in use.
28047         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
28048         (SIGKILL, SIGSTOP): Provide fallbacks.
28049         (rpl_signal): Implement.
28050         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
28051         signal can be called inside handlers.
28052
28053         Fix nanosleep module on mingw.
28054         * modules/nanosleep (Depends-on): Add sys_select.
28055         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
28056
28057         Fix licensing of sigprocmask.
28058         * modules/raise (License): Relicense as LGPL.
28059
28060 2008-06-21  Bruno Haible  <bruno@clisp.org>
28061
28062         * lib/propername.c (proper_name_utf8): Don't use the transliterated
28063         result if it contains question marks.
28064         Reported by Michael Geng <linux@michaelgeng.de>.
28065
28066 2008-06-19  Bruno Haible  <bruno@clisp.org>
28067
28068         Fix CVS-ism.
28069         * doc/gnulib.texi: Include updated-stamp.texi.
28070         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
28071         (updated-stamp.texi): New rule.
28072         (gnulib.info): Depend on it.
28073         * doc/.gitignore: Add updated-stamp.texi.
28074         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
28075
28076 2008-06-19  Bruno Haible  <bruno@clisp.org>
28077
28078         * doc/Makefile (gnulib.info): Update and simplify dependencies.
28079         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
28080
28081 2008-06-19  Eric Blake  <ebb9@byu.net>
28082
28083         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
28084         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
28085         Reported by Stepan Kasal.
28086
28087 2008-06-18  Bruno Haible  <bruno@clisp.org>
28088
28089         * lib/fatal-signal.c (init_fatal_signals): Add comment.
28090         Reported by Eric Blake.
28091
28092 2008-06-18  Eric Blake  <ebb9@byu.net>
28093
28094         Work around cygwin 1.5.25 strsignal bug.
28095         * tests/test-strsignal.c: Allow for const char *.
28096         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
28097
28098 2008-06-18  Simon Josefsson  <simon@josefsson.org>
28099
28100         * users.txt: Update URL to article and add author/date
28101         information.
28102
28103 2008-06-17  Bruno Haible  <bruno@clisp.org>
28104
28105         New macro gl_DISABLE_THREADS.
28106         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
28107         if the user did not pass --enable-threads or --disable-threads option.
28108         (gl_DISABLE_THREADS): New macro.
28109         Reported by Eric Blake <ebb9@byu.net>.
28110
28111 2008-06-17  Bruno Haible  <bruno@clisp.org>
28112
28113         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
28114         when the macro ignores it.
28115         Based on a patch by Eric Blake <ebb9@byu.net>.
28116
28117 2008-06-17  Bruno Haible  <bruno@clisp.org>
28118
28119         * modules/tls (License): Change to LGPLv2+.
28120         Reported by Eric Blake.
28121
28122 2008-06-17  Eric Blake  <ebb9@byu.net>
28123
28124         Simplify c-stack prerequisites.
28125         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
28126         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
28127         no longer requires <ucontext.h> to exist.  Optimize setrlimit
28128         check.
28129         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
28130         <sys/resource.h>.
28131
28132         Move c-stack test into testsuite.
28133         * modules/c-stack-tests: New file.
28134         * lib/c-stack.c [DEBUG]: Move test program...
28135         * tests/test-c-stack.c: ...into this new file.  Skip rather than
28136         fail test if sigaltstack is lacking.
28137         * tests/test-c-stack.sh: New driver file.
28138
28139 2008-06-16  Eric Blake  <ebb9@byu.net>
28140
28141         Use raise module consistently.
28142         * modules/fatal-signal (Depends-on): Add raise.
28143         * modules/sigprocmask (Depends-on): Likewise.
28144         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
28145         * lib/sigprocmask.c (sigprocmask): Likewise.
28146         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
28147         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
28148
28149         Fix compliance bug in sigpending.
28150         * lib/sigprocmask.c (sigpending): Return pending array via
28151         parameter, not return value.
28152
28153 2008-06-14  Eric Blake  <ebb9@byu.net>
28154
28155         Improve obstack-printf test code.
28156         * tests/test-obstack-printf.c (test_function): Fix comment, and
28157         simplify usage of obstack_* in macros.  Add a test for coverage.
28158         Reported by Bruno Haible.
28159
28160 2008-06-14  Bruno Haible  <bruno@clisp.org>
28161
28162         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
28163         array size as a constant, not as a const variable.
28164         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
28165         AC_USE_SYSTEM_EXTENSIONS.
28166         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
28167         Test whether the obstack_printf function actually exists.
28168         * modules/obstack-printf (Depends-on): Add extensions.
28169         (Include): Remove obstack.h.
28170         * modules/obstack-printf-posix (Depends-on): Add extensions.
28171         (Include): Remove obstack.h.
28172
28173 2008-06-13  Eric Blake  <ebb9@byu.net>
28174
28175         Add obstack-printf and obstack-printf-posix modules.
28176         * modules/obstack-printf: New file.
28177         * modules/obstack-printf-posix: Likewise.
28178         * MODULES.html.sh (Misc): Mention them.
28179         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
28180         Likewise.
28181         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
28182         Likewise.
28183         * modules/stdio (Makefile.am): Accomodate new modules.
28184         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28185         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
28186         Declare.
28187         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
28188         functions.
28189         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
28190         (gl_REPLACE_OBSTACK_PRINTF): New macros
28191         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
28192         * tests/test-obstack-printf.c: New file.
28193         * modules/obstack-printf-tests: Likewise.
28194         * modules/obstack-printf-posix-tests: Likewise.
28195
28196 2008-06-11  Bruno Haible  <bruno@clisp.org>
28197
28198         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
28199         * lib/open.c: Include errno.h.
28200         (open): Fail when attempting to write to a file that has a trailing
28201         slash.
28202         * tests/test-open.c (main): Test against trailing slash bug.
28203         * doc/posix-functions/open.texi: Mention the trailing slash bug.
28204
28205 2008-06-10  Bruno Haible  <bruno@clisp.org>
28206
28207         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
28208         for $? to work inside the trap command, with various /bin/sh-s.
28209         * tests/test-vc-list-files-cvs.sh: Likewise.
28210
28211 2008-06-10  Bruno Haible  <bruno@clisp.org>
28212
28213         * lib/acl-internal.h: Don't include gettext.h here.
28214         * lib/set-mode-acl.c: Include gettext.h here.
28215         * lib/copy-acl.c: Likewise.
28216
28217 2008-06-10  Bruno Haible  <bruno@clisp.org>
28218
28219         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
28220         * lib/wait-process.c (wait_subprocess): Likewise.
28221         * lib/execute.h (execute): Add termsigp argument.
28222         * lib/execute.c (execute): Likewise.
28223         * lib/csharpcomp.c (compile_csharp_using_pnet,
28224         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
28225         * lib/csharpexec.c (execute_csharp_using_pnet,
28226         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
28227         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
28228         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
28229         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
28230         is_jikes_present): Update.
28231         * lib/javaexec.c (execute_java_class): Update.
28232         * lib/javaversion.c (execute_and_read_line): Update.
28233         * NEWS: Document the changes.
28234         Reported by Eric Blake.
28235
28236 2008-06-10  Eric Blake  <ebb9@byu.net>
28237
28238         Add missing include.
28239         * tests/test-strstr.c (includes): Add <signal.h>.
28240         * tests/test-strcasestr.c (includes): Likewise.
28241         * tests/test-memmem.c (includes): Likewise.
28242
28243 2008-06-10  Bruno Haible  <bruno@clisp.org>
28244
28245         * lib/wait-process.c (wait_subprocess): Add an assertion.
28246
28247 2008-06-10  Bruno Haible  <bruno@clisp.org>
28248
28249         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
28250
28251 2008-06-10  Bruno Haible  <bruno@clisp.org>
28252
28253         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
28254         using alarm().
28255         * tests/test-strcasestr.c (main): Likewise.
28256         * tests/test-strstr.c (main): Likewise.
28257
28258 2008-06-09  Bruno Haible  <bruno@clisp.org>
28259
28260         Work around the Solaris 10 ACE ACLs ABI change.
28261         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
28262         declare if ACL_NO_TRIVIAL is present.
28263         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
28264         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
28265         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
28266         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
28267         define if ACL_NO_TRIVIAL is present.
28268         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
28269         and use the current ABI.
28270         (file_has_acl): Use same #if condition as elsewhere.
28271         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
28272         in use, and use the current ABI.
28273         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
28274         Reported by Jim Meyering.
28275
28276 2008-06-09  Eric Blake  <ebb9@byu.net>
28277
28278         Work around environments that (stupidly) ignore SIGALRM.
28279         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
28280         before using alarm().
28281         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28282         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28283         Reported by Ian Beckwith <ianb@erislabs.net>.
28284
28285         Produce autobuild blurb earlier in log.
28286         * modules/autobuild (configure.ac-early): Move AB_INIT here.
28287
28288 2008-06-09  Jim Meyering  <meyering@redhat.com>
28289         and Ondřej Vašík  <ovasik@redhat.com>
28290
28291         utimens.c: correct kernel bug work-around
28292         Ondřej Vašík found that the invalid return value of 280 indicates
28293         failure, not success, and the kernel bug we're trying to work
28294         around affects not just the utimensat call, but also the fallback
28295         futimens call.
28296         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
28297         not success.
28298         [HAVE_FUTIMENS]: Use the same work-around, here.
28299
28300 2008-06-09  Jim Meyering  <meyering@redhat.com>
28301
28302         add more guards around definition of ACE_-related code
28303         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
28304         ALLOW and ACE_OWNER are also defined.
28305
28306 2008-06-08  Bruno Haible  <bruno@clisp.org>
28307
28308         * lib/acl-internal.h: Add me as co-author.
28309         * lib/file-has-acl.c: Likewise.
28310         * lib/set-mode-acl.c: Likewise.
28311         * lib/copy-acl.c: Likewise.
28312
28313 2008-06-08  Bruno Haible  <bruno@clisp.org>
28314
28315         Add support for AIX ACLs.
28316         * lib/acl-internal.h (acl_nontrivial): New declaration.
28317         * lib/file-has-acl.c (acl_nontrivial): New function.
28318         (file_has_acl): Add implementation using AIX 4 ACL API.
28319         * lib/set-mode-acl.c (qset_acl): Likewise.
28320         * lib/copy-acl.c (qcopy_acl): Likewise.
28321
28322 2008-06-08  Bruno Haible  <bruno@clisp.org>
28323
28324         Add support for HP-UX ACLs.
28325         * lib/acl-internal.h (acl_nontrivial): New declaration.
28326         * lib/file-has-acl.c (acl_nontrivial): New function.
28327         (file_has_acl): Add implementation using HP-UX 11 ACL API.
28328         * lib/set-mode-acl.c (qset_acl): Likewise.
28329         * lib/copy-acl.c (qcopy_acl): Likewise.
28330
28331 2008-06-08  Bruno Haible  <bruno@clisp.org>
28332
28333         Add support for Cygwin ACLs.
28334         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
28335         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
28336         the chmod_or_fchmod call.
28337         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
28338
28339 2008-06-08  Bruno Haible  <bruno@clisp.org>
28340
28341         Fix bug with setuid modes in Solaris 10+ code.
28342         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
28343         succeeded, when the mode contains some special bits.
28344
28345 2008-06-08  Bruno Haible  <bruno@clisp.org>
28346
28347         Add support for Solaris 7..10 ACLs.
28348         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
28349         declarations.
28350         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
28351         functions.
28352         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
28353         * lib/set-mode-acl.c (qset_acl): Likewise.
28354         * lib/copy-acl.c (qcopy_acl): Likewise.
28355
28356 2008-06-08  Bruno Haible  <bruno@clisp.org>
28357
28358         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
28359         declaration.
28360         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
28361         (acl_access_nontrivial): Remove MacOS X case.
28362         (file_has_acl): Use acl_extended_nontrivial.
28363         * lib/copy-acl.c (qcopy_acl): Likewise.
28364
28365 2008-06-08  Bruno Haible  <bruno@clisp.org>
28366
28367         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
28368
28369 2008-06-08  Jim Meyering  <meyering@redhat.com>
28370
28371         * modules/acl (Maintainer): Add Bruno Haible.
28372
28373 2008-06-07  Bruno Haible  <bruno@clisp.org>
28374
28375         Improve support for Tru64 ACLs.
28376         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
28377         ACL on OSF/1.
28378
28379 2008-06-07  Bruno Haible  <bruno@clisp.org>
28380
28381         Add support for MacOS X ACLs.
28382         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
28383         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
28384         * lib/set-mode-acl.c (qset_acl): Likewise.
28385         * lib/copy-acl.c (qcopy_acl): Likewise.
28386
28387 2008-06-07  Bruno Haible  <bruno@clisp.org>
28388
28389         Fix memory leak introduced on 2008-05-22.
28390         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
28391         use.
28392
28393 2008-06-07  Bruno Haible  <bruno@clisp.org>
28394
28395         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
28396         to construct an empty ACL.
28397
28398 2008-06-07  Bruno Haible  <bruno@clisp.org>
28399
28400         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
28401         precisely.
28402         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
28403
28404 2008-06-07  Bruno Haible  <bruno@clisp.org>
28405
28406         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
28407         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
28408
28409 2008-06-07  Bruno Haible  <bruno@clisp.org>
28410
28411         * doc/posix-functions/_setjmp.texi: Explain the use of this function
28412         regardless of POSIX.
28413         * doc/posix-functions/_longjmp.texi: Likewise.
28414         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
28415         SystemV platform in this case.
28416
28417 2008-06-06  Eric Blake  <ebb9@byu.net>
28418
28419         Document abort() bugs.
28420         * doc/posix-functions/abort.texi (abort): Mention anomalies.
28421
28422         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
28423         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
28424         sigsetjmp.
28425         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
28426         siglongjmp, but only as a macro.
28427         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
28428         is obsolete.
28429         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
28430
28431         Tweak documentation to cover cygwin argz bugs.
28432         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
28433         argz bug fix; no code change needed since no cygwin releases
28434         occurred between the last fix and the bug being tested.
28435         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
28436         module and recently fixed cygwin bugs.
28437         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
28438         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
28439         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
28440         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
28441         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
28442         Likewise.
28443         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
28444         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
28445         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
28446         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
28447         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
28448         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
28449         Likewise.
28450
28451         Avoid gcc warning on cygwin.
28452         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
28453         !ACL_NO_TRIVIAL]: Avoid unused variable.
28454
28455 2008-06-05  Eric Blake  <ebb9@byu.net>
28456
28457         Be tolerant of UNKNOWN version in gnulib-tool test dir.
28458         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
28459         git-version-gen fails to come up with a version.
28460         Reported by Simon Josefsson.
28461
28462 2008-06-05  Jim Meyering  <meyering@redhat.com>
28463             Paul Eggert  <eggert@cs.ucla.edu>
28464
28465         utimens.c: work around a probable Linux kernel bug
28466         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
28467         appears to be a kernel bug that causes utimensat to return 280
28468         instead of 0, indicating success.
28469
28470 2008-06-04  Bruno Haible  <bruno@clisp.org>
28471
28472         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
28473         2008-06-01 commit.
28474
28475 2008-06-04  Bruno Haible  <bruno@clisp.org>
28476
28477         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
28478         * lib/file-has-acl.c (acl_access_nontrivial): New function.
28479         (file_has_acl): Use it. Save errno afterwards.
28480         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
28481
28482 2008-06-03  Bruno Haible  <bruno@clisp.org>
28483
28484         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
28485         draft code. Simplify #ifs.
28486         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
28487         Put Solaris code after POSIX-draft code. Fix comments regarding
28488         Solaris 10, HP-UX. Mention Cygwin.
28489         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
28490
28491 2008-06-03  Eric Blake  <ebb9@byu.net>
28492
28493         Provide fallback for older kernels.
28494         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
28495         Provide runtime fallback if kernel lacks support.
28496         Reported by Mike Frysinger.
28497
28498 2008-06-02  Bruno Haible  <bruno@clisp.org>
28499
28500         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
28501         it exists.
28502
28503 2008-06-02  Bruno Haible  <bruno@clisp.org>
28504
28505         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
28506         * lib/copy-acl.c (qcopy_acl): Update comment.
28507
28508 2008-06-02  Bruno Haible  <bruno@clisp.org>
28509
28510         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
28511         like ACL APIs.
28512
28513 2008-06-02  Bruno Haible  <bruno@clisp.org>
28514
28515         * tests/test-file-has-acl.sh: Use different code for Cygwin.
28516         * tests/test-set-mode-acl.sh: Likewise.
28517         * tests/test-copy-acl.sh: Likewise.
28518         * tests/test-copy-file.sh: Likewise.
28519
28520 2008-06-02  Bruno Haible  <bruno@clisp.org>
28521
28522         * tests/test-file-has-acl.sh: Remove unused code.
28523
28524 2008-06-01  Bruno Haible  <bruno@clisp.org>
28525
28526         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
28527         (copy_acl): Just a wrapper around qcopy_acl that emits the error
28528         messages.
28529         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
28530
28531 2008-06-01  Bruno Haible  <bruno@clisp.org>
28532
28533         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
28534         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
28535         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
28536         APIs.
28537         * modules/acl-tests (configure.ac): Remove tests now contained in
28538         m4/acl.m4.
28539
28540 2008-06-02  Jim Meyering  <meyering@redhat.com>
28541
28542         announce-gen: use a better key-server host name
28543         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
28544         it may be more consistently reliable.  Suggested by Werner Koch
28545         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
28546
28547 2008-06-01  Bruno Haible  <bruno@clisp.org>
28548
28549         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
28550         Reported by Voroskoi Andras <voroskoi@gmail.com>.
28551
28552 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
28553
28554         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
28555
28556 2008-06-01  Bruno Haible  <bruno@clisp.org>
28557
28558         New ACL tests.
28559         * tests/test-file-has-acl.sh: New file.
28560         * tests/test-file-has-acl.c: New file.
28561         * tests/test-set-mode-acl.sh: New file.
28562         * tests/test-set-mode-acl.c: New file.
28563         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
28564         * tests/test-copy-acl.c: New file.
28565         * modules/acl-tests: New file, based on modules/copy-file-tests.
28566         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
28567         (Depends-on): Add acl-tests.
28568         (configure.ac): Remove checks.
28569         (Makefile.am): Don't create test-sameacls program here any more.
28570
28571 2008-06-01  Bruno Haible  <bruno@clisp.org>
28572
28573         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
28574         * tests/test-sameacls.c: Include progname.h.
28575         (main): Invoke set_program_name. Portability fixes for MacOS X,
28576         Solaris, HP-UX.
28577
28578 2008-06-01  Bruno Haible  <bruno@clisp.org>
28579
28580         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
28581         function.
28582         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
28583
28584 2008-06-01  Bruno Haible  <bruno@clisp.org>
28585
28586         * modules/rpmatch (Depends-on): Add strdup.
28587
28588 2008-06-01  Bruno Haible  <bruno@clisp.org>
28589
28590         * lib/pipe.c: Include unistd-safer.h.
28591         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
28592         * modules/pipe (Depends-on): Add unistd-safer.
28593
28594 2008-05-30  Simon Josefsson  <simon@josefsson.org>
28595
28596         * modules/autobuild (configure.ac): Call AB_INIT.
28597
28598 2008-05-30  Simon Josefsson  <simon@josefsson.org>
28599
28600         * tests/test-getaddrinfo.c: Don't print debug messages by default.
28601         Suggested by Bruno Haible <bruno@clisp.org>.
28602
28603 2008-05-30  Simon Josefsson  <simon@josefsson.org>
28604
28605         * tests/test-base64.c: Cast size_t to unsigned long when invoking
28606         printf.  Use %lu instead of %d.  Reported by Bruno Haible
28607         <bruno@clisp.org>.
28608
28609 2008-05-29  Eric Blake  <ebb9@byu.net>
28610
28611         Prefer new POSIX 200x interfaces over futimesat.
28612         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
28613         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
28614         when available.
28615         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
28616
28617 2008-05-28  Bruno Haible  <bruno@clisp.org>
28618
28619         * modules/stpcpy (License): Change to LGPLv2+.
28620         Requested by David Lutterkort <dlutter@redhat.com>.
28621
28622 2008-05-27  Bruno Haible  <bruno@clisp.org>
28623
28624         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
28625         current mingw.
28626         Reported by Jose E. Marchesi <jemarch@gnu.org>.
28627
28628 2008-05-27  Bruno Haible  <bruno@clisp.org>
28629
28630         * modules/iconv_open (Link): New section, from module 'iconv'.
28631         * modules/striconv (Link): Likewise.
28632         * modules/striconveh (Link): Likewise.
28633         * modules/xstriconv (Link): Likewise.
28634         * modules/unicodeio (Link): Likewise.
28635         * modules/propername (Link): Likewise.
28636         Reported by Jim Meyering.
28637
28638 2008-05-26  Jim Meyering  <meyering@redhat.com>
28639
28640         sha256: do not artificially restrict buffer length to be < 2^32
28641         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
28642         uint32_t to size_t.
28643         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
28644         to match.
28645
28646         avoid unaligned access errors, e.g., on sparc
28647         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
28648         direct access through a possibly-unaligned uint64* pointer.
28649         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
28650         direct access through a possibly-unaligned uint32* pointer.
28651         Prompted by this patch from Tom "spot" Callaway:
28652         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
28653
28654         sha512.c: fix typo in comment
28655         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
28656
28657 2008-05-25  Bruno Haible  <bruno@clisp.org>
28658
28659         * lib/set-mode-acl.c: Renamed from lib/acl.c.
28660         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
28661         (Makefile.am): Update lib_SOURCES.
28662
28663 2008-05-25  Bruno Haible  <bruno@clisp.org>
28664
28665         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
28666
28667 2008-05-25  Jim Meyering  <meyering@redhat.com>
28668
28669         useless-if-before-free: freed expr may have white-space differences
28670         * build-aux/useless-if-before-free: Recognize cases in which the
28671         freed expression differs from the tested one in embedded white
28672         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
28673         $1 was used, so we can't make any regexp shy.  Improved tests now
28674         detect this.
28675
28676         useless-if-before-free: accept white space in the expression.
28677         * build-aux/useless-if-before-free: For now, any white space
28678         in the expression must be identical in the free argument.
28679
28680         useless-if-before-free: efficiency tweak
28681         * build-aux/useless-if-before-free: Make the expression-matching
28682         regexp "shy".
28683         Make the *outer* regexp shy, not the expr-matching one.
28684
28685         update code-in-comment to accept cast of free arg
28686         * build-aux/useless-if-before-free: Update regexp.
28687
28688 2008-05-25  Bruno Haible  <bruno@clisp.org>
28689
28690         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
28691         * modules/copy-file-tests (Files, Makefile.am): Update.
28692         * tests/test-copy-file.c (func_test_copy): Update.
28693
28694 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
28695
28696         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
28697
28698 2008-05-23  Bruno Haible  <bruno@clisp.org>
28699
28700         Improve support for ACLs on OSF/1.
28701         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
28702         Remove fallback for unknown flavors of ACLs.
28703
28704 2008-05-22  Bruno Haible  <bruno@clisp.org>
28705
28706         Add support for ACLs on OSF/1.
28707         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
28708         replacements.
28709         (acl_free_text): New macro fallback.
28710         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
28711         acl_free.
28712         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
28713         acl_free_text function. Require AC_C_INLINE.
28714
28715 2008-05-22  Bruno Haible  <bruno@clisp.org>
28716
28717         Make copy_acl work on MacOS X 10.5.
28718         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
28719         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
28720         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
28721         If MODE_INSIDE_ACL, don't assume that every system has the same text
28722         representation for ACLs as FreeBSD.
28723         * lib/copy-acl.c (copy_acl): Add support for platforms with
28724         !MODE_INSIDE_ACL.
28725         * lib/file-has-acl.c (file_has_acl): Likewise.
28726         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
28727         FreeBSD, MacOS X, or IRIX, respectively.
28728
28729 2008-05-22  Bruno Haible  <bruno@clisp.org>
28730
28731         * lib/acl.h: Don't include <sys/acl.h>.
28732         (GETACLCNT): Move fallback to lib/acl-internal.h.
28733         * lib/acl-internal.h: Include <sys/acl.h> here.
28734         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
28735
28736 2008-05-22  Bruno Haible  <bruno@clisp.org>
28737
28738         Split off copy_acl function to separate file.
28739         * lib/copy-acl.c: New file, extracted from lib/acl.c.
28740         * lib/acl.c (copy_acl): Moved function to separate file.
28741         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
28742         * modules/acl (Files): Add lib/copy-acl.c.
28743         (Makefiles.am): Augment lib_SOURCES.
28744
28745 2008-05-22  Bruno Haible  <bruno@clisp.org>
28746
28747         * modules/copy-file-tests: New file.
28748         * tests/test-copy-file.sh: New file.
28749         * tests/test-copy-file.c: New file.
28750         * tests/test-copy-file-sameacls.c: New file.
28751
28752 2008-05-22  Eric Blake  <ebb9@byu.net>
28753
28754         Avoid gcc warning.
28755         * tests/test-memcmp.c (main): Pass NULL indirectly.
28756
28757 2008-05-21  Bruno Haible  <bruno@clisp.org>
28758
28759         Add reference doc about ACLs.
28760         * doc/acl-resources.txt: New file.
28761         * doc/acl-cygwin.txt: New file.
28762
28763 2008-05-21  Bruno Haible  <bruno@clisp.org>
28764
28765         Avoid one more warning from gcc.
28766         * lib/vasnprintf.c (IF_LINT): Update comments.
28767         (VASNPRINTF): Use it also for the 'prefix' array initializer.
28768
28769 2008-05-21  Jim Meyering  <meyering@redhat.com>
28770
28771         avoid a warning from gcc
28772         * lib/vasnprintf.c (IF_LINT): Define.
28773         (scale10_round_decimal_long_double):
28774         Use it to avoid a "may be used uninitialized" warning.
28775         (scale10_round_decimal_double): Likewise.
28776
28777 2008-05-21  Simon Josefsson  <simon@josefsson.org>
28778
28779         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
28780         declared.
28781
28782 2008-05-20  Bruno Haible  <bruno@clisp.org>
28783
28784         * tests/test-memcmp.c (main): Test also the sign of the result. Test
28785         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
28786
28787 2008-05-20  Simon Josefsson  <simon@josefsson.org>
28788
28789         * modules/memcmp-tests: New file.
28790         * tests/test-memcmp.c: New file.
28791
28792 2008-05-19  Bruno Haible  <bruno@clisp.org>
28793
28794         * modules/propername (Notice, configure.ac): Put quoted "..." into
28795         --keyword option.
28796         * lib/propername.h: Update comments accordingly.
28797         Reported by Eric Blake.
28798
28799 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
28800
28801         * modules/getpass-gnu (Depends-on): Add fseeko.
28802
28803 2008-05-19  Simon Josefsson  <simon@josefsson.org>
28804
28805         * modules/base64-tests: New file.
28806
28807 2008-05-19  Bo Borgerson <gigabo@gmail.com>
28808
28809         * lib/base64.c (base64_decode_ctx): If a decode context structure
28810         was passed in use it to ignore newlines.  If a context structure
28811         was _not_ passed in, continue to treat newlines as garbage (this
28812         is the historical behavior).  Formerly base64_decode.
28813         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
28814         takes a decode context structure.
28815         * lib/base64.h (base64_decode): Macro for four-argument calls.
28816         (base64_decode_alloc): Likewise.
28817         * lib/base64.c (base64_decode_ctx): If a decode context structure
28818         was passed in use it to ignore newlines.  If a context structure
28819         was _not_ passed in, continue to treat newlines as garbage (this
28820         is the historical behavior).  Formerly base64_decode.
28821         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
28822         takes a decode context structure.
28823         * lib/base64.h (base64_decode): Macro for four-argument calls.
28824         (base64_decode_alloc): Likewise.
28825
28826 2008-05-19  Jim Meyering  <meyering@redhat.com>
28827
28828         avoid a warning from gcc
28829         * lib/trim.c (IF_LINT): Define.
28830         (trim2): Use it to avoid a "may be used uninitialized" warning.
28831
28832         Fix doc typo.
28833         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
28834
28835 2008-05-19  Bruno Haible  <bruno@clisp.org>
28836
28837         * doc/glibc-functions/getpass.texi: Document limits of other
28838         implementations.
28839
28840 2008-05-19  Simon Josefsson  <simon@josefsson.org>
28841             Bruno Haible <bruno@clisp.org>
28842
28843         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
28844
28845 2008-05-18  Bruno Haible  <bruno@clisp.org>
28846
28847         * modules/propername: New file, from GNU gettext.
28848         * lib/propername.h: New file, from GNU gettext.
28849         * lib/propername.c: New file, from GNU gettext.
28850         * MODULES.html.sh (Internationalization functions): Add propername.
28851
28852 2008-05-16  Jim Meyering  <meyering@redhat.com>
28853             Bruno Haible  <bruno@clisp.org>
28854
28855         Avoid some warnings from "gcc -Wshadow".
28856         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
28857
28858 2008-05-15  Eric Blake  <ebb9@byu.net>
28859
28860         Extend previous patch to cygwin 1.7.0.
28861         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
28862         fast implementation in cygwin >= 1.7.0.
28863         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28864         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28865
28866 2008-05-15  Bruno Haible  <bruno@clisp.org>
28867
28868         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
28869         implementation in glibc >= 2.9.
28870         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28871         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28872
28873 2008-05-15  Bruno Haible  <bruno@clisp.org>
28874
28875         * MODULES.html.sh (Internationalization functions): Remove linebreak.
28876         (Unicode string functions): Add unilbrk/*.
28877         Reported by Karl Berry.
28878
28879 2008-05-15  Eric Blake  <ebb9@byu.net>
28880
28881         Fix violation of <stdbool.h> replacement in regex.
28882         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
28883         * lib/regexec.c (re_search_internal): Likewise.
28884         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
28885
28886 2008-05-15  Jim Meyering  <meyering@redhat.com>
28887
28888         avoid distracting test output when git or cvs is not found
28889         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
28890         * tests/test-vc-list-files-git.sh: Likewise.
28891
28892 2008-05-15  Eric Blake  <ebb9@byu.net>
28893
28894         Glibc finally accepted the memmem speedup code, bugzilla #5514.
28895         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
28896         glibc version.
28897         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28898         * doc/posix-functions/strstr.texi (strstr): Likewise.
28899         * lib/str-two-way.h (MAX): Sychronize with glibc.
28900
28901 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
28902
28903         * lib/regcomp.c (optimize_utf8): Add a note on why we test
28904         opr.ctx_type.
28905         (calc_first): Initialize constraint field.
28906         (duplicate_node_closure): Use it instead of special casing ANCHORS.
28907         Fix grammar.
28908         (duplicate_node): Merge constraint field for all node types.
28909         (calc_eclosure_iter): Look at constraint field for all node types.
28910         * lib/regex_internal.c (create_cd_newstate): Don't look at
28911         opr.ctx_type.
28912
28913 2008-05-14  Bruno Haible  <bruno@clisp.org>
28914
28915         Help GCC to do better code generation.
28916         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
28917         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28918         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
28919         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
28920         Declare with attribute 'malloc' if supported.
28921
28922 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
28923
28924         use "echo STR|wc -c" rather than unportable "expr length STR"
28925         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
28926         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
28927
28928 2008-05-14  Jim Meyering  <meyering@redhat.com>
28929
28930         use dd ibs=$n count=1 ... rather than less-portable head -c$n
28931         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
28932         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
28933         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
28934         via Collin Lasse.
28935
28936 2008-05-14  Eric Blake  <ebb9@byu.net>
28937
28938         Avoid quadratic growth in gl_LIBSOURCES.
28939         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
28940         Suggested by Bruno Haible.
28941
28942         Test xmemdup0.
28943         * modules/xmemdup0-tests: New file.
28944         * tests/test-xmemdup0.c: Likewise.
28945
28946 2008-05-13  Eric Blake  <ebb9@byu.net>
28947
28948         Split xmemdup0 into its own module.
28949         * modules/xmemdup0: New file.
28950         * lib/xmemdup0.h: Likewise.
28951         * lib/xmemdup0.c: Likewise.
28952         * MODULES.html.sh (Memory management functions): Add xmemdup0.
28953         * lib/xalloc.h (xmemdup0): Remove.
28954         * lib/xmalloc.c (xmemdup0): Likewise.
28955
28956 2008-05-13  Eric Blake  <ebb9@byu.net>
28957             Bruno Haible  <bruno@clisp.org>
28958
28959         Reduce number of forks required during autoconf.
28960         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
28961         and gl_LIBSOURCES_DIR.
28962         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
28963         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
28964         m4_syscmd per file.
28965         <m4_foreach_w>: Move...
28966         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
28967
28968 2008-05-13  Eric Blake  <ebb9@byu.net>
28969
28970         * gnulib-tool: Fix various comment typos.
28971
28972 2008-05-12  Bruno Haible  <bruno@clisp.org>
28973
28974         Tailor the linebreaking algorithm.
28975         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
28976
28977 2008-05-12  Bruno Haible  <bruno@clisp.org>
28978
28979         Update to Unicode 5.0.0.
28980         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
28981         LBP_JV, LBP_JT. Redistribute values.
28982         (unilbrk_table): Change size.
28983         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
28984         Unicode TR#14 rev. 22.
28985         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
28986         LBP_JV, LBP_JT. Redistribute values.
28987         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
28988         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
28989         Update.
28990         * lib/unilbrk/lbrkprop1.h: Regenerated.
28991         * lib/unilbrk/lbrkprop2.h: Regenerated.
28992         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
28993         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
28994         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
28995         Likewise.
28996         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
28997         Likewise.
28998         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
28999         result.
29000         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
29001         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
29002         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
29003         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
29004         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
29005         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
29006
29007 2008-05-11  Bruno Haible  <bruno@clisp.org>
29008
29009         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
29010
29011 2008-05-11  Bruno Haible  <bruno@clisp.org>
29012
29013         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
29014         * modules/unilbrk/gen-lbrk: New file.
29015
29016 2008-05-11  Bruno Haible  <bruno@clisp.org>
29017
29018         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
29019         * m4/sha512.m4 (gl_SHA512): Likewise.
29020
29021 2008-05-11  Jim Meyering  <meyering@redhat.com>
29022
29023         New modules: crypto/sha256, crypto/sha512 (from coreutils)
29024         * modules/crypto/sha256: New file.
29025         * modules/crypto/sha512: Likewise.
29026         * lib/sha256.c: Likewise.
29027         * lib/sha256.h: Likewise.
29028         * lib/sha512.c: Likewise.
29029         * lib/sha512.h: Likewise.
29030         * lib/u64.h: Likewise.
29031         * m4/sha256.m4: Likewise.
29032         * m4/sha512.m4: Likewise.
29033         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
29034
29035 2008-05-10  Bruno Haible  <bruno@clisp.org>
29036
29037         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
29038         (Input/Output <stdio.h>): Add xprintf.
29039         (Signal handling <signal.h>): Add strsignal.
29040         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
29041         (Core language properties): Add func.
29042         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
29043         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
29044         strings.
29045         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
29046         (Input/output): New section.
29047         (File system functions): Add openat-die, stat-macros.
29048         (Networking functions): Add sockets.
29049         (Unicode string functions): Add unictype/*.
29050         (Support for building libraries and executables): Add gperf.
29051         (Support for building documentation): Add agpl-3.0.
29052         (Misc): Add nocrash.
29053
29054 2008-05-10  Bruno Haible  <bruno@clisp.org>
29055
29056         * modules/unictype/gen-ctype: New file.
29057
29058 2008-05-10  Jim Meyering  <meyering@redhat.com>
29059
29060         Make chdir-safer.c more efficient on a system with no symlinks.
29061         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
29062         also if ELOOP is zero.  Suggested by Bruno Haible.
29063
29064         Make chdir-safer.c slightly safer.
29065         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
29066         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
29067
29068         Avoid compile failure on systems without ELOOP (like mingw).
29069         * lib/chdir-safer.c (ELOOP): Define if not already defined.
29070         Reported by Bruno Haible.
29071
29072 2008-05-10  Bruno Haible  <bruno@clisp.org>
29073
29074         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
29075         (is_utf8_encoding): Use a case-insensitive comparison.
29076         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
29077         streq.
29078
29079 2008-05-10  Bruno Haible  <bruno@clisp.org>
29080
29081         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
29082         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
29083         * lib/unilbrk/ulc-common.h (iconv_string_length,
29084         iconv_string_keeping_offsets): Remove declarations.
29085         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
29086         Don't include <iconv.h>, streq.h, xsize.h.
29087         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
29088         conversion.
29089         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
29090         <iconv.h>, streq.h, xsize.h.
29091         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
29092         conversion.
29093         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
29094         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
29095         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
29096         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
29097
29098 2008-05-10  Bruno Haible  <bruno@clisp.org>
29099
29100         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
29101         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
29102
29103         * modules/unilbrk/u32-width-linebreaks-tests: New file.
29104         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
29105
29106         * modules/unilbrk/u16-width-linebreaks-tests: New file.
29107         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
29108
29109         * modules/unilbrk/u8-width-linebreaks-tests: New file.
29110         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
29111
29112         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
29113         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
29114
29115         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
29116         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
29117
29118         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
29119         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
29120
29121         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
29122         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
29123
29124 2008-05-10  Bruno Haible  <bruno@clisp.org>
29125
29126         Split up 'linebreak' module.
29127         * lib/unilbrk.h: New file, based on lib/linebreak.h.
29128         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
29129         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
29130         modifications.
29131         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
29132         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
29133         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
29134         lib/linebreak.c.
29135         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
29136         lib/linebreak.c.
29137         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
29138         lib/linebreak.c.
29139         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
29140         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
29141         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
29142         lib/linebreak.c.
29143         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
29144         lib/linebreak.c.
29145         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
29146         lib/linebreak.c.
29147         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
29148         lib/linebreak.c.
29149         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
29150         lib/linebreak.c.
29151         * modules/unilbrk/base: New file.
29152         * modules/unilbrk/tables: New file.
29153         * modules/unilbrk/u8-possible-linebreaks: New file.
29154         * modules/unilbrk/u16-possible-linebreaks: New file.
29155         * modules/unilbrk/u32-possible-linebreaks: New file.
29156         * modules/unilbrk/ulc-common: New file.
29157         * modules/unilbrk/ulc-possible-linebreaks: New file.
29158         * modules/unilbrk/u8-width-linebreaks: New file.
29159         * modules/unilbrk/u16-width-linebreaks: New file.
29160         * modules/unilbrk/u32-width-linebreaks: New file.
29161         * modules/unilbrk/ulc-width-linebreaks: New file.
29162         * lib/linebreak.h: Remove file.
29163         * lib/linebreak.c: Remove file.
29164         * m4/linebreak.m4: Remove file.
29165         * modules/linebreak: Remove file.
29166         * NEWS: Mention the changes.
29167
29168 2008-05-09  Eric Blake  <ebb9@byu.net>
29169
29170         Add xmemdup0.
29171         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
29172         implementation.
29173         * lib/xmalloc.c (xmemdup0): New C implementation.
29174
29175 2008-05-08  Bruno Haible  <bruno@clisp.org>
29176
29177         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
29178
29179 2008-05-07  Eric Blake  <ebb9@byu.net>
29180
29181         Support cross-compilation of <wctype.h>.
29182         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
29183         AC_CACHE_CHECK.
29184
29185 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
29186
29187         * build-aux/vc-list-files: Add support for bzr.
29188
29189 2008-05-03  Jim Meyering  <meyering@redhat.com>
29190
29191         avoid failed assertion with tight malloc
29192         * tests/test-getndelim2.c: Correct an off-by-one assertion.
29193
29194 2008-05-03  Simon Josefsson  <simon@josefsson.org>
29195
29196         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
29197         are needed from arpa/inet.h.
29198         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
29199         Reported by Bruno Haible.
29200
29201 2008-05-02  Jim Meyering  <meyering@redhat.com>
29202
29203         avoid compilation error on FreeBSD 6
29204         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
29205
29206 2008-05-01  Jim Meyering  <meyering@redhat.com>
29207
29208         useless-if-before-free: correct --help's exit status description
29209         * build-aux/useless-if-before-free (usage): Like grep, exit 0
29210         for one or more matches, etc.  Reported by Bruno Haible.
29211
29212         vc-list-files: make the stand-alone gnulib test work
29213         * modules/vc-list-files-tests (configure.ac):
29214         Define and AC_SUBST abs_aux_dir.
29215         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
29216         $(abs_top_srcdir) to each script and having each of them
29217         duplicate the work of setting PATH, set PATH here, using
29218         the new variable, abs_aux_dir instead.
29219         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
29220         * tests/test-vc-list-files-git.sh: Likewise.
29221         Reported by Bruno Haible.
29222
29223 2008-05-01  Bruno Haible  <bruno@clisp.org>
29224
29225         * lib/getndelim2.c (getndelim2): Fix newsize computation during
29226         reallocation. Rename 'done' to 'found_delimiter'.
29227
29228 2008-05-01  Jim Meyering  <meyering@redhat.com>
29229
29230         vc-list-files: accommodate /bin/sh like the one from Solaris 10
29231         * build-aux/vc-list-files: Use `...`, not $(...).
29232
29233 2008-04-30  Jim Meyering  <meyering@redhat.com>
29234
29235         add tests for vc-list-files
29236         * modules/vc-list-files-tests: New module.
29237         * tests/test-vc-list-files-cvs.sh: New file.
29238         * tests/test-vc-list-files-git.sh: New file.
29239
29240         avoid a warning from gcc
29241         * lib/getndelim2.c (IF_LINT): Define.
29242         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
29243
29244         vc-list-files: work properly with build-aux/cvsu, too
29245         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
29246         to all cvs-based clauses.
29247
29248         vc-list-files: work properly in the CVS+awk case, too
29249         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
29250
29251         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
29252         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
29253         take more than one file argument, so .  Add quotes, just in case $dir
29254         ever contains a shell meta-character.  Prompted by Soren Hansen in
29255         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
29256
29257 2008-04-29  Eric Blake  <ebb9@byu.net>
29258
29259         Optimize getndelim2 to use block operations when possible.
29260         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
29261         freadseek, and memchr2.
29262         * lib/getndelim2.c (getndelim2): Use them for block reads.
29263
29264 2008-04-29  Bruno Haible  <bruno@clisp.org>
29265
29266         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
29267         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
29268         * modules/inet_ntop (Depends-on): Add extensions.
29269         * modules/inet_pton (Depends-on): Likewise.
29270         Reported by Simon Josefsson.
29271
29272 2008-04-29  Jim Meyering  <meyering@redhat.com>
29273
29274         When the is more than one match in a block, match all of them.
29275         * build-aux/useless-if-before-free: Iterate through each block
29276         until there are no more matches.
29277
29278         Fix broken useless-if-before-free script.
29279         * build-aux/useless-if-before-free: Fix typo: missing "?" after
29280         the expression to match cast of argument to free-like function.
29281
29282 2008-04-29  Eric Blake  <ebb9@byu.net>
29283
29284         Use new header.
29285         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
29286
29287 2008-04-29  Jim Meyering  <meyering@redhat.com>
29288
29289         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
29290         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
29291         by gnulib to exist and to declare e.g., inet_ntop.
29292         Don't include "inet_ntop.h", now removed.
29293
29294         * m4/arpa_inet_h.m4: Remove trailing blanks.
29295
29296 2008-04-29  Eric Blake  <ebb9@byu.net>
29297
29298         Silence valgrind on safe reads beyond potential array bounds.
29299         * lib/rawmemchr.valgrind: New file.
29300         * lib/strchrnul.valgrind: Likewise.
29301         * modules/rawmemchr (Files): Distribute new file.
29302         * modules/strchrnul (Files): Likewise.
29303         Suggested by Bruno Haible.
29304
29305 2008-04-29  Bruno Haible  <bruno@clisp.org>
29306
29307         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
29308         (inet_ntop, inet_pton): Change portability warning's wording.
29309         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
29310         Invoke gl_CHECK_NEXT_HEADERS.
29311         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
29312         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
29313         set ARPA_INET_H.
29314         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
29315         * modules/arpa_inet (Description): No longer only for systems that
29316         lack it.
29317         (Depends-on): Add include_next.
29318         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
29319         HAVE_ARPA_INET_H.
29320
29321 2008-04-29  Jim Meyering  <meyering@redhat.com>
29322
29323         * modules/mkdir (License): Re-license as LGPLv2+.
29324
29325 2008-04-29  Bruno Haible  <bruno@clisp.org>
29326
29327         * modules/rawmemchr (Maintainer): Set to Eric.
29328         * modules/strchrnul (Maintainer): Likewise.
29329
29330 2008-04-29  Simon Josefsson  <simon@josefsson.org>
29331
29332         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
29333         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
29334
29335         * modules/arpa_inet (arpa/inet.h): Use them.
29336
29337 2008-04-28  Eric Blake  <ebb9@byu.net>
29338
29339         Test getndelim2.
29340         * modules/getndelim2-tests: New file.
29341         * tests/test-getndelim2.c: Likewise.
29342         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
29343         stream.
29344         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
29345
29346         * MODULES.html.sh: Document new module.
29347
29348 2008-04-20  Bruno Haible  <bruno@clisp.org>
29349
29350         * lib/c-stack.c (die): Use raise.
29351         * modules/c-stack (Depends-on): Add raise.
29352
29353 2008-04-28  Bruno Haible  <bruno@clisp.org>
29354
29355         Expect rpmatch to be declared.
29356         * lib/yesno.c (rpmatch): Remove declaration.
29357
29358         Declare rpmatch.
29359         * lib/stdlib.in.h (rpmatch): New declaration.
29360         * lib/rpmatch.c: Include <stdlib.h> first.
29361         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
29362         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
29363         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
29364         HAVE_RPMATCH.
29365         * modules/rpmatch (Depends-on): Add stdlib, extensions.
29366         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
29367         (Include): Set to <stdlib.h>.
29368         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
29369         HAVE_RPMATCH.
29370         * NEWS: Document the change.
29371
29372 2008-04-28  Bruno Haible  <bruno@clisp.org>
29373
29374         Change rpmatch to use nl_langinfo when appropriate.
29375         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
29376         (N_): New macro.
29377         (localized_pattern): New function/macro.
29378         (try): Remove match, nomatch arguments. Copy the pattern into safe
29379         memory before caching it.
29380         (rpmatch): Use localized_pattern. Add translator comments.
29381         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
29382         Suggested by Eric Blake.
29383         * modules/rpmatch (Depends-on): Add stdbool.
29384
29385 2008-04-28  Eric Blake  <ebb9@byu.net>
29386
29387         Add rawmemchr module, matching glibc.
29388         * modules/string (Makefile.am): New indicator.
29389         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
29390         * lib/string.in.h (rawmemchr): Declare when appropriate.
29391         * modules/rawmemchr: New file.
29392         * m4/rawmemchr.m4: Likewise.
29393         * lib/rawmemchr.c: Likewise.
29394         * modules/rawmemchr-tests: Likewise.
29395         * tests/test-rawmemchr.c: Likewise.
29396         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
29397         module.
29398         * modules/strchrnul (Depends-on): Add rawmemchr.
29399         * lib/strchrnul.c (strchrnul): Optimize a corner case.
29400
29401         Whitespace cleanup.
29402         * tests/test-strchrnul.c: Reindent.
29403         * lib/strchrnul.c: Likewise.
29404
29405         Optimize and test strchrnul.
29406         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
29407         * modules/strchrnul-tests: New file.
29408         * tests/test-strchrnul.c: Likewise.
29409
29410         Remove intprops dependency.
29411         * modules/memchr (Depends-on): Remove intprops.
29412         * modules/memrchr (Depends-on): Likewise.
29413         * modules/memchr2 (Depends-on): Likewise.
29414         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
29415         * lib/memrchr.c (__memrchr): Likewise.
29416         * lib/memrchr2.c (memchr2): Likewise.
29417         Reported by Simon Josefsson.
29418
29419 2008-04-28  Simon Josefsson  <simon@josefsson.org>
29420
29421         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
29422         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29423
29424 2008-04-28  Simon Josefsson  <simon@josefsson.org>
29425
29426         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
29427
29428         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
29429
29430         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
29431
29432         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
29433         declarations.
29434         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
29435
29436         * m4/inet_pton.m4: Don't check for header files.
29437
29438         * m4/inet_ntop.m4: Don't check for header files.
29439
29440 2008-04-28  Simon Josefsson  <simon@josefsson.org>
29441
29442         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
29443         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
29444         trigger for cygwin).
29445         Reported by Bruno Haible  <bruno@clisp.org>.
29446
29447 2008-04-28  Bruno Haible  <bruno@clisp.org>
29448
29449         * doc/posix-functions/strdup.texi: Mention mingw problem.
29450
29451 2008-04-27  Bruno Haible  <bruno@clisp.org>
29452
29453         * modules/stat-time-tests (Depends-on): Add sleep.
29454         * tests/test-stat-time.c (force_unlink): New function.
29455         (cleanup): Use it.
29456         (test_mtime): Remove the ctime related tests.
29457         (test_ctime): New function, containing the ctime related tests.
29458         (main): Call test_ctime, except on native Windows platforms.
29459
29460 2008-04-27  Bruno Haible  <bruno@clisp.org>
29461
29462         * lib/rpmatch.c (rpmatch): Add some comments.
29463         Reported by James Youngman <jay@gnu.org>.
29464
29465 2008-04-27  Bruno Haible  <bruno@clisp.org>
29466
29467         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
29468         quiet NaNs.
29469
29470 2008-04-27  Bruno Haible  <bruno@clisp.org>
29471
29472         Make test-yesno.sh work on mingw.
29473         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
29474         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
29475         (main): Set stdin to binary mode.
29476         * modules/yesno-tests (Depends-on): Add binary-io.
29477
29478 2008-04-27  Bruno Haible  <bruno@clisp.org>
29479
29480         Fix 'isfinite' on x86, x86_64, ia64 platforms.
29481         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
29482         argument that lie outside the IEEE 854 domain.
29483         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
29484         (gl_ISFINITE): Use it.
29485         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
29486
29487 2008-04-27  Bruno Haible  <bruno@clisp.org>
29488
29489         Allow local renaming in config.h.
29490         * lib/memrchr.c (memrchr): Don't undefine outside libc.
29491
29492 2008-04-27  Bruno Haible  <bruno@clisp.org>
29493
29494         * lib/memchr.c (__memchr): Change type of 'i'.
29495         * lib/memchr2.c (memchr2): Likewise.
29496
29497 2008-04-26  Eric Blake  <ebb9@byu.net>
29498         and Bruno Haible  <bruno@clisp.org>
29499
29500         Optimize and test memrchr.
29501         * modules/memrchr (Depends-on): Add intprops.
29502         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
29503         * modules/memrchr-tests: New file.
29504         * tests/test-memrchr.c: New file.
29505
29506 2008-04-26  Bruno Haible  <bruno@clisp.org>
29507
29508         Add tentative support for DragonFly BSD.
29509         * lib/stdio-impl.h: Add macros for DragonFly BSD.
29510         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
29511         fp.
29512         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
29513         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
29514         * lib/fpurge.c (fpurge): Likewise.
29515         * lib/freadable.c (freaadable): Likewise.
29516         * lib/freadahead.c (freadahead): Likewise.
29517         * lib/freading.c (freading): Likewise.
29518         * lib/freadptr.c (freadptr): Likewise.
29519         * lib/freadseek.c (freadptrinc): Likewise.
29520         * lib/fseeko.c (fseeko): Likewise.
29521         * lib/fseterr.c (fseterr): Likewise.
29522         * lib/fwritable.c (fwritable): Likewise.
29523         * lib/fwriting.c (fwriting): Likewise.
29524
29525 2008-04-26  Bruno Haible  <bruno@clisp.org>
29526
29527         * lib/stdio-impl.h: New file.
29528         * lib/fbufmode.c: Include stdio-impl.h.
29529         (fbufmode): Use fp_, remove redundant #defines.
29530         * lib/fflush.c: Include stdio-impl.h.
29531         (clear_ungetc_buffer): Remove redundant #defines.
29532         * lib/fpurge.c: Include stdio-impl.h.
29533         (fpurge): Remove redundant #defines.
29534         * lib/freadable.c: Include stdio-impl.h.
29535         (freadable): Remove redundant #defines.
29536         * lib/freadahead.c: Include stdio-impl.h.
29537         (freadahead): Remove redundant #defines.
29538         * lib/freading.c: Include stdio-impl.h.
29539         (freading): Remove redundant #defines.
29540         * lib/freadptr.c: Include stdio-impl.h.
29541         (freadptr): Remove redundant #defines.
29542         * lib/freadseek.c: Include stdio-impl.h.
29543         (freadptrinc): Remove redundant #defines.
29544         * lib/fseeko.c: Include stdio-impl.h.
29545         (rpl_fseeko): Remove redundant #defines.
29546         * lib/fseterr.c: Include stdio-impl.h.
29547         (fseterr): Remove redundant #defines.
29548         * lib/fwritable.c: Include stdio-impl.h.
29549         (fwritable: Remove redundant #defines.
29550         * lib/fwriting.c: Include stdio-impl.h.
29551         (fwriting): Remove redundant #defines.
29552         * modules/fbufmode (Files): Add lib/stdio-impl.h.
29553         * modules/fflush (Files): Likewise.
29554         * modules/fpurge (Files): Likewise.
29555         * modules/freadable (Files): Likewise.
29556         * modules/freadahead (Files): Likewise.
29557         * modules/freading (Files): Likewise.
29558         * modules/freadptr (Files): Likewise.
29559         * modules/freadseek (Files): Likewise.
29560         * modules/fseeko (Files): Likewise.
29561         * modules/fseterr (Files): Likewise.
29562         * modules/fwritable (Files): Likewise.
29563         * modules/fwriting (Files): Likewise.
29564
29565 2008-04-26  Bruno Haible  <bruno@clisp.org>
29566
29567         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
29568         restore_seek_optimization, update_fpos_cache): New functions, extracted
29569         from rpl_fflush.
29570         (rpl_fflush): Use them.
29571         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
29572         (gl_REPLACE_FFLUSH): Use it.
29573
29574 2008-04-26  Bruno Haible  <bruno@clisp.org>
29575
29576         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
29577         on Solaris.
29578         * tests/test-xstrtoimax.sh: Likewise.
29579         * tests/test-xstrtoumax.sh: Likewise.
29580         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29581
29582 2008-04-26  Bruno Haible  <bruno@clisp.org>
29583
29584         * modules/memchr-tests: New file.
29585         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
29586
29587 2008-04-26  Eric Blake  <ebb9@byu.net>
29588             Bruno Haible  <bruno@clisp.org>
29589
29590         * lib/memchr.c: Include intprops.h.
29591         (__memchr): Optimize parallel detection of matching bytes. Rename local
29592         variables. Add explanatory comments.
29593
29594 2008-04-26  Bruno Haible  <bruno@clisp.org>
29595
29596         Fix module 'memchr', broken since 2000-10-28.
29597         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
29598
29599 2008-04-26  Bruno Haible  <bruno@clisp.org>
29600
29601         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
29602         comments.
29603
29604 2008-04-25  Eric Blake  <ebb9@byu.net>
29605
29606         Use native fstatat on cygwin 1.7.0.
29607         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
29608         first.
29609
29610 2008-04-23  Eric Blake  <ebb9@byu.net>
29611
29612         Improve memchr2 performance.
29613         * lib/memchr2.c (memchr2): Further optimize parallel detection of
29614         NUL bytes.
29615         * modules/memchr2 (Depends-on): Use intprops.h.
29616
29617 2008-04-23  Simon Josefsson  <simon@josefsson.org>
29618
29619         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
29620         an inline function instead of a CPP macro.  Patch by Ben Pfaff
29621         <blp@cs.stanford.edu>.
29622
29623 2008-04-23  Simon Josefsson  <simon@josefsson.org>
29624
29625         * lib/arpa_inet.in.h: New file.
29626
29627         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
29628         (Makefile.am): Sed in substitute header file.
29629
29630         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
29631         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
29632
29633         * modules/inet_ntop (configure.ac): Use
29634         gl_ARPA_INET_MODULE_INDICATOR.
29635
29636         * modules/inet_pton (configure.ac): Use
29637         gl_ARPA_INET_MODULE_INDICATOR.
29638
29639 2008-04-22  Jim Meyering  <meyering@redhat.com>
29640
29641         * modules/verify (License): Re-license as LGPLv2+.
29642
29643 2008-04-22  Simon Josefsson  <simon@josefsson.org>
29644
29645         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
29646         parameter to void* as per POSIX standard (MinGW uses char*).
29647
29648 2008-04-21  Bruno Haible  <bruno@clisp.org>
29649
29650         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
29651         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
29652         Define to replacements if REPLACE_ISWCNTRL is 1.
29653         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
29654         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
29655         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
29656         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
29657         what it fixes.
29658         * doc/posix-functions/iswalpha.texi: Likewise.
29659         * doc/posix-functions/iswblank.texi: Likewise.
29660         * doc/posix-functions/iswcntrl.texi: Likewise.
29661         * doc/posix-functions/iswdigit.texi: Likewise.
29662         * doc/posix-functions/iswgraph.texi: Likewise.
29663         * doc/posix-functions/iswlower.texi: Likewise.
29664         * doc/posix-functions/iswprint.texi: Likewise.
29665         * doc/posix-functions/iswpunct.texi: Likewise.
29666         * doc/posix-functions/iswspace.texi: Likewise.
29667         * doc/posix-functions/iswupper.texi: Likewise.
29668         * doc/posix-functions/iswxdigit.texi: Likewise.
29669         Reported by Alain Guibert.
29670
29671 2008-04-21  Bruno Haible  <bruno@clisp.org>
29672
29673         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
29674         Patch by Alain Guibert.
29675
29676 2008-04-21  Bruno Haible  <bruno@clisp.org>
29677
29678         Fix test failures on mingw.
29679         * tests/test-xstrtol.c (print_no_progname): New function.
29680         (main): Install it in error_print_progname hook.
29681         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
29682         * tests/test-xstrtoimax.sh: Likewise.
29683         * tests/test-xstrtoumax.sh: Likewise.
29684
29685 2008-04-21  Bruno Haible  <bruno@clisp.org>
29686
29687         Fix test failure on mingw.
29688         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
29689
29690 2008-04-21  Bruno Haible  <bruno@clisp.org>
29691
29692         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
29693         Actually assign a value.
29694
29695 2008-04-20  Bruno Haible  <bruno@clisp.org>
29696
29697         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
29698         take 2.
29699         * lib/canonicalize.c (canonicalize_file_name): Elide if the
29700         'canonicalize-lgpl' module is also used.
29701         * lib/canonicalize-lgpl.c: Undo last change.
29702         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
29703
29704 2008-04-20  Bruno Haible  <bruno@clisp.org>
29705
29706         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
29707         config.h. Provide _mkdir based fallback for mingw.
29708         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
29709         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
29710         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
29711         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
29712         rather than defining mkdir in config.h.
29713         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
29714         (gl_SYS_STAT_H_DEFAULTS): New macro.
29715         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
29716         HAVE_IO_H any more.
29717         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
29718         HAVE_DECL_MKDIR and HAVE_IO_H.
29719
29720 2008-04-20  Bruno Haible  <bruno@clisp.org>
29721
29722         * lib/isapipe.c: Port to native Windows platforms.
29723
29724 2008-04-20  Bruno Haible  <bruno@clisp.org>
29725
29726         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
29727
29728 2008-04-21  Eric Blake  <ebb9@byu.net>
29729
29730         Work around preprocessors that don't handle UINTMAX_MAX.
29731         * lib/memchr2.c (memchr2): Avoid embedded #if.
29732         Reported by Alain Guibert, fix suggested by Bruno Haible.
29733
29734 2008-04-21  Simon Josefsson  <simon@josefsson.org>
29735
29736         * doc/posix-functions/strftime.texi (strftime): Explain better
29737         Windows incompatibility.  Suggested by Micah Cowan
29738         <micah@cowan.name>.
29739
29740 2008-04-20  Bruno Haible  <bruno@clisp.org>
29741
29742         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
29743         unistr/u8-mblen.
29744
29745 2008-04-20  Bruno Haible  <bruno@clisp.org>
29746
29747         Fix test failure on platforms with non-GNU iconv.
29748         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
29749         (U_TO_U8): Use it, rather than u16_to_u8.
29750         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
29751         units at the end of the input string.
29752         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
29753
29754 2008-04-20  Bruno Haible  <bruno@clisp.org>
29755
29756         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
29757         when the resulting length is 0.
29758         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
29759
29760 2008-04-20  Bruno Haible  <bruno@clisp.org>
29761
29762         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
29763         works.
29764         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
29765
29766 2008-04-20  Bruno Haible  <bruno@clisp.org>
29767
29768         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
29769         * modules/tsearch-tests (configure.ac): Test for initstate function.
29770
29771 2008-04-20  Bruno Haible  <bruno@clisp.org>
29772
29773         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
29774         for nlink_t if missing.
29775         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
29776
29777 2008-04-19  Bruno Haible  <bruno@clisp.org>
29778
29779         Work around snprintf bug on Linux libc5.
29780         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
29781         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
29782         gl_SNPRINTF_SIZE1.
29783         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29784         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
29785         that test failed.
29786         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
29787         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
29788         * modules/snprintf (Files): Add m4/printf.m4.
29789         * modules/vsnprintf (Files): Likewise.
29790         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
29791         * doc/posix-functions/vsnprintf.texi: Likewise.
29792
29793 2008-04-19  Bruno Haible  <bruno@clisp.org>
29794
29795         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
29796         from 0.0058 to less than 10^-7.
29797
29798 2008-04-19  Bruno Haible  <bruno@clisp.org>
29799
29800         Fix rounding when a precision is given.
29801         * lib/vasnprintf.c (is_borderline): New function.
29802         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
29803         9...9x.
29804         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
29805         %e, %g.
29806         * tests/test-vasprintf-posix.c (test_function): Likewise.
29807         * tests/test-snprintf-posix.h (test_function): Likewise.
29808         * tests/test-sprintf-posix.h (test_function): Likewise.
29809         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
29810         * tests/test-printf-posix.h (test_function): Likewise.
29811         * tests/test-printf-posix.output: Update.
29812         Reported by John Darrington <john@darrington.wattle.id.au> via
29813         Ben Pfaff <blp@cs.stanford.edu>.
29814
29815 2008-04-18  Simon Josefsson  <simon@josefsson.org>
29816
29817         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
29818         Suggested by Bruno Haible <bruno@clisp.org>.
29819
29820 2008-04-17  Bruno Haible  <bruno@clisp.org>
29821
29822         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
29823         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
29824         implementation.
29825         Patch by Bruce Merry <bmerry@gmail.com>.
29826
29827 2008-04-17  Simon Josefsson  <simon@josefsson.org>
29828
29829         * doc/posix-functions/strftime.texi (strftime): Mention that %e
29830         doesn't work under Windows.
29831
29832 2008-04-16  Bruno Haible  <bruno@clisp.org>
29833
29834         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
29835         New macros.
29836         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
29837         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
29838         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
29839         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
29840         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
29841         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
29842         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
29843         macros.
29844         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
29845         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
29846         Northern Sotho, Uighur.
29847
29848 2008-04-16  Bruno Haible  <bruno@clisp.org>
29849
29850         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
29851         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
29852         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
29853         Reported by Daniel Bergström <daniel@octocode.com>.
29854
29855 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
29856             Bruno Haible  <bruno@clisp.org>
29857
29858         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
29859         function.
29860         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
29861         New functions, mostly extracted from gl_locale_name_default.
29862         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
29863
29864 2008-04-16  Eric Blake  <ebb9@byu.net>
29865
29866         Adjust strtod detection to catch glibc 2.7 bug.
29867         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
29868         Reported by John Gatewood Ham.
29869
29870 2008-04-16  Bruno Haible  <bruno@clisp.org>
29871
29872         Add tentative support for Linux libc5.
29873         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
29874         * lib/fpurge.c (fpurge): Likewise.
29875         * lib/freadable.c (freadable): Likewise.
29876         * lib/freadahead.c (freadahead): Likewise.
29877         * lib/freading.c (freading): Likewise.
29878         * lib/freadptr.c (freadptr): Likewise.
29879         * lib/freadseek.c (freadptrinc): Likewise.
29880         * lib/fseeko.c (rpl_fseeko): Likewise.
29881         * lib/fseterr.c (fseterr): Likewise.
29882         * lib/fwritable.c (fwritable): Likewise.
29883         * lib/fwriting.c (fwriting): Likewise.
29884         Reported by Alain Guibert <alguibert+bts@free.fr>.
29885
29886 2008-04-15  Bruno Haible  <bruno@clisp.org>
29887
29888         * modules/mathl (configure.ac): Define module indicator.
29889
29890 2008-04-15  Bruno Haible  <bruno@clisp.org>
29891
29892         * lib/logl.c (logl): Remove unused variables.
29893
29894 2008-04-15  Bruno Haible  <bruno@clisp.org>
29895
29896         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
29897         fails.
29898
29899 2008-04-15  Bruno Haible  <bruno@clisp.org>
29900
29901         * lib/trim.c (trim2): Fix argument of isspace() macro.
29902
29903 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
29904
29905         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
29906         to 0.
29907         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
29908
29909 2008-04-14  Bruno Haible  <bruno@clisp.org>
29910
29911         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
29912         AC_LANG_PROGRAM argument.
29913         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
29914         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
29915         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
29916         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
29917         * m4/math_h.m4 (gl_MATH_H): Likewise.
29918         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
29919         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29920         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
29921         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
29922         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
29923         * m4/regex.m4 (gl_REGEX): Likewise.
29924         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
29925         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
29926         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29927         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
29928         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
29929         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
29930         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29931         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
29932
29933 2008-04-14  Jim Meyering  <meyering@redhat.com>
29934
29935         test-strtod: fix typos: s/abs/fabs/
29936         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
29937
29938 2008-04-13  Bruno Haible  <bruno@clisp.org>
29939
29940         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
29941         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
29942         module is also used and while not building the reloc-wrapper.
29943
29944 2008-04-13  Bruno Haible  <bruno@clisp.org>
29945
29946         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
29947
29948 2008-04-13  Bruno Haible  <bruno@clisp.org>
29949
29950         Fix AIX compilation failure introduced on 2008-04-02.
29951         * tests/test-frexp.c (exp): Undefine before redefining.
29952         * tests/test-frexpl.c (exp): Likewise.
29953
29954 2008-04-13  Bruno Haible  <bruno@clisp.org>
29955
29956         Work around a HP-UX stdio bug.
29957         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
29958         * tests/test-ftello.c (main): Likewise.
29959         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
29960         * doc/posix-functions/ftello.texi: Likewise.
29961
29962 2008-04-13  Bruno Haible  <bruno@clisp.org>
29963
29964         Make test-signbit pass on HP-UX/hppa.
29965         * tests/test-signbit.c (minus_zerol): New variable.
29966         (test_signbitl): Use it.
29967
29968 2008-04-13  Bruno Haible  <bruno@clisp.org>
29969
29970         Make truncl work on OSF/1 4.0.
29971         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
29972         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
29973         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
29974         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
29975         HAVE_DECL_TRUNCL.
29976         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
29977         HAVE_DECL_TRUNCL.
29978         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
29979
29980 2008-04-13  Bruno Haible  <bruno@clisp.org>
29981
29982         * lib/unictype.h: Remove trailing comma from enumeration definitions.
29983
29984 2008-04-13  Bruno Haible  <bruno@clisp.org>
29985
29986         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
29987         expression, so as to avoid HP-UX 11 cc compiler bug.
29988
29989 2008-04-13  Bruno Haible  <bruno@clisp.org>
29990
29991         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
29992
29993 2008-04-13  Bruno Haible  <bruno@clisp.org>
29994
29995         * lib/git-merge-changelog.c: Remove empty declaration outside of
29996         functions.
29997
29998 2008-04-13  Bruno Haible  <bruno@clisp.org>
29999
30000         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
30001
30002 2008-04-13  Bruno Haible  <bruno@clisp.org>
30003
30004         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
30005         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
30006         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
30007         also if it exists but lacks definitions of the SHUT_* macros.
30008         * modules/sys_socket (Description): Update.
30009         Reported by Elbert Pol <e.pol@chello.nl>.
30010
30011 2008-04-13  Bruno Haible  <bruno@clisp.org>
30012
30013         * lib/localcharset.c (OS2): Don't redefine if already defined.
30014         Reported by Elbert Pol <e.pol@chello.nl>.
30015
30016 2008-04-13  Bruno Haible  <bruno@clisp.org>
30017
30018         * lib/binary-io.h [__EMX__]: Include <io.h>.
30019         Reported by Elbert Pol <e.pol@chello.nl>.
30020
30021 2008-04-12  Bruno Haible  <bruno@clisp.org>
30022
30023         * lib/fpucw.h: Enable the definitions also for x86_64.
30024         Needed for NetBSD/x86_64.
30025         Reported by Thomas Klausner <tk@giga.or.at>.
30026
30027 2008-04-12  Bruno Haible  <bruno@clisp.org>
30028
30029         * tests/test-strtod.c: Include isnand.h.
30030         (main): Use isnand instead of isnan.
30031         Reported by Jim Meyering.
30032
30033 2008-04-12  Bruno Haible  <bruno@clisp.org>
30034
30035         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
30036         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
30037
30038 2008-04-12  Jim Meyering  <meyering@redhat.com>
30039
30040         * m4/math_h.m4 (gl_MATH_H): Fix typos.
30041
30042 2008-04-12  Bruno Haible  <bruno@clisp.org>
30043
30044         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
30045         Reported by Elbert Pol <e.pol@chello.nl>.
30046
30047 2008-04-12  Eric Blake  <ebb9@byu.net>
30048
30049         Work around Solaris 10 math.h bug.
30050         * m4/math_h.m4 (gl_MATH_H): Check for bug.
30051         (gl_MATH_H_DEFAULTS): Set up default.
30052         * modules/math (Makefile.am): Replace new indicators.
30053         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
30054         * tests/test-math.c (main): Test this.
30055         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
30056         * doc/posix-headers/math.texi (math.h): Mention bug.
30057         Reported by Nelson H. F. Beebe and Jim Meyering.
30058
30059 2008-04-11  Bruno Haible  <bruno@clisp.org>
30060
30061         Adapt to future versions of Apple GCC.
30062         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
30063         Reported by Peter O'Gorman <peter@pogma.com>.
30064
30065 2008-04-11  Bruno Haible  <bruno@clisp.org>
30066
30067         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
30068
30069 2008-04-11  Bruno Haible  <bruno@clisp.org>
30070
30071         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
30072
30073         * modules/getaddrinfo-tests (Makefile.am): Define
30074         test_getaddrinfo_LDADD.
30075
30076 2008-04-11  Bruno Haible  <bruno@clisp.org>
30077
30078         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
30079         (init): Fix syntax error.
30080         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
30081         is declared.
30082
30083 2008-04-11  Bruno Haible  <bruno@clisp.org>
30084
30085         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
30086         * modules/glob (Depends-on): Add stdbool.
30087
30088 2008-04-11  Bruno Haible  <bruno@clisp.org>
30089
30090         * lib/trim.c: Include <string.h>.
30091
30092 2008-04-11  Eric Blake  <ebb9@byu.net>
30093
30094         Avoid compile failure on OS/2.
30095         * lib/regex_internal.h (internal_function): Disable optimization
30096         on OS/2 (__EMX__), where it caused compiler error.
30097         Reported by Elbert Pol.
30098
30099 2008-04-11  Bruno Haible  <bruno@clisp.org>
30100
30101         Flush the standard error stream before aborting. Needed on mingw.
30102         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
30103         * tests/test-array_list.c (ASSERT): Likewise.
30104         * tests/test-array_oset.c (ASSERT): Likewise.
30105         * tests/test-avltree_list.c (ASSERT): Likewise.
30106         * tests/test-avltree_oset.c (ASSERT): Likewise.
30107         * tests/test-avltreehash_list.c (ASSERT): Likewise.
30108         * tests/test-binary-io.c (ASSERT): Likewise.
30109         * tests/test-byteswap.c (ASSERT): Likewise.
30110         * tests/test-c-ctype.c (ASSERT): Likewise.
30111         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
30112         * tests/test-c-strcasestr.c (ASSERT): Likewise.
30113         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
30114         * tests/test-c-strstr.c (ASSERT): Likewise.
30115         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
30116         * tests/test-canonicalize.c (ASSERT): Likewise.
30117         * tests/test-carray_list.c (ASSERT): Likewise.
30118         * tests/test-ceilf1.c (ASSERT): Likewise.
30119         * tests/test-ceilf2.c (ASSERT): Likewise.
30120         * tests/test-ceill.c (ASSERT): Likewise.
30121         * tests/test-count-one-bits.c (ASSERT): Likewise.
30122         * tests/test-fbufmode.c (ASSERT): Likewise.
30123         * tests/test-fflush2.c (ASSERT): Likewise.
30124         * tests/test-floorf1.c (ASSERT): Likewise.
30125         * tests/test-floorf2.c (ASSERT): Likewise.
30126         * tests/test-floorl.c (ASSERT): Likewise.
30127         * tests/test-fopen.c (ASSERT): Likewise.
30128         * tests/test-fpending.c (ASSERT): Likewise.
30129         * tests/test-fprintf-posix.c (ASSERT): Likewise.
30130         * tests/test-fpurge.c (ASSERT): Likewise.
30131         * tests/test-freadable.c (ASSERT): Likewise.
30132         * tests/test-freadahead.c (ASSERT): Likewise.
30133         * tests/test-freading.c (ASSERT): Likewise.
30134         * tests/test-freadptr.c (ASSERT): Likewise.
30135         * tests/test-freadptr2.c (ASSERT): Likewise.
30136         * tests/test-freadseek.c (ASSERT): Likewise.
30137         * tests/test-freopen.c (ASSERT): Likewise.
30138         * tests/test-frexp.c (ASSERT): Likewise.
30139         * tests/test-frexpl.c (ASSERT): Likewise.
30140         * tests/test-fseek.c (ASSERT): Likewise.
30141         * tests/test-fseeko.c (ASSERT): Likewise.
30142         * tests/test-fstrcmp.c (ASSERT): Likewise.
30143         * tests/test-ftell.c (ASSERT): Likewise.
30144         * tests/test-ftello.c (ASSERT): Likewise.
30145         * tests/test-func.c (ASSERT): Likewise.
30146         * tests/test-fwritable.c (ASSERT): Likewise.
30147         * tests/test-fwriting.c (ASSERT): Likewise.
30148         * tests/test-getdelim.c (ASSERT): Likewise.
30149         * tests/test-getline.c (ASSERT): Likewise.
30150         * tests/test-i-ring.c (ASSERT): Likewise.
30151         * tests/test-iconv-utf.c (ASSERT): Likewise.
30152         * tests/test-iconv.c (ASSERT): Likewise.
30153         * tests/test-isfinite.c (ASSERT): Likewise.
30154         * tests/test-isnand.c (ASSERT): Likewise.
30155         * tests/test-isnanf.c (ASSERT): Likewise.
30156         * tests/test-isnanl.h (ASSERT): Likewise.
30157         * tests/test-ldexpl.c (ASSERT): Likewise.
30158         * tests/test-linked_list.c (ASSERT): Likewise.
30159         * tests/test-linkedhash_list.c (ASSERT): Likewise.
30160         * tests/test-localename.c (ASSERT): Likewise.
30161         * tests/test-lseek.c (ASSERT): Likewise.
30162         * tests/test-mbscasecmp.c (ASSERT): Likewise.
30163         * tests/test-mbscasestr1.c (ASSERT): Likewise.
30164         * tests/test-mbscasestr2.c (ASSERT): Likewise.
30165         * tests/test-mbscasestr3.c (ASSERT): Likewise.
30166         * tests/test-mbscasestr4.c (ASSERT): Likewise.
30167         * tests/test-mbschr.c (ASSERT): Likewise.
30168         * tests/test-mbscspn.c (ASSERT): Likewise.
30169         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
30170         * tests/test-mbspbrk.c (ASSERT): Likewise.
30171         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
30172         * tests/test-mbsrchr.c (ASSERT): Likewise.
30173         * tests/test-mbsspn.c (ASSERT): Likewise.
30174         * tests/test-mbsstr1.c (ASSERT): Likewise.
30175         * tests/test-mbsstr2.c (ASSERT): Likewise.
30176         * tests/test-mbsstr3.c (ASSERT): Likewise.
30177         * tests/test-memchr2.c (ASSERT): Likewise.
30178         * tests/test-memmem.c (ASSERT): Likewise.
30179         * tests/test-open.c (ASSERT): Likewise.
30180         * tests/test-printf-frexp.c (ASSERT): Likewise.
30181         * tests/test-printf-frexpl.c (ASSERT): Likewise.
30182         * tests/test-printf-posix.c (ASSERT): Likewise.
30183         * tests/test-quotearg.c (ASSERT): Likewise.
30184         * tests/test-rbtree_list.c (ASSERT): Likewise.
30185         * tests/test-rbtree_oset.c (ASSERT): Likewise.
30186         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
30187         * tests/test-round1.c (ASSERT): Likewise.
30188         * tests/test-roundf1.c (ASSERT): Likewise.
30189         * tests/test-roundl.c (ASSERT): Likewise.
30190         * tests/test-signbit.c (ASSERT): Likewise.
30191         * tests/test-sleep.c (ASSERT): Likewise.
30192         * tests/test-snprintf-posix.c (ASSERT): Likewise.
30193         * tests/test-snprintf.c (ASSERT): Likewise.
30194         * tests/test-sprintf-posix.c (ASSERT): Likewise.
30195         * tests/test-stat-time.c (ASSERT): Likewise.
30196         * tests/test-strcasestr.c (ASSERT): Likewise.
30197         * tests/test-strerror.c (ASSERT): Likewise.
30198         * tests/test-striconv.c (ASSERT): Likewise.
30199         * tests/test-striconveh.c (ASSERT): Likewise.
30200         * tests/test-striconveha.c (ASSERT): Likewise.
30201         * tests/test-strsignal.c (ASSERT): Likewise.
30202         * tests/test-strstr.c (ASSERT): Likewise.
30203         * tests/test-strtod.c (ASSERT): Likewise.
30204         * tests/test-trunc1.c (ASSERT): Likewise.
30205         * tests/test-trunc2.c (ASSERT): Likewise.
30206         * tests/test-truncf1.c (ASSERT): Likewise.
30207         * tests/test-truncf2.c (ASSERT): Likewise.
30208         * tests/test-truncl.c (ASSERT): Likewise.
30209         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
30210         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
30211         * tests/test-vasnprintf.c (ASSERT): Likewise.
30212         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
30213         * tests/test-vasprintf.c (ASSERT): Likewise.
30214         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
30215         * tests/test-vprintf-posix.c (ASSERT): Likewise.
30216         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
30217         * tests/test-vsnprintf.c (ASSERT): Likewise.
30218         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
30219         * tests/test-wcwidth.c (ASSERT): Likewise.
30220         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
30221         * tests/test-xprintf-posix.c (ASSERT): Likewise.
30222         * tests/test-xvasprintf.c (ASSERT): Likewise.
30223         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
30224         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
30225         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
30226         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
30227         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
30228         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
30229         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
30230         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
30231         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
30232         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
30233         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
30234         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
30235         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
30236         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
30237         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
30238         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
30239         * tests/unictype/test-block_list.c (ASSERT): Likewise.
30240         * tests/unictype/test-block_of.c (ASSERT): Likewise.
30241         * tests/unictype/test-block_test.c (ASSERT): Likewise.
30242         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
30243         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
30244         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
30245         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
30246         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
30247         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
30248         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
30249         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
30250         * tests/unictype/test-combining.c (ASSERT): Likewise.
30251         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
30252         * tests/unictype/test-digit.c (ASSERT): Likewise.
30253         * tests/unictype/test-mirror.c (ASSERT): Likewise.
30254         * tests/unictype/test-numeric.c (ASSERT): Likewise.
30255         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
30256         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
30257         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
30258         * tests/unictype/test-scripts.c (ASSERT): Likewise.
30259         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
30260         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
30261         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
30262         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
30263         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
30264         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
30265         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
30266         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
30267         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
30268         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
30269         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
30270         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
30271         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
30272         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
30273         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
30274         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
30275         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
30276         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
30277         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
30278         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
30279         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
30280         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
30281         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
30282         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
30283         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
30284         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
30285         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
30286         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
30287         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
30288         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
30289         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
30290         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
30291         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
30292         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
30293         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
30294         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
30295         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
30296         Reported by Eric Blake.
30297
30298 2008-04-11  Bruno Haible  <bruno@clisp.org>
30299
30300         * lib/wchar.in.h: Tweak comment.
30301
30302 2008-04-11  Bruno Haible  <bruno@clisp.org>
30303
30304         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
30305         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
30306         gl_COMMON.
30307         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
30308
30309 2008-04-11  Bruno Haible  <bruno@clisp.org>
30310
30311         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
30312
30313 2008-04-11  Simon Josefsson  <simon@josefsson.org>
30314
30315         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
30316         of attempting to use non-existing /dev/*random.  Based on patch
30317         from Adam Strzelecki <ono@java.pl> in
30318         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
30319
30320 2008-04-08  Bruno Haible  <bruno@clisp.org>
30321
30322         Add tentative support for emx+gcc.
30323         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
30324         * lib/fpurge.c (fpurge): Likewise.
30325         * lib/freadable.c (freadable): Likewise.
30326         * lib/freadahead.c (freadahead): Likewise.
30327         * lib/freading.c (freading): Likewise.
30328         * lib/freadptr.c (freadptr): Likewise.
30329         * lib/freadseek.c (freadptrinc): Likewise.
30330         * lib/fseeko.c (rpl_fseeko): Likewise.
30331         * lib/fseterr.c (fseterr): Likewise.
30332         * lib/fwritable.c (fwritable): Likewise.
30333         * lib/fwriting.c (fwriting): Likewise.
30334         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
30335
30336 2008-04-09  Eric Blake  <ebb9@byu.net>
30337
30338         Avoid some autoconf warnings.
30339         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
30340         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
30341         * m4/afs.m4 (gl_AFS): Likewise.
30342         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
30343         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
30344         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
30345         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
30346         (gl_INTEGER_TYPE_SUFFIX): Likewise.
30347         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
30348         (AC_CHECK_DECLS_ONCE): Likewise.
30349         Rename file...
30350         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
30351         gnulib-tool requires autoconf 2.59 or better.
30352         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
30353
30354 2008-04-08  Eric Blake  <ebb9@byu.net>
30355
30356         Use 'git describe --match' if present (added in git 1.5.5).
30357         * build-aux/git-version-gen: Limit result to tags that match 'v*'
30358         if possible.
30359
30360 2008-04-08  Bruno Haible  <bruno@clisp.org>
30361
30362         Add tentative support for OpenServer.
30363         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
30364         _ptr, _cnt.
30365         * lib/fpurge.c (fpurge): Likewise.
30366         * lib/freadable.c (freadable): Likewise.
30367         * lib/freadahead.c (freadahead): Likewise.
30368         * lib/freading.c (freading): Likewise.
30369         * lib/freadptr.c (freadptr): Likewise.
30370         * lib/freadseek.c (freadptrinc): Likewise.
30371         * lib/fseeko.c (rpl_fseeko): Likewise.
30372         * lib/fseterr.c (fseterr): Likewise.
30373         * lib/fwritable.c (fwritable): Likewise.
30374         * lib/fwriting.c (fwriting): Likewise.
30375         Reported by Roger Cornelius <rac@tenzing.org> and
30376         Brian K. White <brian@aljex.com>.
30377
30378 2008-04-06  Jim Meyering  <meyering@redhat.com>
30379
30380         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
30381
30382 2008-04-06  Bruno Haible  <bruno@clisp.org>
30383
30384         Avoid possible error with non-ASCII bytes in UTF-8 locales.
30385         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
30386         * tests/test-printf-posix.sh: Likewise.
30387         * tests/test-vfprintf-posix.sh: Likewise.
30388         * tests/test-vprintf-posix.sh: Likewise.
30389         * tests/test-xprintf-posix.sh: Likewise.
30390
30391 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30392
30393         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
30394         hide error from 'ls', needed on OS/2.
30395         Report by Elbert Pol <elbert.pol@gmail.com>.
30396
30397 2008-04-04  Eric Blake  <ebb9@byu.net>
30398
30399         Make test-fseeko.c failures meaningful.
30400         * tests/test-fseeko.c: Print line number on failure.
30401         * tests/test-fseek.c: Likewise.
30402         Reported by Nelson H. F. Beebe.
30403
30404         Improve strtod bug detection check.
30405         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
30406         required for Solaris 10.
30407         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
30408
30409 2008-04-04  Bruno Haible  <bruno@clisp.org>
30410
30411         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
30412         by m4/setenv.m4.
30413
30414 2008-04-03  Eric Blake  <ebb9@byu.net>
30415
30416         Ensure sane .version contents.
30417         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
30418         version string.
30419         * build-aux/git-version-gen: Improve documentation.
30420
30421         Make GNU make output nicer.
30422         * top/GNUmakefile [!_have-Makefile]: Add dependency on
30423         MAKECMDGOALS to enforce message for all command line targets.  Set
30424         srcdir for use in maint.mk.
30425
30426         Another maintainer tweak.
30427         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
30428         a target that regenerates version.
30429
30430 2008-04-03  Jim Meyering  <meyering@redhat.com>
30431
30432         vc-list-files: don't cause coreutils "make po-check" failure
30433         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
30434
30435 2008-04-03  Eric Blake  <ebb9@byu.net>
30436
30437         Allow VPATH usage of vc-list-files.
30438         * build-aux/vc-list-files (scriptversion): Add timestamp.
30439         (options): Add --help, --version, -C.
30440         (CVS): Support installed cvsu.
30441
30442 2008-04-02  Bruno Haible  <bruno@clisp.org>
30443
30444         Avoid some "statement with no effect" warnings from gcc.
30445         * tests/test-wctype.c (main): Explicitly ignore unused values.
30446         Reported by Jim Meyering.
30447
30448 2008-04-02  Jim Meyering  <meyering@redhat.com>
30449
30450         Avoid some warnings from "gcc -Wshadow".
30451         * tests/test-frexp.c (exp): Define to a different identifier.
30452         * tests/test-frexpl.c (exp): Likewise.
30453
30454 2008-04-03  Jim Meyering  <meyering@redhat.com>
30455
30456         bootstrap: remove dangling *.[ch] symlinks from lib
30457         * build-aux/bootstrap [dangling symlink removal]: Move find's
30458         -depth option to precede all others, to avoid a warning.
30459         Remove *.[ch] files too, and from "$source_base" (usually lib/).
30460
30461 2008-04-02  Bruno Haible  <bruno@clisp.org>
30462
30463         Avoid some warnings from "gcc -Wshadow".
30464         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
30465         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
30466         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
30467         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
30468         Reported by Jim Meyering.
30469
30470 2008-04-01  Bruno Haible  <bruno@clisp.org>
30471
30472         Fix test to work on IRIX 6.5 with cc.
30473         * tests/test-math.c (numeric_equal): New function.
30474         (main): Use it.
30475
30476 2008-04-01  Bruno Haible  <bruno@clisp.org>
30477
30478         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
30479
30480 2008-04-01  Bruno Haible  <bruno@clisp.org>
30481
30482         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
30483         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30484         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
30485         (Depends-on): Remove math.
30486
30487         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
30488         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30489         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
30490         (Depends-on): Remove math.
30491
30492         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
30493         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30494         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
30495         (Depends-on): Remove math.
30496         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
30497         (Depends-on): Remove math.
30498
30499         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
30500         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
30501         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
30502         (Depends-on): Remove math.
30503         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
30504         (Depends-on): Remove math.
30505
30506         * tests/test-round1.c: Include nan.h.
30507         (main): Use NaNd instead of NAN.
30508         * modules/round-tests (Files): Add tests/nan.h.
30509
30510         * tests/test-trunc1.c: Include nan.h.
30511         (main): Use NaNd instead of NAN.
30512         * modules/trunc-tests (Files): Add tests/nan.h.
30513
30514         * tests/test-roundf1.c: Include nan.h.
30515         (main): Use NaNf instead of NAN.
30516         * modules/roundf-tests (Files): Add tests/nan.h.
30517
30518         * tests/test-truncf1.c: Include nan.h.
30519         (main): Use NaNf instead of NAN.
30520         * modules/truncf-tests (Files): Add tests/nan.h.
30521
30522         * tests/test-ceilf1.c: Include nan.h.
30523         (main): Use NaNf instead of NAN.
30524         * modules/ceilf-tests (Files): Add tests/nan.h.
30525
30526         * tests/test-floorf1.c: Include nan.h.
30527         (main): Use NaNf instead of NAN.
30528         * modules/floorf-tests (Files): Add tests/nan.h.
30529
30530         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
30531         (main): Use NaNf instead of NAN.
30532         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
30533
30534         * tests/test-isnand.c: Include nan.h instead of <math.h>.
30535         (main): Use NaNd instead of NAN.
30536         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
30537
30538         * tests/test-frexp.c: Include nan.h.
30539         (main): Use NaNd instead of NAN.
30540         * modules/frexp-tests (Files): Add tests/nan.h.
30541
30542         * lib/isnan.c: Don't include <math.h>.
30543         (FUNC): Don't use NAN macro.
30544         * modules/isnand-nolibm (Depends-on): Remove math.
30545         * modules/isnanf-nolibm (Depends-on): Remove math.
30546         * modules/isnanl (Depends-on): Remove math.
30547         * modules/isnanl-nolibm (Depends-on): Remove math.
30548
30549         * tests/nan.h: New file.
30550
30551 2008-04-01  Eric Blake  <ebb9@byu.net>
30552
30553         Fix typos.
30554         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
30555         values to be the right type.
30556
30557         For now, cater to gnulib strtod inaccuracies.
30558         * tests/test-strtod.c (main): Allow 1-ulp error on expected
30559         fractional results.  While not as nice from a QoI perspective, it
30560         is a quicker patch than correctly implementing decimal to binary
30561         rounding.
30562
30563 2008-03-31  Eric Blake  <ebb9@byu.net>
30564
30565         Guarantee a definition of NAN.
30566         * lib/math.in.h (NAN): Define if missing.
30567         * tests/test-math.c (main): Test it.
30568         * doc/posix-headers/math.texi (math.h): Document this.
30569         * lib/isnan.c (rpl_isnand): Use it.
30570         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
30571         * tests/test-floorf1.c (NaN): Likewise.
30572         * tests/test-frexp.c (NaN): Likewise.
30573         * tests/test-isnand.c (NaN): Likewise.
30574         * tests/test-isnanf.c (NaN): Likewise.
30575         * tests/test-round1.c (NaN): Likewise.
30576         * tests/test-roundf1.c (NaN): Likewise.
30577         * tests/test-snprintf-posix.h (NaN): Likewise.
30578         * tests/test-sprintf-posix.h (NaN): Likewise.
30579         * tests/test-trunc1.c (NaN): Likewise.
30580         * tests/test-truncf1.c (NaN): Likewise.
30581         * tests/test-vasnprintf-posix.c (NaN): Likewise.
30582         * tests/test-vasprintf-posix.c (NaN): Likewise.
30583         * modules/isnand-nolibm (Depends-on): Add math.
30584         * modules/isnanf-nolibm (Depends-on): Likewise.
30585         * modules/isnanl (Depends-on): Likewise.
30586         * modules/isnanl-nolibm (Depends-on): Likewise.
30587         * modules/snprintf-posix-tests (Depends-on): Likewise.
30588         * modules/sprintf-posix-tests (Depends-on): Likewise.
30589         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
30590         * modules/vsprintf-posix-tests (Depends-on): Likewise.
30591         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
30592         * modules/vasprintf-posix-tests (Depends-on): Likewise.
30593
30594 2008-03-31  Bruno Haible  <bruno@clisp.org>
30595
30596         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
30597         * doc/posix-functions/strtod.texi: Likewise.
30598
30599 2008-03-31  Bruno Haible  <bruno@clisp.org>
30600
30601         * tests/test-strtod.c (main): Don't use C99 syntax.
30602
30603 2008-03-31  Bruno Haible  <bruno@clisp.org>
30604
30605         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
30606         Reported by Eric Blake.
30607
30608 2008-03-31  Jim Meyering  <meyering@redhat.com>
30609
30610         Don't compare actual signbit return values.
30611         * tests/test-strtod.c (main): Rather, compare only their
30612         zero/non-zero nature.
30613
30614 2008-03-31  Eric Blake  <ebb9@byu.net>
30615
30616         More strtod documentation.
30617         * doc/posix-functions/strtod.texi (strtod): Interpret more test
30618         failures as distinct bugs.
30619
30620 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
30621
30622         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
30623         Problem reported by Erik Benada in
30624         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
30625
30626 2008-03-30  Bruno Haible  <bruno@clisp.org>
30627
30628         * tests/test-strtod.c: Add comments about which assertion fails on which
30629         platform.
30630         * doc/posix-functions/strtod.texi: Add info about many more platforms.
30631
30632 2008-03-30  Eric Blake  <ebb9@byu.net>
30633
30634         Test signbit behavior on zeros.
30635         * tests/test-signbit.c (test_signbitf): Add tests for zero.
30636         (test_signbitd, test_signbitl): Likewise.
30637
30638         More strtod touchups.
30639         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
30640         sign of negative underflow, for now.  Use .5, not .1.
30641         * doc/posix-functions/strtod.texi (strtod): Mention these
30642         limitations.
30643         Reported by Jim Meyering.
30644
30645 2008-03-30  Bruno Haible  <bruno@clisp.org>
30646
30647         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
30648         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
30649
30650 2008-03-30  Bruno Haible  <bruno@clisp.org>
30651
30652         Avoid failure when attempting to return empty iconv results on some
30653         platforms.
30654         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
30655         allocation, don't report ENOMEM when the resulting string is empty.
30656
30657 2008-03-30  Bruno Haible  <bruno@clisp.org>
30658
30659         Fix buffer overrun.
30660         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
30661         Don't consider the width for tmp_length. Check count against tmp_length
30662         before doing the padding. Ensure enough allocation during padding.
30663
30664 2008-03-30  Eric Blake  <ebb9@byu.net>
30665
30666         strtod touchups.
30667         * lib/strtod.c (strtod): Avoid compiler warnings.
30668         Reported by Jim Meyering.
30669
30670 2008-03-30  Bruno Haible  <bruno@clisp.org>
30671
30672         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
30673         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
30674         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
30675         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
30676         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
30677         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
30678         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
30679         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
30680
30681         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
30682         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
30683         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
30684         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
30685         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
30686         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
30687         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
30688         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
30689
30690         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
30691         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
30692         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
30693         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
30694         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
30695         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
30696         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
30697         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
30698
30699         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
30700         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
30701
30702         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
30703         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
30704
30705         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
30706         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
30707
30708         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
30709         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
30710         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
30711
30712         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
30713         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
30714         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
30715
30716         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
30717         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
30718         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
30719
30720         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
30721         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
30722         * modules/vasprintf (Depends-on): Add EOVERFLOW.
30723
30724         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
30725         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
30726         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
30727         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
30728         (Depends-on): Add EOVERFLOW.
30729         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
30730         (Depends-on): Add EOVERFLOW.
30731         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
30732         (Depends-on): Add EOVERFLOW.
30733         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
30734         (Depends-on): Add EOVERFLOW.
30735         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
30736         (Depends-on): Add EOVERFLOW.
30737         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
30738         (Depends-on): Add EOVERFLOW.
30739         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
30740         (Depends-on): Add EOVERFLOW.
30741         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
30742         (Depends-on): Add EOVERFLOW.
30743
30744         * lib/sprintf.c (EOVERFLOW): Remove fallback.
30745         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
30746         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
30747
30748         * lib/snprintf.c (EOVERFLOW): Remove fallback.
30749         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
30750         * modules/snprintf (Depends-on): Add EOVERFLOW.
30751
30752         * lib/poll.c (EOVERFLOW): Remove fallback.
30753         * modules/poll (Depends-on): Add EOVERFLOW.
30754
30755         * lib/getugroups.c (EOVERFLOW): Remove fallback.
30756         * modules/getugroups (Depends-on): Add EOVERFLOW.
30757
30758         * lib/getdelim.c (EOVERFLOW): Remove fallback.
30759         * modules/getdelim (Depends-on): Add EOVERFLOW.
30760
30761         * lib/ftell.c (EOVERFLOW): Remove fallback.
30762         * modules/ftell (Depends-on): Add EOVERFLOW.
30763
30764         * lib/fprintf.c (EOVERFLOW): Remove fallback.
30765         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
30766         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
30767
30768         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
30769
30770         * modules/EOVERFLOW-tests: New file.
30771         * tests/test-EOVERFLOW.c: New file.
30772
30773         * modules/EOVERFLOW: New file.
30774         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
30775
30776 2008-03-30  Bruno Haible  <bruno@clisp.org>
30777
30778         Fix bug introduced on 2007-06-10.
30779         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
30780         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
30781
30782 2008-03-30  Bruno Haible  <bruno@clisp.org>
30783
30784         Improve freadseek's efficiency after ungetc.
30785         * lib/freadseek.c: Include freadahead.h.
30786         (freadptrinc): New function, extracted from freadseek.
30787         (freadseek): Use it in a loop. Use freadahead to determine the number
30788         of loop iterations.
30789         * modules/freadseek (Depends-on): Add freadahead.
30790         (configure.ac): Require AC_C_INLINE.
30791
30792 2008-03-30  Bruno Haible  <bruno@clisp.org>
30793
30794         * lib/freadseek.c (freadseek): Don't ignore the return value of
30795         freadptr.
30796
30797 2008-03-29  Eric Blake  <ebb9@byu.net>
30798
30799         Add hex float support.
30800         * modules/strtod (Depends-on): Add c-ctype.
30801         (Link): Mention POW_LIB.
30802         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
30803         whitespace between 'e' and exponent.
30804         * tests/test-strtod.c (main): Enable hex float tests.
30805         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
30806         now provides.
30807
30808         Document various strtod bugs, with some fixes.
30809         * doc/posix-functions/strtod.texi (strtod): Document bugs with
30810         "-0x", "inf", "nan", and hex constants.
30811         * doc/posix-functions/atof.texi (atof): Likewise.
30812         * modules/stdlib (Makefile.am): Support strtod.
30813         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
30814         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
30815         detect additional strtod bugs.
30816         * lib/stdlib.in.h (rpl_strtod): Add declarations.
30817         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
30818         bool where appropriate.  Parse 'inf' and 'nan'.
30819         * tests/test-strtod.c: New file.
30820         * modules/strtod (Depends-on): Add stdbool, stdlib.
30821         (configure.ac): Turn on module indicator.
30822         * modules/strtod-tests: New module.
30823
30824 2008-03-29  Eric Blake  <ebb9@byu.net>
30825
30826         Fix ftell on mingw.
30827         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
30828         * modules/ftell-tests (Depends-on): Add binary-io.
30829         * modules/ftello-tests (Depends-on): Likewise.
30830         * tests/test-ftell.c (main): Enhance test to cover behavior after
30831         ungetc.  Enforce binary mode.
30832         * tests/test-ftello.c (main): Likewise.
30833
30834         Pass test-freadseek on cygwin.
30835         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
30836         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
30837         ungetc buffer.
30838
30839         * tests/test-fflush2.c (main): Fix typo.
30840
30841 2008-03-29  Bruno Haible  <bruno@clisp.org>
30842
30843         * tests/test-fflush2.c (main): Temporarily disable the contents of
30844         this test.
30845         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
30846         Reported by Eric Blake.
30847
30848 2008-03-28  Simon Josefsson  <simon@josefsson.org>
30849
30850         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
30851         (GC_SHA224_DIGEST_SIZE): Add.
30852
30853         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
30854         (gc_hash_digest_length): Likewise.
30855         (gc_hash_buffer): Likewise.
30856
30857 2008-03-25  Bruno Haible  <bruno@clisp.org>
30858
30859         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
30860         detail which gettext release to use.
30861         Reported by Simon Josefsson.
30862
30863 2008-03-26  Jim Meyering  <meyering@redhat.com>
30864
30865         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
30866         * modules/gnumakefile (clean-GNUmakefile): Also, use
30867         test ... && ... || : syntax rather than if-then ... fi.
30868
30869         gnumakefile: Don't double-quote-expand $(VPATH) value.
30870         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
30871
30872 2008-03-24  Eric Blake  <ebb9@byu.net>
30873
30874         Alter GNUmakefile to install into top directory.
30875         * modules/maintainer-makefile: Split, and add dependency...
30876         * modules/gnumakefile: to this new module.
30877         * build-aux/GNUmakefile: Move...
30878         * top/GNUmakefile: ...here.
30879         * build-aux/maint.mk: Move...
30880         * top/maint.mk: ...here.
30881         * MODULES.html.sh (Support for maintaining...): Document new
30882         module.
30883
30884 2008-03-23  Bruno Haible  <bruno@clisp.org>
30885
30886         * gnulib-tool: New options --vc-files, --no-vc-files.
30887         (func_usage): Document them.
30888         (vc_files): New variable.
30889         (func_import): Consider vc_files.
30890         (func_create_testdir): Set vc_files to empty.
30891         Suggested by Jim Meyering and Karl Berry.
30892
30893 2008-03-23  Bruno Haible  <bruno@clisp.org>
30894
30895         Fix regex compilation error on HP-UX 11.
30896         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
30897         * modules/regex (Files): Add m4/mbstate_t.m4.
30898         Reported by Ton Voon <ton.voon@altinity.com>.
30899
30900 2008-03-23  Bruno Haible  <bruno@clisp.org>
30901
30902         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
30903
30904 2008-03-23  Eric Blake  <ebb9@byu.net>
30905             Bruno Haible  <bruno@clisp.org>
30906
30907         Install files from top/ in the destination directory.
30908         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
30909         augmentation also for the files from top/.
30910         (func_import, func_create_testdir): Rewrite file names:
30911         top/filename -> filename.
30912
30913 2008-03-23  Bruno Haible  <bruno@clisp.org>
30914
30915         Tweak "gnulib --version" output.
30916         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
30917
30918 2008-03-23  Bruno Haible  <bruno@clisp.org>
30919
30920         Tweak "gnulib --version" output.
30921         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
30922         rather than contents of ChangeLog, when possible.
30923
30924 2008-03-21  Eric Blake  <ebb9@byu.net>
30925
30926         More --version tweaks.
30927         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
30928         date of last ChangeLog entry.
30929
30930 2008-03-21  Jim Meyering  <meyering@redhat.com>
30931
30932         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
30933
30934 2008-03-20  Eric Blake  <ebb9@byu.net>
30935
30936         VPATH fix.
30937         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
30938
30939 2008-03-20  Simon Josefsson  <simon@josefsson.org>
30940
30941         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
30942         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
30943
30944 2008-03-20  Eric Blake  <ebb9@byu.net>
30945
30946         Sync GNUmakefile with coreutils.
30947         * build-aux/GNUmakefile (have-Makefile): Rename...
30948         (_have-Makefile): ...to this, for namespace consideration.
30949         (GNUmakefile.cfg): Include, if present.
30950         (_autoreconf): Define a default.
30951         (_is-dist-target): New rule for rebuilds to pick up intra-release
30952         version.
30953         (maint-cfg.mk): Rename...
30954         (cfg.mk): ...to this.
30955
30956 2008-03-18  Jim Meyering  <meyering@redhat.com>
30957
30958         New script and module: mktempd
30959         * MODULES.html.sh (maint+release support): Add mktempd.
30960         * build-aux/mktempd: New file.
30961         * modules/mktempd: New file.
30962
30963 2008-03-15  Jim Meyering  <meyering@redhat.com>
30964
30965         Undo last change.
30966         * lib/sha1.c, lib/md5.c: 63 != ~63.
30967         Reported by Andreas Schwab.
30968
30969         sha1.c, md5.c: Hoist a redundant expression.
30970         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
30971         "ctx->buflen" only once, before calling *_process_block.
30972         * lib/md5.c (md5_process_bytes): Likewise.
30973
30974 2008-03-14  Eric Blake  <ebb9@byu.net>
30975
30976         Bump copyright year in files generated by gnulib-tool.
30977         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
30978         gnulib-tool, rather than hard-coding it.
30979
30980         Fix 'gnulib-tool --version' output to work with git.
30981         * gnulib-tool (func_gnulib_dir): New function, extracted from...
30982         (startup): ...here.
30983         (func_version): Use it to invoke git-version-gen, rather than
30984         relying on CVS keyword expansion.  Modernize wording.
30985         (cvsdatestamp, last_checkin_date, version): Kill unused
30986         variables.
30987
30988 2008-03-12  Jim Meyering  <meyering@redhat.com>
30989
30990         Recognize optional cast of the argument to free.
30991         * build-aux/useless-if-before-free: Update regexps.
30992
30993         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
30994
30995 2008-03-11  Bruno Haible  <bruno@clisp.org>
30996
30997         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
30998         by a single package.
30999         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
31000         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
31001         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
31002         Reported by Sam Steingold <sds@gnu.org>.
31003
31004 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
31005
31006         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
31007         repositories.
31008
31009 2008-03-11  Bruno Haible  <bruno@clisp.org>
31010
31011         Avoid conflicts between local macro definitions.
31012         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31013         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
31014
31015 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
31016             Bruno Haible  <bruno@clisp.org>
31017
31018         Make va_copy work with some version of xlc on AIX 5.1.
31019         * lib/stdarg.in.h: New file.
31020         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
31021         On AIX, use a <stdarg.h> file substitute.
31022         * modules/stdarg (Files): Add lib/stdarg.in.h.
31023         (Depends-on): Add include_next.
31024         (Makefile.am): Build a stdarg.h substitute if requested.
31025         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
31026
31027 2008-03-10  Bruno Haible  <bruno@clisp.org>
31028
31029         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
31030         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
31031         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
31032
31033 2008-03-10  Bruno Haible  <bruno@clisp.org>
31034
31035         * modules/stdlib (Depends-on): Add include_next, remove
31036         absolute-header.
31037
31038 2008-03-09  Bruno Haible  <bruno@clisp.org>
31039
31040         * lib/freadahead.h (freadahead): Document more precisely.
31041         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
31042         the sum of both buffer sizes.
31043         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
31044         * NEWS: Document the change.
31045
31046 2008-03-09  Bruno Haible  <bruno@clisp.org>
31047
31048         Extend freadptr to return also the buffer size.
31049         * lib/freadptr.h (freadptr): Add sizep argument.
31050         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
31051         (freadptr): Add sizep argument. Determine buffer size like freadahead
31052         does.
31053         * tests/test-freadptr.c: Don't include freadahead.h.
31054         (main): Adapt for new calling convention of freadptr.
31055         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
31056         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
31057         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
31058         tests/test-freadptr2.sh.
31059         (Depends): Remove freadahead.
31060         (TESTS): Add test-freadptr2.sh.
31061         (check_PROGRAMS): Add test-freadptr2.
31062
31063 2008-03-09  Bruno Haible  <bruno@clisp.org>
31064
31065         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
31066         Report and solution by Simon Josefsson.
31067
31068 2008-03-06  Bruno Haible  <bruno@clisp.org>
31069
31070         Make fflush after ungetc work on BSD platforms.
31071         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
31072         * tests/test-fflush2.c: New file.
31073         * tests/test-fflush2.sh: New file.
31074         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
31075         tests/test-fflush2.c.
31076         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
31077         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
31078
31079 2008-03-06  Eric Blake  <ebb9@byu.net>
31080
31081         Likewise for ftello.
31082         * modules/ftello (Dependencies): Add extensions.
31083         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
31084
31085 2008-03-06  Bruno Haible  <bruno@clisp.org>
31086
31087         * modules/fseeko (Dependencies): Add extensions.
31088         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
31089         Needed on glibc systems.
31090
31091 2008-03-06  Bruno Haible  <bruno@clisp.org>
31092
31093         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
31094         email address.
31095         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31096
31097 2008-03-06  Bruno Haible  <bruno@clisp.org>
31098
31099         * users.txt: Add libgnupdf.
31100
31101 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31102
31103         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
31104         (Header File Substitutes, Function Substitutes,
31105         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
31106         (Build robot for gnulib): Fix typo.
31107
31108 2008-03-06  Bruno Haible  <bruno@clisp.org>
31109
31110         * doc/gnulib-tool.texi (VCS Issues): Small updates.
31111         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31112
31113 2008-03-06  Bruno Haible  <bruno@clisp.org>
31114
31115         * doc/func.texi: New file, extracted from doc/gnulib.texi.
31116         * doc/gnulib.texi: Include it.
31117
31118 2008-03-06  Simon Josefsson  <simon@josefsson.org>
31119
31120         * modules/func (License): Change license to unlimited; there was
31121         no LGPL parts in the module anyway.
31122
31123 2008-03-06  Simon Josefsson  <simon@josefsson.org>
31124
31125         * modules/__func__: Renamed to modules/func.
31126         * modules/__func__-tests: Renamed to modules/func-tests.
31127         * tests/test-__func__.c: Renamed to tests/test-func.c.
31128         * m4/__func__.m4: Renamed to m4/func.m4.
31129         * doc/gnulib.texi (__func__): Section renamed to func.
31130         Suggested by Eric Blake <ebb9@byu.net>.
31131
31132 2008-03-06  Simon Josefsson  <simon@josefsson.org>
31133
31134         * doc/gnulib.texi (__func__): Use C99 terminology when talking
31135         about __func__.  Make example self-contained.  Suggested by Eric
31136         Blake <ebb9@byu.net>.
31137
31138         * tests/test-__func__.c (main): Avoid extraneous () around __func.
31139         Suggested by Eric Blake <ebb9@byu.net>.
31140
31141 2008-03-06  Simon Josefsson  <simon@josefsson.org>
31142
31143         * modules/__func__: New file.
31144         * modules/__func__-tests: New file.
31145         * tests/test-__func__.c: New file.
31146         * m4/__func__.m4: New file.
31147         * doc/gnulib.texi (__func__): Document __func__ module.
31148
31149 2008-03-05  Simon Josefsson  <simon@josefsson.org>
31150
31151         * modules/byteswap (License): Re-license as LGPLv2+.
31152
31153 2008-03-05  Simon Josefsson  <simon@josefsson.org>
31154
31155         * doc/Makefile: Add pdf target.
31156
31157 2008-03-05  Simon Josefsson  <simon@josefsson.org>
31158
31159         * modules/inline (License): Use 'unlimited', since there are only
31160         *.m4 files in this module.
31161
31162 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
31163             Bruno Haible  <bruno@clisp.org>
31164
31165         Add support for HP C 7.1 on OpenVMS 8.3.
31166         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
31167
31168 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
31169
31170         Update VMS specifics.
31171         * lib/getopt.c [VMS]: Remove include of unixlib.h.
31172
31173 2008-03-02  Jim Meyering  <meyering@redhat.com>
31174
31175         Remove the last dependency on the "free" module.
31176         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
31177         Reported by Bob Proulx.
31178
31179         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
31180
31181         Remove useless "if" tests before free.  Deprecate "free" module.
31182         * doc/posix-functions/free.texi: Mention that this
31183         module is no longer useful.
31184         * modules/free (Notice): Say this module is obsolete.
31185         * modules/readutmp (Depends-on): Remove free.
31186         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
31187         * lib/putenv.c (putenv): Likewise.
31188         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
31189         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
31190         * tests/test-c-strcasestr.c (main): Likewise.
31191         * tests/test-c-strstr.c (main): Likewise.
31192         * tests/test-mbscasestr1.c (main): Likewise.
31193         * tests/test-mbscasestr2.c (main): Likewise.
31194         * tests/test-mbsstr1.c (main): Likewise.
31195         * tests/test-mbsstr2.c (main): Likewise.
31196         * tests/test-memmem.c (main): Likewise.
31197         * tests/test-strcasestr.c (main): Likewise.
31198         * tests/test-striconv.c (main): Likewise.
31199         * tests/test-striconveh.c (main): Likewise.
31200         * tests/test-striconveha.c (main): Likewise.
31201         * tests/test-strstr.c (main): Likewise.
31202
31203         * build-aux/git-version-gen: Adjust a comment and the Usage string.
31204
31205         bootstrap: sync from coreutils again
31206         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
31207
31208 2008-03-01  Jim Meyering  <meyering@redhat.com>
31209
31210         bootstrap: sync from coreutils
31211         * build-aux/bootstrap (update_po_files): Copy a .po file into place
31212         also when the target doesn't exist.
31213
31214 2008-03-01  Eric Blake  <ebb9@byu.net>
31215
31216         Fix bugs in last patch.
31217         * lib/memchr2.c (memchr2): Fix typo.
31218         * tests/test-memchr2.c: Test previous bug, and don't use GNU
31219         extension.
31220         Reported by Bruce Korb.
31221
31222         New module 'memchr2'.
31223         * modules/memchr2: New file.
31224         * modules/memchr2-tests: Likewise.
31225         * lib/memchr2.h: Likewise.
31226         * lib/memchr2.c: Likewise, based on memchr.c.
31227         * tests/test-memchr2.c: New test.
31228         * MODULES.html.sh (String handling): Add memchr2.
31229
31230 2008-02-29  Bruno Haible  <bruno@clisp.org>
31231
31232         * modules/freadseek-tests: New file.
31233         * tests/test-freadseek.sh: New file.
31234         * tests/test-freadseek.c: New file.
31235
31236         New module 'freadseek'.
31237         * modules/freadseek: New file.
31238         * lib/freadseek.h: New file.
31239         * lib/freadseek.c: New file.
31240         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
31241
31242 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
31243
31244         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
31245         wydawca.
31246
31247         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
31248         program_invocation_name and program_invocation_short_name are
31249         present.
31250
31251 2008-02-28  Bruno Haible  <bruno@clisp.org>
31252
31253         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
31254         * tests/test-freadptr.sh: Also test non-seekable stdin.
31255
31256 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
31257
31258         * build-aux/bootstrap (source_base, m4_base)
31259         (doc_base, tests_base): New variables.
31260         (gnulib_tool_options): Do not hardcode base directories, use
31261         the above variables instead.
31262
31263 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
31264
31265         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
31266
31267 2008-02-28  Bruno Haible  <bruno@clisp.org>
31268
31269         * modules/freadptr-tests: New file.
31270         * tests/test-freadptr.sh: New file.
31271         * tests/test-freadptr.c: New file.
31272
31273         New module 'freadptr'.
31274         * modules/freadptr: New file.
31275         * lib/freadptr.h: New file.
31276         * lib/freadptr.c: New file.
31277         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
31278
31279 2008-02-26  Karl Berry  <karl@freefriends.org>
31280
31281         Sync from Libtool:
31282         * libltdl/argz.c (argz_add, argz_count): New functions.
31283         * libltdl/argz.in.h: Declare them.
31284         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
31285
31286 2008-02-22  Bruno Haible  <bruno@clisp.org>
31287
31288         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
31289         is a pointer type.  Needed for HP-UX 10.
31290         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
31291         * doc/posix-functions/gmtime_r.texi: Likewise.
31292         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
31293
31294 2008-02-24  Bruno Haible  <bruno@clisp.org>
31295
31296         * modules/environ-tests: New file.
31297         * tests/test-environ.c: New file.
31298
31299         New module 'environ'.
31300         * modules/environ: New file.
31301         * lib/unistd.in.h (environ): New declaration.
31302         * m4/environ.m4: New file.
31303         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
31304         after use.
31305         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
31306         HAVE_DECL_ENVIRON.
31307         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
31308         HAVE_DECL_ENVIRON.
31309         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
31310         wrong claim that 'environ' is missing on some systems.
31311         * modules/execute (Depends-on): Add environ.
31312         * lib/execute.c (environ): Remove fallback declaration.
31313         * modules/pipe (Depends-on): Add environ.
31314         * lib/pipe.c (environ): Remove fallback declaration.
31315         * modules/setenv (Depends-on): Add environ.
31316         * lib/setenv.c (environ): Remove fallback declaration.
31317         * modules/unsetenv (Depends-on): Add environ.
31318         * lib/unsetenv.c (environ): Remove fallback declaration.
31319         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
31320         m4/environ.m4.
31321         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
31322         (gl_PREREQ_UNSETENV): Likewise.
31323
31324 2008-02-24  Bruno Haible  <bruno@clisp.org>
31325
31326         * doc/posix-functions/environ.texi: Document the MacOS X problem.
31327
31328 2008-02-20  Bob Proulx  <bob@proulx.com>
31329
31330         Enable use of older two part flavor 'git describe'.
31331         * build-aux/git-version-gen: If using the older two part flavor of
31332         git version then recreate the third part now present in the
31333         newer three part flavor of git describe.
31334
31335 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
31336
31337         * lib/fts.c (fts_build): Typo correction to comment.
31338
31339 2008-02-17  Bruno Haible  <bruno@clisp.org>
31340
31341         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
31342         generating no-op conflicts.
31343
31344 2008-02-17  Bruno Haible  <bruno@clisp.org>
31345
31346         Speed up by 10%.
31347         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
31348         result_entries, rather than an index-based loop.
31349
31350 2008-02-17  Bruno Haible  <bruno@clisp.org>
31351
31352         Speed up by 25%.
31353         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
31354         'hashcode_cached'.
31355         (entry_create): New function.
31356         (entry_hashcode): Use the cached hashcode if possible.
31357         (read_changelog_file, try_split_merged_entry): Use entry_create.
31358
31359 2008-02-17  Bruno Haible  <bruno@clisp.org>
31360
31361         Speed up from O(n^2) to O(n) for long ChangeLog files.
31362         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
31363         (read_changelog_file): Change implementation of entries_reversed list
31364         to rbtreehash.
31365         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
31366
31367 2008-02-17  Bruno Haible  <bruno@clisp.org>
31368
31369         New option --split-merged-entry.
31370         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
31371         (find_paragraph_end, try_split_merged_entry): New functions.
31372         (long_options): Add option --split-merged-entry.
31373         (usage): Document option --split-merged-entry.
31374         (main): Implement option --split-merged-entry.
31375         Reported by Eric Blake.
31376
31377 2008-02-17  Bruno Haible  <bruno@clisp.org>
31378
31379         * lib/git-merge-changelog.c: Include c-strstr.h.
31380         (main): Support the "git pull --rebase" situation.
31381         * modules/git-merge-changelog (Depends-on): Add c-strstr.
31382         Reported by Eric Blake.
31383
31384 2008-02-16  Eric Blake  <ebb9@byu.net>
31385
31386         Avoid doubling \ in common case of "c-maybe" quoting style.
31387         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
31388         eliding outer quotes.
31389         * lib/quotearg.h: Document this.
31390         * tests/test-quotearg.c (result_strings, inputs, results_g)
31391         (flag_results, locale_results): Test it by adding a new string to
31392         each test group.
31393         (compare_strings): Test new string.
31394
31395 2008-02-13  Eric Blake  <ebb9@byu.net>
31396
31397         Avoid trigraph quoting in default output.
31398         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
31399         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
31400         unless explicitly requested.
31401         * tests/test-quotearg.c (flag_results, main): Add additional tests.
31402
31403 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
31404
31405         Don't rely on signed integer overflowing to negative value.
31406         * lib/getugroups.c (getugroups): Include <limits.h>.
31407         Instead, compare against INT_MAX, and increment only if the test passes.
31408
31409 2008-02-13  Jim Meyering  <meyering@redhat.com>
31410         and Eric Blake  <ebb9@byu.net>
31411
31412         Avoid shadowing warning and compile errors on Linux.
31413         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
31414         forwarding macros on Linux.
31415         (dcgettext): Define a stub, for Linux.
31416         (results_g, main): Avoid warnings.
31417
31418 2008-02-12  Eric Blake  <ebb9@byu.net>
31419
31420         Silence warning in last patch.
31421         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
31422
31423         Quotearg part 4: add tests, fix c-maybe colon quoting.
31424         * lib/quotearg.h: Improve documentation.
31425         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
31426         escapes when adding outer quotes.  When quoting trigraphs, use
31427         valid C notation.  When quoting NUL, omit extra characters if next
31428         character is not digit.  Alter prototype.
31429         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
31430         callers.
31431         * modules/quotearg-tests: New module.
31432         * tests/test-quotearg.c: New test.
31433
31434 2008-02-07  Eric Blake  <ebb9@byu.net>
31435
31436         Quotearg part 3: add flag to control outer quote elision.
31437         * lib/quotearg.h (c_maybe_quoting_style): New style.
31438         (enum quoting_flags): Better documentation of flags.
31439         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
31440         c-maybe style.
31441         (quotearg_buffer_restyled): Handle new flag to elide outer
31442         quotes.
31443
31444         Quotearg part 2: add flag that can control NUL elision.
31445         * lib/quotearg.h (set_quoting_flags): New prototype.
31446         * lib/quotearg.c (struct quoting_options): Add flag field.
31447         (set_quoting_flags): New function.
31448         (quotearg_buffer_restyled): Add flags parameter.
31449         (quotearg_alloc_mem): Set the flag if length cannot be returned.
31450         (quotearg_n_options): Set the flag, since length cannot be
31451         returned.
31452         (quoting_options_from_style): Default flags correctly.
31453
31454         Quotearg part 1: more wrappers, restore quotearg_char state.
31455         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
31456         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
31457         (quotearg_colon_mem): New wrappers.
31458         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
31459         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
31460         functions.
31461         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
31462         (quotearg_colon_mem): New functions.
31463
31464 2008-02-11  Bruno Haible  <bruno@clisp.org>
31465
31466         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
31467         library in the current directory: it does not work with parallel make.
31468         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31469
31470 2008-02-11  Bruno Haible  <bruno@clisp.org>
31471
31472         * .gitattributes: New file.
31473
31474 2008-02-11  Jim Meyering  <meyering@redhat.com>
31475
31476         useless-if-before-free: Fix reversed exit values.
31477         * build-aux/useless-if-before-free: Use correct values
31478         for EXIT_MATCH and EXIT_NO_MATCH.
31479
31480         * build-aux/useless-if-before-free: Close stdout carefully.
31481
31482 2008-02-10  Bruno Haible  <bruno@clisp.org>
31483
31484         New module 'git-merge-changelog'.
31485         * modules/git-merge-changelog: New file.
31486         * lib/git-merge-changelog.c: New file.
31487
31488 2008-02-10  Jim Meyering  <meyering@redhat.com>
31489
31490         useless-if-before-free: New option: --list (-l).
31491
31492         useless-if-before-free: Don't exit immediately upon open failure.
31493         * build-aux/useless-if-before-free: Exit 2 for errors.
31494         Upon failure to open a file, don't exit immediately.
31495         Rather, just warn and continue with any remaining files.
31496
31497 2008-02-10  Bruno Haible  <bruno@clisp.org>
31498
31499         New abstract list operation 'node_set_value'.
31500         * lib/gl_list.h (gl_list_node_set_value): New function.
31501         (struct gl_list_implementation): New field node_set_value.
31502         * lib/gl_list.c (gl_list_node_set_value): New function.
31503         * lib/gl_array_list.c (gl_array_node_set_value): New function.
31504         (gl_array_list_implementation): Update.
31505         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
31506         (gl_carray_list_implementation): Update.
31507         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
31508         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
31509         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
31510         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
31511         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
31512         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
31513         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
31514         Update.
31515         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
31516         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
31517         (gl_sublist_list_implementation): Update.
31518
31519 2008-02-10  Bruno Haible  <bruno@clisp.org>
31520
31521         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
31522         Needed when ELEMENT is #defined to 'some_type *'.
31523
31524 2008-02-10  Jim Meyering  <meyering@redhat.com>
31525
31526         New script and module: useless-if-before-free
31527         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
31528         * build-aux/useless-if-before-free: New file.
31529         * modules/useless-if-before-free: New file.
31530
31531         * build-aux/gitlog-to-changelog: Use committer date, not author date.
31532
31533         xstrtol_error: Fix typo.
31534         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
31535         s/exit_failure/exit_status/.
31536
31537 2008-02-09  Jim Meyering  <meyering@redhat.com>
31538
31539         New script and module: gitlog-to-changelog
31540         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
31541         * modules/gitlog-to-changelog: New file.
31542         * build-aux/gitlog-to-changelog: New file.
31543
31544 2008-02-08  Jim Meyering  <meyering@redhat.com>
31545
31546         Avoid two "parameter unused" warnings.
31547         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
31548         Mark "st" as used.
31549
31550         Use "git COMMAND", not "git-COMMAND".
31551         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
31552         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
31553         * build-aux/git-version-gen: Use "git status", not "git-status".
31554
31555 2008-02-07  Bruno Haible  <bruno@clisp.org>
31556
31557         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
31558         Avoids a crash on Windows Vista.
31559         Reported by Adam Strzelecki <ono@java.pl> via
31560         Simon Josefsson <simon@josefsson.org>.
31561
31562 2008-02-06  Bruno Haible  <bruno@clisp.org>
31563
31564         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
31565         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
31566         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
31567         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
31568         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
31569         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
31570         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
31571         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
31572         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
31573         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
31574         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
31575         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
31576         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
31577         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31578         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
31579         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
31580         left-adjust flag.
31581         * tests/test-snprintf-posix.h (test_function): Likewise.
31582         * tests/test-sprintf-posix.h (test_function): Likewise.
31583         * tests/test-vasprintf-posix.c (test_function): Likewise.
31584         * doc/posix-functions/fprintf.texi: Update.
31585         * doc/posix-functions/printf.texi: Update.
31586         * doc/posix-functions/snprintf.texi: Update.
31587         * doc/posix-functions/sprintf.texi: Update.
31588         * doc/posix-functions/vfprintf.texi: Update.
31589         * doc/posix-functions/vprintf.texi: Update.
31590         * doc/posix-functions/vsnprintf.texi: Update.
31591         * doc/posix-functions/vsprintf.texi: Update.
31592         Reported by Peter Fales <psfales@alcatel-lucent.com>.
31593
31594 2008-02-06  Bruno Haible  <bruno@clisp.org>
31595
31596         Fix bug introduced on 2008-01-26.
31597         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
31598
31599 2008-02-06  Bruno Haible  <bruno@clisp.org>
31600
31601         Fix bug introduced on 2007-06-10.
31602         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
31603         !NEED_PRINTF_FLAG_ZERO.
31604
31605 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
31606
31607         getloadavg: use libperfstat on AIX5
31608         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
31609
31610 2008-02-03  Bruno Haible  <bruno@clisp.org>
31611
31612         * lib/diffseq.h: Add comments about required #includes.
31613         Reported by Michael Biggs <gnulib@doubleplum.net>.
31614
31615 2008-02-01  Bruno Haible  <bruno@clisp.org>
31616
31617         * users.txt: Add gnuit.
31618
31619 2008-01-31  Bruno Haible  <bruno@clisp.org>
31620
31621         * lib/md4.c (set_uint32): Mark as inline.
31622         * lib/md5.c (set_uint32): Likewise.
31623         * lib/sha1.c (set_uint32): Likewise.
31624         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
31625         * m4/md5.m4 (gl_MD5): Likewise.
31626         * m4/sha1.m4 (gl_SHA1): Likewise.
31627
31628 2008-01-31  Jim Meyering  <meyering@redhat.com>
31629
31630         Use "sizeof VAR", rather than a literal "4".
31631         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
31632         * lib/md4.c (md4_read_ctx): Likewise.
31633         * lib/sha1.c (sha1_read_ctx): Likewise.
31634
31635 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31636
31637         * tests/test-sha1.c: New file, based on test-md5.c.
31638
31639         * modules/crypto/sha1-tests: New file.
31640
31641 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31642
31643         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
31644
31645 2008-01-31  Jim Meyering  <meyering@redhat.com>
31646
31647         Prefer "sizeof v" over the equivalent "4".
31648         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
31649         * lib/md5.c (set_uint32): Likewise.
31650         * lib/sha1.c (set_uint32): Likewise.
31651
31652 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31653
31654         * lib/sha1.c (set_uint32): Mark function as static.
31655
31656 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31657
31658         md2: clarify comments to say that alignment is not required.
31659         * lib/md2.h: Remove warning about alignment in comment.
31660         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
31661         never been required.
31662
31663 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31664
31665         md4: adapt alignment constraint fix from sha1.
31666         * lib/md4.c (set_uint32): New function, from sha1.c
31667         (md4_read_ctx): Use it.
31668         (md4_finish_ctx): Doc fix.
31669         * lib/md4.h: Doc fix.
31670
31671 2008-01-31  Simon Josefsson  <simon@josefsson.org>
31672
31673         md5: adapt alignment constraint fix from sha1.
31674         * lib/md5.c (set_uint32): New function, from sha1.c
31675         (md5_read_ctx): Use it.
31676         (md5_finish_ctx): Doc fix.
31677         * lib/md5.h: Doc fix.
31678
31679 2008-01-30  Peter Palfrader  <weasel@debian.org>
31680
31681         sha1: remove the result buffer alignment constraint
31682         * lib/sha1.c (set_uint32): New function.
31683         (sha1_read_ctx): Rewrite to remove the result buffer alignment
31684         constraint.
31685         (sha1_finish_ctx): Remove comment warning about alignment constraint.
31686         * lib/sha1.h: Likewise.
31687
31688 2008-01-30  Andreas Schwab  <schwab@suse.de>
31689             Bruno Haible  <bruno@clisp.org>
31690
31691         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
31692         correct definition of LDBL_MIN_EXP.
31693
31694 2008-01-30  Karl Berry  <karl@gnu.org>
31695
31696         * config/srclist-update: try to preserve x bit on updates.
31697         * config/srclistvars.sh: update for karl.
31698
31699 2008-01-29  Jim Meyering  <meyering@redhat.com>
31700
31701         vasnprintf.c: Avoid warning about unused label
31702         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
31703         "overflow" label definition and associated code with the
31704         same cpp condition that guards the sole use of that label.
31705
31706 2008-01-26  Bruno Haible  <bruno@clisp.org>
31707
31708         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
31709         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
31710         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
31711         * lib/isnanl-nolibm.h (isnanl): Likewise.
31712         Reported by Paul Eggert <eggert@cs.ucla.edu>.
31713
31714 2008-01-26  Bruno Haible  <bruno@clisp.org>
31715
31716         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
31717         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
31718
31719 2008-01-26  Bruno Haible  <bruno@clisp.org>
31720
31721         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
31722         GCC >= 4.0 built-in.
31723         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
31724
31725 2008-01-26  Bruno Haible  <bruno@clisp.org>
31726
31727         Rename isnan, applicable to 'double' only, to isnand.
31728         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
31729         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
31730         (configure.ac): Update.
31731         (Include): Replace "isnan.h" with "isnand.h".
31732         * m4/isnand.m4: Renamed from m4/isnan.m4.
31733         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
31734         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
31735         instead of isnan.c.
31736         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
31737         instead of HAVE_ISNAN_IN_LIBC.
31738         (isnand): Renamed from isnan.
31739         * lib/isnand.c: New file.
31740         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
31741         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
31742         (Makefile.am): Update.
31743         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
31744         Include isnand.h instead of isnan.h.
31745         (main): Test isnand instead of isnan.
31746         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
31747         isnan-nolibm.
31748         * modules/frexp (Depends-on): Likewise.
31749         * modules/frexp-tests (Depends-on): Likewise.
31750         * modules/frexp-nolibm (Depends-on): Likewise.
31751         * modules/frexp-nolibm-tests (Depends-on): Likewise.
31752         * modules/isfinite (Depends-on): Likewise.
31753         * modules/round-tests (Depends-on): Likewise.
31754         * modules/signbit (Depends-on): Likewise.
31755         * modules/signbit-tests (Depends-on): Likewise.
31756         * modules/snprintf-posix (Depends-on): Likewise.
31757         * modules/sprintf-posix (Depends-on): Likewise.
31758         * modules/trunc-tests (Depends-on): Likewise.
31759         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
31760         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
31761         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
31762         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
31763         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
31764         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
31765         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
31766         * modules/vasnprintf-posix (Depends-on): Likewise.
31767         * modules/vasprintf-posix (Depends-on): Likewise.
31768         * modules/vfprintf-posix (Depends-on): Likewise.
31769         * modules/vsnprintf-posix (Depends-on): Likewise.
31770         * modules/vsprintf-posix (Depends-on): Likewise.
31771         * lib/frexp.c: Include isnand.h instead of isnan.h.
31772         (ISNAN): Set to isnand instead of isnan.
31773         * lib/isfinite.c: Include isnand.h instead of isnan.h.
31774         (gl_isfinited): Use isnand instead of isnan.
31775         * lib/signbitd.c: Include isnand.h instead of isnan.h.
31776         (gl_signbitd): Use isnand instead of isnan.
31777         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
31778         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
31779         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
31780         (main): Use isnand instead of isnan.
31781         * tests/test-round1.c: Include isnand.h.
31782         (main): Use isnand instead of isnan.
31783         * tests/test-round2.c: Include isnand.h instead of isnan.h.
31784         (ISNAN): Set to isnand instead of isnan.
31785         * tests/test-trunc1.c: Include isnand.h.
31786         (main): Use isnand instead of isnan.
31787         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
31788         (equal): Use isnand instead of isnan.
31789         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
31790         isnand-nolibm.
31791         * NEWS: Mention the change.
31792
31793 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
31794             Bruno Haible  <bruno@clisp.org>
31795
31796         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
31797         the GCC builtins for signbits are present and set
31798         REPLACE_SIGNBIT_USING_GCC if so.
31799         * lib/math.in.h (signbit): Define using GCC builtins if
31800         REPLACE_SIGNBIT_USING_GCC is set.
31801         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
31802         REPLACE_SIGNBIT_USING_GCC.
31803         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
31804
31805 2008-01-25  Jim Meyering  <meyering@redhat.com>
31806
31807         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
31808         * lib/poll.c: Include <config.h>, not "config.h".
31809         * tests/test-getaddrinfo.c: Likewise.
31810
31811 2008-01-25  Simon Josefsson  <simon@josefsson.org>
31812
31813         * modules/sockets-tests: New file.
31814
31815 2008-01-24  Simon Josefsson  <simon@josefsson.org>
31816
31817         * modules/sockets: New module, can be used to call WSA_Startup and
31818         WSA_Cleanup when needed.
31819
31820         * lib/sockets.h, lib/sockets.c: New files.
31821
31822         * m4/sockets.m4: New file.
31823
31824         * tests/test-sockets.c: New file.
31825
31826 2008-01-19  Bruno Haible  <bruno@clisp.org>
31827
31828         * doc/posix-headers: Renamed from doc/headers.
31829         * doc/posix-functions: Renamed from doc/functions.
31830         * doc/gnulib.texi: Update.
31831
31832 2008-01-19  Bruno Haible  <bruno@clisp.org>
31833
31834         * doc/glibc-functions/strcasestr.texi: Include contents of
31835         doc/functions/strcasestr.texi, fixing the list of platforms.
31836         * doc/functions/strcasestr.texi: Remove file.
31837
31838 2008-01-19  Bruno Haible  <bruno@clisp.org>
31839
31840         * doc/glibc-functions/memmem.texi: Include contents of
31841         doc/functions/memmem.texi.
31842         * doc/functions/memmem.texi: Remove file.
31843
31844 2008-01-18  Bruno Haible  <bruno@clisp.org>
31845
31846         * doc/glibc-functions/*.texi: New files.
31847         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
31848         to use the new files.
31849
31850 2008-01-17  Bruno Haible  <bruno@clisp.org>
31851
31852         * tests/test-gethostname.c (main): Fix printf statement.
31853
31854 2008-01-17  Simon Josefsson  <simon@josefsson.org>
31855
31856         * modules/gethostname-tests: New file.
31857
31858         * tests/test-gethostname.c: New file.
31859
31860 2008-01-17  Simon Josefsson  <simon@josefsson.org>
31861
31862         * lib/gethostname.c: Include string.h unconditionally, strncpy is
31863         used by the UNAME case.  Reported by Bruno Haible
31864         <bruno@clisp.org>.
31865
31866 2008-01-17  Eric Blake  <ebb9@byu.net>
31867
31868         Convert c-strcasestr to be more efficient.
31869         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
31870         (Depends-on): Add c-strcase, remove malloca, strnlen.
31871         * tests/test-c-strcasestr.c (main): Enhance test.
31872         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
31873
31874 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
31875
31876         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
31877         Use it in creating po/Makevars.
31878
31879 2008-01-15  Simon Josefsson  <simon@josefsson.org>
31880
31881         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
31882         Applications that requires it should initialize libgcrypt
31883         manually.
31884
31885 2008-01-16  Simon Josefsson  <simon@josefsson.org>
31886
31887         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
31888
31889 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
31890
31891         Fix problem with getdate on mingw32 reported by Simon Josefsson
31892         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
31893         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
31894         tzname", when deciding whether to declare tzname.
31895         * lib/strftime.c (tzname): Likewise.
31896
31897 2008-01-15  Bruno Haible  <bruno@clisp.org>
31898
31899         Work around a MacOS X 10.5 bug in frexpl().
31900         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
31901         * doc/functions/frexpl.texi: Document the bug.
31902         Reported by Elias Pipping <pipping@gentoo.org>.
31903
31904 2008-01-14  Eric Blake  <ebb9@byu.net>
31905
31906         Touch up previous patch.
31907         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
31908         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
31909
31910         Convert strcasestr module to use Two-Way algorithm.
31911         * modules/strcasestr-simple: New module, based on the old
31912         strcasestr, but with Two-Way rather than KMP.
31913         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
31914         * lib/string.in.h (rpl_strcasestr): Declare.
31915         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
31916         performance.
31917         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
31918         * modules/string (Makefile.am): Support strcasestr.
31919         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
31920         * modules/strcasestr-tests (Depends-on): Check for alarm.
31921         * tests/test-strcasestr.c: Augment test.
31922         * lib/str-two-way.h: Clean up stray macro.
31923         * NEWS: Document new module.
31924         * MODULES.html.sh (string handling): Likewise.
31925         * doc/functions/strcasestr.texi: New file.
31926         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
31927         here, since it is not a POSIX function.
31928
31929 2008-01-14  Colin Watson  <cjwatson@debian.org>
31930             Bruno Haible  <bruno@clisp.org>
31931
31932         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
31933         works fine; if not, set REPLACE_STRSIGNAL.
31934         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
31935         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31936         REPLACE_STRSIGNAL.
31937         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
31938         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
31939         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
31940
31941 2008-01-14  Bruno Haible  <bruno@clisp.org>
31942
31943         * modules/strsignal (Include): Change to <string.h>.
31944
31945 2008-01-14  Colin Watson  <cjwatson@debian.org>
31946
31947         * modules/argp (Notice): Add a notice recommending to change
31948         XGETTEXT_OPTIONS.
31949         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
31950
31951 2008-01-13  Colin Watson  <cjwatson@debian.org>
31952
31953         * modules/strsignal-tests: New file.
31954         * tests/test-strsignal.c: New file.
31955
31956         * lib/strsignal.c: New file, from glibc with modifications.
31957         * lib/siglist.h: New file, from glibc with modifications.
31958         * lib/string.in.h (strsignal): New declaration.
31959         * m4/strsignal.m4: New file.
31960         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31961         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
31962         * modules/strsignal: New file.
31963         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
31964         HAVE_DECL_STRSIGNAL.
31965
31966 2008-01-13  Bruno Haible  <bruno@clisp.org>
31967
31968         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
31969         locale encoding is not ASCII. Needed for OpenBSD 4.0.
31970         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
31971         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
31972
31973 2008-01-13  Bruno Haible  <bruno@clisp.org>
31974
31975         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
31976         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
31977         * lib/argp.h (__attribute__): Likewise.
31978         * lib/c-stack.c (__attribute__): Likewise.
31979         * lib/error.h (__attribute__): Likewise.
31980         * lib/fts.c (__attribute__): Likewise.
31981         * lib/openat.h (__attribute__): Likewise.
31982         * lib/stdio.in.h (__attribute__): Likewise.
31983         * lib/string.in.h (__attribute__): Likewise.
31984         * lib/utimens.c (__attribute__): Likewise.
31985         * lib/vasnprintf.h (__attribute__): Likewise.
31986         * lib/xalloc.h (__attribute__): Likewise.
31987         * lib/xprintf.h (__attribute__): Likewise.
31988         * lib/xstrtol.h (__attribute__): Likewise.
31989         * lib/xvasprintf.h (__attribute__): Likewise.
31990
31991 2008-01-12  Bruno Haible  <bruno@clisp.org>
31992
31993         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
31994         * doc/glibc-headers/a.out.texi: New file.
31995         * doc/glibc-headers/aliases.texi: New file.
31996         * doc/glibc-headers/alloca.texi: New file.
31997         * doc/glibc-headers/ar.texi: New file.
31998         * doc/glibc-headers/argp.texi: New file.
31999         * doc/glibc-headers/argz.texi: New file.
32000         * doc/glibc-headers/byteswap.texi: New file.
32001         * doc/glibc-headers/crypt.texi: New file.
32002         * doc/glibc-headers/endian.texi: New file.
32003         * doc/glibc-headers/envz.texi: New file.
32004         * doc/glibc-headers/err.texi: New file.
32005         * doc/glibc-headers/error.texi: New file.
32006         * doc/glibc-headers/execinfo.texi: New file.
32007         * doc/glibc-headers/fpu_control.texi: New file.
32008         * doc/glibc-headers/fstab.texi: New file.
32009         * doc/glibc-headers/fts.texi: New file.
32010         * doc/glibc-headers/getopt.texi: New file.
32011         * doc/glibc-headers/ieee754.texi: New file.
32012         * doc/glibc-headers/ifaddrs.texi: New file.
32013         * doc/glibc-headers/libintl.texi: New file.
32014         * doc/glibc-headers/mcheck.texi: New file.
32015         * doc/glibc-headers/mntent.texi: New file.
32016         * doc/glibc-headers/obstack.texi: New file.
32017         * doc/glibc-headers/paths.texi: New file.
32018         * doc/glibc-headers/printf.texi: New file.
32019         * doc/glibc-headers/pty.texi: New file.
32020         * doc/glibc-headers/resolv.texi: New file.
32021         * doc/glibc-headers/shadow.texi: New file.
32022         * doc/glibc-headers/sysexits.texi: New file.
32023         * doc/glibc-headers/ttyent.texi: New file.
32024
32025 2008-01-12  Jim Meyering  <meyering@redhat.com>
32026
32027         announce-gen: emit Gnulib's git-based version string.
32028         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
32029         New option --gnulib-version=V, where V is expected to be
32030         the output of running git describe in the gnulib directory.
32031         (get_tool_versions): Request feedback on xdelta.  I suspect it's
32032         not useful, and plan to stop publishing an xdelta file with each
32033         coreutils release.
32034
32035         * build-aux/announce-gen: Also check for lzma-compressed files.
32036
32037 2008-01-11  Bruno Haible  <bruno@clisp.org>
32038
32039         * tests/test-memmem.c (main): Increase maximum allowed time.
32040         * tests/test-strstr.c (main): Likewise.
32041
32042 2008-01-11  Bruno Haible  <bruno@clisp.org>
32043
32044         * doc/functions/memmem.texi: Add more precisions about platforms.
32045         * doc/functions/strstr.texi: Likewise.
32046
32047 2008-01-10  Eric Blake  <ebb9@byu.net>
32048
32049         * m4/strstr.m4: Delete cruft from copy-n-paste.
32050         Reported by Bruno Haible.
32051
32052 2008-01-10  Bruno Haible  <bruno@clisp.org>
32053
32054         Make c-strstr rely on strstr.
32055         * lib/c-strstr.c: Don't include str-kmp.h.
32056         (c_strstr): Define in terms of strstr.
32057         * modules/c-strstr (Files): Remove lib/str-kmp.h.
32058         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
32059
32060 2008-01-10  Bruno Haible  <bruno@clisp.org>
32061
32062         * doc/gnulib.texi (String Functions in C Locale): New section.
32063         * doc/c-ctype.texi: New file.
32064         * doc/c-strcase.texi: New file.
32065         * doc/c-strcaseeq.texi: New file.
32066         * doc/c-strcasestr.texi: New file.
32067         * doc/c-strstr.texi: New file.
32068         * doc/c-strtod.texi: New file.
32069         * doc/c-strtold.texi: New file.
32070
32071 2008-01-10  Eric Blake  <ebb9@byu.net>
32072
32073         * lib/relocatable.h: Fix a comment.
32074
32075 2008-01-10  Eric Blake  <ebb9@byu.net>
32076
32077         Share two-way algorithm.
32078         * lib/str-two-way.h: New file, merged from...
32079         * lib/memmem.c: ...here...
32080         * lib/strstr.c: ...and here.
32081         * modules/memmem (Files): Use it.
32082         * modules/strstr (Files): Likewise.
32083
32084         Avoid quadratic strstr implementations.
32085         * lib/strstr.c: New file.
32086         * m4/strstr.m4: Likewise.
32087         * modules/strstr: Likewise.
32088         * modules/strstr-tests: Likewise.
32089         * tests/test-strstr.c: Likewise.
32090         * lib/string.in.h (rpl_strstr): Declare.
32091         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
32092         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
32093         * modules/string (Makefile.am): Likewise.
32094         * MODULES.html.sh (string handling): Mention new module.
32095         * doc/functions/strstr.texi (strstr): Document the bug.
32096
32097 2008-01-10  Bruno Haible  <bruno@clisp.org>
32098
32099         * lib/relocatable.h (relocate): State whether result is freshly
32100         allocated or not.
32101         * lib/relocatable.c (relocate): Return a freshly allocated string
32102         instead of a pointer to a privately held string.
32103         Reported by Sylvain Beucler <beuc@gnu.org>.
32104
32105 2008-01-10  Colin Watson  <cjwatson@debian.org>
32106
32107         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
32108         s/S_ISNLK/S_ISLNK/.
32109
32110 2008-01-09  Bruno Haible  <bruno@clisp.org>
32111
32112         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
32113         and other files.
32114         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
32115         if it's only a guess.
32116         * modules/memmem: Simplify by depending on memmem-simple.
32117
32118 2008-01-09  Bruno Haible  <bruno@clisp.org>
32119
32120         Work around OpenBSD 4.0 tdelete() bug.
32121         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
32122         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
32123         macros and don't redefine the enum values.
32124         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
32125         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
32126         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
32127
32128 2008-01-09  Bruno Haible  <bruno@clisp.org>
32129
32130         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
32131         (main): Don't perform the tests if setlocale did not install a UTF-8
32132         locale. Needed on OpenBSD 4.0.
32133         * modules/wcwidth-tests (Depends-on): Add localcharset.
32134
32135 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
32136
32137         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
32138         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
32139         * NEWS: announce this.
32140         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
32141
32142 2008-01-09  Simon Josefsson  <simon@josefsson.org>
32143         and Eric Blake  <ebb9@byu.net>
32144
32145         Add memmem-simple module.
32146         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
32147         (gl_FUNC_MEMMEM): Separate performance from presence checks.
32148         * modules/memmem-simple: New file.
32149         * modules/memmem (Description): Tweak.
32150         * MODULES.html.sh (string handling): Mention new module.
32151         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
32152         addressed by memmem-simple.
32153         * NEWS: Document the difference.
32154
32155 2008-01-09  Eric Blake  <ebb9@byu.net>
32156
32157         Give gcc some memmem optimization hints.
32158         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
32159         (strcasestr): Declare as pure.
32160         * modules/memmem (Maintainer): Claim my implementation.
32161
32162 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32163
32164         Support AIX 6.1 and higher.
32165         * build-aux/config.libpath: Likewise.
32166         * build-aux/config.rpath: Likewise.
32167
32168 2008-01-08  Jim Meyering  <meyering@redhat.com>
32169             Bruno Haible  <bruno@clisp.org>
32170
32171         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
32172         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
32173         Reported by Peter Fales in
32174         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
32175
32176 2008-01-08  Bruno Haible  <bruno@clisp.org>
32177
32178         * modules/unictype/category-of (Depends-on): Add
32179         unictype/category-none.
32180         * modules/unictype/category-and-tests (Depends-on): Add
32181         unictype/category-{L,N,Lu,Nd}.
32182         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
32183         * modules/unictype/category-or-tests (Depends-on): Add
32184         unictype/category-{L,N}.
32185         * modules/unictype/category-name-tests (Depends-on): Add
32186         unictype/category-{Z,Nl}.
32187         Reported by Simon Josefsson.
32188
32189 2008-01-08  Bruno Haible  <bruno@clisp.org>
32190
32191         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
32192         convention better.
32193         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
32194         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
32195         Reported by Peter Miller <millerp@canb.auug.org.au>.
32196
32197 2008-01-08  Eric Blake  <ebb9@byu.net>
32198
32199         Rewrite memmem to guarantee linear complexity without malloc.
32200         * lib/memmem.c (memmem): Use Two-Way rather than
32201         Knuth-Morris-Pratt, to allow O(1) space usage.
32202         (critical_factorization, two_way_short_needle)
32203         (two_way_long_needle): New functions.
32204         (knuth_morris_pratt): Delete.
32205         * modules/memmem (Depends-on): No longer need malloca or stdbool.
32206         Add stdint.
32207         * tests/test-memmem.c (main): Add tests for periodic needle and
32208         sublinear performance.
32209         * doc/functions/memmem.texi (memmem): Document other deficiencies
32210         in cygwin and older glibc.
32211
32212 2008-01-08  Bruno Haible  <bruno@clisp.org>
32213
32214         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
32215         augmentation.
32216
32217 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
32218
32219         Add a configure time option: --disable-acl.
32220         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
32221         AC_ARG_ENABLE(acl).
32222
32223 2008-01-06  Simon Josefsson  <simon@josefsson.org>
32224
32225         * tests/test-localename.c: Don't include obsolete "setenv.h".
32226
32227         * modules/localename-tests (Depends-on): Need unsetenv.
32228
32229 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32230
32231         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
32232
32233 2008-01-06  Colin Watson  <cjwatson@debian.org>
32234
32235         * users.txt: Add man-db.
32236
32237 2008-01-07  Bruno Haible  <bruno@clisp.org>
32238
32239         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
32240         previous section name.
32241
32242 2008-01-07  Bruno Haible  <bruno@clisp.org>
32243
32244         * lib/progname.c (set_program_name): Don't strip off a leading
32245         "lt-" prefix outside a .libs directory.
32246         Suggested by Paul Eggert.
32247
32248 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
32249             Bruno Haible  <bruno@clisp.org>
32250
32251         Improve memory cleanup in 'relocatable' module.
32252         * lib/relocatable.h (compute_curr_prefix): Change return type to
32253         'char *'.
32254         * lib/relocatable.c (compute_curr_prefix): Change return type to
32255         'char *'. Free curr_installdir after use.
32256         (relocate): Free curr_prefix_better after use.
32257         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
32258
32259 2008-01-01  Bruno Haible  <bruno@clisp.org>
32260
32261         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
32262         failure on older glibc systems.
32263         Reported by Peter Fales <psfales@alcatel-lucent.com>.
32264
32265 2008-01-05  Eric Blake  <ebb9@byu.net>
32266
32267         Avoid quadratic system memmem.
32268         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
32269         Reported by Ralf Wildenhues.
32270
32271         Fix memmem test for mingw.
32272         * modules/memmem-tests (configure.ac): Check for alarm.
32273         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
32274         it.
32275         * doc/functions/memmem.texi: New file.
32276         * doc/gnulib.texi (Function Substitutes): Add memmem.
32277         Reported by Bruno Haible.
32278
32279 2008-01-04  Bruno Haible  <bruno@clisp.org>
32280
32281         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
32282         Require gl_HEADER_STRINGS_H_DEFAULTS, not
32283         gl_HEADER_STRING_H_DEFAULTS.
32284
32285 2008-01-04  Eric Blake  <ebb9@byu.net>
32286
32287         Shorten duration of memmem test.
32288         * tests/test-memmem.c (main): Use alarm to declare failure if test
32289         is taking too long.
32290         Reported by Ralf Wildenhues.
32291
32292 2007-12-21  Simon Josefsson  <simon@josefsson.org>
32293
32294         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
32295         string, needed by strerror.
32296
32297 2008-01-03  Colin Watson  <cjwatson@debian.org>
32298             Bruno Haible  <bruno@clisp.org>
32299
32300         * doc/gnulib-tool.texi (Localization): New section.
32301
32302 2008-01-02  Bruno Haible  <bruno@clisp.org>
32303
32304         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
32305         variables to 'unsigned char *' type.
32306         Reported by Paul Eggert.
32307
32308 2008-01-02  Jim Meyering  <jim@meyering.net>
32309
32310         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
32311
32312 2007-12-31  Jim Meyering  <jim@meyering.net>
32313
32314         Avoid use of private FTS type name.
32315         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
32316
32317 2007-12-30  Karl Berry  <karl@gnu.org>
32318
32319         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
32320         work around defect in Texinfo and/or the standalone Info browser.
32321
32322 2007-12-30  Bruno Haible  <bruno@clisp.org>
32323
32324         Unify 5 copies of the KMP code.
32325         * lib/str-kmp.h: New file.
32326         * lib/c-strcasestr.c: Include str-kmp.h.
32327         (knuth_morris_pratt): Remove function.
32328         (c_strcasestr): Update.
32329         * lib/c-strstr.c: Include str-kmp.h.
32330         (knuth_morris_pratt): Remove function.
32331         (c_strcasestr): Update.
32332         * lib/mbscasestr.c: Include str-kmp.h.
32333         (knuth_morris_pratt_unibyte): Remove function.
32334         * lib/mbsstr.c: Include str-kmp.h.
32335         (knuth_morris_pratt_unibyte): Remove function.
32336         * lib/strcasestr.c: Include str-kmp.h.
32337         (knuth_morris_pratt): Remove function.
32338         (strcasestr): Update.
32339         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
32340         * modules/c-strstr (Files): Likewise.
32341         * modules/mbscasestr (Files): Likewise.
32342         * modules/mbsstr (Files): Likewise.
32343         * modules/strcasestr (Files): Likewise.
32344         Suggested by Paul Eggert.
32345
32346 2007-12-30  Bruno Haible  <bruno@clisp.org>
32347
32348         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
32349         defined.
32350
32351 2007-12-30  Bruno Haible  <bruno@clisp.org>
32352
32353         * lib/xmalloca.h: Include xalloc.h.
32354         (xnmalloca): New macro.
32355
32356 2007-12-30  Bruno Haible  <bruno@clisp.org>
32357
32358         * lib/malloca.h (nmalloca): New macro.
32359         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
32360         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
32361         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
32362         knuth_morris_pratt_multibyte): Likewise.
32363         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
32364         knuth_morris_pratt_multibyte): Likewise.
32365         * lib/memmem.c (knuth_morris_pratt): Likewise.
32366         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
32367
32368 2007-12-25  Bruno Haible  <bruno@clisp.org>
32369
32370         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
32371         * lib/glob.c: Don't include openat.h.
32372         (link_exists2_p): Add back the code that deals with the
32373         !GLOB_ALTDIRFUNC case.
32374         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
32375         let it do the filename concatenation.
32376         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
32377         * modules/glob (Depends-on): Remove openat.
32378
32379 2007-12-31  Bruno Haible  <bruno@clisp.org>
32380
32381         * modules/dirfd (License): Change to LGPLv2+.
32382         Approved by Jim Meyering.
32383
32384 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
32385
32386         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
32387         when multiplying M by sizeof (size_t).
32388
32389 2007-12-10  Martin Lambers  <marlam@marlam.de>
32390
32391         Override getpagesize on mingw.
32392         * lib/getpagesize.c: New file.
32393         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
32394         * modules/getpagesize (Files): Add lib/getpagesize.c.
32395         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
32396         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
32397         REPLACE_GETPAGESIZE.
32398         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
32399
32400 2007-12-25  Bruno Haible  <bruno@clisp.org>
32401
32402         * modules/localcharset (Notice): New field.
32403         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
32404         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
32405
32406 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
32407             Bruno Haible  <bruno@clisp.org>
32408
32409         Avoid using the syntax symbol() in formatted documentation.
32410         * MODULES.html.sh (func_module): When replacing symbol() with a
32411         hyperlink, remove the parentheses. Show an error if some remain.
32412         Recognize and render the '...' syntax.
32413         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
32414         Rework. Add paragraph about GCC's inlining.
32415         * doc/alloca.texi: Likewise.
32416         * doc/error.texi: Remove parentheses from symbol reference.
32417         * doc/gnulib-intro.texi: Likewise.
32418         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
32419         * modules/fnmatch (Description): Reword to say "the ... function".
32420         * modules/full-read (Description): Likewise.
32421         * modules/full-write (Description): Likewise.
32422         * modules/safe-read (Description): Likewise.
32423         * modules/safe-write (Description): Likewise.
32424         * modules/strchrnul (Description): Likewise.
32425         * modules/trim (Description): Likewise.
32426         * modules/error (Description): Remove parentheses from symbol
32427         references.
32428         * modules/verror (Description): Likewise.
32429         Reported by Karl Berry.
32430
32431 2007-12-25  Bruno Haible  <bruno@clisp.org>
32432
32433         Fixup after 2007-10-16 commit.
32434         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
32435
32436 2007-12-24  Bruno Haible  <bruno@clisp.org>
32437
32438         Make --enable-relocatable work with DESTDIR.
32439         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
32440         to compute installdir from destprog.
32441         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
32442         also set the RELOC_DESTDIR variable.
32443         Reported by Левашев Иван <octagram@bluebottle.com>.
32444
32445 2007-12-24  Bruno Haible  <bruno@clisp.org>
32446
32447         Fix link error due to xalloc_die().
32448         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
32449         of xreadlink.
32450         * lib/relocwrapper.c: Update comments.
32451         * build-aux/install-reloc: Remove xreadlink.c from file list.
32452         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
32453         xreadlink.c.
32454         Reported by Левашев Иван <octagram@bluebottle.com>.
32455
32456 2007-12-24  Bruno Haible  <bruno@clisp.org>
32457
32458         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
32459         * lib/setenv.h: Remove file.
32460         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
32461         lib/setenv.h.
32462         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
32463         (Depends-on): Add stdlib.
32464         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
32465         gl_FUNC_UNSETENV.
32466         (Include): Replace setenv.h with <stdlib.h>.
32467         * modules/unsetenv: New file.
32468         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
32469         * lib/unsetenv.c: Include <stdlib.h> first.
32470         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
32471         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
32472         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
32473         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
32474         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
32475         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
32476         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
32477         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
32478         * doc/functions/unsetenv.texi: Update.
32479         * modules/xsetenv (Depends-on): Add unsetenv.
32480         * modules/getdate (Depends-on): Likewise.
32481         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
32482         * lib/xsetenv.c: Don't include setenv.h.
32483         * lib/getdate.y: Likewise.
32484         * lib/relocwrapper.c: Likewise.
32485         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
32486         (Depends-on): Add stdlib.
32487         * NEWS: Mention the changes.
32488         Reported by Левашев Иван <octagram@bluebottle.com>.
32489
32490 2007-12-23  Bruno Haible  <bruno@clisp.org>
32491
32492         * lib/memmem.c (memmem): Use lowercase variable names. Tab
32493         indentation.
32494
32495 2007-12-23  Bruno Haible  <bruno@clisp.org>
32496
32497         * lib/c-strcasestr.c: Add more comments.
32498         * lib/c-strstr.c: Likewise.
32499         * lib/mbscasestr.c: Likewise.
32500         * lib/mbsstr.c: Likewise.
32501         * lib/strcasestr.c: Likewise.
32502         * lib/memmem.c: Likewise.
32503
32504 2007-12-23  Bruno Haible  <bruno@clisp.org>
32505
32506         * tests/test-memmem.c: Include <string.h> first.
32507
32508 2007-12-22  Bruno Haible  <bruno@clisp.org>
32509
32510         * gnulib-tool (func_create_testdir): Change $auxdir while generating
32511         the contents of $testsbase.
32512         Reported by Ralf Wildenhues.
32513
32514 2007-12-22  Bruno Haible  <bruno@clisp.org>
32515
32516         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
32517         two variables local_ldadd_before, local_ldadd_last.
32518
32519 2007-12-20  Eric Blake  <ebb9@byu.net>
32520
32521         Work around circular library issue when cross-compiling.
32522         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
32523         that progname.o does not need to pull in rpl_memcmp.
32524
32525 2007-12-19  Eric Blake  <ebb9@byu.net>
32526
32527         Fix memmem to avoid O(n^2) worst-case complexity.
32528         * lib/memmem.c (knuth_morris_pratt): New function.
32529         (memmem): Use it if first few naive iterations fail.
32530         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
32531         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
32532         * modules/memchr (License): Likewise.
32533         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
32534         malloca.
32535         * tests/test-memmem.c: Rewrite, borrowing ideas from
32536         test-mbsstr1.c; the old version wouldn't even compile!
32537         * modules/memmem-tests: New file.
32538         * lib/string.in.h (rpl_memmem): Add declaration.
32539         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
32540         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
32541         REPLACE_MEMMEM.
32542
32543 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
32544
32545         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
32546         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
32547         before any system include files, and undef after them all.  This
32548         should fix a problem on VMS reported by John E. Malmberg in
32549         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
32550
32551 2007-12-17  Eric Blake  <ebb9@byu.net>
32552
32553         Revert addition of verify, for BSD/OS.
32554         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
32555         can't handle large files, for the sake of obsolete platforms.
32556         * modules/fseeko (Depends-on): Remove verify.
32557         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
32558         * doc/functions/ftello.texi (ftello): Likewise.
32559         * doc/functions/fgetpos.texi (fgetpos): Likewise.
32560         Reported by Larry Jones.
32561
32562 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
32563
32564         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
32565         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
32566
32567 2007-12-17  Jim Meyering  <meyering@redhat.com>
32568
32569         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
32570         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
32571         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
32572         * modules/getcwd (Depends-on): Add openat.
32573         Reported by Petr Salinger.
32574
32575 2007-12-17  Bruno Haible  <bruno@clisp.org>
32576
32577         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
32578         avoid a segmentation fault of the configure test on x86_64 systems.
32579
32580 2007-12-15  Jim Meyering  <meyering@redhat.com>
32581
32582         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
32583
32584 2007-12-13  Eric Blake  <ebb9@byu.net>
32585
32586         Another fseek test.
32587         * tests/test-fseek.c (main): Also test ungetc handling.
32588         * tests/test-fseeko.c (main): Likewise.
32589         * modules/fseeko (Depends-on): Add verify.
32590         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
32591         large.
32592         Reported by Larry Jones.
32593
32594         Fix fseeko on mingw.
32595         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
32596         seek.
32597
32598         Beef up fseek tests.
32599         * tests/test-fseek.c (main): Also test eof handling.
32600         * tests/test-fseeko.c (main): Likewise.
32601         Reported by Larry Jones.
32602
32603 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
32604
32605         Fix fseeko on BSD-based platforms.
32606         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
32607         successful seek.
32608
32609 2007-12-12  Eric Blake  <ebb9@byu.net>
32610
32611         Allow circular dependency of separate libtests.a
32612         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
32613         when use_libtests.
32614
32615 2007-12-11  Eric Blake  <ebb9@byu.net>
32616
32617         Fix bug with -0.0L in previous patch.
32618         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
32619         * tests/test-isnan.c (main): Also test on zeroes.
32620         * tests/test-isnanf.c (main): Likewise.
32621         * tests/test-isnanl.h (main): Likewise.
32622
32623         Detect pseudo-denormals on x86 even when cross-compiling.
32624         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
32625         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
32626         invalid bit patterns that happen to satisfy ==.
32627
32628         Avoid link failures with separate libtests.a.
32629         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
32630         last, to satisfy circular dependencies.
32631
32632 2007-12-11  Eric Blake  <ebb9@byu.net>
32633         and Bruno Haible  <bruno@clisp.org>
32634
32635         Fix OpenBSD 4.0 <float.h> handling of long double.
32636         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
32637         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
32638         * doc/headers/float.texi (float.h): Document OpenBSD bug.
32639
32640 2007-12-11  Jim Meyering  <meyering@redhat.com>
32641
32642         * users.txt: Add libvirt.
32643
32644         Support versions of autoconf prior to 2.59c.
32645         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
32646         if it is not already defined.
32647
32648 2007-12-09  Bruno Haible  <bruno@clisp.org>
32649
32650         Let 'gnulib-tool --import' collect sources needed for the tests in
32651         tests/ rather than in lib/.
32652         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
32653         argument. If true, add rules to generate libtests.a, and put libtests.a
32654         into $(LDADD). Consider source files in subdirectories and set
32655         uses_subdirs.
32656         (func_emit_initmacro_start, func_emit_initmacro_end,
32657         func_emit_initmacro_done): Pass all arguments explicitly.
32658         (func_import): Determine two module lists main_modules,
32659         testsrelated_modules. Determine use_libtests. Determine two variables
32660         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
32661         instead of just sed_transform_lib_file. Determine two variables
32662         main_files and testsrelated_files. Compute 'files' as the union of
32663         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
32664         func_add_or_update. In the generated gnulib-comp.m4, collect the
32665         object files for tests/ in different variables than those for lib/.
32666         Substitute LIBTESTS_LIBDEPS.
32667         (func_create_testdir): Combine the uses_subdirs results from
32668         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
32669
32670 2007-12-09  Bruno Haible  <bruno@clisp.org>
32671
32672         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
32673         the build-aux directory.
32674
32675 2007-12-09  Bruno Haible  <bruno@clisp.org>
32676
32677         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
32678         introduced on 2006-09-09.
32679
32680 2007-12-07  Jim Meyering  <meyering@redhat.com>
32681
32682         Let these macros work also with autoconf-2.59.
32683         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
32684         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
32685         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
32686
32687 2007-12-06  Jim Meyering  <meyering@redhat.com>
32688
32689         Avoid a configure-time syntax error in gl_FUNC_ACL.
32690         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
32691         function in each branch, before testing the cache variable.
32692
32693 2007-12-04  Eric Blake  <ebb9@byu.net>
32694
32695         Make scripts executable.
32696         * build-aux/config.guess: Add execute permissions.
32697         * build-aux/config.sub: Likewise.
32698         * build-aux/gendocs.sh: Likewise.
32699
32700         Fix frexp on mingw.
32701         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
32702         cross-compiling.
32703         * doc/functions/frexp.texi (frexp): Document the bug.
32704
32705         Make cygwin fseeko check more reliable.
32706         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
32707         version numbers, rather than unrelated feature check.
32708         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
32709         * doc/functions/ftello.texi (ftello): Likewise.
32710         Reported by Bruno Haible.
32711
32712         * m4/strerror.m4: Bump version number.
32713
32714 2007-12-03  Bruno Haible  <bruno@clisp.org>
32715
32716         * doc/functions/mprotect.texi: Mention the mingw problem.
32717
32718 2007-12-03  Eric Blake  <ebb9@byu.net>
32719
32720         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
32721         REPLACE_STRERROR is initialized before this macro.
32722
32723 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
32724
32725         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
32726         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
32727         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
32728         put -lsec in even for programs other than 'ls'.  This fixes a problem
32729         for gettext reported by Bruno Haible in
32730         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
32731         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
32732         Add support for Solaris 10.  This isn't efficient, but should get the
32733         job done for now.
32734
32735 2007-12-03  James Youngman  <jay@gnu.org>
32736
32737         * doc/regexprops-generic.texi: change "an close-group" to "a
32738         close-group" and "illegal" to "not allowed".
32739
32740 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32741
32742         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
32743         pr_byname.h. Needed for the rare case when the maintainer has done
32744         "make maintainer-clean" in the source directory and then attempts a
32745         build outside the source directory.
32746         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
32747         scripts_byname.h.
32748
32749 2007-12-02  Martin Lambers <marlam@marlam.de>
32750             Bruno Haible  <bruno@clisp.org>
32751
32752         * lib/getpagesize.h: Remove file.
32753         * lib/unistd.in.h: Include declaration of getpagesize here.
32754         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
32755         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
32756         HAVE_SYS_PARAM_H.
32757         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
32758         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
32759         * modules/getpagesize (Files): Remove lib/getpagesize.h.
32760         (Depends-on): Add unistd.
32761         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
32762         (Include): Use <unistd.h> instead of getpagesize.h.
32763         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
32764         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
32765         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
32766         gl_GETPAGESIZE invocation, already handled by module dependency.
32767         * lib/pagealign_alloc.c: Don't include getpagesize.h.
32768
32769 2007-12-02  Bruno Haible  <bruno@clisp.org>
32770
32771         * modules/strings-tests: New file.
32772         * tests/test-strings.c: New file.
32773
32774         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
32775         * lib/strings.in.h: New file.
32776         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
32777         * m4/strings_h.m4: New file.
32778         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
32779         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
32780         * modules/strings: New file.
32781         * modules/string (Makefile.am): Update.
32782         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
32783         Reported by Karl Berry.
32784
32785 2007-12-01  Eric Blake  <ebb9@byu.net>
32786
32787         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
32788         accomodate fix in cygwin 1.5.25.
32789
32790 2007-12-01  Jim Meyering  <meyering@redhat.com>
32791
32792         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
32793         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
32794         that would inhibit utf8-optimization of a regexp containing line-
32795         or buffer-anchors, e.g., `^', `$'.
32796
32797 2007-11-30  Bruno Haible  <bruno@clisp.org>
32798
32799         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
32800         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
32801         glthread_recursive_lock_init.
32802         * lib/lock.c (glthread_recursive_lock_init)
32803         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
32804         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
32805
32806 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
32807
32808         New function qset_acl, like set_acl but with syscall semantics.
32809         * lib/acl.h (qset_acl): New decl.
32810         * lib/acl.c (qset_acl): New function.
32811         (set_acl): Use new function.  Use more-consistent diagnostics.
32812
32813 2007-11-28  Jim Meyering  <meyering@redhat.com>
32814
32815         * modules/physmem (License): Change from GPL to LGPLv2+.
32816
32817 2007-11-26  Bruno Haible  <bruno@clisp.org>
32818
32819         * lib/vasnprintf.c (decode_long_double): Don't abort if the
32820         'long double' type has excess precision.
32821         Reported by Jim Meyering in
32822         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
32823
32824 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32825
32826         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
32827         Sync from <http://gnu.org/licenses>.
32828         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
32829         with license text from same location.
32830         * doc/maintain.texi, doc/standards.texi:  Sync from
32831         <http://savannah.gnu.org/projects/gnustandards>.
32832
32833 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
32834         and Jim Meyering  <meyering@redhat.com>
32835
32836         Adjust getdate' grammar to accept a slightly more regular language.
32837         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
32838         Before, the former was rejected.
32839         * lib/getdate.y (digits_to_date_time): New function, factored
32840         out of ...
32841         (number): ...here.  Just call digits_to_date_time.
32842         (hybrid): New non-terminal to handle an <unsigned number,
32843         signed relative offset> sequence consistently.
32844
32845 2007-11-18  Jim Meyering  <meyering@redhat.com>
32846
32847         Pull my changes from coreutils:
32848         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
32849         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
32850         use of $gnulib_tool_option_extras, so that it's separated from the
32851         preceding argument.
32852
32853         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
32854         * build-aux/bootstrap (cp_mark_as_generated): Create any required
32855         parent destination directories before copying a file into place.
32856
32857 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
32858
32859         bootstrap: work also with 4-argument variant of AC_INIT
32860         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
32861
32862 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
32863
32864         Port test-getaddrinfo to Solaris.
32865         Problem reported by Bruno Haible in
32866         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
32867         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
32868         explanation of setting 'hints'.
32869         Don't reject an implementation merely because it returns EAI_SERVICE.
32870         (EAI_SERVICE): Define to 0 if not defined.
32871
32872 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
32873
32874         The license of gnu-make and posix-shell is now "GPLed build tool".
32875         * modules/gnu-make (License): Likewise.
32876         * modules/posix-shell (License): Likewise.
32877
32878         New module posix-shell, for determining a POSIX shell
32879         or perhaps something that is close enough to a POSIX shell.
32880         * m4/posix-shell.m4: New file.
32881         * modules/posix-shell: New file.
32882
32883         * MODULES.html.sh: Mention new module.
32884
32885         New module gnu-make, for determining whether we're using GNU Make.
32886         * m4/gnu-make.m4: New file.
32887         * modules/gnu-make: New file.
32888         * MODULES.html.sh: Mention new module.
32889
32890 2007-11-14  Jim Meyering  <meyering@redhat.com>
32891
32892         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
32893         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
32894         use this macro to create a function _definition_.
32895         Remove useless "#undef ARGMATCH_DIE".
32896
32897 2007-11-14  Bruno Haible  <bruno@clisp.org>
32898
32899         * lib/config.charset: Update for OpenBSD 4.1.
32900         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
32901
32902 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
32903
32904         Document 64-bit #if problems in stdint.texi.
32905         * doc/headers/stdint.texi (stdint.h): Mention problems with
32906         64-bit-#if, and how to work around them.
32907
32908         Don't insist on 'long long int' support in the preprocessor.  It
32909         breaks too many things.  For example, PRIdMAX still uses a 'long
32910         long int' format with the latest Sun compiler, even though
32911         HAVE_LONG_LONG_INT isn't defined due to that compiler's
32912         preprocessor problem.  This causes the latest coreutils to dump
32913         core on Solaris 10 sparc with the Sun C compiler.
32914         Instead, fix the 2007-10-16 problem in a different way, by evaluating
32915         the troublesome expressions at configure-time, not at #if-time.
32916         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
32917         preprocessor.
32918         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
32919         compile-time C checks, done at 'configure'-time.
32920         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
32921         * modules/inttypes (Makefile): Substitute the new symbols that
32922         gl_INTTYPES_H now generates.
32923         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
32924
32925 2007-11-12  Bruno Haible  <bruno@clisp.org>
32926
32927         Tests for Unicode character classification functions.
32928
32929         * modules/unictype/bidicategory-byname-tests: New file.
32930         * modules/unictype/bidicategory-name-tests: New file.
32931         * modules/unictype/bidicategory-of-tests: New file.
32932         * modules/unictype/bidicategory-test-tests: New file.
32933         * modules/unictype/block-list-tests: New file.
32934         * modules/unictype/block-of-tests: New file.
32935         * modules/unictype/block-test-tests: New file.
32936         * modules/unictype/category-C-tests: New file.
32937         * modules/unictype/category-Cc-tests: New file.
32938         * modules/unictype/category-Cf-tests: New file.
32939         * modules/unictype/category-Cn-tests: New file.
32940         * modules/unictype/category-Co-tests: New file.
32941         * modules/unictype/category-Cs-tests: New file.
32942         * modules/unictype/category-L-tests: New file.
32943         * modules/unictype/category-Ll-tests: New file.
32944         * modules/unictype/category-Lm-tests: New file.
32945         * modules/unictype/category-Lo-tests: New file.
32946         * modules/unictype/category-Lt-tests: New file.
32947         * modules/unictype/category-Lu-tests: New file.
32948         * modules/unictype/category-M-tests: New file.
32949         * modules/unictype/category-Mc-tests: New file.
32950         * modules/unictype/category-Me-tests: New file.
32951         * modules/unictype/category-Mn-tests: New file.
32952         * modules/unictype/category-N-tests: New file.
32953         * modules/unictype/category-Nd-tests: New file.
32954         * modules/unictype/category-Nl-tests: New file.
32955         * modules/unictype/category-No-tests: New file.
32956         * modules/unictype/category-P-tests: New file.
32957         * modules/unictype/category-Pc-tests: New file.
32958         * modules/unictype/category-Pd-tests: New file.
32959         * modules/unictype/category-Pe-tests: New file.
32960         * modules/unictype/category-Pf-tests: New file.
32961         * modules/unictype/category-Pi-tests: New file.
32962         * modules/unictype/category-Po-tests: New file.
32963         * modules/unictype/category-Ps-tests: New file.
32964         * modules/unictype/category-S-tests: New file.
32965         * modules/unictype/category-Sc-tests: New file.
32966         * modules/unictype/category-Sk-tests: New file.
32967         * modules/unictype/category-Sm-tests: New file.
32968         * modules/unictype/category-So-tests: New file.
32969         * modules/unictype/category-Z-tests: New file.
32970         * modules/unictype/category-Zl-tests: New file.
32971         * modules/unictype/category-Zp-tests: New file.
32972         * modules/unictype/category-Zs-tests: New file.
32973         * modules/unictype/category-and-not-tests: New file.
32974         * modules/unictype/category-and-tests: New file.
32975         * modules/unictype/category-byname-tests: New file.
32976         * modules/unictype/category-name-tests: New file.
32977         * modules/unictype/category-none-tests: New file.
32978         * modules/unictype/category-of-tests: New file.
32979         * modules/unictype/category-or-tests: New file.
32980         * modules/unictype/category-test-withtable-tests: New file.
32981         * modules/unictype/combining-class-tests: New file.
32982         * modules/unictype/ctype-alnum-tests: New file.
32983         * modules/unictype/ctype-alpha-tests: New file.
32984         * modules/unictype/ctype-blank-tests: New file.
32985         * modules/unictype/ctype-cntrl-tests: New file.
32986         * modules/unictype/ctype-digit-tests: New file.
32987         * modules/unictype/ctype-graph-tests: New file.
32988         * modules/unictype/ctype-lower-tests: New file.
32989         * modules/unictype/ctype-print-tests: New file.
32990         * modules/unictype/ctype-punct-tests: New file.
32991         * modules/unictype/ctype-space-tests: New file.
32992         * modules/unictype/ctype-upper-tests: New file.
32993         * modules/unictype/ctype-xdigit-tests: New file.
32994         * modules/unictype/decimal-digit-tests: New file.
32995         * modules/unictype/digit-tests: New file.
32996         * modules/unictype/mirror-tests: New file.
32997         * modules/unictype/numeric-tests: New file.
32998         * modules/unictype/property-alphabetic-tests: New file.
32999         * modules/unictype/property-ascii-hex-digit-tests: New file.
33000         * modules/unictype/property-bidi-arabic-digit-tests: New file.
33001         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
33002         * modules/unictype/property-bidi-block-separator-tests: New file.
33003         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
33004         * modules/unictype/property-bidi-common-separator-tests: New file.
33005         * modules/unictype/property-bidi-control-tests: New file.
33006         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
33007         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
33008         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
33009         * modules/unictype/property-bidi-european-digit-tests: New file.
33010         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
33011         * modules/unictype/property-bidi-left-to-right-tests: New file.
33012         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
33013         * modules/unictype/property-bidi-other-neutral-tests: New file.
33014         * modules/unictype/property-bidi-pdf-tests: New file.
33015         * modules/unictype/property-bidi-segment-separator-tests: New file.
33016         * modules/unictype/property-bidi-whitespace-tests: New file.
33017         * modules/unictype/property-byname-tests: New file.
33018         * modules/unictype/property-combining-tests: New file.
33019         * modules/unictype/property-composite-tests: New file.
33020         * modules/unictype/property-currency-symbol-tests: New file.
33021         * modules/unictype/property-dash-tests: New file.
33022         * modules/unictype/property-decimal-digit-tests: New file.
33023         * modules/unictype/property-default-ignorable-code-point-tests: New file.
33024         * modules/unictype/property-deprecated-tests: New file.
33025         * modules/unictype/property-diacritic-tests: New file.
33026         * modules/unictype/property-extender-tests: New file.
33027         * modules/unictype/property-format-control-tests: New file.
33028         * modules/unictype/property-grapheme-base-tests: New file.
33029         * modules/unictype/property-grapheme-extend-tests: New file.
33030         * modules/unictype/property-grapheme-link-tests: New file.
33031         * modules/unictype/property-hex-digit-tests: New file.
33032         * modules/unictype/property-hyphen-tests: New file.
33033         * modules/unictype/property-id-continue-tests: New file.
33034         * modules/unictype/property-id-start-tests: New file.
33035         * modules/unictype/property-ideographic-tests: New file.
33036         * modules/unictype/property-ids-binary-operator-tests: New file.
33037         * modules/unictype/property-ids-trinary-operator-tests: New file.
33038         * modules/unictype/property-ignorable-control-tests: New file.
33039         * modules/unictype/property-iso-control-tests: New file.
33040         * modules/unictype/property-join-control-tests: New file.
33041         * modules/unictype/property-left-of-pair-tests: New file.
33042         * modules/unictype/property-line-separator-tests: New file.
33043         * modules/unictype/property-logical-order-exception-tests: New file.
33044         * modules/unictype/property-lowercase-tests: New file.
33045         * modules/unictype/property-math-tests: New file.
33046         * modules/unictype/property-non-break-tests: New file.
33047         * modules/unictype/property-not-a-character-tests: New file.
33048         * modules/unictype/property-numeric-tests: New file.
33049         * modules/unictype/property-other-alphabetic-tests: New file.
33050         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
33051         * modules/unictype/property-other-grapheme-extend-tests: New file.
33052         * modules/unictype/property-other-id-continue-tests: New file.
33053         * modules/unictype/property-other-id-start-tests: New file.
33054         * modules/unictype/property-other-lowercase-tests: New file.
33055         * modules/unictype/property-other-math-tests: New file.
33056         * modules/unictype/property-other-uppercase-tests: New file.
33057         * modules/unictype/property-paired-punctuation-tests: New file.
33058         * modules/unictype/property-paragraph-separator-tests: New file.
33059         * modules/unictype/property-pattern-syntax-tests: New file.
33060         * modules/unictype/property-pattern-white-space-tests: New file.
33061         * modules/unictype/property-private-use-tests: New file.
33062         * modules/unictype/property-punctuation-tests: New file.
33063         * modules/unictype/property-quotation-mark-tests: New file.
33064         * modules/unictype/property-radical-tests: New file.
33065         * modules/unictype/property-sentence-terminal-tests: New file.
33066         * modules/unictype/property-soft-dotted-tests: New file.
33067         * modules/unictype/property-space-tests: New file.
33068         * modules/unictype/property-terminal-punctuation-tests: New file.
33069         * modules/unictype/property-test-tests: New file.
33070         * modules/unictype/property-titlecase-tests: New file.
33071         * modules/unictype/property-unassigned-code-value-tests: New file.
33072         * modules/unictype/property-unified-ideograph-tests: New file.
33073         * modules/unictype/property-uppercase-tests: New file.
33074         * modules/unictype/property-variation-selector-tests: New file.
33075         * modules/unictype/property-white-space-tests: New file.
33076         * modules/unictype/property-xid-continue-tests: New file.
33077         * modules/unictype/property-xid-start-tests: New file.
33078         * modules/unictype/property-zero-width-tests: New file.
33079         * modules/unictype/scripts-tests: New file.
33080         * modules/unictype/syntax-c-ident-tests: New file.
33081         * modules/unictype/syntax-c-whitespace-tests: New file.
33082         * modules/unictype/syntax-java-ident-tests: New file.
33083         * modules/unictype/syntax-java-whitespace-tests: New file.
33084         * tests/unictype/test-bidi_byname.c: New file.
33085         * tests/unictype/test-bidi_name.c: New file.
33086         * tests/unictype/test-bidi_of.c: New file.
33087         * tests/unictype/test-bidi_test.c: New file.
33088         * tests/unictype/test-block_list.c: New file.
33089         * tests/unictype/test-block_of.c: New file.
33090         * tests/unictype/test-block_test.c: New file.
33091         * tests/unictype/test-categ_and.c: New file.
33092         * tests/unictype/test-categ_and_not.c: New file.
33093         * tests/unictype/test-categ_byname.c: New file.
33094         * tests/unictype/test-categ_name.c: New file.
33095         * tests/unictype/test-categ_none.c: New file.
33096         * tests/unictype/test-categ_of.c: New file.
33097         * tests/unictype/test-categ_or.c: New file.
33098         * tests/unictype/test-categ_test_withtable.c: New file.
33099         * tests/unictype/test-combining.c: New file.
33100         * tests/unictype/test-decdigit.c: New file.
33101         * tests/unictype/test-digit.c: New file.
33102         * tests/unictype/test-mirror.c: New file.
33103         * tests/unictype/test-numeric.c: New file.
33104         * tests/unictype/test-pr_byname.c: New file.
33105         * tests/unictype/test-pr_test.c: New file.
33106         * tests/unictype/test-predicate-part1.h: New file.
33107         * tests/unictype/test-predicate-part2.h: New file.
33108         * tests/unictype/test-scripts.c: New file.
33109         * tests/unictype/test-sy_c_ident.c: New file.
33110         * tests/unictype/test-sy_java_ident.c: New file.
33111
33112         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
33113         for Unicode 5.0.0.
33114         * tests/unictype/test-categ_Cc.c: Likewise.
33115         * tests/unictype/test-categ_Cf.c: Likewise.
33116         * tests/unictype/test-categ_Cn.c: Likewise.
33117         * tests/unictype/test-categ_Co.c: Likewise.
33118         * tests/unictype/test-categ_Cs.c: Likewise.
33119         * tests/unictype/test-categ_L.c: Likewise.
33120         * tests/unictype/test-categ_Ll.c: Likewise.
33121         * tests/unictype/test-categ_Lm.c: Likewise.
33122         * tests/unictype/test-categ_Lo.c: Likewise.
33123         * tests/unictype/test-categ_Lt.c: Likewise.
33124         * tests/unictype/test-categ_Lu.c: Likewise.
33125         * tests/unictype/test-categ_M.c: Likewise.
33126         * tests/unictype/test-categ_Mc.c: Likewise.
33127         * tests/unictype/test-categ_Me.c: Likewise.
33128         * tests/unictype/test-categ_Mn.c: Likewise.
33129         * tests/unictype/test-categ_N.c: Likewise.
33130         * tests/unictype/test-categ_Nd.c: Likewise.
33131         * tests/unictype/test-categ_Nl.c: Likewise.
33132         * tests/unictype/test-categ_No.c: Likewise.
33133         * tests/unictype/test-categ_P.c: Likewise.
33134         * tests/unictype/test-categ_Pc.c: Likewise.
33135         * tests/unictype/test-categ_Pd.c: Likewise.
33136         * tests/unictype/test-categ_Pe.c: Likewise.
33137         * tests/unictype/test-categ_Pf.c: Likewise.
33138         * tests/unictype/test-categ_Pi.c: Likewise.
33139         * tests/unictype/test-categ_Po.c: Likewise.
33140         * tests/unictype/test-categ_Ps.c: Likewise.
33141         * tests/unictype/test-categ_S.c: Likewise.
33142         * tests/unictype/test-categ_Sc.c: Likewise.
33143         * tests/unictype/test-categ_Sk.c: Likewise.
33144         * tests/unictype/test-categ_Sm.c: Likewise.
33145         * tests/unictype/test-categ_So.c: Likewise.
33146         * tests/unictype/test-categ_Z.c: Likewise.
33147         * tests/unictype/test-categ_Zl.c: Likewise.
33148         * tests/unictype/test-categ_Zp.c: Likewise.
33149         * tests/unictype/test-categ_Zs.c: Likewise.
33150         * tests/unictype/test-ctype_alnum.c: Likewise.
33151         * tests/unictype/test-ctype_alpha.c: Likewise.
33152         * tests/unictype/test-ctype_blank.c: Likewise.
33153         * tests/unictype/test-ctype_cntrl.c: Likewise.
33154         * tests/unictype/test-ctype_digit.c: Likewise.
33155         * tests/unictype/test-ctype_graph.c: Likewise.
33156         * tests/unictype/test-ctype_lower.c: Likewise.
33157         * tests/unictype/test-ctype_print.c: Likewise.
33158         * tests/unictype/test-ctype_punct.c: Likewise.
33159         * tests/unictype/test-ctype_space.c: Likewise.
33160         * tests/unictype/test-ctype_upper.c: Likewise.
33161         * tests/unictype/test-ctype_xdigit.c: Likewise.
33162         * tests/unictype/test-decdigit.h: Likewise.
33163         * tests/unictype/test-digit.h: Likewise.
33164         * tests/unictype/test-numeric.h: Likewise.
33165         * tests/unictype/test-pr_alphabetic.c: Likewise.
33166         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
33167         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
33168         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
33169         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
33170         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
33171         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
33172         * tests/unictype/test-pr_bidi_control.c: Likewise.
33173         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
33174         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
33175         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
33176         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
33177         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
33178         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
33179         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
33180         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
33181         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
33182         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
33183         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
33184         * tests/unictype/test-pr_combining.c: Likewise.
33185         * tests/unictype/test-pr_composite.c: Likewise.
33186         * tests/unictype/test-pr_currency_symbol.c: Likewise.
33187         * tests/unictype/test-pr_dash.c: Likewise.
33188         * tests/unictype/test-pr_decimal_digit.c: Likewise.
33189         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
33190         * tests/unictype/test-pr_deprecated.c: Likewise.
33191         * tests/unictype/test-pr_diacritic.c: Likewise.
33192         * tests/unictype/test-pr_extender.c: Likewise.
33193         * tests/unictype/test-pr_format_control.c: Likewise.
33194         * tests/unictype/test-pr_grapheme_base.c: Likewise.
33195         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
33196         * tests/unictype/test-pr_grapheme_link.c: Likewise.
33197         * tests/unictype/test-pr_hex_digit.c: Likewise.
33198         * tests/unictype/test-pr_hyphen.c: Likewise.
33199         * tests/unictype/test-pr_id_continue.c: Likewise.
33200         * tests/unictype/test-pr_id_start.c: Likewise.
33201         * tests/unictype/test-pr_ideographic.c: Likewise.
33202         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
33203         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
33204         * tests/unictype/test-pr_ignorable_control.c: Likewise.
33205         * tests/unictype/test-pr_iso_control.c: Likewise.
33206         * tests/unictype/test-pr_join_control.c: Likewise.
33207         * tests/unictype/test-pr_left_of_pair.c: Likewise.
33208         * tests/unictype/test-pr_line_separator.c: Likewise.
33209         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
33210         * tests/unictype/test-pr_lowercase.c: Likewise.
33211         * tests/unictype/test-pr_math.c: Likewise.
33212         * tests/unictype/test-pr_non_break.c: Likewise.
33213         * tests/unictype/test-pr_not_a_character.c: Likewise.
33214         * tests/unictype/test-pr_numeric.c: Likewise.
33215         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
33216         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
33217         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
33218         * tests/unictype/test-pr_other_id_continue.c: Likewise.
33219         * tests/unictype/test-pr_other_id_start.c: Likewise.
33220         * tests/unictype/test-pr_other_lowercase.c: Likewise.
33221         * tests/unictype/test-pr_other_math.c: Likewise.
33222         * tests/unictype/test-pr_other_uppercase.c: Likewise.
33223         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
33224         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
33225         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
33226         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
33227         * tests/unictype/test-pr_private_use.c: Likewise.
33228         * tests/unictype/test-pr_punctuation.c: Likewise.
33229         * tests/unictype/test-pr_quotation_mark.c: Likewise.
33230         * tests/unictype/test-pr_radical.c: Likewise.
33231         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
33232         * tests/unictype/test-pr_soft_dotted.c: Likewise.
33233         * tests/unictype/test-pr_space.c: Likewise.
33234         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
33235         * tests/unictype/test-pr_titlecase.c: Likewise.
33236         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
33237         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
33238         * tests/unictype/test-pr_uppercase.c: Likewise.
33239         * tests/unictype/test-pr_variation_selector.c: Likewise.
33240         * tests/unictype/test-pr_white_space.c: Likewise.
33241         * tests/unictype/test-pr_xid_continue.c: Likewise.
33242         * tests/unictype/test-pr_xid_start.c: Likewise.
33243         * tests/unictype/test-pr_zero_width.c: Likewise.
33244         * tests/unictype/test-sy_c_whitespace.c: Likewise.
33245         * tests/unictype/test-sy_java_whitespace.c: Likewise.
33246
33247 2007-11-12  Bruno Haible  <bruno@clisp.org>
33248
33249         Unicode character classification functions.
33250         * lib/unictype.h: New file.
33251         * modules/unictype/base: New file.
33252         * modules/unictype/category-L: New file.
33253         * modules/unictype/category-Lu: New file.
33254         * modules/unictype/category-Ll: New file.
33255         * modules/unictype/category-Lt: New file.
33256         * modules/unictype/category-Lm: New file.
33257         * modules/unictype/category-Lo: New file.
33258         * modules/unictype/category-M: New file.
33259         * modules/unictype/category-Mn: New file.
33260         * modules/unictype/category-Mc: New file.
33261         * modules/unictype/category-Me: New file.
33262         * modules/unictype/category-N: New file.
33263         * modules/unictype/category-Nd: New file.
33264         * modules/unictype/category-Nl: New file.
33265         * modules/unictype/category-No: New file.
33266         * modules/unictype/category-P: New file.
33267         * modules/unictype/category-Pc: New file.
33268         * modules/unictype/category-Pd: New file.
33269         * modules/unictype/category-Ps: New file.
33270         * modules/unictype/category-Pe: New file.
33271         * modules/unictype/category-Pi: New file.
33272         * modules/unictype/category-Pf: New file.
33273         * modules/unictype/category-Po: New file.
33274         * modules/unictype/category-S: New file.
33275         * modules/unictype/category-Sm: New file.
33276         * modules/unictype/category-Sc: New file.
33277         * modules/unictype/category-Sk: New file.
33278         * modules/unictype/category-So: New file.
33279         * modules/unictype/category-Z: New file.
33280         * modules/unictype/category-Zs: New file.
33281         * modules/unictype/category-Zl: New file.
33282         * modules/unictype/category-Zp: New file.
33283         * modules/unictype/category-C: New file.
33284         * modules/unictype/category-Cc: New file.
33285         * modules/unictype/category-Cf: New file.
33286         * modules/unictype/category-Cs: New file.
33287         * modules/unictype/category-Co: New file.
33288         * modules/unictype/category-Cn: New file.
33289         * modules/unictype/category-or: New file.
33290         * modules/unictype/category-of: New file.
33291         * modules/unictype/category-test: New file.
33292         * modules/unictype/category-test-withtable: New file.
33293         * modules/unictype/category-byname: New file.
33294         * modules/unictype/category-none: New file.
33295         * modules/unictype/category-and: New file.
33296         * modules/unictype/category-and-not: New file.
33297         * modules/unictype/category-name: New file.
33298         * modules/unictype/combining-class: New file.
33299         * modules/unictype/category-all: New file.
33300         * modules/unictype/bidicategory-all: New file.
33301         * modules/unictype/bidicategory-byname: New file.
33302         * modules/unictype/bidicategory-name: New file.
33303         * modules/unictype/bidicategory-of: New file.
33304         * modules/unictype/bidicategory-test: New file.
33305         * modules/unictype/decimal-digit: New file.
33306         * modules/unictype/digit: New file.
33307         * modules/unictype/numeric: New file.
33308         * modules/unictype/mirror: New file.
33309         * modules/unictype/property-white-space: New file.
33310         * modules/unictype/property-alphabetic: New file.
33311         * modules/unictype/property-other-alphabetic: New file.
33312         * modules/unictype/property-not-a-character: New file.
33313         * modules/unictype/property-default-ignorable-code-point: New file.
33314         * modules/unictype/property-other-default-ignorable-code-point: New
33315         file.
33316         * modules/unictype/property-deprecated: New file.
33317         * modules/unictype/property-logical-order-exception: New file.
33318         * modules/unictype/property-variation-selector: New file.
33319         * modules/unictype/property-private-use: New file.
33320         * modules/unictype/property-unassigned-code-value: New file.
33321         * modules/unictype/property-uppercase: New file.
33322         * modules/unictype/property-other-uppercase: New file.
33323         * modules/unictype/property-lowercase: New file.
33324         * modules/unictype/property-other-lowercase: New file.
33325         * modules/unictype/property-titlecase: New file.
33326         * modules/unictype/property-soft-dotted: New file.
33327         * modules/unictype/property-id-start: New file.
33328         * modules/unictype/property-other-id-start: New file.
33329         * modules/unictype/property-id-continue: New file.
33330         * modules/unictype/property-other-id-continue: New file.
33331         * modules/unictype/property-xid-start: New file.
33332         * modules/unictype/property-xid-continue: New file.
33333         * modules/unictype/property-pattern-white-space: New file.
33334         * modules/unictype/property-pattern-syntax: New file.
33335         * modules/unictype/property-join-control: New file.
33336         * modules/unictype/property-grapheme-base: New file.
33337         * modules/unictype/property-grapheme-extend: New file.
33338         * modules/unictype/property-other-grapheme-extend: New file.
33339         * modules/unictype/property-grapheme-link: New file.
33340         * modules/unictype/property-bidi-control: New file.
33341         * modules/unictype/property-bidi-left-to-right: New file.
33342         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
33343         * modules/unictype/property-bidi-arabic-right-to-left: New file.
33344         * modules/unictype/property-bidi-european-digit: New file.
33345         * modules/unictype/property-bidi-eur-num-separator: New file.
33346         * modules/unictype/property-bidi-eur-num-terminator: New file.
33347         * modules/unictype/property-bidi-arabic-digit: New file.
33348         * modules/unictype/property-bidi-common-separator: New file.
33349         * modules/unictype/property-bidi-block-separator: New file.
33350         * modules/unictype/property-bidi-segment-separator: New file.
33351         * modules/unictype/property-bidi-whitespace: New file.
33352         * modules/unictype/property-bidi-non-spacing-mark: New file.
33353         * modules/unictype/property-bidi-boundary-neutral: New file.
33354         * modules/unictype/property-bidi-pdf: New file.
33355         * modules/unictype/property-bidi-embedding-or-override: New file.
33356         * modules/unictype/property-bidi-other-neutral: New file.
33357         * modules/unictype/property-hex-digit: New file.
33358         * modules/unictype/property-ascii-hex-digit: New file.
33359         * modules/unictype/property-ideographic: New file.
33360         * modules/unictype/property-unified-ideograph: New file.
33361         * modules/unictype/property-radical: New file.
33362         * modules/unictype/property-ids-binary-operator: New file.
33363         * modules/unictype/property-ids-trinary-operator: New file.
33364         * modules/unictype/property-zero-width: New file.
33365         * modules/unictype/property-space: New file.
33366         * modules/unictype/property-non-break: New file.
33367         * modules/unictype/property-iso-control: New file.
33368         * modules/unictype/property-format-control: New file.
33369         * modules/unictype/property-dash: New file.
33370         * modules/unictype/property-hyphen: New file.
33371         * modules/unictype/property-punctuation: New file.
33372         * modules/unictype/property-line-separator: New file.
33373         * modules/unictype/property-paragraph-separator: New file.
33374         * modules/unictype/property-quotation-mark: New file.
33375         * modules/unictype/property-sentence-terminal: New file.
33376         * modules/unictype/property-terminal-punctuation: New file.
33377         * modules/unictype/property-currency-symbol: New file.
33378         * modules/unictype/property-math: New file.
33379         * modules/unictype/property-other-math: New file.
33380         * modules/unictype/property-paired-punctuation: New file.
33381         * modules/unictype/property-left-of-pair: New file.
33382         * modules/unictype/property-combining: New file.
33383         * modules/unictype/property-composite: New file.
33384         * modules/unictype/property-decimal-digit: New file.
33385         * modules/unictype/property-numeric: New file.
33386         * modules/unictype/property-diacritic: New file.
33387         * modules/unictype/property-extender: New file.
33388         * modules/unictype/property-ignorable-control: New file.
33389         * modules/unictype/property-test: New file.
33390         * modules/unictype/property-byname: New file.
33391         * modules/unictype/property-all: New file.
33392         * modules/unictype/scripts: New file.
33393         * modules/unictype/scripts-all: New file.
33394         * modules/unictype/block-of: New file.
33395         * modules/unictype/block-test: New file.
33396         * modules/unictype/block-list: New file.
33397         * modules/unictype/block-all: New file.
33398         * modules/unictype/syntax-c-whitespace: New file.
33399         * modules/unictype/syntax-java-whitespace: New file.
33400         * modules/unictype/syntax-c-ident: New file.
33401         * modules/unictype/syntax-java-ident: New file.
33402         * modules/unictype/ctype-alnum: New file.
33403         * modules/unictype/ctype-alpha: New file.
33404         * modules/unictype/ctype-cntrl: New file.
33405         * modules/unictype/ctype-digit: New file.
33406         * modules/unictype/ctype-graph: New file.
33407         * modules/unictype/ctype-lower: New file.
33408         * modules/unictype/ctype-print: New file.
33409         * modules/unictype/ctype-punct: New file.
33410         * modules/unictype/ctype-space: New file.
33411         * modules/unictype/ctype-upper: New file.
33412         * modules/unictype/ctype-xdigit: New file.
33413         * modules/unictype/ctype-blank: New file.
33414         * lib/unictype/bidi_byname.c: New file.
33415         * lib/unictype/bidi_name.c: New file.
33416         * lib/unictype/bidi_of.c: New file.
33417         * lib/unictype/bidi_test.c: New file.
33418         * lib/unictype/bitmap.h: New file.
33419         * lib/unictype/block_test.c: New file.
33420         * lib/unictype/blocks.c: New file.
33421         * lib/unictype/categ_C.c: New file.
33422         * lib/unictype/categ_Cc.c: New file.
33423         * lib/unictype/categ_Cf.c: New file.
33424         * lib/unictype/categ_Cn.c: New file.
33425         * lib/unictype/categ_Co.c: New file.
33426         * lib/unictype/categ_Cs.c: New file.
33427         * lib/unictype/categ_L.c: New file.
33428         * lib/unictype/categ_Ll.c: New file.
33429         * lib/unictype/categ_Lm.c: New file.
33430         * lib/unictype/categ_Lo.c: New file.
33431         * lib/unictype/categ_Lt.c: New file.
33432         * lib/unictype/categ_Lu.c: New file.
33433         * lib/unictype/categ_M.c: New file.
33434         * lib/unictype/categ_Mc.c: New file.
33435         * lib/unictype/categ_Me.c: New file.
33436         * lib/unictype/categ_Mn.c: New file.
33437         * lib/unictype/categ_N.c: New file.
33438         * lib/unictype/categ_Nd.c: New file.
33439         * lib/unictype/categ_Nl.c: New file.
33440         * lib/unictype/categ_No.c: New file.
33441         * lib/unictype/categ_P.c: New file.
33442         * lib/unictype/categ_Pc.c: New file.
33443         * lib/unictype/categ_Pd.c: New file.
33444         * lib/unictype/categ_Pe.c: New file.
33445         * lib/unictype/categ_Pf.c: New file.
33446         * lib/unictype/categ_Pi.c: New file.
33447         * lib/unictype/categ_Po.c: New file.
33448         * lib/unictype/categ_Ps.c: New file.
33449         * lib/unictype/categ_S.c: New file.
33450         * lib/unictype/categ_Sc.c: New file.
33451         * lib/unictype/categ_Sk.c: New file.
33452         * lib/unictype/categ_Sm.c: New file.
33453         * lib/unictype/categ_So.c: New file.
33454         * lib/unictype/categ_Z.c: New file.
33455         * lib/unictype/categ_Zl.c: New file.
33456         * lib/unictype/categ_Zp.c: New file.
33457         * lib/unictype/categ_Zs.c: New file.
33458         * lib/unictype/categ_and.c: New file.
33459         * lib/unictype/categ_and_not.c: New file.
33460         * lib/unictype/categ_byname.c: New file.
33461         * lib/unictype/categ_name.c: New file.
33462         * lib/unictype/categ_none.c: New file.
33463         * lib/unictype/categ_of.c: New file.
33464         * lib/unictype/categ_or.c: New file.
33465         * lib/unictype/categ_test.c: New file.
33466         * lib/unictype/combining.c: New file.
33467         * lib/unictype/ctype_alnum.c: New file.
33468         * lib/unictype/ctype_alpha.c: New file.
33469         * lib/unictype/ctype_blank.c: New file.
33470         * lib/unictype/ctype_cntrl.c: New file.
33471         * lib/unictype/ctype_digit.c: New file.
33472         * lib/unictype/ctype_graph.c: New file.
33473         * lib/unictype/ctype_lower.c: New file.
33474         * lib/unictype/ctype_print.c: New file.
33475         * lib/unictype/ctype_punct.c: New file.
33476         * lib/unictype/ctype_space.c: New file.
33477         * lib/unictype/ctype_upper.c: New file.
33478         * lib/unictype/ctype_xdigit.c: New file.
33479         * lib/unictype/decdigit.c: New file.
33480         * lib/unictype/digit.c: New file.
33481         * lib/unictype/identsyntaxmap.h: New file.
33482         * lib/unictype/mirror.c: New file.
33483         * lib/unictype/numeric.c: New file.
33484         * lib/unictype/pr_alphabetic.c: New file.
33485         * lib/unictype/pr_ascii_hex_digit.c: New file.
33486         * lib/unictype/pr_bidi_arabic_digit.c: New file.
33487         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
33488         * lib/unictype/pr_bidi_block_separator.c: New file.
33489         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
33490         * lib/unictype/pr_bidi_common_separator.c: New file.
33491         * lib/unictype/pr_bidi_control.c: New file.
33492         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
33493         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
33494         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
33495         * lib/unictype/pr_bidi_european_digit.c: New file.
33496         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
33497         * lib/unictype/pr_bidi_left_to_right.c: New file.
33498         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
33499         * lib/unictype/pr_bidi_other_neutral.c: New file.
33500         * lib/unictype/pr_bidi_pdf.c: New file.
33501         * lib/unictype/pr_bidi_segment_separator.c: New file.
33502         * lib/unictype/pr_bidi_whitespace.c: New file.
33503         * lib/unictype/pr_byname.c: New file.
33504         * lib/unictype/pr_byname.gperf: New file.
33505         * lib/unictype/pr_combining.c: New file.
33506         * lib/unictype/pr_composite.c: New file.
33507         * lib/unictype/pr_currency_symbol.c: New file.
33508         * lib/unictype/pr_dash.c: New file.
33509         * lib/unictype/pr_decimal_digit.c: New file.
33510         * lib/unictype/pr_default_ignorable_code_point.c: New file.
33511         * lib/unictype/pr_deprecated.c: New file.
33512         * lib/unictype/pr_diacritic.c: New file.
33513         * lib/unictype/pr_extender.c: New file.
33514         * lib/unictype/pr_format_control.c: New file.
33515         * lib/unictype/pr_grapheme_base.c: New file.
33516         * lib/unictype/pr_grapheme_extend.c: New file.
33517         * lib/unictype/pr_grapheme_link.c: New file.
33518         * lib/unictype/pr_hex_digit.c: New file.
33519         * lib/unictype/pr_hyphen.c: New file.
33520         * lib/unictype/pr_id_continue.c: New file.
33521         * lib/unictype/pr_id_start.c: New file.
33522         * lib/unictype/pr_ideographic.c: New file.
33523         * lib/unictype/pr_ids_binary_operator.c: New file.
33524         * lib/unictype/pr_ids_trinary_operator.c: New file.
33525         * lib/unictype/pr_ignorable_control.c: New file.
33526         * lib/unictype/pr_iso_control.c: New file.
33527         * lib/unictype/pr_join_control.c: New file.
33528         * lib/unictype/pr_left_of_pair.c: New file.
33529         * lib/unictype/pr_line_separator.c: New file.
33530         * lib/unictype/pr_logical_order_exception.c: New file.
33531         * lib/unictype/pr_lowercase.c: New file.
33532         * lib/unictype/pr_math.c: New file.
33533         * lib/unictype/pr_non_break.c: New file.
33534         * lib/unictype/pr_not_a_character.c: New file.
33535         * lib/unictype/pr_numeric.c: New file.
33536         * lib/unictype/pr_other_alphabetic.c: New file.
33537         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
33538         * lib/unictype/pr_other_grapheme_extend.c: New file.
33539         * lib/unictype/pr_other_id_continue.c: New file.
33540         * lib/unictype/pr_other_id_start.c: New file.
33541         * lib/unictype/pr_other_lowercase.c: New file.
33542         * lib/unictype/pr_other_math.c: New file.
33543         * lib/unictype/pr_other_uppercase.c: New file.
33544         * lib/unictype/pr_paired_punctuation.c: New file.
33545         * lib/unictype/pr_paragraph_separator.c: New file.
33546         * lib/unictype/pr_pattern_syntax.c: New file.
33547         * lib/unictype/pr_pattern_white_space.c: New file.
33548         * lib/unictype/pr_private_use.c: New file.
33549         * lib/unictype/pr_punctuation.c: New file.
33550         * lib/unictype/pr_quotation_mark.c: New file.
33551         * lib/unictype/pr_radical.c: New file.
33552         * lib/unictype/pr_sentence_terminal.c: New file.
33553         * lib/unictype/pr_soft_dotted.c: New file.
33554         * lib/unictype/pr_space.c: New file.
33555         * lib/unictype/pr_terminal_punctuation.c: New file.
33556         * lib/unictype/pr_test.c: New file.
33557         * lib/unictype/pr_titlecase.c: New file.
33558         * lib/unictype/pr_unassigned_code_value.c: New file.
33559         * lib/unictype/pr_unified_ideograph.c: New file.
33560         * lib/unictype/pr_uppercase.c: New file.
33561         * lib/unictype/pr_variation_selector.c: New file.
33562         * lib/unictype/pr_white_space.c: New file.
33563         * lib/unictype/pr_xid_continue.c: New file.
33564         * lib/unictype/pr_xid_start.c: New file.
33565         * lib/unictype/pr_zero_width.c: New file.
33566         * lib/unictype/scripts.c: New file.
33567         * lib/unictype/sy_c_ident.c: New file.
33568         * lib/unictype/sy_c_whitespace.c: New file.
33569         * lib/unictype/sy_java_ident.c: New file.
33570         * lib/unictype/sy_java_whitespace.c: New file.
33571
33572         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
33573         Unicode 5.0.0.
33574         * lib/unictype/blocks.h: Likewise.
33575         * lib/unictype/categ_C.h: Likewise.
33576         * lib/unictype/categ_Cc.h: Likewise.
33577         * lib/unictype/categ_Cf.h: Likewise.
33578         * lib/unictype/categ_Cn.h: Likewise.
33579         * lib/unictype/categ_Co.h: Likewise.
33580         * lib/unictype/categ_Cs.h: Likewise.
33581         * lib/unictype/categ_L.h: Likewise.
33582         * lib/unictype/categ_Ll.h: Likewise.
33583         * lib/unictype/categ_Lm.h: Likewise.
33584         * lib/unictype/categ_Lo.h: Likewise.
33585         * lib/unictype/categ_Lt.h: Likewise.
33586         * lib/unictype/categ_Lu.h: Likewise.
33587         * lib/unictype/categ_M.h: Likewise.
33588         * lib/unictype/categ_Mc.h: Likewise.
33589         * lib/unictype/categ_Me.h: Likewise.
33590         * lib/unictype/categ_Mn.h: Likewise.
33591         * lib/unictype/categ_N.h: Likewise.
33592         * lib/unictype/categ_Nd.h: Likewise.
33593         * lib/unictype/categ_Nl.h: Likewise.
33594         * lib/unictype/categ_No.h: Likewise.
33595         * lib/unictype/categ_P.h: Likewise.
33596         * lib/unictype/categ_Pc.h: Likewise.
33597         * lib/unictype/categ_Pd.h: Likewise.
33598         * lib/unictype/categ_Pe.h: Likewise.
33599         * lib/unictype/categ_Pf.h: Likewise.
33600         * lib/unictype/categ_Pi.h: Likewise.
33601         * lib/unictype/categ_Po.h: Likewise.
33602         * lib/unictype/categ_Ps.h: Likewise.
33603         * lib/unictype/categ_S.h: Likewise.
33604         * lib/unictype/categ_Sc.h: Likewise.
33605         * lib/unictype/categ_Sk.h: Likewise.
33606         * lib/unictype/categ_Sm.h: Likewise.
33607         * lib/unictype/categ_So.h: Likewise.
33608         * lib/unictype/categ_Z.h: Likewise.
33609         * lib/unictype/categ_Zl.h: Likewise.
33610         * lib/unictype/categ_Zp.h: Likewise.
33611         * lib/unictype/categ_Zs.h: Likewise.
33612         * lib/unictype/categ_of.h: Likewise.
33613         * lib/unictype/combining.h: Likewise.
33614         * lib/unictype/ctype_alnum.h: Likewise.
33615         * lib/unictype/ctype_alpha.h: Likewise.
33616         * lib/unictype/ctype_blank.h: Likewise.
33617         * lib/unictype/ctype_cntrl.h: Likewise.
33618         * lib/unictype/ctype_digit.h: Likewise.
33619         * lib/unictype/ctype_graph.h: Likewise.
33620         * lib/unictype/ctype_lower.h: Likewise.
33621         * lib/unictype/ctype_print.h: Likewise.
33622         * lib/unictype/ctype_punct.h: Likewise.
33623         * lib/unictype/ctype_space.h: Likewise.
33624         * lib/unictype/ctype_upper.h: Likewise.
33625         * lib/unictype/ctype_xdigit.h: Likewise.
33626         * lib/unictype/decdigit.h: Likewise.
33627         * lib/unictype/digit.h: Likewise.
33628         * lib/unictype/mirror.h: Likewise.
33629         * lib/unictype/numeric.h: Likewise.
33630         * lib/unictype/pr_alphabetic.h: Likewise.
33631         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
33632         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
33633         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
33634         * lib/unictype/pr_bidi_block_separator.h: Likewise.
33635         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
33636         * lib/unictype/pr_bidi_common_separator.h: Likewise.
33637         * lib/unictype/pr_bidi_control.h: Likewise.
33638         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
33639         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
33640         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
33641         * lib/unictype/pr_bidi_european_digit.h: Likewise.
33642         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
33643         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
33644         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
33645         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
33646         * lib/unictype/pr_bidi_pdf.h: Likewise.
33647         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
33648         * lib/unictype/pr_bidi_whitespace.h: Likewise.
33649         * lib/unictype/pr_combining.h: Likewise.
33650         * lib/unictype/pr_composite.h: Likewise.
33651         * lib/unictype/pr_currency_symbol.h: Likewise.
33652         * lib/unictype/pr_dash.h: Likewise.
33653         * lib/unictype/pr_decimal_digit.h: Likewise.
33654         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
33655         * lib/unictype/pr_deprecated.h: Likewise.
33656         * lib/unictype/pr_diacritic.h: Likewise.
33657         * lib/unictype/pr_extender.h: Likewise.
33658         * lib/unictype/pr_format_control.h: Likewise.
33659         * lib/unictype/pr_grapheme_base.h: Likewise.
33660         * lib/unictype/pr_grapheme_extend.h: Likewise.
33661         * lib/unictype/pr_grapheme_link.h: Likewise.
33662         * lib/unictype/pr_hex_digit.h: Likewise.
33663         * lib/unictype/pr_hyphen.h: Likewise.
33664         * lib/unictype/pr_id_continue.h: Likewise.
33665         * lib/unictype/pr_id_start.h: Likewise.
33666         * lib/unictype/pr_ideographic.h: Likewise.
33667         * lib/unictype/pr_ids_binary_operator.h: Likewise.
33668         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
33669         * lib/unictype/pr_ignorable_control.h: Likewise.
33670         * lib/unictype/pr_iso_control.h: Likewise.
33671         * lib/unictype/pr_join_control.h: Likewise.
33672         * lib/unictype/pr_left_of_pair.h: Likewise.
33673         * lib/unictype/pr_line_separator.h: Likewise.
33674         * lib/unictype/pr_logical_order_exception.h: Likewise.
33675         * lib/unictype/pr_lowercase.h: Likewise.
33676         * lib/unictype/pr_math.h: Likewise.
33677         * lib/unictype/pr_non_break.h: Likewise.
33678         * lib/unictype/pr_not_a_character.h: Likewise.
33679         * lib/unictype/pr_numeric.h: Likewise.
33680         * lib/unictype/pr_other_alphabetic.h: Likewise.
33681         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
33682         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
33683         * lib/unictype/pr_other_id_continue.h: Likewise.
33684         * lib/unictype/pr_other_id_start.h: Likewise.
33685         * lib/unictype/pr_other_lowercase.h: Likewise.
33686         * lib/unictype/pr_other_math.h: Likewise.
33687         * lib/unictype/pr_other_uppercase.h: Likewise.
33688         * lib/unictype/pr_paired_punctuation.h: Likewise.
33689         * lib/unictype/pr_paragraph_separator.h: Likewise.
33690         * lib/unictype/pr_pattern_syntax.h: Likewise.
33691         * lib/unictype/pr_pattern_white_space.h: Likewise.
33692         * lib/unictype/pr_private_use.h: Likewise.
33693         * lib/unictype/pr_punctuation.h: Likewise.
33694         * lib/unictype/pr_quotation_mark.h: Likewise.
33695         * lib/unictype/pr_radical.h: Likewise.
33696         * lib/unictype/pr_sentence_terminal.h: Likewise.
33697         * lib/unictype/pr_soft_dotted.h: Likewise.
33698         * lib/unictype/pr_space.h: Likewise.
33699         * lib/unictype/pr_terminal_punctuation.h: Likewise.
33700         * lib/unictype/pr_titlecase.h: Likewise.
33701         * lib/unictype/pr_unassigned_code_value.h: Likewise.
33702         * lib/unictype/pr_unified_ideograph.h: Likewise.
33703         * lib/unictype/pr_uppercase.h: Likewise.
33704         * lib/unictype/pr_variation_selector.h: Likewise.
33705         * lib/unictype/pr_white_space.h: Likewise.
33706         * lib/unictype/pr_xid_continue.h: Likewise.
33707         * lib/unictype/pr_xid_start.h: Likewise.
33708         * lib/unictype/pr_zero_width.h: Likewise.
33709         * lib/unictype/scripts.h: Likewise.
33710         * lib/unictype/scripts_byname.gperf: Likewise.
33711         * lib/unictype/sy_c_ident.h: Likewise.
33712         * lib/unictype/sy_c_whitespace.h: Likewise.
33713         * lib/unictype/sy_java_ident.h: Likewise.
33714         * lib/unictype/sy_java_whitespace.h: Likewise.
33715
33716         * lib/unictype/Makefile: New file.
33717         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
33718         glibc.
33719         * lib/unictype/3level.h: New file, copied from glibc.
33720         * lib/unictype/3levelbit.h: New file.
33721
33722 2007-11-11  Bruno Haible  <bruno@clisp.org>
33723
33724         * modules/gperf: New file.
33725         * modules/iconv_open (Depends-on): Add it.
33726         (Makefile.am): Remove the GPERF definition.
33727
33728 2007-11-11  Bruno Haible  <bruno@clisp.org>
33729
33730         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
33731         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
33732
33733 2007-11-11  Bruno Haible  <bruno@clisp.org>
33734
33735         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
33736         (usage): Remove function.
33737
33738 2007-11-11  Bruno Haible  <bruno@clisp.org>
33739
33740         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
33741         gl_FUNC_CEILF_LIBS.
33742         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
33743         gl_FUNC_CEIL_LIBS.
33744         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
33745         gl_FUNC_CEILL_LIBS.
33746         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
33747         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
33748         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
33749
33750 2007-11-11  Bruno Haible  <bruno@clisp.org>
33751
33752         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
33753         roundf were declared but do not exist on functions.
33754         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
33755         roundl were declared but do not exist on functions.
33756         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
33757         HAVE_FLOORL_AND_CEILL, respectively.
33758         Needed for Sun C on Solaris 10.
33759
33760 2007-11-11  Bruno Haible  <bruno@clisp.org>
33761
33762         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
33763         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
33764         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
33765         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
33766         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
33767         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
33768         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
33769         HAVE_DECL_ROUNDF.
33770         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
33771         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
33772         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
33773         of HAVE_DECL_ROUND*.
33774         * modules/math (Makefile.am): Update.
33775
33776 2007-11-10  Bruno Haible  <bruno@clisp.org>
33777
33778         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
33779         ptrdiff_t as m4/intl.m4.
33780
33781 2007-11-10  Jim Meyering  <meyering@redhat.com>
33782
33783         Avoid link failure for the argmatch test.
33784         * tests/test-argmatch.c (usage): Define function to avoid a link
33785         failure: argmatch_die requires a usage function.
33786
33787 2007-11-09  Bruno Haible  <bruno@clisp.org>
33788
33789         * doc/functions/snprintf.texi: Mention BeOS deficiency.
33790         * doc/functions/vsnprintf.texi: Likewise.
33791         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
33792         with a size argument < 2.
33793
33794 2007-11-09  Bruno Haible  <bruno@clisp.org>
33795
33796         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
33797         buffer. Fixes an inefficiency introduced on 2007-11-03.
33798
33799 2007-11-09  Bruno Haible  <bruno@clisp.org>
33800
33801         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
33802         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
33803
33804 2007-11-08  Jim Meyering  <meyering@redhat.com>
33805
33806         Change cache variable name prefix "jm_" to "gl_" everywhere.
33807         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
33808         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
33809         * m4/uptime.m4: s/gl_/jm_/
33810
33811 2007-11-07  Bruno Haible  <bruno@clisp.org>
33812
33813         Update to GNU gettext 0.17.
33814         * m4/intl.m4: Update to GNU gettext 0.17.
33815         * m4/po.m4: Likewise.
33816         * modules/gettext (Files): Remove m4/ulonglong.m4.
33817         (configure.ac): Require gettext infrastructure from version 0.17.
33818
33819 2007-11-06  Bruno Haible  <bruno@clisp.org>
33820
33821         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
33822         symbolic values are not defined in a public header.
33823         * lib/freadable.c (freadable) [QNX]: Likewise.
33824         * lib/freadahead.c (freadahead) [QNX]: Likewise.
33825         * lib/freading.c (freading) [QNX]: Likewise.
33826         * lib/fseterr.c (fseterr) [QNX]: Likewise.
33827         * lib/fwritable.c (fwritable) [QNX]: Likewise.
33828         * lib/fwriting.c (fwriting) [QNX]: Likewise.
33829         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
33830         Reported by Alain Magloire.
33831
33832         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
33833
33834 2007-11-05  Bruno Haible  <bruno@clisp.org>
33835
33836         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
33837         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
33838         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
33839         Reported by Eric Blake.
33840
33841 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33842             Bruno Haible  <bruno@clisp.org>
33843
33844         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
33845         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
33846         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
33847         (malloc): Undefine also before including <stdlib.h>.
33848         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
33849         Needed on OSF/1 4.0.
33850
33851 2007-11-05  Jim Meyering  <meyering@redhat.com>
33852
33853         git-version-gen: sync from coreutils.
33854         * build-aux/git-version-gen: Add comments.
33855         Change the first '-' to '.' in the snapshot version string,
33856         e.g., 6.9-377-08144 -> 6.9.377-08144
33857         Remove first parameter.
33858         Don't declare a version "-dirty" merely because a time
33859         stamp has changed.
33860
33861 2007-11-04  Bruno Haible  <bruno@clisp.org>
33862
33863         * lib/lock.h: Protect all macro definitions containing an 'if'
33864         statement through a "do { ... } while (0)".
33865         * lib/tls.h: Likewise.
33866
33867 2007-11-04  Bruno Haible  <bruno@clisp.org>
33868
33869         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
33870
33871 2007-11-04  Bruno Haible  <bruno@clisp.org>
33872
33873         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
33874         * modules/fprintf-posix (Depends-on): Add nocrash.
33875         * modules/snprintf-posix (Depends-on): Likewise.
33876         * modules/sprintf-posix (Depends-on): Likewise.
33877         * modules/vasnprintf-posix (Depends-on): Likewise.
33878         * modules/vasprintf-posix (Depends-on): Likewise.
33879         * modules/vfprintf-posix (Depends-on): Likewise.
33880         * modules/vsnprintf-posix (Depends-on): Likewise.
33881         * modules/vsprintf-posix (Depends-on): Likewise.
33882         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33883         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33884         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33885         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33886         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33887         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33888         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33889
33890 2007-11-04  Bruno Haible  <bruno@clisp.org>
33891
33892         * modules/nocrash: New file.
33893         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
33894         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
33895
33896 2007-11-04  Bruno Haible  <bruno@clisp.org>
33897
33898         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
33899         precision handling.
33900         * tests/test-vasprintf-posix.c (test_function): Likewise.
33901         * tests/test-snprintf-posix.h (test_function): Likewise.
33902         * tests/test-sprintf-posix.h (test_function): Likewise.
33903
33904         Fix *printf behaviour for large precisions on mingw and BeOS.
33905         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
33906         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
33907         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
33908         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33909         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33910         gl_PRINTF_PRECISION and test its result. Invoke
33911         gl_PREREQ_VASNPRINTF_PRECISION.
33912         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33913         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33914         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33915         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33916         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33917         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33918         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33919         * doc/functions/fprintf.texi: Update.
33920         * doc/functions/printf.texi: Update.
33921         * doc/functions/snprintf.texi: Update.
33922         * doc/functions/sprintf.texi: Update.
33923         * doc/functions/vfprintf.texi: Update.
33924         * doc/functions/vprintf.texi: Update.
33925         * doc/functions/vsnprintf.texi: Update.
33926         * doc/functions/vsprintf.texi: Update.
33927
33928 2007-11-04  Bruno Haible  <bruno@clisp.org>
33929
33930         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
33931
33932 2007-11-04  Bruno Haible  <bruno@clisp.org>
33933
33934         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
33935         Reported by Sylvain Beucler <beuc@gnu.org>.
33936
33937 2007-11-03  Bruno Haible  <bruno@clisp.org>
33938
33939         * tests/test-fprintf-posix2.sh: New file.
33940         * tests/test-fprintf-posix2.c: New file.
33941         * modules/fprintf-posix-tests (Files): Add them.
33942         (TESTS): Add test-fprintf-posix2.sh.
33943         (configure.ac): Check for getrlimit and setrlimit.
33944         (check_PROGRAMS): Add test-fprintf-posix2.
33945
33946         * tests/test-printf-posix2.sh: New file.
33947         * tests/test-printf-posix2.c: New file.
33948         * modules/printf-posix-tests (Files): Add them.
33949         (TESTS): Add test-printf-posix2.sh.
33950         (configure.ac): Check for getrlimit and setrlimit.
33951         (check_PROGRAMS): Add test-printf-posix2.
33952
33953         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
33954         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
33955         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
33956         (decode_double): New function, copied from decode_long_double.
33957         (scale10_round_decimal_decoded): New function, extracted from
33958         scale10_round_decimal_long_double.
33959         (scale10_round_decimal_long_double): Use it.
33960         (scale10_round_decimal_double): New function.
33961         (floorlog10): New function.
33962         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
33963         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
33964         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33965         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33966         gl_PRINTF_ENOMEM and test its result. Invoke
33967         gl_PREREQ_VASNPRINTF_ENOMEM.
33968         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33969         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33970         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33971         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33972         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33973         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33974         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33975         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
33976         * modules/snprintf-posix (Depends-on): Likewise.
33977         * modules/sprintf-posix (Depends-on): Likewise.
33978         * modules/vasnprintf-posix (Depends-on): Likewise.
33979         * modules/vasprintf-posix (Depends-on): Likewise.
33980         * modules/vfprintf-posix (Depends-on): Likewise.
33981         * modules/vsnprintf-posix (Depends-on): Likewise.
33982         * modules/vsprintf-posix (Depends-on): Likewise.
33983         * doc/functions/fprintf.texi: Update.
33984         * doc/functions/printf.texi: Update.
33985         * doc/functions/snprintf.texi: Update.
33986         * doc/functions/sprintf.texi: Update.
33987         * doc/functions/vfprintf.texi: Update.
33988         * doc/functions/vprintf.texi: Update.
33989         * doc/functions/vsnprintf.texi: Update.
33990         * doc/functions/vsprintf.texi: Update.
33991
33992 2007-11-03  Bruno Haible  <bruno@clisp.org>
33993
33994         * modules/frexp-nolibm-tests: New file.
33995
33996         * modules/frexp-nolibm: New file.
33997         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
33998
33999 2007-11-03  Bruno Haible  <bruno@clisp.org>
34000
34001         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
34002         value is C99 compliant.
34003         Needed for OSF/1 5.1.
34004
34005 2007-11-03  Bruno Haible  <bruno@clisp.org>
34006
34007         Fix out-of-memory handling of vasnprintf.
34008         * lib/printf-parse.c: Include <errno.h>.
34009         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
34010         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
34011         is already set.
34012
34013 2007-11-02  Eric Blake  <ebb9@byu.net>
34014
34015         Fix tests on cygwin.
34016         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
34017
34018 2007-11-01  Bruno Haible  <bruno@clisp.org>
34019
34020         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
34021         warning.
34022         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
34023         needed for POSIX compatibility.
34024
34025 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
34026
34027         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
34028         for compatibility with GNU.
34029
34030 2007-11-01  Bruno Haible  <bruno@clisp.org>
34031
34032         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
34033         (putenv): Renamed from rpl_putenv. Change argument type from
34034         'const char *' to 'char *'.
34035         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
34036         of defining putenv in config.h, just set REPLACE_PUTENV.
34037         * modules/putenv (Depends-on): Add stdlib.
34038         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
34039         (Include): Use <stdlib.h>.
34040         * lib/stdlib.in.h (putenv): New declaration.
34041         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
34042         REPLACE_PUTENV.
34043         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
34044         REPLACE_PUTENV.
34045         Needed for MacOS X 10.5.0.
34046         Reported by Peter O'Gorman <peter@pogma.com>.
34047
34048 2007-11-01  Jim Meyering  <meyering@redhat.com>
34049
34050         Treat an empty date string exactly like "0".
34051         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
34052         if the remaining date string (to be parsed) is empty, use "0".
34053         Reported by Mischa Molhoek and discussed in this thread:
34054         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
34055
34056 2007-10-31  Bruno Haible  <bruno@clisp.org>
34057
34058         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
34059         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
34060         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
34061         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
34062         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
34063         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
34064
34065 2007-10-31  Bruno Haible  <bruno@clisp.org>
34066
34067         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
34068         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
34069         (AC_TYPE_LONG_LONG_INT): Use it.
34070         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
34071         it as well.
34072         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
34073         to m4/longlong.m4.
34074         * modules/stdint (Files): Remove m4/ulonglong.m4.
34075         * modules/strtoull (Files): Use m4/longlong.m4 instead of
34076         m4/ulonglong.m4.
34077         * modules/strtoumax (Files): Likewise.
34078
34079 2007-10-30  Bruno Haible  <bruno@clisp.org>
34080
34081         * modules/xvasprintf-posix: New file.
34082         Suggested by Eric Blake.
34083
34084 2007-10-30  Bruno Haible  <bruno@clisp.org>
34085
34086         * modules/xprintf-posix-tests: New file.
34087         * tests/test-xprintf-posix.sh: New file.
34088         * tests/test-xprintf-posix.c: New file.
34089         * tests/test-xfprintf-posix.c: New file.
34090
34091         * modules/xprintf-posix: New file.
34092
34093 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34094
34095         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
34096         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
34097         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
34098
34099 2007-10-29  Bruno Haible  <bruno@clisp.org>
34100
34101         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
34102         contain the special marker '_cv_'.
34103         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
34104         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
34105         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
34106         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
34107         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
34108         Reported by Ralf Wildenhues.
34109
34110 2007-10-29  Bruno Haible  <bruno@clisp.org>
34111
34112         * gnulib-tool (func_import): When --lgpl is not specified, set
34113         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
34114         GPLv3.
34115         Reported by Simon Josefsson.
34116
34117 2007-10-28  Bruno Haible  <bruno@clisp.org>
34118
34119         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
34120         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
34121         HAVE_DECL_ISFINITE.
34122         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
34123         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
34124         HAVE_DECL_ISFINITE.
34125
34126 2007-10-28  Bruno Haible  <bruno@clisp.org>
34127
34128         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
34129         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
34130
34131 2007-10-28  Bruno Haible  <bruno@clisp.org>
34132
34133         Fix link errors with Sun C 5.0 on Solaris 10.
34134         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
34135         function is declared but not present in the compiler's libm.
34136         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34137         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
34138         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
34139         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
34140         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
34141         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
34142         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
34143         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
34144         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
34145         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
34146         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
34147         HAVE_DECL_FLOORL.
34148
34149 2007-10-28  Bruno Haible  <bruno@clisp.org>
34150
34151         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
34152         gl_FUNC_FLOORL. Cache the result.
34153         (gl_FUNC_FLOORL): Use it.
34154         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
34155         gl_FUNC_CEILL. Cache the result.
34156         (gl_FUNC_CEILL): Use it.
34157
34158         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
34159         gl_FUNC_FLOOR. Cache the result.
34160         (gl_FUNC_FLOOR): Use it.
34161         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
34162         gl_FUNC_CEIL. Cache the result.
34163         (gl_FUNC_CEIL): Use it.
34164
34165         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
34166         gl_FUNC_FLOORF. Cache the result.
34167         (gl_FUNC_FLOORF): Use it.
34168         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
34169         gl_FUNC_CEILF. Cache the result.
34170         (gl_FUNC_CEILF): Use it.
34171
34172 2007-10-28  Bruno Haible  <bruno@clisp.org>
34173
34174         * gnulib-tool: Allow specifying the LGPL version number through
34175         --lgpl=2 or --lgpl=3.
34176         (func_usage): Document --lgpl with argument.
34177         Handle --lgpl=... arguments.
34178         (func_import): Recognize also gl_LGPL calls with an argument. When
34179         --lgpl=2 is used and the module's license is just LGPL, report an
34180         error. Set sed_transform_lib_file according to the lgpl variable. In
34181         the generated files, use --lgpl or gl_LGPL invocations with argument,
34182         if necessary.
34183         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
34184         an LGPv2+ license.
34185         * doc/gnulib-tool.texi (Modified imports): Update explanation of
34186         gl_LGPL macro.
34187
34188 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34189             Bruno Haible  <bruno@clisp.org>
34190
34191         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
34192         (u16_uctomb_aux): Likewise.
34193         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
34194         !HAVE_INLINE.
34195         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
34196
34197 2007-10-28  Bruno Haible  <bruno@clisp.org>
34198
34199         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
34200         Invoke AM_GETTEXT_OPTION if it exists.
34201         * modules/vasprintf: Likewise.
34202         * modules/verror: Likewise.
34203         * modules/xprintf: Likewise.
34204         * modules/xvasprintf: Likewise.
34205
34206 2007-10-27  Ben Pfaff  <blp@gnu.org>
34207
34208         * lib/math.in.h: Define isfinite macro and prototypes for
34209         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
34210         implementations.
34211         * m4/math_h.m4: New substitutions for isfinite module.
34212         * lib/isfinite.c: New file.
34213         * m4/isfinite.m4: New file.
34214         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
34215         * modules/isfinite: New file.
34216         * modules/isfinite-tests: New file.
34217         * tests/tests-isfinite.c: New file.
34218         * doc/functions/isfinite.texi: Mention isfinite module.
34219         * MODULES.html.sh: Mention new module.
34220
34221 2007-10-27  Ben Pfaff  <blp@gnu.org>
34222
34223         Ralf Wildenhues reported that Tru64 4.0D declares the round
34224         functions but does not have definitions.
34225         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
34226         cannot be found in any library, set the output variable to
34227         "missing" instead of "".
34228         * m4/round.m4: Also use our substitute if we cannot find round in
34229         any library, even if it is declared.
34230         * m4/roundf.m4: Likewise for roundf.
34231         * m4/roundl.m4: Likewise for roundl.
34232         * lib/math.in.h: Undefine roundf, round, roundl before defining
34233         their replacements, to allow for hypothetical systems where these
34234         may be defined as macros but not available in libraries.
34235
34236 2007-10-27  Bruno Haible  <bruno@clisp.org>
34237
34238         * doc/gnulib.texi: Invoke @firstparagraphindent.
34239         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
34240         changes in gnulib.
34241         (Source changes): New section.
34242
34243 2007-10-26  Bruno Haible  <bruno@clisp.org>
34244
34245         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
34246         borrowed from autoconf.
34247
34248 2007-10-26  Bruno Haible  <bruno@clisp.org>
34249
34250         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
34251         strerror returned the empty string. Needed on HP-UX 11.00.
34252
34253 2007-10-24  Micah Cowan  <micah@cowan.name>
34254
34255         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
34256         * build-aux/bootstrap: Remove support for now-unnecessary option,
34257         --cvs-user, and envvars CVS_USER, CVS_RSH.
34258
34259 2007-10-24  Jim Meyering  <meyering@redhat.com>
34260
34261         Avoid diagnostics from sha1sum when there is no cached checksum.
34262         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
34263         if the po.s1 file hasn't been created yet.
34264
34265         * build-aux/bootstrap: Sync from coreutils:
34266         2007-10-24  Jim Meyering  <meyering@redhat.com>
34267         Get gnulib from the git repository, not from an obsolete cvs one.
34268         * build-aux/bootstrap: Suggestion from Micah Cowan.
34269         2007-10-04  Jim Meyering  <jim@meyering.net>
34270         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
34271         (update_po_files): Work also when there are no .po files in po/.
34272
34273 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
34274
34275         * README: Append ".git" to git and cg examples.
34276         Problem reported by Benoit Sigoure.
34277
34278 2007-10-23  Micah Cowan  <micah@cowan.name>
34279
34280         * users.txt: Add wget.
34281
34282 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34283
34284         Fix linking of some unistdio tests on FreeBSD.
34285         * modules/unistdio/u16-vsnprintf-tests
34286         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
34287         * modules/unistdio/u16-vsprintf-tests
34288         (test_u16_vsnprintf1_LDADD): Likewise.
34289         * modules/unistdio/u32-vsnprintf-tests
34290         (test_u32_vsnprintf1_LDADD): Likewise.
34291         * modules/unistdio/u32-vsprintf-tests
34292         (test_u32_vsprintf1_LDADD): Likewise.
34293         * modules/unistdio/u8-vsnprintf-tests
34294         (test_u8_vsnprintf1_LDADD): Likewise.
34295         * modules/unistdio/u8-vsprintf-tests
34296         (test_u8_vsprintf1_LDADD): Likewise.
34297         * modules/unistdio/ulc-vsnprintf-tests
34298         (test_ulc_vsnprintf1_LDADD): Likewise.
34299         * modules/unistdio/ulc-vsprintf-tests
34300         (test_ulc_vsprintf1_LDADD): Likewise.
34301
34302         Fix linking of some uniconv tests on FreeBSD.
34303         * modules/uniconv/u16-conv-from-enc-tests
34304         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
34305         * modules/uniconv/u16-conv-to-enc-tests
34306         (test_u16_conv_to_enc_LDADD): Likewise.
34307         * modules/uniconv/u16-strconv-from-enc-tests
34308         (test_u16_strconv_from_enc_LDADD): Likewise.
34309         * modules/uniconv/u16-strconv-to-enc-tests
34310         (test_u16_strconv_to_enc_LDADD): Likewise.
34311         * modules/uniconv/u32-conv-from-enc-tests
34312         (test_u32_conv_from_enc_LDADD): Likewise.
34313         * modules/uniconv/u32-conv-to-enc-tests
34314         (test_u32_conv_to_enc_LDADD): Likewise.
34315         * modules/uniconv/u32-strconv-from-enc-tests
34316         (test_u32_strconv_from_enc_LDADD): Likewise.
34317         * modules/uniconv/u32-strconv-to-enc-tests
34318         (test_u32_strconv_to_enc_LDADD): Likewise.
34319         * modules/uniconv/u8-conv-from-enc-tests
34320         (test_u8_conv_from_enc_LDADD): Likewise.
34321         * modules/uniconv/u8-conv-to-enc-tests
34322         (test_u8_conv_to_enc_LDADD): Likewise.
34323         * modules/uniconv/u8-strconv-from-enc-tests
34324         (test_u8_strconv_from_enc_LDADD): Likewise.
34325         * modules/uniconv/u8-strconv-to-enc-tests
34326         (test_u8_strconv_to_enc_LDADD): Likewise.
34327
34328 2007-10-22  Bruno Haible  <bruno@clisp.org>
34329
34330         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
34331         size.
34332
34333 2007-10-22  Eric Blake  <ebb9@byu.net>
34334
34335         Tweak x*printf documentation.
34336         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
34337         variable name and comments.
34338         Suggested by Bruno Haible.
34339
34340 2007-10-22  Bruno Haible  <bruno@clisp.org>
34341
34342         * lib/acl.c (copy_acl): Fix file name in comment.
34343
34344 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
34345
34346         Fix Tru64 problem with stdbool.h.
34347         * lib/stdbool.in.h (false, true):
34348         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
34349         Don't declare as an enum in this situation; it runs afoul of Tru64.
34350         Problem reported by Steven M. Schweda in
34351         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
34352
34353 2007-10-22  Eric Blake  <ebb9@byu.net>
34354
34355         Also wrap vf?printf.
34356         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
34357         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
34358         (xvprintf, xvfprintf): New functions.
34359
34360 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34361
34362         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
34363         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
34364
34365         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
34366         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
34367
34368 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
34369
34370         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
34371         by Bruno Haible.
34372
34373 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34374
34375         * lib/getloadavg.c
34376         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
34377         Undef `sys' after including sys/table.h, for Tru64 4.0D.
34378
34379         * tests/test-i-ring.c: Work for C89.
34380
34381 2007-10-22  Bruno Haible  <bruno@clisp.org>
34382
34383         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
34384         -1u, in preprocessor expression, so that we don't test for the bug
34385         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
34386         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
34387
34388 2007-10-22  Eric Blake  <ebb9@byu.net>
34389
34390         * tests/test-yesno.sh: Silence stderr during test.
34391
34392 2007-10-22  Simon Josefsson  <simon@josefsson.org>
34393
34394         * modules/crypto/gc-camellia: New file.
34395
34396         * m4/gc-camellia.m4: New file.
34397
34398         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
34399
34400         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
34401
34402 2007-10-22  Simon Josefsson  <simon@josefsson.org>
34403
34404         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
34405         --help to stdout.  Reported by sms@antinode.org (Steven
34406         M. Schweda).
34407
34408 2007-10-22  Simon Josefsson  <simon@josefsson.org>
34409
34410         * users.txt: Fix link to libksba.
34411
34412 2007-10-21  Ben Pfaff  <blp@gnu.org>
34413
34414         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
34415         round.c roundf implementation that depends on floorf and ceilf to
34416         be tested unconditionally.
34417
34418 2007-10-21  Ben Pfaff  <blp@gnu.org>
34419
34420         * m4/check-libm-func.m4: Removed.
34421         * m4/check-math-lib.m4: New file.
34422         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
34423         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
34424         definition and lack of AC_LIBOBJ([roundf]).
34425         * m4/roundl.m4: Ditto, and similarly for roundl.
34426         * modules/round: Reference new m4 file.
34427         * modules/roundf: Ditto.
34428         * modules/roundl: Ditto.
34429         * tests/test-round2.c (main): Use ROUND instead of round.
34430         Bug report from Bruno Haible.
34431
34432 2007-10-21  Bruno Haible  <bruno@clisp.org>
34433
34434         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
34435         context.
34436
34437 2007-10-21  Bruno Haible  <bruno@clisp.org>
34438
34439         * tests/test-wcwidth.c (main): Allow negative result for some control
34440         characters.
34441
34442         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
34443         Needed on OSF/1 5.1.
34444
34445 2007-10-21  Bruno Haible  <bruno@clisp.org>
34446
34447         * tests/test-floorf1.c: Include isnanf.h.
34448         (main): Use isnanf() instead of isnan().
34449         * tests/test-ceilf1.c: Include isnanf.h.
34450         (main): Use isnanf() instead of isnan().
34451         * tests/test-truncf1.c: Include isnanf.h.
34452         (main): Use isnanf() instead of isnan().
34453         * tests/test-roundf1.c: Include isnanf.h.
34454         (main): Use isnanf() instead of isnan().
34455
34456 2007-10-21  Eric Blake  <ebb9@byu.net>
34457
34458         * users.txt: Update URL for m4.
34459
34460 2007-10-21  Bruno Haible  <bruno@clisp.org>
34461
34462         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
34463
34464 2007-10-21  Bruno Haible  <bruno@clisp.org>
34465
34466         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
34467         Git's management files if the CVS files are not present.
34468
34469 2007-10-20  Bruno Haible  <bruno@clisp.org>
34470
34471         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
34472         gcc-3.4.x.
34473
34474 2007-10-20  Ben Pfaff  <blp@gnu.org>
34475
34476         * lib/math.in.h: Declare round, roundf, roundl if we are providing
34477         implementations.
34478         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
34479         * lib/round.c: New file.
34480         * lib/roundf.c: New file.
34481         * lib/roundl.c: New file.
34482         * m4/round.m4: New file.
34483         * m4/roundf.m4: New file.
34484         * m4/roundl.m4: New file.
34485         * m4/check-libm-func-m4: New file.
34486         * modules/math: Replace round, roundf, roundl related @VARS@ in
34487         math.in.h.
34488         * modules/round: New file.
34489         * modules/round-tests: New file.
34490         * modules/roundf: New file.
34491         * modules/roundf-tests: New file.
34492         * modules/roundl: New file.
34493         * modules/roundl-tests: New file.
34494         * tests/test-round1.c: New file.
34495         * tests/test-round2.c: New file.
34496         * tests/test-roundf1.c: New file.
34497         * tests/test-roundf2.c: New file.
34498         * tests/test-roundl.c: New file.
34499         * doc/functions/round.texi: Mention round module.
34500         * doc/functions/roundf.texi: Mention roundf module.
34501         * doc/functions/roundl.texi: Mention roundl module.
34502         * MODULES.html.sh: Mention new modules.
34503         Thanks to Bruno Haible for suggestions.
34504
34505 2007-10-20  Jim Meyering  <meyering@redhat.com>
34506
34507         * lib/xprintf.c: Include <config.h> unconditionally.
34508
34509         Change xprintf's license to GPL.
34510         * modules/xprintf (License): s/LGPL/GPL/, since this module
34511         depends on modules (exit and exitfail) which are GPL.
34512         Suggestion from Bruno Haible.
34513
34514         xprintf fixes.
34515         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
34516         Use a clearer diagnostic.
34517         Patch from Bruno Haible.
34518
34519 2007-10-20  Bruno Haible  <bruno@clisp.org>
34520
34521         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
34522         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
34523         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34524
34525 2007-10-20  Bruno Haible  <bruno@clisp.org>
34526
34527         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
34528         precision in the comparison result > x - 1 or similar.
34529         * tests/test-ceilf2.c (correct_result_p): Likewise.
34530         * tests/test-truncf2.c (correct_result_p): Likewise.
34531         * tests/test-trunc2.c (correct_result_p): Likewise.
34532         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34533
34534 2007-10-20  Bruno Haible  <bruno@clisp.org>
34535
34536         * modules/ceil: New file.
34537         * m4/ceil.m4: New file.
34538         * doc/functions/ceil.texi: Mention the 'ceil' module.
34539
34540 2007-10-20  Bruno Haible  <bruno@clisp.org>
34541
34542         * modules/floor: New file.
34543         * m4/floor.m4: New file.
34544         * doc/functions/floor.texi: Mention the 'floor' module.
34545
34546 2007-10-20  Bruno Haible  <bruno@clisp.org>
34547
34548         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
34549         of %a.
34550         * modules/floorf-tests (Depends-on): Likewise.
34551         * modules/truncf-tests (Depends-on): Likewise.
34552         * modules/trunc-tests (Depends-on): Likewise.
34553         Reported by Ben Pfaff.
34554
34555 2007-10-19  Jim Meyering  <meyering@redhat.com>
34556
34557         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
34558         Don't bother testing specific errno values.  Just test ferror.
34559
34560         New module: xprintf
34561         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
34562
34563 2007-10-19  Bruno Haible  <bruno@clisp.org>
34564
34565         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
34566         syntax.
34567         * modules/javaexec (Makefile.am): Likewise.
34568         * modules/relocatable-prog (Makefile.am): Likewise.
34569         Suggested by Jim Meyering.
34570
34571 2007-10-18  Bruno Haible  <bruno@clisp.org>
34572
34573         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
34574         Reported by Jim Meyering.
34575
34576 2007-10-18  Eric Blake  <ebb9@byu.net>
34577
34578         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
34579
34580 2007-10-18  Bruno Haible  <bruno@clisp.org>
34581
34582         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
34583         the format string into writable memory. Needed in Fortify conditions.
34584
34585 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
34586             Bruno Haible  <bruno@clisp.org>
34587
34588         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
34589         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
34590         * modules/trim (Depends-on): Add mbchar.
34591         (configure.ac): Add gl_FUNC_MBRTOWC.
34592         (Makefile.am): Augment lib_SOURCES.
34593
34594 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
34595
34596         Modify glob.c to use fstatat and dirfd, to simplify it.
34597         Suggested by Eric Blake.
34598         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
34599         Don't include <stdbool.h>; not used.
34600         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
34601         (link_exists_p): Simplify implementation, since we can now assume
34602         dirfd and fstatat.
34603         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
34604
34605 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34606
34607         * gnulib-tool (func_get_dependencies): Fix sed script to
34608         match only tests.
34609
34610 2007-10-17  Bruno Haible  <bruno@clisp.org>
34611
34612         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
34613         allow locale names without encoding suffix.
34614         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
34615         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
34616
34617 2007-10-16  Bruno Haible  <bruno@clisp.org>
34618
34619         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
34620         * lib/getgroups.c (getgroups): Likewise.
34621         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
34622
34623 2007-10-16  Bruno Haible  <bruno@clisp.org>
34624
34625         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
34626         * modules/malloc-posix (License): Likewise.
34627         * modules/realloc-posix (License): Likewise.
34628         * modules/calloc-posix (License): Likewise.
34629         * modules/intprops (License): Change from GPL to LGPL, with
34630         Paul Eggert's approval.
34631
34632 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34633
34634         Merge glibc changes into lib/glob.c.
34635
34636         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
34637         2007-10-15 04:59:03 UTC.  Here are the changes:
34638
34639         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
34640
34641         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
34642
34643         * lib/glob.c: Add some branch prediction throughout.
34644
34645         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
34646
34647         [BZ #5103]
34648         * lib/glob.c (glob): Recognize patterns starting \/.
34649
34650         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
34651
34652         [BZ #3996]
34653         * lib/glob.c (attribute_hidden): Define if not defined.
34654         (glob): Unescape dirname, filename or username when needed and not
34655         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
34656         is NULL.  Handle unescaped [ in pattern without closing ].
34657         Don't pass GLOB_CHECK down to recursive glob for directories.
34658         (__glob_pattern_type): New function.
34659         (__glob_pattern_p): Implement using __glob_pattern_type.
34660         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
34661         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
34662         Remove unreachable code.
34663
34664         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
34665
34666         * lib/glob.c (glob_in_dir): Add some comments and asserts to
34667         explain why there are no leaks.
34668
34669         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
34670
34671         [BZ #3253]
34672         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
34673         time, rather allocate increasingly bigger arrays of pointers, if
34674         possible with alloca, if too large with malloc.
34675
34676 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34677
34678         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
34679         Problem reported by H.Merijn Brand in
34680         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
34681         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
34682         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
34683
34684 2007-10-15  Bruno Haible  <bruno@clisp.org>
34685
34686         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
34687         with explicit rpl_ prefix.
34688         * lib/fopen.c (fopen): Likewise.
34689         * lib/freopen.c (freopen): Likewise.
34690         * lib/iconv.c (iconv): Likewise.
34691         * lib/iconv_close.c (iconv_close): Likewise.
34692
34693 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34694
34695         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
34696
34697 2007-10-15  Bruno Haible  <bruno@clisp.org>
34698
34699         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
34700         <stddef.h> instead of <stdlib.h> since we only need NULL.
34701         Reported by Ben Pfaff <blp@cs.stanford.edu>.
34702
34703 2007-10-15  Bruno Haible  <bruno@clisp.org>
34704
34705         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
34706         Replace paragraph talking about LIBOBJS.
34707         Reported by Colin Watson <cjwatson@debian.org>.
34708
34709 2007-10-15  Bruno Haible  <bruno@clisp.org>
34710
34711         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
34712         <stdlib.h> before using NULL.
34713
34714 2007-10-15  Simon Josefsson  <simon@josefsson.org>
34715
34716         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
34717         Reported by Albert Chin <china@thewrittenword.com>.
34718
34719 2007-10-14  Bruno Haible  <bruno@clisp.org>
34720
34721         * modules/iconv_open-utf-tests: New file.
34722         * tests/test-iconv-utf.c: New file.
34723
34724         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
34725         * modules/iconv_open-utf: New file.
34726         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
34727         (iconv, iconv_close): New declarations.
34728         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
34729         be defined.
34730         (iconv_open): Add special handling of conversion between UTF-8 and
34731         UTF-{16,32}{BE,LE}.
34732         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
34733         * lib/iconv_close.c: New file.
34734         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
34735         gl_FUNC_ICONV_OPEN.
34736         (gl_FUNC_ICONV_OPEN): Use it.
34737         (gl_FUNC_ICONV_OPEN_UTF): New macro.
34738         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
34739         and REPLACE_ICONV_UTF.
34740         * modules/iconv_open (Depends-on): Add c-strcase.
34741         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
34742         ICONV_CONST.
34743         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
34744
34745 2007-10-13  Albert Chin  <china@thewrittenword.com>
34746             Bruno Haible  <bruno@clisp.org>
34747
34748         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
34749         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
34750
34751 2007-10-13  Bruno Haible  <bruno@clisp.org>
34752
34753         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
34754         defined, use the ISO C99 inline semantics.
34755         * lib/argp.h (ARGP_EI): Likewise.
34756
34757 2007-10-13  Bruno Haible  <bruno@clisp.org>
34758
34759         Handle 'inline' change in gcc 4.3.0.
34760         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
34761         argp_fmtstream_write, argp_fmtstream_set_lmargin,
34762         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
34763         argp_fmtstream_point): Disable 'extern' declaration if the function
34764         definition is going to be provided inline.
34765         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
34766         semantics, not the ISO C99 inline semantics.
34767         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
34768         'extern' declaration if the function definition is going to be provided
34769         inline.
34770         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
34771         the GNU C inline semantics, not the ISO C99 inline semantics. With
34772         GCC 4.2, avoid a warning.
34773
34774 2007-10-13  Bruno Haible  <bruno@clisp.org>
34775
34776         * lib/freading.h (freading): Enable the use of __freading for
34777         glibc >= 2.7.
34778         * lib/freading.c (freading): Likewise.
34779
34780 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34781
34782         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
34783         "warning: C99 inline functions are not supported; using GNU89".
34784
34785 2007-10-12  Bruno Haible  <bruno@clisp.org>
34786
34787         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
34788         of 2.
34789         * tests/test-ceilf2.c: New file.
34790         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
34791
34792         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
34793         * modules/ceilf-tests: Update.
34794
34795 2007-10-12  Bruno Haible  <bruno@clisp.org>
34796
34797         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
34798         of 2.
34799         * tests/test-floorf2.c: New file.
34800         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
34801
34802         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
34803         * modules/floorf-tests: Update.
34804
34805 2007-10-12  Bruno Haible  <bruno@clisp.org>
34806
34807         * tests/test-trunc2.c: New file.
34808         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
34809
34810         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
34811         * modules/trunc-tests: Update.
34812
34813 2007-10-12  Bruno Haible  <bruno@clisp.org>
34814
34815         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
34816         of 2.
34817         * tests/test-truncf2.c: New file.
34818         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
34819
34820         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
34821         * modules/truncf-tests: Update.
34822
34823 2007-10-11  Eric Blake  <ebb9@byu.net>
34824
34825         Don't claim strerror is broken on Interix.
34826         * doc/functions/strerror.texi (strerror): Known broken systems are
34827         now Solaris 8, and not Interix.
34828         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
34829         Interix on cross-compile.
34830         Reported by Martin Koeppe in
34831         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
34832
34833 2007-10-11  Bruno Haible  <bruno@clisp.org>
34834
34835         * modules/i-ring-tests: New file.
34836         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
34837         instead of assert.
34838
34839 2007-10-11  Bruno Haible  <bruno@clisp.org>
34840
34841         * modules/filenamecat-tests: New file.
34842         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
34843         * lib/filenamecat.c: Remove test code.
34844
34845 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34846
34847         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
34848
34849         * lib/strerror.c: Include <string.h> always, to test interface,
34850         and to remove the need for the dummy.
34851         Include intprops.h to compute width instead of doing it ourselves
34852         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
34853         (strerror): Define it to return NULL if there's no system strerror.
34854         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
34855         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
34856         ancient pre-strerror Unix systems well any more.  Saying "unknown
34857         system error" is enough.
34858         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
34859         simpler strerror.c implementation.
34860         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
34861         Simplify the tests to reflect the simpler strerror implementation.
34862         * modules/strerror (Depends-on): Add intprops.
34863
34864 2007-10-09  Eric Blake  <ebb9@byu.net>
34865
34866         Silence test-fpending.
34867         * modules/fpending-tests (Files): Add wrapper script.
34868         * tests/test-fpending.sh: New file.
34869
34870 2007-10-09  Bruno Haible  <bruno@clisp.org>
34871
34872         * MODULES.html.sh (func_module): Don't create a hyperlink for
34873         function names like 'printf_frexp'.
34874         (Misc): Add crc, memxor.
34875         (Characteristics of floating types): New section.
34876         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
34877         isnanf-nolibm, signbit, trunc, truncf, truncl.
34878         (Enhancements for ISO C 99 functions): New subsection Input/output.
34879         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
34880         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
34881         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
34882         (Compatibility checks for POSIX:2001 functions): Add clock-time.
34883         (Enhancements for POSIX:2001 functions): Add chdir-long.
34884         (File system functions): Add areadlink, chdir-safer, read-file.
34885         Remove cycle-check.
34886         (File system as inode set): New section.
34887         (Date and time): Add gethrxtime.
34888         (Multithreading): Add openmp.
34889         (Internationalization functions): Add localename.
34890         (Unicode string functions): Add unistr/u*-mbsnlen.
34891         (Support for maintaining and releasing projects): Add git-version-gen.
34892         (Lone files): Remove directories.
34893
34894 2007-10-08  Ben Pfaff  <blp@gnu.org>
34895
34896         * lib/xmalloca.h: Fix typo in comment.
34897
34898 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
34899
34900         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
34901         when avoiding problems with integer overflow.  Use a portable test
34902         instead.
34903
34904 2007-10-08  Simon Josefsson  <simon@josefsson.org>
34905
34906         * modules/dummy (License): Change to LGPLv2+.
34907         * modules/float (License): Likewise
34908         * modules/realloc (License): Likewise
34909         * modules/stdlib (License): Likewise
34910
34911 2007-10-07  Bruno Haible  <bruno@clisp.org>
34912
34913         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
34914         * floor.c (TWO_MANT_DIG): Likewise.
34915         * ceil.c (TWO_MANT_DIG): Likewise.
34916         Reported by Ben Pfaff.
34917
34918 2007-10-07  Bruno Haible  <bruno@clisp.org>
34919
34920         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
34921         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
34922         * lib/frexp.c (FUNC): Likewise.
34923         * lib/printf-frexp.h (printf_frexp): Likewise.
34924         * lib/printf-frexpl.h (printf_frexpl): Likewise.
34925         * lib/printf-frexp.c (FUNC): Likewise.
34926         Suggested by Jim Meyering.
34927
34928 2007-10-07  Jim Meyering  <meyering@redhat.com>
34929
34930         Make xnanosleep's integer overflow test more robust.
34931         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
34932         so that gcc-4.3.0 doesn't optimize away this test for overflow.
34933
34934 2007-10-07  Bruno Haible  <bruno@clisp.org>
34935
34936         * NEWS: Mention the license change.
34937
34938         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
34939         abbreviations in the modules files.
34940
34941         Change copyright notice from GPLv2+ to GPLv3+.
34942         * README: Change copyright notice.
34943         * MODULES.html.sh: Likewise.
34944         * build-aux/bootstrap.conf: Likewise.
34945         * build-aux/config.libpath: Likewise.
34946         * build-aux/csharpcomp.sh.in: Likewise.
34947         * build-aux/csharpexec.sh.in: Likewise.
34948         * build-aux/install-reloc: Likewise.
34949         * build-aux/javacomp.sh.in: Likewise.
34950         * build-aux/javaexec.sh.in: Likewise.
34951         * build-aux/ldd.sh.in: Likewise.
34952         * build-aux/reloc-ldflags: Likewise.
34953         * build-aux/relocatable.sh.in: Likewise.
34954         * build-aux/x-to-1.in: Likewise.
34955         * check-module: Likewise.
34956         * config/srclistvars.sh: Likewise.
34957         * gnulib-tool: Likewise.
34958         * lib/acl-internal.h: Likewise.
34959         * lib/acl.c: Likewise.
34960         * lib/acl.h: Likewise.
34961         * lib/acl_entries.c: Likewise.
34962         * lib/areadlink-with-size.c: Likewise.
34963         * lib/areadlink.c: Likewise.
34964         * lib/areadlink.h: Likewise.
34965         * lib/argmatch.c: Likewise.
34966         * lib/argmatch.h: Likewise.
34967         * lib/argp-ba.c: Likewise.
34968         * lib/argp-eexst.c: Likewise.
34969         * lib/argp-fmtstream.c: Likewise.
34970         * lib/argp-fmtstream.h: Likewise.
34971         * lib/argp-fs-xinl.c: Likewise.
34972         * lib/argp-help.c: Likewise.
34973         * lib/argp-namefrob.h: Likewise.
34974         * lib/argp-parse.c: Likewise.
34975         * lib/argp-pin.c: Likewise.
34976         * lib/argp-pv.c: Likewise.
34977         * lib/argp-pvh.c: Likewise.
34978         * lib/argp-xinl.c: Likewise.
34979         * lib/argp.h: Likewise.
34980         * lib/at-func.c: Likewise.
34981         * lib/atanl.c: Likewise.
34982         * lib/backupfile.c: Likewise.
34983         * lib/backupfile.h: Likewise.
34984         * lib/basename.c: Likewise.
34985         * lib/binary-io.h: Likewise.
34986         * lib/byteswap.in.h: Likewise.
34987         * lib/c-stack.c: Likewise.
34988         * lib/c-stack.h: Likewise.
34989         * lib/c-strcasestr.c: Likewise.
34990         * lib/c-strcasestr.h: Likewise.
34991         * lib/c-strstr.c: Likewise.
34992         * lib/c-strstr.h: Likewise.
34993         * lib/c-strtod.c: Likewise.
34994         * lib/calloc.c: Likewise.
34995         * lib/canon-host.c: Likewise.
34996         * lib/canon-host.h: Likewise.
34997         * lib/canonicalize-lgpl.c: Likewise.
34998         * lib/canonicalize.c: Likewise.
34999         * lib/canonicalize.h: Likewise.
35000         * lib/ceil.c: Likewise.
35001         * lib/ceilf.c: Likewise.
35002         * lib/ceill.c: Likewise.
35003         * lib/chdir-long.c: Likewise.
35004         * lib/chdir-long.h: Likewise.
35005         * lib/chdir-safer.c: Likewise.
35006         * lib/chdir-safer.h: Likewise.
35007         * lib/chown.c: Likewise.
35008         * lib/classpath.c: Likewise.
35009         * lib/classpath.h: Likewise.
35010         * lib/clean-temp.c: Likewise.
35011         * lib/clean-temp.h: Likewise.
35012         * lib/cloexec.c: Likewise.
35013         * lib/close-stream.c: Likewise.
35014         * lib/closein.c: Likewise.
35015         * lib/closein.h: Likewise.
35016         * lib/closeout.c: Likewise.
35017         * lib/closeout.h: Likewise.
35018         * lib/concat-filename.c: Likewise.
35019         * lib/copy-file.c: Likewise.
35020         * lib/copy-file.h: Likewise.
35021         * lib/count-one-bits.h: Likewise.
35022         * lib/crc.c: Likewise.
35023         * lib/crc.h: Likewise.
35024         * lib/creat-safer.c: Likewise.
35025         * lib/csharpcomp.c: Likewise.
35026         * lib/csharpcomp.h: Likewise.
35027         * lib/csharpexec.c: Likewise.
35028         * lib/csharpexec.h: Likewise.
35029         * lib/cycle-check.c: Likewise.
35030         * lib/cycle-check.h: Likewise.
35031         * lib/diacrit.c: Likewise.
35032         * lib/diacrit.h: Likewise.
35033         * lib/diffseq.h: Likewise.
35034         * lib/dirchownmod.c: Likewise.
35035         * lib/dirent.in.h: Likewise.
35036         * lib/dirfd.c: Likewise.
35037         * lib/dirfd.h: Likewise.
35038         * lib/dirname.c: Likewise.
35039         * lib/dirname.h: Likewise.
35040         * lib/dummy.c: Likewise.
35041         * lib/dup-safer.c: Likewise.
35042         * lib/dup2.c: Likewise.
35043         * lib/eealloc.h: Likewise.
35044         * lib/error.c: Likewise.
35045         * lib/error.h: Likewise.
35046         * lib/euidaccess.c: Likewise.
35047         * lib/exclude.c: Likewise.
35048         * lib/exclude.h: Likewise.
35049         * lib/execute.c: Likewise.
35050         * lib/execute.h: Likewise.
35051         * lib/exitfail.c: Likewise.
35052         * lib/exitfail.h: Likewise.
35053         * lib/expl.c: Likewise.
35054         * lib/fatal-signal.c: Likewise.
35055         * lib/fatal-signal.h: Likewise.
35056         * lib/fbufmode.c: Likewise.
35057         * lib/fbufmode.h: Likewise.
35058         * lib/fchdir.c: Likewise.
35059         * lib/fchmodat.c: Likewise.
35060         * lib/fchownat.c: Likewise.
35061         * lib/fcntl--.h: Likewise.
35062         * lib/fcntl-safer.h: Likewise.
35063         * lib/fcntl.in.h: Likewise.
35064         * lib/fd-safer.c: Likewise.
35065         * lib/fflush.c: Likewise.
35066         * lib/file-has-acl.c: Likewise.
35067         * lib/file-set.c: Likewise.
35068         * lib/file-type.c: Likewise.
35069         * lib/file-type.h: Likewise.
35070         * lib/fileblocks.c: Likewise.
35071         * lib/filemode.c: Likewise.
35072         * lib/filemode.h: Likewise.
35073         * lib/filename.h: Likewise.
35074         * lib/filenamecat.c: Likewise.
35075         * lib/filenamecat.h: Likewise.
35076         * lib/findprog.c: Likewise.
35077         * lib/findprog.h: Likewise.
35078         * lib/float.in.h: Likewise.
35079         * lib/floor.c: Likewise.
35080         * lib/floorf.c: Likewise.
35081         * lib/floorl.c: Likewise.
35082         * lib/fopen-safer.c: Likewise.
35083         * lib/fopen.c: Likewise.
35084         * lib/fpending.c: Likewise.
35085         * lib/fpending.h: Likewise.
35086         * lib/fprintf.c: Likewise.
35087         * lib/fprintftime.h: Likewise.
35088         * lib/fpucw.h: Likewise.
35089         * lib/fpurge.c: Likewise.
35090         * lib/fpurge.h: Likewise.
35091         * lib/freadable.c: Likewise.
35092         * lib/freadable.h: Likewise.
35093         * lib/freadahead.c: Likewise.
35094         * lib/freadahead.h: Likewise.
35095         * lib/freading.c: Likewise.
35096         * lib/freading.h: Likewise.
35097         * lib/free.c: Likewise.
35098         * lib/freopen.c: Likewise.
35099         * lib/frexp.c: Likewise.
35100         * lib/frexpl.c: Likewise.
35101         * lib/fseek.c: Likewise.
35102         * lib/fseterr.c: Likewise.
35103         * lib/fseterr.h: Likewise.
35104         * lib/fstatat.c: Likewise.
35105         * lib/fstrcmp.c: Likewise.
35106         * lib/fstrcmp.h: Likewise.
35107         * lib/fsusage.c: Likewise.
35108         * lib/fsusage.h: Likewise.
35109         * lib/ftell.c: Likewise.
35110         * lib/ftello.c: Likewise.
35111         * lib/fts-cycle.c: Likewise.
35112         * lib/fts.c: Likewise.
35113         * lib/fts_.h: Likewise.
35114         * lib/full-read.c: Likewise.
35115         * lib/full-read.h: Likewise.
35116         * lib/full-write.c: Likewise.
35117         * lib/full-write.h: Likewise.
35118         * lib/fwritable.c: Likewise.
35119         * lib/fwritable.h: Likewise.
35120         * lib/fwriteerror.c: Likewise.
35121         * lib/fwriteerror.h: Likewise.
35122         * lib/fwriting.c: Likewise.
35123         * lib/fwriting.h: Likewise.
35124         * lib/gcd.c: Likewise.
35125         * lib/gcd.h: Likewise.
35126         * lib/getcwd.c: Likewise.
35127         * lib/getdate.h: Likewise.
35128         * lib/getdate.y: Likewise.
35129         * lib/getdomainname.c: Likewise.
35130         * lib/getdomainname.h: Likewise.
35131         * lib/getgroups.c: Likewise.
35132         * lib/gethostname.c: Likewise.
35133         * lib/gethrxtime.c: Likewise.
35134         * lib/gethrxtime.h: Likewise.
35135         * lib/getloadavg.c: Likewise.
35136         * lib/getndelim2.c: Likewise.
35137         * lib/getndelim2.h: Likewise.
35138         * lib/getnline.c: Likewise.
35139         * lib/getnline.h: Likewise.
35140         * lib/getopt.c: Likewise.
35141         * lib/getopt.in.h: Likewise.
35142         * lib/getopt1.c: Likewise.
35143         * lib/getopt_int.h: Likewise.
35144         * lib/getpagesize.h: Likewise.
35145         * lib/getsubopt.c: Likewise.
35146         * lib/gettime.c: Likewise.
35147         * lib/getugroups.c: Likewise.
35148         * lib/getugroups.h: Likewise.
35149         * lib/getusershell.c: Likewise.
35150         * lib/gl_anyavltree_list1.h: Likewise.
35151         * lib/gl_anyavltree_list2.h: Likewise.
35152         * lib/gl_anyhash_list1.h: Likewise.
35153         * lib/gl_anyhash_list2.h: Likewise.
35154         * lib/gl_anylinked_list1.h: Likewise.
35155         * lib/gl_anylinked_list2.h: Likewise.
35156         * lib/gl_anyrbtree_list1.h: Likewise.
35157         * lib/gl_anyrbtree_list2.h: Likewise.
35158         * lib/gl_anytree_list1.h: Likewise.
35159         * lib/gl_anytree_list2.h: Likewise.
35160         * lib/gl_anytree_oset.h: Likewise.
35161         * lib/gl_anytreehash_list1.h: Likewise.
35162         * lib/gl_anytreehash_list2.h: Likewise.
35163         * lib/gl_array_list.c: Likewise.
35164         * lib/gl_array_list.h: Likewise.
35165         * lib/gl_array_oset.c: Likewise.
35166         * lib/gl_array_oset.h: Likewise.
35167         * lib/gl_avltree_list.c: Likewise.
35168         * lib/gl_avltree_list.h: Likewise.
35169         * lib/gl_avltree_oset.c: Likewise.
35170         * lib/gl_avltree_oset.h: Likewise.
35171         * lib/gl_avltreehash_list.c: Likewise.
35172         * lib/gl_avltreehash_list.h: Likewise.
35173         * lib/gl_carray_list.c: Likewise.
35174         * lib/gl_carray_list.h: Likewise.
35175         * lib/gl_linked_list.c: Likewise.
35176         * lib/gl_linked_list.h: Likewise.
35177         * lib/gl_linkedhash_list.c: Likewise.
35178         * lib/gl_linkedhash_list.h: Likewise.
35179         * lib/gl_list.c: Likewise.
35180         * lib/gl_list.h: Likewise.
35181         * lib/gl_oset.c: Likewise.
35182         * lib/gl_oset.h: Likewise.
35183         * lib/gl_rbtree_list.c: Likewise.
35184         * lib/gl_rbtree_list.h: Likewise.
35185         * lib/gl_rbtree_oset.c: Likewise.
35186         * lib/gl_rbtree_oset.h: Likewise.
35187         * lib/gl_rbtreehash_list.c: Likewise.
35188         * lib/gl_rbtreehash_list.h: Likewise.
35189         * lib/gl_sublist.c: Likewise.
35190         * lib/gl_sublist.h: Likewise.
35191         * lib/group-member.c: Likewise.
35192         * lib/group-member.h: Likewise.
35193         * lib/hard-locale.c: Likewise.
35194         * lib/hard-locale.h: Likewise.
35195         * lib/hash-pjw.c: Likewise.
35196         * lib/hash-pjw.h: Likewise.
35197         * lib/hash-triple.c: Likewise.
35198         * lib/hash.c: Likewise.
35199         * lib/hash.h: Likewise.
35200         * lib/human.c: Likewise.
35201         * lib/human.h: Likewise.
35202         * lib/i-ring.c: Likewise.
35203         * lib/i-ring.h: Likewise.
35204         * lib/idcache.c: Likewise.
35205         * lib/imaxabs.c: Likewise.
35206         * lib/imaxdiv.c: Likewise.
35207         * lib/inet_pton.c: Likewise.
35208         * lib/inet_pton.h: Likewise.
35209         * lib/intprops.h: Likewise.
35210         * lib/inttostr.c: Likewise.
35211         * lib/inttostr.h: Likewise.
35212         * lib/inttypes.in.h: Likewise.
35213         * lib/isapipe.c: Likewise.
35214         * lib/isdir.c: Likewise.
35215         * lib/isnan.c: Likewise.
35216         * lib/isnan.h: Likewise.
35217         * lib/isnanf.c: Likewise.
35218         * lib/isnanf.h: Likewise.
35219         * lib/isnanl-nolibm.h: Likewise.
35220         * lib/isnanl.c: Likewise.
35221         * lib/isnanl.h: Likewise.
35222         * lib/javacomp.c: Likewise.
35223         * lib/javacomp.h: Likewise.
35224         * lib/javaexec.c: Likewise.
35225         * lib/javaexec.h: Likewise.
35226         * lib/javaversion.c: Likewise.
35227         * lib/javaversion.h: Likewise.
35228         * lib/javaversion.java: Likewise.
35229         * lib/lbrkprop.h: Likewise.
35230         * lib/lchmod.h: Likewise.
35231         * lib/lchown.c: Likewise.
35232         * lib/ldexpl.c: Likewise.
35233         * lib/linebreak.c: Likewise.
35234         * lib/linebreak.h: Likewise.
35235         * lib/linebuffer.c: Likewise.
35236         * lib/linebuffer.h: Likewise.
35237         * lib/locale.in.h: Likewise.
35238         * lib/logl.c: Likewise.
35239         * lib/long-options.c: Likewise.
35240         * lib/long-options.h: Likewise.
35241         * lib/lstat.c: Likewise.
35242         * lib/lstat.h: Likewise.
35243         * lib/math.in.h: Likewise.
35244         * lib/mbchar.c: Likewise.
35245         * lib/mbchar.h: Likewise.
35246         * lib/mbfile.h: Likewise.
35247         * lib/mbiter.h: Likewise.
35248         * lib/mbscasecmp.c: Likewise.
35249         * lib/mbscasestr.c: Likewise.
35250         * lib/mbschr.c: Likewise.
35251         * lib/mbscspn.c: Likewise.
35252         * lib/mbslen.c: Likewise.
35253         * lib/mbsncasecmp.c: Likewise.
35254         * lib/mbsnlen.c: Likewise.
35255         * lib/mbspbrk.c: Likewise.
35256         * lib/mbspcasecmp.c: Likewise.
35257         * lib/mbsrchr.c: Likewise.
35258         * lib/mbssep.c: Likewise.
35259         * lib/mbsspn.c: Likewise.
35260         * lib/mbsstr.c: Likewise.
35261         * lib/mbstok_r.c: Likewise.
35262         * lib/mbswidth.c: Likewise.
35263         * lib/mbswidth.h: Likewise.
35264         * lib/mbuiter.h: Likewise.
35265         * lib/memcasecmp.c: Likewise.
35266         * lib/memcasecmp.h: Likewise.
35267         * lib/memchr.c: Likewise.
35268         * lib/memcmp.c: Likewise.
35269         * lib/memcoll.c: Likewise.
35270         * lib/memcoll.h: Likewise.
35271         * lib/memcpy.c: Likewise.
35272         * lib/memrchr.c: Likewise.
35273         * lib/mkancesdirs.c: Likewise.
35274         * lib/mkdir-p.c: Likewise.
35275         * lib/mkdir-p.h: Likewise.
35276         * lib/mkdir.c: Likewise.
35277         * lib/mkdirat.c: Likewise.
35278         * lib/mkdtemp.c: Likewise.
35279         * lib/mkstemp-safer.c: Likewise.
35280         * lib/mkstemp.c: Likewise.
35281         * lib/modechange.c: Likewise.
35282         * lib/modechange.h: Likewise.
35283         * lib/mountlist.c: Likewise.
35284         * lib/mountlist.h: Likewise.
35285         * lib/mpsort.c: Likewise.
35286         * lib/nanosleep.c: Likewise.
35287         * lib/obstack.c: Likewise.
35288         * lib/obstack.h: Likewise.
35289         * lib/open-safer.c: Likewise.
35290         * lib/open.c: Likewise.
35291         * lib/openat-die.c: Likewise.
35292         * lib/openat-priv.h: Likewise.
35293         * lib/openat-proc.c: Likewise.
35294         * lib/openat.c: Likewise.
35295         * lib/openat.h: Likewise.
35296         * lib/pagealign_alloc.c: Likewise.
35297         * lib/pagealign_alloc.h: Likewise.
35298         * lib/physmem.c: Likewise.
35299         * lib/physmem.h: Likewise.
35300         * lib/pipe-safer.c: Likewise.
35301         * lib/pipe.c: Likewise.
35302         * lib/pipe.h: Likewise.
35303         * lib/posixtm.c: Likewise.
35304         * lib/posixtm.h: Likewise.
35305         * lib/posixver.c: Likewise.
35306         * lib/printf-frexp.c: Likewise.
35307         * lib/printf-frexp.h: Likewise.
35308         * lib/printf-frexpl.c: Likewise.
35309         * lib/printf-frexpl.h: Likewise.
35310         * lib/printf.c: Likewise.
35311         * lib/progname.c: Likewise.
35312         * lib/progname.h: Likewise.
35313         * lib/progreloc.c: Likewise.
35314         * lib/putenv.c: Likewise.
35315         * lib/quote.c: Likewise.
35316         * lib/quote.h: Likewise.
35317         * lib/quotearg.c: Likewise.
35318         * lib/quotearg.h: Likewise.
35319         * lib/raise.c: Likewise.
35320         * lib/readline.c: Likewise.
35321         * lib/readline.h: Likewise.
35322         * lib/readlink.c: Likewise.
35323         * lib/readtokens.c: Likewise.
35324         * lib/readtokens.h: Likewise.
35325         * lib/readtokens0.c: Likewise.
35326         * lib/readtokens0.h: Likewise.
35327         * lib/readutmp.c: Likewise.
35328         * lib/readutmp.h: Likewise.
35329         * lib/realloc.c: Likewise.
35330         * lib/relocwrapper.c: Likewise.
35331         * lib/rename-dest-slash.c: Likewise.
35332         * lib/rename.c: Likewise.
35333         * lib/rmdir.c: Likewise.
35334         * lib/rpmatch.c: Likewise.
35335         * lib/safe-read.c: Likewise.
35336         * lib/safe-read.h: Likewise.
35337         * lib/safe-write.c: Likewise.
35338         * lib/safe-write.h: Likewise.
35339         * lib/same-inode.h: Likewise.
35340         * lib/same.c: Likewise.
35341         * lib/same.h: Likewise.
35342         * lib/save-cwd.c: Likewise.
35343         * lib/save-cwd.h: Likewise.
35344         * lib/savedir.c: Likewise.
35345         * lib/savedir.h: Likewise.
35346         * lib/savewd.c: Likewise.
35347         * lib/savewd.h: Likewise.
35348         * lib/search.in.h: Likewise.
35349         * lib/setenv.c: Likewise.
35350         * lib/setenv.h: Likewise.
35351         * lib/settime.c: Likewise.
35352         * lib/sh-quote.c: Likewise.
35353         * lib/sh-quote.h: Likewise.
35354         * lib/sig2str.c: Likewise.
35355         * lib/sig2str.h: Likewise.
35356         * lib/signal.in.h: Likewise.
35357         * lib/signbitd.c: Likewise.
35358         * lib/signbitf.c: Likewise.
35359         * lib/signbitl.c: Likewise.
35360         * lib/sigprocmask.c: Likewise.
35361         * lib/sincosl.c: Likewise.
35362         * lib/sleep.c: Likewise.
35363         * lib/sprintf.c: Likewise.
35364         * lib/sqrtl.c: Likewise.
35365         * lib/stat-time.h: Likewise.
35366         * lib/stdio--.h: Likewise.
35367         * lib/stdio-safer.h: Likewise.
35368         * lib/stdlib--.h: Likewise.
35369         * lib/stdlib-safer.h: Likewise.
35370         * lib/stdlib.in.h: Likewise.
35371         * lib/stpcpy.c: Likewise.
35372         * lib/stpncpy.c: Likewise.
35373         * lib/strchrnul.c: Likewise.
35374         * lib/strcspn.c: Likewise.
35375         * lib/strerror.c: Likewise.
35376         * lib/strftime.c: Likewise.
35377         * lib/strftime.h: Likewise.
35378         * lib/striconveh.c: Likewise.
35379         * lib/striconveh.h: Likewise.
35380         * lib/striconveha.c: Likewise.
35381         * lib/striconveha.h: Likewise.
35382         * lib/stripslash.c: Likewise.
35383         * lib/strnlen1.c: Likewise.
35384         * lib/strnlen1.h: Likewise.
35385         * lib/strtod.c: Likewise.
35386         * lib/strtoimax.c: Likewise.
35387         * lib/strtok_r.c: Likewise.
35388         * lib/strtol.c: Likewise.
35389         * lib/strtoll.c: Likewise.
35390         * lib/strtoul.c: Likewise.
35391         * lib/strtoull.c: Likewise.
35392         * lib/sysexits.in.h: Likewise.
35393         * lib/tempname.c: Likewise.
35394         * lib/tempname.h: Likewise.
35395         * lib/timespec.h: Likewise.
35396         * lib/tls.c: Likewise.
35397         * lib/tls.h: Likewise.
35398         * lib/tmpdir.c: Likewise.
35399         * lib/tmpdir.h: Likewise.
35400         * lib/tmpfile-safer.c: Likewise.
35401         * lib/tmpfile.c: Likewise.
35402         * lib/trigl.c: Likewise.
35403         * lib/trigl.h: Likewise.
35404         * lib/trim.c: Likewise.
35405         * lib/trim.h: Likewise.
35406         * lib/trunc.c: Likewise.
35407         * lib/truncf.c: Likewise.
35408         * lib/truncl.c: Likewise.
35409         * lib/tsearch.c: Likewise.
35410         * lib/unicodeio.c: Likewise.
35411         * lib/unicodeio.h: Likewise.
35412         * lib/unistd--.h: Likewise.
35413         * lib/unistd-safer.h: Likewise.
35414         * lib/unistdio/ulc-fprintf.c: Likewise.
35415         * lib/unistdio/ulc-vfprintf.c: Likewise.
35416         * lib/unlinkdir.c: Likewise.
35417         * lib/unlinkdir.h: Likewise.
35418         * lib/unlocked-io.h: Likewise.
35419         * lib/unsetenv.c: Likewise.
35420         * lib/userspec.c: Likewise.
35421         * lib/utime.c: Likewise.
35422         * lib/utimecmp.c: Likewise.
35423         * lib/utimecmp.h: Likewise.
35424         * lib/utimens.c: Likewise.
35425         * lib/verify.h: Likewise.
35426         * lib/verror.c: Likewise.
35427         * lib/verror.h: Likewise.
35428         * lib/version-etc-fsf.c: Likewise.
35429         * lib/version-etc.c: Likewise.
35430         * lib/version-etc.h: Likewise.
35431         * lib/vfprintf.c: Likewise.
35432         * lib/vprintf.c: Likewise.
35433         * lib/vsprintf.c: Likewise.
35434         * lib/w32spawn.h: Likewise.
35435         * lib/wait-process.c: Likewise.
35436         * lib/wait-process.h: Likewise.
35437         * lib/wcwidth.c: Likewise.
35438         * lib/write-any-file.c: Likewise.
35439         * lib/xalloc-die.c: Likewise.
35440         * lib/xalloc.h: Likewise.
35441         * lib/xasprintf.c: Likewise.
35442         * lib/xgetcwd.c: Likewise.
35443         * lib/xgetcwd.h: Likewise.
35444         * lib/xgetdomainname.c: Likewise.
35445         * lib/xgetdomainname.h: Likewise.
35446         * lib/xgethostname.c: Likewise.
35447         * lib/xmalloc.c: Likewise.
35448         * lib/xmalloca.c: Likewise.
35449         * lib/xmalloca.h: Likewise.
35450         * lib/xmemcoll.c: Likewise.
35451         * lib/xnanosleep.c: Likewise.
35452         * lib/xreadlink.c: Likewise.
35453         * lib/xreadlink.h: Likewise.
35454         * lib/xsetenv.c: Likewise.
35455         * lib/xsetenv.h: Likewise.
35456         * lib/xstriconv.c: Likewise.
35457         * lib/xstriconv.h: Likewise.
35458         * lib/xstrndup.c: Likewise.
35459         * lib/xstrndup.h: Likewise.
35460         * lib/xstrtod.c: Likewise.
35461         * lib/xstrtod.h: Likewise.
35462         * lib/xstrtol-error.c: Likewise.
35463         * lib/xstrtol.c: Likewise.
35464         * lib/xstrtol.h: Likewise.
35465         * lib/xtime.h: Likewise.
35466         * lib/xvasprintf.c: Likewise.
35467         * lib/xvasprintf.h: Likewise.
35468         * lib/yesno.c: Likewise.
35469         * lib/yesno.h: Likewise.
35470         * posix-modules: Likewise.
35471         * tests/test-alloca-opt.c: Likewise.
35472         * tests/test-arcfour.c: Likewise.
35473         * tests/test-arctwo.c: Likewise.
35474         * tests/test-argmatch.c: Likewise.
35475         * tests/test-argp-2.sh: Likewise.
35476         * tests/test-argp.c: Likewise.
35477         * tests/test-arpa_inet.c: Likewise.
35478         * tests/test-array_list.c: Likewise.
35479         * tests/test-array_oset.c: Likewise.
35480         * tests/test-atexit.c: Likewise.
35481         * tests/test-avltree_list.c: Likewise.
35482         * tests/test-avltree_oset.c: Likewise.
35483         * tests/test-avltreehash_list.c: Likewise.
35484         * tests/test-base64.c: Likewise.
35485         * tests/test-binary-io.c: Likewise.
35486         * tests/test-byteswap.c: Likewise.
35487         * tests/test-c-ctype.c: Likewise.
35488         * tests/test-c-strcasecmp.c: Likewise.
35489         * tests/test-c-strcasestr.c: Likewise.
35490         * tests/test-c-strncasecmp.c: Likewise.
35491         * tests/test-c-strstr.c: Likewise.
35492         * tests/test-canonicalize-lgpl.c: Likewise.
35493         * tests/test-canonicalize.c: Likewise.
35494         * tests/test-carray_list.c: Likewise.
35495         * tests/test-ceilf.c: Likewise.
35496         * tests/test-ceill.c: Likewise.
35497         * tests/test-count-one-bits.c: Likewise.
35498         * tests/test-crc.c: Likewise.
35499         * tests/test-dirname.c: Likewise.
35500         * tests/test-fbufmode.c: Likewise.
35501         * tests/test-fcntl.c: Likewise.
35502         * tests/test-fflush.c: Likewise.
35503         * tests/test-floorf.c: Likewise.
35504         * tests/test-floorl.c: Likewise.
35505         * tests/test-fopen.c: Likewise.
35506         * tests/test-fprintf-posix.c: Likewise.
35507         * tests/test-fprintf-posix.h: Likewise.
35508         * tests/test-fpurge.c: Likewise.
35509         * tests/test-freadable.c: Likewise.
35510         * tests/test-freadahead.c: Likewise.
35511         * tests/test-freading.c: Likewise.
35512         * tests/test-freopen.c: Likewise.
35513         * tests/test-frexp.c: Likewise.
35514         * tests/test-frexpl.c: Likewise.
35515         * tests/test-fseek.c: Likewise.
35516         * tests/test-fseeko.c: Likewise.
35517         * tests/test-fseterr.c: Likewise.
35518         * tests/test-fstrcmp.c: Likewise.
35519         * tests/test-ftell.c: Likewise.
35520         * tests/test-ftello.c: Likewise.
35521         * tests/test-fwritable.c: Likewise.
35522         * tests/test-fwriting.c: Likewise.
35523         * tests/test-getaddrinfo.c: Likewise.
35524         * tests/test-getpass.c: Likewise.
35525         * tests/test-gettimeofday.c: Likewise.
35526         * tests/test-hmac-md5.c: Likewise.
35527         * tests/test-hmac-sha1.c: Likewise.
35528         * tests/test-iconv.c: Likewise.
35529         * tests/test-iconvme.c: Likewise.
35530         * tests/test-inttypes.c: Likewise.
35531         * tests/test-isnan.c: Likewise.
35532         * tests/test-isnanf.c: Likewise.
35533         * tests/test-isnanl-nolibm.c: Likewise.
35534         * tests/test-isnanl.c: Likewise.
35535         * tests/test-isnanl.h: Likewise.
35536         * tests/test-ldexpl.c: Likewise.
35537         * tests/test-linked_list.c: Likewise.
35538         * tests/test-linkedhash_list.c: Likewise.
35539         * tests/test-locale.c: Likewise.
35540         * tests/test-localename.c: Likewise.
35541         * tests/test-lock.c: Likewise.
35542         * tests/test-lseek.c: Likewise.
35543         * tests/test-malloca.c: Likewise.
35544         * tests/test-math.c: Likewise.
35545         * tests/test-mbscasecmp.c: Likewise.
35546         * tests/test-mbscasestr1.c: Likewise.
35547         * tests/test-mbscasestr2.c: Likewise.
35548         * tests/test-mbscasestr3.c: Likewise.
35549         * tests/test-mbscasestr4.c: Likewise.
35550         * tests/test-mbschr.c: Likewise.
35551         * tests/test-mbscspn.c: Likewise.
35552         * tests/test-mbsncasecmp.c: Likewise.
35553         * tests/test-mbspbrk.c: Likewise.
35554         * tests/test-mbspcasecmp.c: Likewise.
35555         * tests/test-mbsrchr.c: Likewise.
35556         * tests/test-mbsspn.c: Likewise.
35557         * tests/test-mbsstr1.c: Likewise.
35558         * tests/test-mbsstr2.c: Likewise.
35559         * tests/test-mbsstr3.c: Likewise.
35560         * tests/test-md5.c: Likewise.
35561         * tests/test-memmem.c: Likewise.
35562         * tests/test-netinet_in.c: Likewise.
35563         * tests/test-open.c: Likewise.
35564         * tests/test-printf-frexp.c: Likewise.
35565         * tests/test-printf-frexpl.c: Likewise.
35566         * tests/test-printf-posix.c: Likewise.
35567         * tests/test-printf-posix.h: Likewise.
35568         * tests/test-rbtree_list.c: Likewise.
35569         * tests/test-rbtree_oset.c: Likewise.
35570         * tests/test-rbtreehash_list.c: Likewise.
35571         * tests/test-read-file.c: Likewise.
35572         * tests/test-rijndael.c: Likewise.
35573         * tests/test-search.c: Likewise.
35574         * tests/test-signbit.c: Likewise.
35575         * tests/test-sleep.c: Likewise.
35576         * tests/test-snprintf-posix.c: Likewise.
35577         * tests/test-snprintf-posix.h: Likewise.
35578         * tests/test-snprintf.c: Likewise.
35579         * tests/test-sprintf-posix.c: Likewise.
35580         * tests/test-sprintf-posix.h: Likewise.
35581         * tests/test-stat-time.c: Likewise.
35582         * tests/test-stdbool.c: Likewise.
35583         * tests/test-stdint.c: Likewise.
35584         * tests/test-stdio.c: Likewise.
35585         * tests/test-stdlib.c: Likewise.
35586         * tests/test-stpncpy.c: Likewise.
35587         * tests/test-strcasestr.c: Likewise.
35588         * tests/test-striconv.c: Likewise.
35589         * tests/test-striconveh.c: Likewise.
35590         * tests/test-striconveha.c: Likewise.
35591         * tests/test-string.c: Likewise.
35592         * tests/test-sys_select.c: Likewise.
35593         * tests/test-sys_socket.c: Likewise.
35594         * tests/test-sys_stat.c: Likewise.
35595         * tests/test-sys_time.c: Likewise.
35596         * tests/test-sysexits.c: Likewise.
35597         * tests/test-time.c: Likewise.
35598         * tests/test-tls.c: Likewise.
35599         * tests/test-trunc.c: Likewise.
35600         * tests/test-truncf.c: Likewise.
35601         * tests/test-truncl.c: Likewise.
35602         * tests/test-unistd.c: Likewise.
35603         * tests/test-vasnprintf-posix.c: Likewise.
35604         * tests/test-vasnprintf-posix2.c: Likewise.
35605         * tests/test-vasnprintf.c: Likewise.
35606         * tests/test-vasprintf-posix.c: Likewise.
35607         * tests/test-vasprintf.c: Likewise.
35608         * tests/test-verify.c: Likewise.
35609         * tests/test-vfprintf-posix.c: Likewise.
35610         * tests/test-vprintf-posix.c: Likewise.
35611         * tests/test-vsnprintf-posix.c: Likewise.
35612         * tests/test-vsnprintf.c: Likewise.
35613         * tests/test-vsprintf-posix.c: Likewise.
35614         * tests/test-wchar.c: Likewise.
35615         * tests/test-wctype.c: Likewise.
35616         * tests/test-wcwidth.c: Likewise.
35617         * tests/test-xstrtol.c: Likewise.
35618         * tests/test-xvasprintf.c: Likewise.
35619         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
35620         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
35621         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
35622         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
35623         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
35624         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
35625         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
35626         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
35627         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
35628         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
35629         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
35630         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
35631         * tests/uniname/test-uninames.c: Likewise.
35632         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
35633         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
35634         * tests/unistdio/test-u16-printf1.h: Likewise.
35635         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
35636         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
35637         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
35638         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
35639         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
35640         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
35641         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
35642         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
35643         * tests/unistdio/test-u32-printf1.h: Likewise.
35644         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
35645         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
35646         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
35647         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
35648         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
35649         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
35650         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
35651         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
35652         * tests/unistdio/test-u8-printf1.h: Likewise.
35653         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
35654         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
35655         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
35656         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
35657         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
35658         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
35659         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
35660         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
35661         * tests/unistdio/test-ulc-printf1.h: Likewise.
35662         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
35663         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
35664         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
35665         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
35666         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
35667         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
35668         * tests/uniwidth/test-u16-strwidth.c: Likewise.
35669         * tests/uniwidth/test-u16-width.c: Likewise.
35670         * tests/uniwidth/test-u32-strwidth.c: Likewise.
35671         * tests/uniwidth/test-u32-width.c: Likewise.
35672         * tests/uniwidth/test-u8-strwidth.c: Likewise.
35673         * tests/uniwidth/test-u8-width.c: Likewise.
35674         * tests/uniwidth/test-uc_width.c: Likewise.
35675         * config/srclist-update: Likewise.
35676         (fixlicense): Update to GPLv3+.
35677
35678         Change copyright notice from LGPLv2.1+ to LGPLv3+.
35679         * tests/test-tsearch.c: Change copyright notice.
35680
35681         Change copyright notice from LGPLv2.0+ to LGPLv3+.
35682         * lib/c-strcaseeq.h: Change copyright notice.
35683         * lib/streq.h: Likewise.
35684         * lib/uniconv.h: Likewise.
35685         * lib/uniconv/u-conv-from-enc.h: Likewise.
35686         * lib/uniconv/u-conv-to-enc.h: Likewise.
35687         * lib/uniconv/u-strconv-from-enc.h: Likewise.
35688         * lib/uniconv/u-strconv-to-enc.h: Likewise.
35689         * lib/uniconv/u16-conv-from-enc.c: Likewise.
35690         * lib/uniconv/u16-conv-to-enc.c: Likewise.
35691         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
35692         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
35693         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
35694         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
35695         * lib/uniconv/u32-conv-from-enc.c: Likewise.
35696         * lib/uniconv/u32-conv-to-enc.c: Likewise.
35697         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
35698         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
35699         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
35700         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
35701         * lib/uniconv/u8-conv-from-enc.c: Likewise.
35702         * lib/uniconv/u8-conv-to-enc.c: Likewise.
35703         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
35704         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
35705         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
35706         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
35707         * lib/uniname.h: Likewise.
35708         * lib/uniname/uniname.c: Likewise.
35709         * lib/unistdio.h: Likewise.
35710         * lib/unistdio/u-asnprintf.h: Likewise.
35711         * lib/unistdio/u-asprintf.h: Likewise.
35712         * lib/unistdio/u-printf-args.c: Likewise.
35713         * lib/unistdio/u-printf-args.h: Likewise.
35714         * lib/unistdio/u-printf-parse.h: Likewise.
35715         * lib/unistdio/u-snprintf.h: Likewise.
35716         * lib/unistdio/u-sprintf.h: Likewise.
35717         * lib/unistdio/u-vasprintf.h: Likewise.
35718         * lib/unistdio/u-vsnprintf.h: Likewise.
35719         * lib/unistdio/u-vsprintf.h: Likewise.
35720         * lib/unistdio/u16-asnprintf.c: Likewise.
35721         * lib/unistdio/u16-asprintf.c: Likewise.
35722         * lib/unistdio/u16-printf-parse.c: Likewise.
35723         * lib/unistdio/u16-snprintf.c: Likewise.
35724         * lib/unistdio/u16-sprintf.c: Likewise.
35725         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
35726         * lib/unistdio/u16-u16-asprintf.c: Likewise.
35727         * lib/unistdio/u16-u16-snprintf.c: Likewise.
35728         * lib/unistdio/u16-u16-sprintf.c: Likewise.
35729         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
35730         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
35731         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
35732         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
35733         * lib/unistdio/u16-vasnprintf.c: Likewise.
35734         * lib/unistdio/u16-vasprintf.c: Likewise.
35735         * lib/unistdio/u16-vsnprintf.c: Likewise.
35736         * lib/unistdio/u16-vsprintf.c: Likewise.
35737         * lib/unistdio/u32-asnprintf.c: Likewise.
35738         * lib/unistdio/u32-asprintf.c: Likewise.
35739         * lib/unistdio/u32-printf-parse.c: Likewise.
35740         * lib/unistdio/u32-snprintf.c: Likewise.
35741         * lib/unistdio/u32-sprintf.c: Likewise.
35742         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
35743         * lib/unistdio/u32-u32-asprintf.c: Likewise.
35744         * lib/unistdio/u32-u32-snprintf.c: Likewise.
35745         * lib/unistdio/u32-u32-sprintf.c: Likewise.
35746         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
35747         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
35748         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
35749         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
35750         * lib/unistdio/u32-vasnprintf.c: Likewise.
35751         * lib/unistdio/u32-vasprintf.c: Likewise.
35752         * lib/unistdio/u32-vsnprintf.c: Likewise.
35753         * lib/unistdio/u32-vsprintf.c: Likewise.
35754         * lib/unistdio/u8-asnprintf.c: Likewise.
35755         * lib/unistdio/u8-asprintf.c: Likewise.
35756         * lib/unistdio/u8-printf-parse.c: Likewise.
35757         * lib/unistdio/u8-snprintf.c: Likewise.
35758         * lib/unistdio/u8-sprintf.c: Likewise.
35759         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
35760         * lib/unistdio/u8-u8-asprintf.c: Likewise.
35761         * lib/unistdio/u8-u8-snprintf.c: Likewise.
35762         * lib/unistdio/u8-u8-sprintf.c: Likewise.
35763         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
35764         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
35765         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
35766         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
35767         * lib/unistdio/u8-vasnprintf.c: Likewise.
35768         * lib/unistdio/u8-vasprintf.c: Likewise.
35769         * lib/unistdio/u8-vsnprintf.c: Likewise.
35770         * lib/unistdio/u8-vsprintf.c: Likewise.
35771         * lib/unistdio/ulc-asnprintf.c: Likewise.
35772         * lib/unistdio/ulc-asprintf.c: Likewise.
35773         * lib/unistdio/ulc-printf-parse.c: Likewise.
35774         * lib/unistdio/ulc-snprintf.c: Likewise.
35775         * lib/unistdio/ulc-sprintf.c: Likewise.
35776         * lib/unistdio/ulc-vasnprintf.c: Likewise.
35777         * lib/unistdio/ulc-vasprintf.c: Likewise.
35778         * lib/unistdio/ulc-vsnprintf.c: Likewise.
35779         * lib/unistdio/ulc-vsprintf.c: Likewise.
35780         * lib/unistr.h: Likewise.
35781         * lib/unistr/u-cpy-alloc.h: Likewise.
35782         * lib/unistr/u-cpy.h: Likewise.
35783         * lib/unistr/u-endswith.h: Likewise.
35784         * lib/unistr/u-move.h: Likewise.
35785         * lib/unistr/u-set.h: Likewise.
35786         * lib/unistr/u-startswith.h: Likewise.
35787         * lib/unistr/u-stpcpy.h: Likewise.
35788         * lib/unistr/u-stpncpy.h: Likewise.
35789         * lib/unistr/u-strcat.h: Likewise.
35790         * lib/unistr/u-strcpy.h: Likewise.
35791         * lib/unistr/u-strcspn.h: Likewise.
35792         * lib/unistr/u-strdup.h: Likewise.
35793         * lib/unistr/u-strlen.h: Likewise.
35794         * lib/unistr/u-strncat.h: Likewise.
35795         * lib/unistr/u-strncpy.h: Likewise.
35796         * lib/unistr/u-strnlen.h: Likewise.
35797         * lib/unistr/u-strpbrk.h: Likewise.
35798         * lib/unistr/u-strspn.h: Likewise.
35799         * lib/unistr/u-strstr.h: Likewise.
35800         * lib/unistr/u-strtok.h: Likewise.
35801         * lib/unistr/u16-check.c: Likewise.
35802         * lib/unistr/u16-chr.c: Likewise.
35803         * lib/unistr/u16-cmp.c: Likewise.
35804         * lib/unistr/u16-cpy-alloc.c: Likewise.
35805         * lib/unistr/u16-cpy.c: Likewise.
35806         * lib/unistr/u16-endswith.c: Likewise.
35807         * lib/unistr/u16-mblen.c: Likewise.
35808         * lib/unistr/u16-mbsnlen.c: Likewise.
35809         * lib/unistr/u16-mbtouc-aux.c: Likewise.
35810         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
35811         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
35812         * lib/unistr/u16-mbtouc.c: Likewise.
35813         * lib/unistr/u16-mbtoucr.c: Likewise.
35814         * lib/unistr/u16-move.c: Likewise.
35815         * lib/unistr/u16-next.c: Likewise.
35816         * lib/unistr/u16-prev.c: Likewise.
35817         * lib/unistr/u16-set.c: Likewise.
35818         * lib/unistr/u16-startswith.c: Likewise.
35819         * lib/unistr/u16-stpcpy.c: Likewise.
35820         * lib/unistr/u16-stpncpy.c: Likewise.
35821         * lib/unistr/u16-strcat.c: Likewise.
35822         * lib/unistr/u16-strchr.c: Likewise.
35823         * lib/unistr/u16-strcmp.c: Likewise.
35824         * lib/unistr/u16-strcpy.c: Likewise.
35825         * lib/unistr/u16-strcspn.c: Likewise.
35826         * lib/unistr/u16-strdup.c: Likewise.
35827         * lib/unistr/u16-strlen.c: Likewise.
35828         * lib/unistr/u16-strmblen.c: Likewise.
35829         * lib/unistr/u16-strmbtouc.c: Likewise.
35830         * lib/unistr/u16-strncat.c: Likewise.
35831         * lib/unistr/u16-strncmp.c: Likewise.
35832         * lib/unistr/u16-strncpy.c: Likewise.
35833         * lib/unistr/u16-strnlen.c: Likewise.
35834         * lib/unistr/u16-strpbrk.c: Likewise.
35835         * lib/unistr/u16-strrchr.c: Likewise.
35836         * lib/unistr/u16-strspn.c: Likewise.
35837         * lib/unistr/u16-strstr.c: Likewise.
35838         * lib/unistr/u16-strtok.c: Likewise.
35839         * lib/unistr/u16-to-u32.c: Likewise.
35840         * lib/unistr/u16-to-u8.c: Likewise.
35841         * lib/unistr/u16-uctomb-aux.c: Likewise.
35842         * lib/unistr/u16-uctomb.c: Likewise.
35843         * lib/unistr/u32-check.c: Likewise.
35844         * lib/unistr/u32-chr.c: Likewise.
35845         * lib/unistr/u32-cmp.c: Likewise.
35846         * lib/unistr/u32-cpy-alloc.c: Likewise.
35847         * lib/unistr/u32-cpy.c: Likewise.
35848         * lib/unistr/u32-endswith.c: Likewise.
35849         * lib/unistr/u32-mblen.c: Likewise.
35850         * lib/unistr/u32-mbsnlen.c: Likewise.
35851         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
35852         * lib/unistr/u32-mbtouc.c: Likewise.
35853         * lib/unistr/u32-mbtoucr.c: Likewise.
35854         * lib/unistr/u32-move.c: Likewise.
35855         * lib/unistr/u32-next.c: Likewise.
35856         * lib/unistr/u32-prev.c: Likewise.
35857         * lib/unistr/u32-set.c: Likewise.
35858         * lib/unistr/u32-startswith.c: Likewise.
35859         * lib/unistr/u32-stpcpy.c: Likewise.
35860         * lib/unistr/u32-stpncpy.c: Likewise.
35861         * lib/unistr/u32-strcat.c: Likewise.
35862         * lib/unistr/u32-strchr.c: Likewise.
35863         * lib/unistr/u32-strcmp.c: Likewise.
35864         * lib/unistr/u32-strcpy.c: Likewise.
35865         * lib/unistr/u32-strcspn.c: Likewise.
35866         * lib/unistr/u32-strdup.c: Likewise.
35867         * lib/unistr/u32-strlen.c: Likewise.
35868         * lib/unistr/u32-strmblen.c: Likewise.
35869         * lib/unistr/u32-strmbtouc.c: Likewise.
35870         * lib/unistr/u32-strncat.c: Likewise.
35871         * lib/unistr/u32-strncmp.c: Likewise.
35872         * lib/unistr/u32-strncpy.c: Likewise.
35873         * lib/unistr/u32-strnlen.c: Likewise.
35874         * lib/unistr/u32-strpbrk.c: Likewise.
35875         * lib/unistr/u32-strrchr.c: Likewise.
35876         * lib/unistr/u32-strspn.c: Likewise.
35877         * lib/unistr/u32-strstr.c: Likewise.
35878         * lib/unistr/u32-strtok.c: Likewise.
35879         * lib/unistr/u32-to-u16.c: Likewise.
35880         * lib/unistr/u32-to-u8.c: Likewise.
35881         * lib/unistr/u32-uctomb.c: Likewise.
35882         * lib/unistr/u8-check.c: Likewise.
35883         * lib/unistr/u8-chr.c: Likewise.
35884         * lib/unistr/u8-cmp.c: Likewise.
35885         * lib/unistr/u8-cpy-alloc.c: Likewise.
35886         * lib/unistr/u8-cpy.c: Likewise.
35887         * lib/unistr/u8-endswith.c: Likewise.
35888         * lib/unistr/u8-mblen.c: Likewise.
35889         * lib/unistr/u8-mbsnlen.c: Likewise.
35890         * lib/unistr/u8-mbtouc-aux.c: Likewise.
35891         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
35892         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
35893         * lib/unistr/u8-mbtouc.c: Likewise.
35894         * lib/unistr/u8-mbtoucr.c: Likewise.
35895         * lib/unistr/u8-move.c: Likewise.
35896         * lib/unistr/u8-next.c: Likewise.
35897         * lib/unistr/u8-prev.c: Likewise.
35898         * lib/unistr/u8-set.c: Likewise.
35899         * lib/unistr/u8-startswith.c: Likewise.
35900         * lib/unistr/u8-stpcpy.c: Likewise.
35901         * lib/unistr/u8-stpncpy.c: Likewise.
35902         * lib/unistr/u8-strcat.c: Likewise.
35903         * lib/unistr/u8-strchr.c: Likewise.
35904         * lib/unistr/u8-strcmp.c: Likewise.
35905         * lib/unistr/u8-strcpy.c: Likewise.
35906         * lib/unistr/u8-strcspn.c: Likewise.
35907         * lib/unistr/u8-strdup.c: Likewise.
35908         * lib/unistr/u8-strlen.c: Likewise.
35909         * lib/unistr/u8-strmblen.c: Likewise.
35910         * lib/unistr/u8-strmbtouc.c: Likewise.
35911         * lib/unistr/u8-strncat.c: Likewise.
35912         * lib/unistr/u8-strncmp.c: Likewise.
35913         * lib/unistr/u8-strncpy.c: Likewise.
35914         * lib/unistr/u8-strnlen.c: Likewise.
35915         * lib/unistr/u8-strpbrk.c: Likewise.
35916         * lib/unistr/u8-strrchr.c: Likewise.
35917         * lib/unistr/u8-strspn.c: Likewise.
35918         * lib/unistr/u8-strstr.c: Likewise.
35919         * lib/unistr/u8-strtok.c: Likewise.
35920         * lib/unistr/u8-to-u16.c: Likewise.
35921         * lib/unistr/u8-to-u32.c: Likewise.
35922         * lib/unistr/u8-uctomb-aux.c: Likewise.
35923         * lib/unistr/u8-uctomb.c: Likewise.
35924         * lib/unitypes.h: Likewise.
35925         * lib/uniwidth.h: Likewise.
35926         * lib/uniwidth/cjk.h: Likewise.
35927         * lib/uniwidth/u16-strwidth.c: Likewise.
35928         * lib/uniwidth/u16-width.c: Likewise.
35929         * lib/uniwidth/u32-strwidth.c: Likewise.
35930         * lib/uniwidth/u32-width.c: Likewise.
35931         * lib/uniwidth/u8-strwidth.c: Likewise.
35932         * lib/uniwidth/u8-width.c: Likewise.
35933         * lib/uniwidth/width.c: Likewise.
35934
35935 2007-10-07  Bruno Haible  <bruno@clisp.org>
35936
35937         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
35938         The file is still under LGPL (see modules/inttypes).
35939
35940 2007-10-06  Bruno Haible  <bruno@clisp.org>
35941
35942         * modules/trunc (Dependencies): Add 'extensions'.
35943         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
35944         Reported by Ben Pfaff <blp@gnu.org>.
35945
35946 2007-10-06  Bruno Haible  <bruno@clisp.org>
35947
35948         * modules/freopen-tests: New file.
35949         * tests/test-freopen.c: New file.
35950
35951         * modules/fopen-tests: New file.
35952         * tests/test-fopen.c: New file.
35953
35954         * modules/fopen: New file.
35955         * lib/fopen.c: New file.
35956         * m4/fopen.m4: New file.
35957         * modules/freopen: New file.
35958         * lib/freopen.c: New file.
35959         * m4/freopen.m4: New file.
35960         * lib/stdio.in.h (fopen, freopen): New declarations.
35961         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
35962         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
35963         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
35964         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
35965         * doc/functions/fopen.texi: Mention the 'fopen' module.
35966         * doc/functions/freopen.texi: Mention the 'freopen' module.
35967
35968 2007-10-06  Bruno Haible  <bruno@clisp.org>
35969
35970         * modules/open-tests: New file.
35971         * tests/test-open.c: New file.
35972
35973         * modules/open: New file.
35974         * lib/open.c: New file.
35975         * m4/open.m4: New file.
35976         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
35977         lib/open.c does.
35978         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
35979         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
35980         macros.
35981         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
35982         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
35983         REPLACE_OPEN.
35984         * doc/functions/open.texi: Mention the 'open' module.
35985
35986 2007-10-04  Bruno Haible  <bruno@clisp.org>
35987
35988         * modules/ceill-tests: New file.
35989         * tests/test-ceill.c: New file.
35990
35991         * modules/ceill: New file.
35992         * lib/ceill.c: Replace entire file.
35993         * m4/ceill.m4: New file.
35994         * lib/math.in.h (ceill): Replace declaration.
35995         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
35996         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
35997         * doc/functions/ceill.texi: Mention the 'ceill' module.
35998         * modules/mathl (Files): Remove lib/ceill.c.
35999         (Depends-on): Add ceill.
36000
36001 2007-10-04  Bruno Haible  <bruno@clisp.org>
36002
36003         * modules/ceilf-tests: New file.
36004         * tests/test-ceilf.c: New file.
36005
36006         * modules/ceilf: New file.
36007         * lib/ceil.c: New file.
36008         * lib/ceilf.c: New file.
36009         * m4/ceilf.m4: New file.
36010         * lib/math.in.h (ceilf): New declaration.
36011         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
36012         HAVE_DECL_CEILF.
36013         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
36014         HAVE_DECL_CEILF.
36015         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
36016
36017 2007-10-04  Bruno Haible  <bruno@clisp.org>
36018
36019         * modules/floorl-tests: New file.
36020         * tests/test-floorl.c: New file.
36021
36022         * modules/floorl: New file.
36023         * lib/floorl.c: Replace entire file.
36024         * m4/floorl.m4: New file.
36025         * lib/math.in.h (floorl): Replace declaration.
36026         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
36027         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
36028         * doc/functions/floorl.texi: Mention the 'floorl' module.
36029         * modules/mathl (Files): Remove lib/floorl.c.
36030         (Depends-on): Add floorl.
36031
36032 2007-10-04  Bruno Haible  <bruno@clisp.org>
36033
36034         * modules/floorf-tests: New file.
36035         * tests/test-floorf.c: New file.
36036
36037         * modules/floorf: New file.
36038         * lib/floor.c: New file.
36039         * lib/floorf.c: New file.
36040         * m4/floorf.m4: New file.
36041         * lib/math.in.h (floorf): New declaration.
36042         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
36043         HAVE_DECL_FLOORF.
36044         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
36045         HAVE_DECL_FLOORF.
36046         * doc/functions/floorf.texi: Mention the 'floorf' module.
36047
36048 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
36049             Bruno Haible  <bruno@clisp.org>
36050
36051         Advertise for the Git server instead of the CVS server.
36052         * doc/gnulib-intro.texi (Steady Development): Mention the Git
36053         repository instead of the CVS one.
36054         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
36055         about all VCS systems generically.
36056         * doc/gnulib.texi (Introduction): Capitalize `Git'.
36057
36058 2007-10-04  Bruno Haible  <bruno@clisp.org>
36059
36060         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
36061         means.
36062         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
36063
36064 2007-10-04  Bruno Haible  <bruno@clisp.org>
36065
36066         * modules/truncl-tests: New file.
36067         * tests/test-truncl.c: New file.
36068
36069         * modules/truncl: New file.
36070         * lib/truncl.c: New file.
36071         * m4/truncl.m4: New file.
36072         * lib/math.in.h (truncl): New declaration.
36073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
36074         HAVE_DECL_TRUNCL.
36075         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
36076         HAVE_DECL_TRUNCL.
36077         * doc/functions/truncl.texi: Mention the 'truncl' module.
36078
36079 2007-10-04  Bruno Haible  <bruno@clisp.org>
36080
36081         * modules/truncf-tests: New file.
36082         * tests/test-truncf.c: New file.
36083
36084         * modules/truncf: New file.
36085         * lib/trunc.c: Make paramerizable through USE_* macros.
36086         * lib/truncf.c: New file.
36087         * m4/truncf.m4: New file.
36088         * lib/math.in.h (truncf): New declaration.
36089         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
36090         HAVE_DECL_TRUNCF.
36091         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
36092         HAVE_DECL_TRUNCF.
36093         * doc/functions/truncf.texi: Mention the 'truncf' module.
36094
36095 2007-10-03  Bruno Haible  <bruno@clisp.org>
36096
36097         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
36098         augmentation also for tests modules.
36099         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
36100         * modules/atexit-tests (Makefile.am): Likewise.
36101         * modules/binary-io-tests (Makefile.am): Likewise.
36102         * modules/c-strcase-tests (Makefile.am): Likewise.
36103         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
36104         * modules/canonicalize-tests (Makefile.am): Likewise.
36105         * modules/closein-tests (Makefile.am): Likewise.
36106         * modules/fprintf-posix-tests (Makefile.am): Likewise.
36107         * modules/freadahead-tests (Makefile.am): Likewise.
36108         * modules/fseek-tests (Makefile.am): Likewise.
36109         * modules/fseeko-tests (Makefile.am): Likewise.
36110         * modules/ftell-tests (Makefile.am): Likewise.
36111         * modules/ftello-tests (Makefile.am): Likewise.
36112         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
36113         * modules/isnanl-tests (Makefile.am): Likewise.
36114         * modules/lseek-tests (Makefile.am): Likewise.
36115         * modules/mbscasecmp-tests (Makefile.am): Likewise.
36116         * modules/mbscasestr-tests (Makefile.am): Likewise.
36117         * modules/mbschr-tests (Makefile.am): Likewise.
36118         * modules/mbscspn-tests (Makefile.am): Likewise.
36119         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
36120         * modules/mbspbrk-tests (Makefile.am): Likewise.
36121         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
36122         * modules/mbsrchr-tests (Makefile.am): Likewise.
36123         * modules/mbsspn-tests (Makefile.am): Likewise.
36124         * modules/mbsstr-tests (Makefile.am): Likewise.
36125         * modules/printf-posix-tests (Makefile.am): Likewise.
36126         * modules/snprintf-posix-tests (Makefile.am): Likewise.
36127         * modules/sprintf-posix-tests (Makefile.am): Likewise.
36128         * modules/tsearch-tests (Makefile.am): Likewise.
36129         * modules/uniname/uniname-tests (Makefile.am): Likewise.
36130         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
36131         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
36132         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
36133         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
36134         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
36135         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
36136         * modules/vprintf-posix-tests (Makefile.am): Likewise.
36137         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
36138         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
36139         * modules/xstrtoimax-tests (Makefile.am): Likewise.
36140         * modules/xstrtol-tests (Makefile.am): Likewise.
36141         * modules/xstrtoumax-tests (Makefile.am): Likewise.
36142         * modules/yesno-tests (Makefile.am): Likewise.
36143
36144 2007-10-03  Bruno Haible  <bruno@clisp.org>
36145
36146         * modules/trunc-tests: New file.
36147         * tests/test-trunc.c: New file.
36148
36149         * modules/trunc: New file.
36150         * lib/trunc.c: New file.
36151         * m4/trunc.m4: New file.
36152         * lib/math.in.h (trunc): New declaration.
36153         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
36154         HAVE_DECL_TRUNC.
36155         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
36156         HAVE_DECL_TRUNC.
36157         * doc/functions/trunc.texi: Mention the 'trunc' module.
36158
36159 2007-10-03  Bruno Haible  <bruno@clisp.org>
36160
36161         * tests/test-fpending.c: New file, mostly copied
36162         from coreutils/lib/t-fpending.c.
36163         * modules/fpending-tests: New file.
36164
36165 2007-10-03  Bruno Haible  <bruno@clisp.org>
36166
36167         Port the stdio extensions to QNX (untested).
36168         * lib/fseterr.c (fseterr): Add support for QNX.
36169         * lib/fbufmode.c (fbufmode): Likewise.
36170         * lib/freadable.c (freadable): Likewise.
36171         * lib/fwritable.c (fwritable): Likewise.
36172         * lib/freading.c (freading): Likewise.
36173         * lib/fwriting.c (fwriting): Likewise.
36174         * lib/freadahead.c (freadahed): Likewise.
36175         * lib/fpurge.c (fpurge): Likewise.
36176         * lib/fseeko.c (rpl_fseeko): Likewise.
36177
36178 2007-10-03  Bruno Haible  <bruno@clisp.org>
36179             Jim Meyering  <jim@meyering.net>
36180             Eric Blake  <ebb9@byu.net>
36181
36182         * doc/relocatable.texi: Use @command instead of @program.
36183
36184 2007-10-02  Jim Meyering  <jim@meyering.net>
36185
36186         Perform one more "_.h" -> ".in.h" substitution.
36187         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
36188         instead of unistd_.h here, too.
36189
36190 2007-10-01  Bruno Haible  <bruno@clisp.org>
36191
36192         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
36193         Needed for the alloca-opt module.
36194
36195 2007-09-30  Bruno Haible  <bruno@clisp.org>
36196
36197         * lib/alloca.in.h: Renamed from lib/alloca_.h.
36198         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
36199         alloca_.h.
36200         * lib/argz.in.h: Renamed from lib/argz_.h.
36201         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
36202         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
36203         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
36204         byteswap_.h.
36205         * lib/dirent.in.h: Renamed from lib/dirent_.h.
36206         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
36207         dirent_.h.
36208         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
36209         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
36210         fcntl_.h.
36211         * lib/float.in.h: Renamed from lib/float_.h.
36212         * modules/float (Files, Makefile.am): Use float.in.h instead of
36213         float_.h.
36214         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
36215         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
36216         fnmatch_.h.
36217         * lib/getopt.in.h: Renamed from lib/getopt_.h.
36218         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
36219         getopt_.h.
36220         * lib/glob.in.h: Renamed from lib/glob_.h.
36221         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
36222         * lib/iconv.in.h: Renamed from lib/iconv_.h.
36223         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
36224         iconv_.h.
36225         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
36226         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
36227         inttypes_.h.
36228         * lib/locale.in.h: Renamed from lib/locale_.h.
36229         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
36230         locale_.h.
36231         * lib/math.in.h: Renamed from lib/math_.h.
36232         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
36233         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
36234         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
36235         of netinet_in_.h. Add dependency.
36236         * lib/poll.in.h: Renamed from lib/poll_.h.
36237         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
36238         * lib/search.in.h: Renamed from lib/search_.h.
36239         * modules/search (Files, Makefile.am): Use search.in.h instead of
36240         search_.h.
36241         * lib/signal.in.h: Renamed from lib/signal_.h.
36242         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
36243         _signal.h.
36244         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
36245         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
36246         stdbool_.h.
36247         * lib/stdint.in.h: Renamed from lib/stdint_.h.
36248         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
36249         stdint_.h.
36250         * lib/stdio.in.h: Renamed from lib/stdio_.h.
36251         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
36252         stdio_.h.
36253         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
36254         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
36255         stdlib_.h.
36256         * lib/string.in.h: Renamed from lib/string_.h.
36257         * modules/string (Files, Makefile.am): Use string.in.h instead of
36258         string_.h.
36259         * doc/gnulib-tool.texi (Initial import): Update.
36260         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
36261         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
36262         of sys_select_.h. Add dependency.
36263         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
36264         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
36265         of sys_socket_.h.
36266         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
36267         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
36268         sys_stat_.h.
36269         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
36270         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
36271         sys_time_.h.
36272         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
36273         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
36274         sysexits_.h.
36275         * lib/time.in.h: Renamed from lib/time_.h.
36276         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
36277         * lib/unistd.in.h: Renamed from lib/unistd_.h.
36278         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
36279         unistd_.h.
36280         * lib/wchar.in.h: Renamed from lib/wchar_.h.
36281         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
36282         wchar_.h.
36283         * lib/wctype.in.h: Renamed from lib/wctype_.h.
36284         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
36285         wctype_.h.
36286         * build-aux/bootstrap (slurp): Update.
36287         * lib/.cppi-disable: Update.
36288
36289 2007-09-30  Bruno Haible  <bruno@clisp.org>
36290
36291         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
36292         Needed on BeOS.
36293
36294 2007-09-30  Bruno Haible  <bruno@clisp.org>
36295
36296         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
36297
36298 2007-09-29  Bruno Haible  <bruno@clisp.org>
36299
36300         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
36301
36302 2007-09-29  Bruno Haible  <bruno@clisp.org>
36303
36304         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
36305         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
36306         * build-aux/install-reloc: Compile also areadlink.c.
36307         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
36308
36309 2007-09-29  Bruno Haible  <bruno@clisp.org>
36310
36311         * gnulib-tool (func_emit_initmacro_done): Indentation.
36312
36313 2007-09-29  Bruno Haible  <bruno@clisp.org>
36314
36315         * README: Add CVS checkout update instructions.
36316         Info from Bob Proulx <bob@proulx.com>.
36317
36318 2007-09-28  Eric Blake  <ebb9@byu.net>
36319
36320         Provide move-if-change.
36321         * build-aux/move-if-change: New file, based on best practice
36322         rather than any canonical upstream location.
36323
36324 2007-09-28  Jim Meyering  <jim@meyering.net>
36325
36326         Fix canonicalize loop-detection corner case.
36327         Do not attempt to stat the symlink values stored via seen_triple.
36328         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
36329         on linux-2.6.18, (but not 2.6.22).
36330         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
36331         triple_compare.  The former compares dev,ino,filename, while the latter
36332         would actually stat dirname(filename) when dev and ino were equal.
36333         * lib/hash-triple.c: Install <string.h>.
36334         (STREQ): Define.
36335         (triple_compare_ino_str): New function.
36336         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
36337
36338 2007-09-28  Eric Blake  <ebb9@byu.net>
36339
36340         Enforce that AC_REPLACE_FUNCS files exist.
36341         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
36342         override check for typos.
36343
36344         Fix test-closein on Solaris 10.
36345         * tests/test-closein.c (main): Don't assume stdin can be inherited
36346         closed on all systems.
36347         * tests/test-closein.sh: Likewise.
36348         Reported by Piotr Tarnowski.
36349
36350 2007-09-28  Jim Meyering  <jim@meyering.net>
36351
36352         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
36353
36354 2007-09-27  Jim Meyering  <jim@meyering.net>
36355
36356         canonicalize: Avoid a false-positive cycle failure.
36357         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
36358         Sort.  Remove cycle-check.
36359         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
36360         not cycle-check.h.
36361         (seen_triple): New function.
36362         (canonicalize_filename_mode): Use it instead of cycle-check.
36363         * tests/test-canonicalize.c: Add a test for this bug.
36364         * tests/test-canonicalize.sh: Set up and run the test.
36365
36366         New module, file-set, from coreutils.
36367         * modules/file-set: Define it.
36368         * lib/file-set.c, lib/file-set.h: Implement.
36369
36370         New module, hash-triple, from coreutils.
36371         * modules/hash-triple: Define it.
36372         * lib/hash-triple.c, lib/hash-triple.h: Implement.
36373
36374 2007-09-25  Eric Blake  <ebb9@byu.net>
36375
36376         Fix strerror on Interix.
36377         * lib/string_.h (strerror): Declare replacement.
36378         * doc/functions/strerror.texi (strerror): Document the Interix
36379         shortcoming.
36380         * modules/string (Makefile.am): Support new hooks.
36381         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
36382         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
36383         gl_FUNC_STRERROR_SEPARATE.
36384         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
36385         * lib/strerror.c (rpl_strerror): Provide replacement.
36386         * modules/strerror (Depends-on): Add string.
36387         (configure.ac): Detect use of module.
36388         * tests/test-strerror.c: New file.
36389         * modules/strerror-tests: New test module.
36390         * modules/argp (Depends-on): Add strerror.
36391         * modules/error (Depends-on): Likewise.
36392         Reported by Martin Koeppe.
36393
36394 2007-09-24  Bruno Haible  <bruno@clisp.org>
36395
36396         * README: Update git instructions.
36397
36398 2007-09-24  Eric Blake  <ebb9@byu.net>
36399
36400         Revert fpending breakage from 2007-09-08.
36401         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
36402         __fpending.c.
36403
36404 2007-09-24  Jim Meyering  <jim@meyering.net>
36405
36406         filenamecat.c: Add a test.
36407         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
36408         showing how the function works when DIR is the empty string.
36409
36410 2007-09-21  Simon Josefsson  <simon@josefsson.org>
36411
36412         * tests/test-canonicalize.sh: Turn on executable bit.
36413
36414 2007-09-19  Eric Blake  <ebb9@byu.net>
36415
36416         * README: Update CVS instructions.
36417
36418 2007-09-18  Bruno Haible  <bruno@clisp.org>
36419
36420         * modules/areadlink: New file.
36421         * lib/areadlink.h (areadlink): New declaration.
36422         * lib/areadlink.c: New file, based on lib/xreadlink.c.
36423
36424 2007-09-17  Jim Meyering  <jim@meyering.net>
36425
36426         * lib/savewd.c (ESTALE) [!defined]: Define.
36427         Reported to be required on Interix by Martin Koeppe.
36428
36429 2007-09-17  Bruno Haible  <bruno@clisp.org>
36430
36431         * gnulib-tool (func_version): Use $version.
36432
36433 2007-09-16  Bruno Haible  <bruno@clisp.org>
36434
36435         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
36436         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
36437         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
36438         Reported by Greg Schafer <gschafer@zip.com.au>.
36439
36440 2007-09-15  Bruno Haible  <bruno@clisp.org>
36441
36442         * gnulib-tool (sed): Try a little harder to make bash understand the
36443         alias.
36444         Reported by Bruce Korb <bruce.korb@gmail.com>.
36445
36446 2007-09-13  Eric Blake  <ebb9@byu.net>
36447
36448         * ChangeLog: Remove conflict markers.
36449
36450 2007-09-13  Simon Josefsson  <simon@josefsson.org>
36451
36452         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
36453         Reported by Bruno Haible <bruno@clisp.org>.
36454
36455 2007-09-12  Bruno Haible  <bruno@clisp.org>
36456
36457         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
36458         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
36459         is not defined.
36460
36461 2007-09-12  Eric Blake  <ebb9@byu.net>
36462
36463         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
36464         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
36465         Autoconf definition.
36466         * modules/euidaccess (Depends-on): Add extensions, for
36467         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
36468         * modules/fnmatch (Depends-on): Likewise.
36469         * modules/getaddrinfo (Depends-on): Likewise.
36470         * modules/getdelim (Depends-on): Likewise.
36471         * modules/getline (Depends-on): Likewise.
36472         * modules/getsubopt (Depends-on): Likewise.
36473         * modules/gettext (Depends-on): Likewise.
36474         * modules/group-member (Depends-on): Likewise.
36475         * modules/mbchar (Depends-on): Likewise.
36476         * modules/memmem (Depends-on): Likewise.
36477         * modules/mempcpy (Depends-on): Likewise.
36478         * modules/memrchr (Depends-on): Likewise.
36479         * modules/pagealign_alloc (Depends-on): Likewise.
36480         * modules/readutmp (Depends-on): Likewise.
36481         * modules/stpcpy (Depends-on): Likewise.
36482         * modules/stpncpy (Depends-on): Likewise.
36483         * modules/strchrnul (Depends-on): Likewise.
36484         * modules/strndup (Depends-on): Likewise.
36485         * modules/strsep (Depends-on): Likewise.
36486         * modules/strverscmp (Depends-on): Likewise.
36487         * modules/vasprintf (Depends-on): Likewise.
36488         * modules/wcwidth (Depends-on): Likewise.
36489         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
36490         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
36491         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
36492         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
36493         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
36494         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
36495         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
36496         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
36497         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
36498         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
36499         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
36500         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
36501         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
36502         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
36503         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
36504         * m4/readutmp.m4 (gl_READUTMP): Likewise.
36505         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
36506         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
36507         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
36508         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
36509         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
36510         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
36511         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
36512         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
36513         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
36514         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
36515         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
36516         so that lock.m4 can be used in gettext without extensions module.
36517
36518 2007-09-11  Bruno Haible  <bruno@clisp.org>
36519
36520         * m4/isc-posix.m4: Remove file.
36521         Suggested by Eric Blake.
36522
36523 2007-09-11  Eric Blake  <ebb9@byu.net>
36524
36525         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
36526
36527 2007-09-10  Bruno Haible  <bruno@clisp.org>
36528
36529         * posix-modules: Fix typo in error message.
36530         Reported by Matt <mkraai@beckman.com>.
36531
36532 2007-09-09  Bruno Haible  <bruno@clisp.org>
36533
36534         * doc/functions/getdelim.texi: Update list of platforms lacking the
36535         function.
36536         * doc/functions/getline.texi: Likewise.
36537
36538 2007-09-09  Jim Meyering  <jim@meyering.net>
36539
36540         * lib/hash.c (hash_initialize): Detect calloc failure.
36541         Reported by Bruno Haible.
36542
36543 2007-09-09  Bruno Haible  <bruno@clisp.org>
36544
36545         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
36546         malloc or realloc fails.
36547
36548 2007-09-09  Bruno Haible  <bruno@clisp.org>
36549
36550         * modules/getcwd (Depends-on): Add malloc-posix.
36551         * modules/glob (Depends-on): Likewise.
36552         * modules/putenv (Depends-on): Likewise.
36553         * modules/strdup (Depends-on): Likewise.
36554         * modules/getdelim (Depends-on): Add realloc-posix.
36555         * modules/read-file (Depends-on): Likewise.
36556
36557 2007-09-09  Bruno Haible  <bruno@clisp.org>
36558
36559         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
36560         (gl_FUNC_MALLOC_POSIX): Require it.
36561         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
36562         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
36563         * modules/realloc (Files): Add m4/malloc.m4.
36564         * modules/calloc (Files): Likewise.
36565
36566 2007-09-09  Bruno Haible  <bruno@clisp.org>
36567
36568         * modules/malloc-posix: New file.
36569         * modules/malloc (Depends-on): Add malloc-posix.
36570         * lib/malloc.c: Include errno.h.
36571         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
36572         and a POSIX-compatible malloc into a single function. Set ENOMEM
36573         when returning NULL.
36574         * m4/malloc.m4: New file.
36575         * doc/functions/malloc.texi: Mention the malloc-posix module.
36576         * lib/stdlib_.h (malloc): New declaration.
36577         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
36578         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
36579         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
36580         and HAVE_MALLOC_POSIX.
36581
36582 2007-09-09  Bruno Haible  <bruno@clisp.org>
36583
36584         * modules/realloc-posix: New file.
36585         * modules/realloc (Depends-on): Add realloc-posix.
36586         * lib/realloc.c: Include errno.h.
36587         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
36588         and a POSIX-compatible realloc into a single function. Set ENOMEM
36589         when returning NULL.
36590         * m4/realloc.m4: New file.
36591         * doc/functions/realloc.texi: Mention the realloc-posix module.
36592         * lib/stdlib_.h (realloc): New declaration.
36593         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
36594         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
36595         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
36596         and HAVE_REALLOC_POSIX.
36597
36598 2007-09-09  Bruno Haible  <bruno@clisp.org>
36599
36600         * modules/calloc-posix: New file.
36601         * modules/calloc (Depends-on): Add calloc-posix.
36602         * lib/calloc.c: Include errno.h.
36603         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
36604         and a POSIX-compatible calloc into a single function. Set ENOMEM
36605         when returning NULL.
36606         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
36607         * doc/functions/calloc.texi: Mention the calloc-posix module.
36608         * lib/stdlib_.h (calloc): New declaration.
36609         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
36610         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
36611         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
36612         and HAVE_CALLOC_POSIX.
36613
36614 2007-09-09  Bruno Haible  <bruno@clisp.org>
36615
36616         Allow for modules to show an arbitrary notice.
36617         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
36618         * gnulib-tool: New option --extract-notice.
36619         (func_usage): Document it.
36620         (sed_extract_prog): Update.
36621         (func_get_notice): New function.
36622         (func_modules_notice): New function.
36623         (func_import, func_create_testdir): Invoke it.
36624         Suggested by Jim Meyering.
36625
36626 2007-09-09  Bruno Haible  <bruno@clisp.org>
36627
36628         * gnulib-tool: New options --verbose, --quiet.
36629         (func_usage): Document them.
36630         (verbose): New variable.
36631         (func_execute_command): New function.
36632         (func_import): Don't show the module list and the file list if
36633         $verbose < 0.
36634         (func_create_testdir): Likewise. Use func_execute_command.
36635         (func_create_megatestdir): Use func_execute_command.
36636
36637 2007-09-08  Bruno Haible  <bruno@clisp.org>
36638
36639         * gnulib-tool (func_import): Prefer rsync over wget when available,
36640         for fetching the PO files.
36641
36642 2007-09-08  Bruno Haible  <bruno@clisp.org>
36643
36644         * posix-modules: New file. Portions copied from gnulib-tool.
36645         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
36646
36647 2007-09-08  Jim Meyering  <jim@meyering.net>
36648
36649         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
36650         * lib/fpending.h: Rename from __fpending.h.
36651         * lib/fpending.c: Rename from __fpending.c.
36652         Include "fpending.h", not "__fpending.h".
36653         * lib/__fpending.h, lib/__fpending.c: Remove files.
36654         * modules/fpending (Files): Reflect new file names.
36655         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
36656
36657 2007-09-08  Bruno Haible  <bruno@clisp.org>
36658
36659         * m4/inttypes-h.m4: Remove stub file.
36660
36661 2007-09-07  Simon Josefsson  <simon@josefsson.org>
36662
36663         * doc/headers/stdint.texi: Discuss #include_next issue.
36664
36665 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
36666
36667         * build-aux/bootstrap: Remove obsolete comment about wget --help.
36668
36669 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36670
36671         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
36672         in variable name.
36673
36674 2007-09-03  Jim Meyering  <jim@meyering.net>
36675
36676         New module: git-version-gen.
36677         * modules/git-version-gen: New file.
36678
36679         Import changes from coreutils for bootstrap script.
36680
36681         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
36682
36683         bootstrap: uses rsync to download the .po files
36684         * build-aux/bootstrap (po_download_command_format): New global.
36685         (download_po_files): Use rsync.
36686         (update_po_files): Don't remove .po files after download,
36687         so future rsync runs can take advantage of the copies.
36688
36689         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
36690
36691         Solve the unnecessary-.po-file-regeneration problem once and for all.
36692         * build-aux/bootstrap (download_po_files): New function, renamed from
36693         get_translations.  Now, downloads, but doesn't update LINGUAS.
36694         (update_po_files): New function.
36695
36696         bootstrap: Ignore more.
36697         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
36698         uniwidth to e.g., lib/.gitignore.
36699         (slurp): Handle the sys_stat_.h -> sys mapping, too.
36700
36701         * build-aux/bootstrap: New setting: vc_ignore.
36702         (insert_sorted_if_absent): Create $file if absent.
36703         Adapt to new, possibly empty, list: $vc_ignore.
36704
36705         bootstrap: generate more ignorable names
36706         * build-aux/bootstrap (slurp): When generating ignorable names,
36707         also map .sin to .sed, .gperf to .c, and .y to .c.
36708
36709 2007-09-03  Jim Meyering  <jim@meyering.net>
36710
36711         * build-aux/git-version-gen: New file, from coreutils.  For details, see
36712         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
36713
36714 2007-09-02  Bruno Haible  <bruno@clisp.org>
36715
36716         Fix mis-recognition of 'mcs' on QNX 6.
36717         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
36718         output contains the string "Mono".
36719         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
36720         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
36721
36722 2007-09-01  Bruno Haible  <bruno@clisp.org>
36723
36724         Fix collision between uniwidth/* and linebreak modules.
36725         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
36726         u32_width): Remove declarations.
36727         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
36728         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
36729         streq3, streq2, streq1, streq0): Remove functions.
36730         (STREQ): Remove macro.
36731         (is_cjk_encoding): Remove function.
36732         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
36733         (uc_width, u8_width, u16_width, u32_width): Remove functions.
36734         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
36735         * NEWS: Document the change.
36736
36737 2007-09-01  Bruno Haible  <bruno@clisp.org>
36738
36739         * lib/streq.h: Add double-inclusion guard.
36740
36741 2007-09-01  Karl Berry  <karl@gnu.org>
36742
36743         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
36744
36745 2007-08-28  Jim Meyering  <jim@meyering.net>
36746
36747         Rename mreadlink_with_size to areadlink_with_size.
36748         * NEWS: Document the change.
36749         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
36750         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
36751         * lib/mreadlink.h: Rename this to...
36752         * lib/areadlink.h: ...this.
36753         * modules/mreadlink-with-size: Rename this to...
36754         * modules/areadlink-with-size: ...this.
36755         * lib/canonicalize.c: Reflect the renaming.
36756         * modules/canonicalize: Likewise.
36757
36758 2007-08-26  Bruno Haible  <bruno@clisp.org>
36759
36760         * gnulib-tool (func_import): When deciding which files to remove,
36761         consider also dangling symbolic links.
36762         Reported by Eric Blake.
36763
36764 2007-08-26  Bruno Haible  <bruno@clisp.org>
36765
36766         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
36767
36768 2007-08-23  Simon Josefsson  <simon@josefsson.org>
36769
36770         * lib/readline.c: Don't include getline.h, the prototype is now
36771         found in stdio.h.
36772
36773 2007-08-23  Jim Meyering  <jim@meyering.net>
36774
36775         Getdelim touchup.
36776         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
36777         around the funlockfile call, since funlockfile never sets errno.
36778         Don't set errno upon failed realloc.
36779
36780 2007-08-22  Eric Blake  <ebb9@byu.net>
36781
36782         Getline touchups.
36783         * lib/getdelim.c (getdelim): Revert regression that required *n to
36784         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
36785         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
36786         getdelim, rather than whether implementation is missing.
36787         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
36788         * lib/stdio_.h (getline): Also declare if replacement is
36789         required.
36790         * doc/functions/getdelim.texi: New file.
36791         * doc/functions/getline.texi: Likewise.
36792         * doc/gnulib.texi (Function Substitutes): Add new files.
36793         Reported by Bruno Haible.
36794
36795 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
36796
36797         * users.txt: Add Guile.
36798
36799 2007-08-22  Eric Blake  <ebb9@byu.net>
36800
36801         * tests/test-getdelim.c (main): Use remove, not unlink.
36802         * tests/test-getline.c (main): Likewise.
36803
36804         Move getline and getdelim into stdio.h, per POSIX 200x.
36805         * modules/getline (Files): Remove getline.h.
36806         (Depends-on): Add stdio.
36807         (configure.ac): Add module indicator.
36808         * modules/getdelim (Files): Remove getdelim.h.
36809         (Depends-on): Add stdio.
36810         (configure.ac): Add module indicator.
36811         * modules/stdio (Makefile.am): Work with new indicators.
36812         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
36813         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
36814         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
36815         * lib/getdelim.h: Delete.
36816         * lib/getline.h: Delete.
36817         * lib/stdio_.h (getdelim, getline): Declare.
36818         * modules/getdelim-tests: New module.
36819         * modules/getline-tests: Likewise.
36820         * tests/test-getdelim.c: New file.
36821         * tests/test-getline.c: Likewise.
36822         * NEWS: Document the change.
36823         * lib/getline.c: Update choice of header.
36824         * lib/csharpcomp.c: Likewise.
36825         * lib/getpass.c: Likewise.
36826         * lib/javacomp.c: Likewise.
36827         * lib/javaversion.c: Likewise.
36828         * lib/yesno.c: Likewise.
36829         * lib/getdelim.c: Likewise.
36830         (getdelim): Set errno on failure, and avoid memory leak.
36831
36832 2007-08-19  Bruno Haible  <bruno@clisp.org>
36833
36834         * modules/closein (Depends-on): Add freadahead.
36835         * lib/closein.c: Include freadahead.h.
36836         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
36837         is zero.
36838
36839 2007-08-19  Bruno Haible  <bruno@clisp.org>
36840
36841         * modules/freadahead-tests: New file.
36842         * tests/test-freadahead.sh: New file.
36843         * tests/test-freadahead.c: New file.
36844
36845         * modules/freadahead: New file.
36846         * lib/freadahead.h: New file.
36847         * lib/freadahead.c: New file.
36848         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
36849         fbufmode, fpurge, freadable, fwritable.
36850
36851 2007-08-19  Eric Blake  <ebb9@byu.net>
36852
36853         Test yesno in combination with closein.
36854         * lib/yesno.c (yesno): Document use of stdin.
36855         * modules/yesno-tests (Files): New module.
36856         * tests/test-yesno.c (main): New file.
36857         * tests/test-yesno.sh: Likewise.
36858
36859 2007-08-19  Bruno Haible  <bruno@clisp.org>
36860
36861         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
36862         * lib/fseeko.c (rpl_fseeko): Likewise.
36863         * lib/fseterr.c (fseterr): Likewise.
36864
36865 2007-08-19  Bruno Haible  <bruno@clisp.org>
36866
36867         * tests/test-lseek.c (main): Disable a test for BeOS.
36868         * doc/functions/lseek.texi: Document the BeOS bug.
36869
36870 2007-08-19  Bruno Haible  <bruno@clisp.org>
36871             Eric Blake  <ebb9@byu.net>
36872
36873         * lib/lseek.c: Include <sys/stat.h>.
36874         (rpl_lseek): Add workaround code also for Unix platforms.
36875         Needed for BeOS.
36876         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
36877         * doc/functions/lseek.texi: Document BeOS definiency.
36878
36879 2007-08-18  Bruno Haible  <bruno@clisp.org>
36880
36881         * modules/fstrcmp-tests: New file.
36882         * tests/test-fstrcmp.c: New file.
36883
36884 2007-08-18  Bruno Haible  <bruno@clisp.org>
36885
36886         * modules/fstrcmp: New file, from GNU gettext with modifications.
36887         * lib/fstrcmp.h: New file, from GNU gettext.
36888         * lib/fstrcmp.c: New file, from GNU gettext.
36889         * MODULES.html.sh (String handling): Add fstrcmp.
36890
36891 2007-08-18  Bruno Haible  <bruno@clisp.org>
36892
36893         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
36894         'bool'.
36895         (diag, compareseq): Remove const from the ctxt argument.
36896         (USE_HEURISTIC): Undefine at the end.
36897
36898 2007-08-18  Jim Meyering  <jim@meyering.net>
36899
36900         New file: lib/idcache.h
36901         * NEWS: Mention the addition.
36902         * modules/idcache (Files): Add lib/idcache.h
36903         * lib/idcache.c: Include "idcache.h".
36904         Don't include <sys/types.h>.
36905         Add a FIXME comment.
36906         Move file-scoped "static" declarations to the top.
36907         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
36908
36909 2007-08-17  Bruno Haible  <bruno@clisp.org>
36910         and Paul Eggert  <eggert@cs.ucla.edu>
36911
36912         * MODULES.html.sh: Add diffseq.
36913         * modules/diffseq: New file.
36914         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
36915         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
36916
36917 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36918
36919         Import changes from coreutils for bootstrap script.
36920
36921         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
36922
36923         * build-aux/bootstrap (slurp): Work even in environments where
36924         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
36925         current code does not slurp files whose names start with ".", and
36926         this looks like it might be a troublesome area.
36927
36928         2007-07-11  Jim Meyering  <jim@meyering.net>
36929
36930         If there's a GPL vN copyright comment, require that N == 3.
36931
36932         2007-07-08  Jim Meyering  <jim@meyering.net>
36933
36934         Run the coreutils-specific code only if tests/Makefile.am.in exists.
36935         * build-aux/bootstrap (mam_template): Move definition out of loop.
36936
36937         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
36938
36939         * build-aux/bootstrap (symlink_to_dir): Rename function from
36940         symlink_to_gnulib.  Add a directory parameter.  Update all
36941         callers.
36942         (cp_mark_as_generated): Also check for -- and link to -- files in
36943         gl/.
36944
36945         2007-07-08  Jim Meyering  <jim@meyering.net>
36946
36947         Adapt to deeper hierarchy in gnulib.
36948         * build-aux/bootstrap (symlink_to_dir): If the destination
36949         directory doesn't exist, create it. This is required at least for
36950         "lib/uniwidth/cjk.h".
36951
36952         2007-05-15  Jim Meyering  <jim@meyering.net>
36953
36954         * build-aux/bootstrap: Now that generated Makefile.am files
36955         are no longer under version control, they must be created at
36956         bootstrap time.
36957
36958 2007-08-14  Ben Pfaff  <blp@gnu.org>
36959
36960         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
36961
36962 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
36963
36964         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
36965         given the changes below.
36966         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
36967         even on hosts that have padding bits beyond the supported 64.
36968
36969 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
36970
36971         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
36972         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
36973         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
36974         depends on it.
36975         (xstrtol_error): Remove.
36976         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
36977         but with a different signature.
36978         (ATTRIBUTE_NORETURN, __attribute__): New macros.
36979         * lib/xstrtol-error.c: Include exitfail.h.
36980         (xstrtol_fatal): New function, with a different signature from the
36981         old xstrtol_error, so that the caller need not worry about passing
36982         in an exit status, or about storage management of the option argument.
36983         (xstrtol_error): Now a static function.  Redo signature to
36984         implement xstrtol_fatal.  Output the correct number of hyphens in
36985         front of the option so that the caller need not worry about
36986         storage management.
36987         (N_): New macro.
36988         (_): Remove; not used now.
36989         * modules/xstrtol: Depend on getopt.
36990         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
36991         of old STRTOL_FATAL_ERROR macro.
36992         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
36993         of test program.
36994         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
36995         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
36996
36997 2007-08-08  Eric Blake  <ebb9@byu.net>
36998
36999         * lib/xstrtol-error.c: Add missing include.
37000
37001         Move xstrtol messages into gnulib domain, when --pobase is used.
37002         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
37003         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
37004         * modules/xstrtol (Files): Distribute new file.
37005         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
37006         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
37007         * tests/test-xstrtol.c: ...into new file.
37008         * tests/test-xstrtoul.c: Also test xstrtoul.
37009         * tests/test-xstrtoimax.c: Also test xstrtoimax.
37010         * tests/test-xstrtoumax.c: Also test xstrtoumax.
37011         * tests/test-xstrtol.sh: Drive the tests.
37012         * tests/test-xstrtoimax.sh: Likewise.
37013         * tests/test-xstrtoumax.sh: Likewise.
37014         * modules/xstrtol-tests: New module.
37015         * modules/xstrtoimax-tests: Likewise.
37016         * modules/xstrtoumax-tests: Likewise.
37017
37018 2007-08-08  Jim Meyering  <jim@meyering.net>
37019
37020         New function: mfile_name_concat.
37021         * lib/filenamecat.c (mfile_name_concat): New function, just like
37022         file_name_concat, but return NULL upon failure rather than exiting
37023         with a diagnostic.
37024         * lib/filenamecat.h: Declare it.
37025
37026 2007-08-07  Bruno Haible  <bruno@clisp.org>
37027
37028         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
37029         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
37030         warning from gcc.
37031         Reported by Eric Blake.
37032
37033 2007-08-07  Simon Josefsson  <simon@josefsson.org>
37034
37035         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
37036         * modules/crypto/arcfour (License): Likewise.
37037         * modules/crypto/des-tests (License): Likewise.
37038         * modules/crypto/gc-arctwo-tests (License): Likewise.
37039         * modules/crypto/gc-des-tests (License): Likewise.
37040         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
37041         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
37042         * modules/crypto/gc-md2-tests (License): Likewise.
37043         * modules/crypto/gc-md4-tests (License): Likewise.
37044         * modules/crypto/gc-md5-tests (License): Likewise.
37045         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
37046         * modules/crypto/gc-rijndael-tests (License): Likewise.
37047         * modules/crypto/gc-sha1-tests (License): Likewise.
37048         * modules/crypto/gc-tests (License): Likewise.
37049         * modules/crypto/hmac-md5 (License): Likewise.
37050         * modules/crypto/hmac-sha1 (License): Likewise.
37051         * modules/crypto/md2-tests (License): Likewise.
37052         * modules/crypto/md4-tests (License): Likewise.
37053         * modules/crypto/md5 (License): Likewise.
37054         * modules/crypto/rijndael (License): Likewise.
37055         * modules/crypto/sha1 (License): Likewise.
37056         * modules/memxor (License): Likewise.
37057
37058 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
37059         and Bruno Haible  <bruno@clisp.org>
37060
37061         * NEWS: Describe interface changes to human, xstrtol.
37062         * lib/human.h: Include <xstrtol.h>.
37063         (human_options): Return enum strtol_error, not int.  Remove
37064         bool arg; take int * instead.
37065         * lib/human.c: Don't include "gettext.h".
37066         (_): Remove; no longer used.
37067         Don't include <xstrtol.h>, since human.h does it.
37068         (human_options): Adjust to abovementioned interface changes.
37069         Do not report error to stderr; that's now the caller's
37070         responsibility.
37071         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
37072         interface change.
37073         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
37074         Str, Argument_type_string.  All uses changed.  Put " argument"
37075         in diagnostics to make them clearer.  Change wording of suffix
37076         message for clarity.
37077         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
37078         Argument_type_string.
37079         (STRTOL_FATAL_WARN): Remove; no longer used.
37080         * modules/human (Depends-on): Remove gettext-h.
37081
37082 2007-08-06  Simon Josefsson  <simon@josefsson.org>
37083
37084         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
37085
37086 2007-07-31  Bruno Haible  <bruno@clisp.org>
37087
37088         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
37089         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
37090         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
37091
37092 2007-07-31  Bruno Haible  <bruno@clisp.org>
37093
37094         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
37095         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
37096
37097 2007-07-30  Bruno Haible  <bruno@clisp.org>
37098
37099         * modules/base64 (License): Use the synonymous term "LGPLv2+".
37100         * modules/c-ctype (License): Likewise.
37101         * modules/c-strcase (License): Likewise.
37102         * modules/check-version (License): Likewise.
37103         * modules/iconv (License): Likewise.
37104         * modules/iconv_open (License): Likewise.
37105         * modules/read-file (License): Likewise.
37106         * modules/striconv (License): Likewise.
37107         * modules/strverscmp (License): Likewise.
37108         * modules/vasprintf (License): Likewise.
37109         * modules/crypto/des (License): Likewise.
37110         * modules/crypto/gc (License): Likewise.
37111         * modules/crypto/gc-arcfour (License): Likewise.
37112         * modules/crypto/gc-arctwo (License): Likewise.
37113         * modules/crypto/gc-des (License): Likewise.
37114         * modules/crypto/gc-hmac-md5 (License): Likewise.
37115         * modules/crypto/gc-hmac-sha1 (License): Likewise.
37116         * modules/crypto/gc-md2 (License): Likewise.
37117         * modules/crypto/gc-md4 (License): Likewise.
37118         * modules/crypto/gc-md5 (License): Likewise.
37119         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
37120         * modules/crypto/gc-random (License): Likewise.
37121         * modules/crypto/gc-rijndael (License): Likewise.
37122         * modules/crypto/gc-sha1 (License): Likewise.
37123         * modules/crypto/md2 (License): Likewise.
37124         * modules/crypto/md4 (License): Likewise.
37125
37126 2007-07-30  Jim Meyering  <jim@meyering.net>
37127
37128         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
37129         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
37130         it has valid stat data.  This bug would cause du not to count the
37131         sizes of inaccessible directories.
37132         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
37133         in <http://bugzilla.redhat.com/250077>.
37134
37135 2007-07-25  Peter O'Gorman  <peter@pogma.com>
37136             Bruno Haible  <bruno@clisp.org>
37137
37138         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
37139         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
37140         #include_next, gives a diagnostic about it, but reports no error in
37141         the exit code.
37142         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
37143
37144 2007-07-24  Ben Pfaff  <blp@gnu.org>
37145
37146         Improve name: "count-one-bits" is better than "popcount".
37147         * MODULES.html.sh: Update name.
37148         * lib/popcount.h: Renamed lib/count-one-bits.h.
37149         (popcount): Renamed count_one_bits.
37150         (popcountl): Renamed count_one_bits_l.
37151         (popcountll): Renamed count_one_bits_ll.
37152         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
37153         * modules/popcount: Renamed module/count-one-bits.
37154         * modules/popcount-tests: Renamed module/count-one-bits-tests.
37155         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
37156
37157 2007-07-23  Ben Pfaff  <blp@gnu.org>
37158
37159         * lib/popcount.h (popcount32): Reduce size of constants, to allow
37160         better code generation, and add U to large constants to avoid
37161         warnings, in non-GCC case.
37162         Suggested by Bruno Haible.
37163
37164 2007-07-23  Ben Pfaff  <blp@gnu.org>
37165
37166         * lib/popcount.h: Use verify_true instead of if...abort.
37167         * modules/popcount: Depend on verify module.
37168         Suggested by Jim Meyering.
37169
37170 2007-07-23  Bruno Haible  <bruno@clisp.org>
37171
37172         * gnulib-tool (func_import): Create a .cvsignore file also when the
37173         directory is not yet in CVS but the toplevel directory is. When
37174         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
37175         Reported by Karl Berry.
37176
37177 2007-07-22  Ben Pfaff  <blp@gnu.org>
37178
37179         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
37180         case.
37181         Suggested by Eric Blake.
37182
37183 2007-07-22  Ben Pfaff  <blp@gnu.org>
37184
37185         New module: popcount.
37186         * MODULES.html.sh: Add popcount.
37187         * modules/popcount: New file.
37188         * modules/popcount-tests: New file.
37189         * tests/test-popcount.c: New file.
37190         * lib/popcount.h: New file.
37191         * m4/popcount.m4: New file.
37192
37193 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37194
37195         * build-aux/announce-gen: Update to GPLv3.
37196
37197         * build-aux/config.guess: Update from config.
37198
37199 2007-07-21  Bruno Haible  <bruno@clisp.org>
37200
37201         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
37202         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
37203
37204 2007-07-20  Jim Meyering  <jim@meyering.net>
37205
37206         * check-module: Diagnose a self-dependency.
37207
37208 2007-07-19  Bruno Haible  <bruno@clisp.org>
37209
37210         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
37211         empty.
37212         Reported by Eric Blake.
37213
37214 2007-07-18  Bruno Haible  <bruno@clisp.org>
37215
37216         * gnulib-tool: New options --po-base, --po-domain.
37217         (func_usage): Document them.
37218         (pobase, po_domain): New variables.
37219         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
37220         DEFAULT_TEXT_DOMAIN.
37221         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
37222         (func_import): Consider pobase and po_domain. Create a po/ directory.
37223         (func_create_testdir): Set pobase and po_domain to empty.
37224         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
37225         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
37226
37227 2007-07-18  Bruno Haible  <bruno@clisp.org>
37228
37229         * gnulib-tool (func_get_automake_snippet): Synthesize also an
37230         EXTRA_DIST augmentation for files in build-aux/.
37231
37232 2007-07-16  Bruno Haible  <bruno@clisp.org>
37233
37234         * modules/lseek (License): Use the synonymous term "LGPLv2+".
37235         * modules/getdelim (License): Likewise.
37236
37237 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37238
37239         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
37240         * modules/d-type (License): Likewise.
37241         * modules/extensions (License): Likewise.
37242         * modules/fnmatch (License): Likewise.
37243         * modules/fseeko (License): Likewise.
37244         * modules/getaddrinfo (License): Likewise.
37245         * modules/getline (License): Likewise.
37246         * modules/getlogin_r (License): Likewise.
37247         * modules/getpass (License): Likewise.
37248         * modules/gettimeofday (License): Likewise.
37249         * modules/glob (License): Likewise.
37250         * modules/inet_ntop (License): Likewise.
37251         * modules/malloc (License): Likewise.
37252         * modules/malloca (License): Likewise.
37253         * modules/memmem (License): Likewise.
37254         * modules/mempcpy (License): Likewise.
37255         * modules/memset (License): Likewise.
37256         * modules/minmax (License): Likewise.
37257         * modules/mktime (License): Likewise.
37258         * modules/netinet_in (License): Likewise.
37259         * modules/pathmax (License): Likewise.
37260         * modules/poll (License): Likewise.
37261         * modules/regex (License): Likewise.
37262         * modules/snprintf (License): Likewise.
37263         * modules/stdbool (License): Likewise.
37264         * modules/stdint (License): Likewise.
37265         * modules/stdio (License): Likewise.
37266         * modules/strcase (License): Likewise.
37267         * modules/strcasestr (License): Likewise.
37268         * modules/strdup (License): Likewise.
37269         * modules/string (License): Likewise.
37270         * modules/strndup (License): Likewise.
37271         * modules/strnlen (License): Likewise.
37272         * modules/strpbrk (License): Likewise.
37273         * modules/strptime (License): Likewise.
37274         * modules/strsep (License): Likewise.
37275         * modules/sys_select (License): Likewise.
37276         * modules/sys_socket (License): Likewise.
37277         * modules/sys_stat (License): Likewise.
37278         * modules/sys_time (License): Likewise.
37279         * modules/time (License): Likewise.
37280         * modules/time_r (License): Likewise.
37281         * modules/timegm (License): Likewise.
37282         * modules/unistd (License): Likewise.
37283         * modules/vsnprintf (License): Likewise.
37284         * modules/wctype (License): Likewise.
37285
37286 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37287
37288         * modules/argz (License): LGPLv2+.
37289
37290 2007-07-15  Karl Berry  <karl@gnu.org>
37291
37292         * doc/gnulib.texi: revise node structure per new fdl.texi.
37293
37294 2007-07-14  Bruno Haible  <bruno@clisp.org>
37295
37296         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
37297         the output file.
37298         * lib/uniname/uninames.h: Regenerated.
37299
37300 2007-07-14  Karl Berry  <karl@gnu.org>
37301
37302         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
37303         omitting sectioning and index commands.
37304
37305 2007-07-13  Bruno Haible  <bruno@clisp.org>
37306
37307         New gnulib-tool option --more-symlinks.
37308         * gnulib-tool (func_usage): Document --more-symlinks.
37309         (do_copyrights): New variable.
37310         Recognize option --more-symlinks.
37311         (func_import): Don't add a copyright notice transform to
37312         sed_transform_lib_file if do_copyrights is empty.
37313
37314 2007-07-13  Bruno Haible  <bruno@clisp.org>
37315
37316         * lib/vasnprintf.c (decimal_point_char): Define also if
37317         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
37318         && !NEED_PRINTF_DIRECTIVE_A.
37319         Reported by Clemens Koller <clemens.koller@anagramm.de> via
37320         Gary V. Vaughan <gary@gnu.org>.
37321
37322 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
37323
37324         * lib/inttypes_.h: Undo previous change, since it was fixed
37325         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
37326
37327 2007-07-13  Bruno Haible  <bruno@clisp.org>
37328
37329         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
37330         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
37331
37332 2007-07-13  Jim Meyering  <jim@meyering.net>
37333
37334         df: Don't fail for Tru64's "file-on-file mount".
37335         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
37336         so we fall through and use statfs instead.  Details here:
37337         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
37338         Reported by Albert Chin.
37339
37340 2007-07-13  Bruno Haible  <bruno@clisp.org>
37341
37342         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
37343         * modules/configmake (License): Likewise.
37344         * modules/gettext (License): Likewise.
37345         * modules/gettext-h (License): Likewise.
37346         * modules/include_next (License): Likewise.
37347         * modules/link-warning (License): Likewise.
37348         * modules/localcharset (License): Likewise.
37349         * modules/localename (License): Likewise.
37350         * modules/lock (License): Likewise.
37351         * modules/relocatable-lib-lgpl (License): Likewise.
37352         * modules/size_max (License): Likewise.
37353         * modules/vasnprintf (License): Likewise.
37354         * modules/wchar (License): Likewise.
37355         * modules/xsize (License): Likewise.
37356
37357 2007-07-13  Bruno Haible  <bruno@clisp.org>
37358
37359         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
37360         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
37361
37362 2007-07-12  Bruno Haible  <bruno@clisp.org>
37363
37364         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
37365         in the modules files.
37366
37367 2007-07-11  Karl Berry  <karl@gnu.org>
37368
37369         * MODULES.html.sh (func_module): use
37370          sed -e '\|^'"${includefile}"'$|d'
37371          instead of /.../d, to avoid errors on $includefile's containing /.
37372
37373 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
37374
37375         * gnulib-tool (func_import): Avoid duplication of --avoid
37376         statements
37377         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
37378         names to `_' in variable names.
37379
37380 2007-07-10  Eric Blake  <ebb9@byu.net>
37381
37382         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
37383         * NEWS: Document this change.
37384
37385 2007-07-08  Bruno Haible  <bruno@clisp.org>
37386
37387         Update to Unicode 5.0.
37388         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
37389         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
37390         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
37391         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
37392         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
37393         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
37394         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
37395         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
37396         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
37397         U+10A3F, U+1D242..U+1D244.
37398         (nonspacing_table_ind): Update.
37399         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
37400         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
37401
37402 2007-07-08  Bruno Haible  <bruno@clisp.org>
37403
37404         Update to Unicode 5.0.
37405         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
37406         code transform. Extend the name index field of unicode_name_to_code and
37407         unicode_code_to_name from 16 to 24 bits.
37408         * lib/uniname/uniname.c (unicode_character_name,
37409         unicode_name_character): Add the range 0x12xxx to the code transform.
37410         * lib/uniname/uninames.h: Regenerated.
37411         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
37412
37413 2007-07-07  Bruno Haible  <bruno@clisp.org>
37414
37415         * modules/wcwidth-tests: New file.
37416         * tests/test-wcwidth.c: New file.
37417
37418         Work around MacOS X wcwidth() bug.
37419         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
37420         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
37421         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
37422         original wcwidth in non-UTF-8 locales.
37423         * modules/wcwidth (Depends-on): Add localcharset, streq,
37424         uniwidth/width.
37425         * doc/functions/wcwidth.texi: Update.
37426
37427 2007-07-07  Bruno Haible  <bruno@clisp.org>
37428
37429         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
37430         (wcwidth): New declaration.
37431         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
37432         macros.
37433         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
37434         here. Prepare for creating <wchar.h> unconditionally.
37435         * modules/wchar (Depends-on): Add link-warning.
37436         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
37437         REPLACE_WCWIDTH, and GL_LINK_WARNING.
37438         * lib/wcwidth.h: Remove file.
37439         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
37440         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
37441         * modules/wcwidth (Files): Remove lib/wcwidth.h.
37442         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
37443         (Include): Replace wcwidth.h with <wchar.h>.
37444         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
37445         * lib/mbchar.h: Don't include wcwidth.h.
37446         * lib/mbswidth.c: Likewise.
37447         * NEWS: Mention the change.
37448
37449 2007-07-07  Bruno Haible  <bruno@clisp.org>
37450
37451         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
37452         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
37453         definition with an external declaration.
37454         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
37455         defined as a function. Remove AC_C_INLINE requirement.
37456         * modules/wcwidth (Files): Add lib/wcwidth.c.
37457         (Makefile.am): Remove redundant statement.
37458
37459 2007-07-07  Bruno Haible  <bruno@clisp.org>
37460
37461         * MODULES.html.sh (Unicode string functions): Add the new modules.
37462
37463         * tests/uniwidth/test-u32-strwidth.c: New file.
37464         * modules/uniwidth/u32-strwidth-tests: New file.
37465
37466         * lib/uniwidth/u32-strwidth.c: New file.
37467         * modules/uniwidth/u32-strwidth: New file.
37468
37469         * tests/uniwidth/test-u16-strwidth.c: New file.
37470         * modules/uniwidth/u16-strwidth-tests: New file.
37471
37472         * lib/uniwidth/u16-strwidth.c: New file.
37473         * modules/uniwidth/u16-strwidth: New file.
37474
37475         * tests/uniwidth/test-u8-strwidth.c: New file.
37476         * modules/uniwidth/u8-strwidth-tests: New file.
37477
37478         * lib/uniwidth/u8-strwidth.c: New file.
37479         * modules/uniwidth/u8-strwidth: New file.
37480
37481         * tests/uniwidth/test-u32-width.c: New file.
37482         * modules/uniwidth/u32-width-tests: New file.
37483
37484         * lib/uniwidth/u32-width.c: New file.
37485         * modules/uniwidth/u32-width: New file.
37486
37487         * tests/uniwidth/test-u16-width.c: New file.
37488         * modules/uniwidth/u16-width-tests: New file.
37489
37490         * lib/uniwidth/u16-width.c: New file.
37491         * modules/uniwidth/u16-width: New file.
37492
37493         * tests/uniwidth/test-u8-width.c: New file.
37494         * modules/uniwidth/u8-width-tests: New file.
37495
37496         * lib/uniwidth/u8-width.c: New file.
37497         * modules/uniwidth/u8-width: New file.
37498
37499         * tests/uniwidth/test-uc_width.c: New file.
37500         * modules/uniwidth/width-tests: New file.
37501
37502         * lib/uniwidth/width.c: New file, from GNU libiconv.
37503         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
37504         * modules/uniwidth/width: New file.
37505
37506         * lib/uniwidth.h: New file, from GNU libiconv.
37507         * modules/uniwidth/base: New file.
37508
37509 2007-07-07  Bruno Haible  <bruno@clisp.org>
37510
37511         * lib/uniname.h: New file, from GNU gettext.
37512         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
37513         * lib/uniname/uninames.h: New file, from GNU gettext.
37514         * lib/uniname/uniname.c: New file, from GNU gettext.
37515         * tests/uniname/test-uninames.sh: New file.
37516         * tests/uniname/test-uninames.c: New file, from GNU gettext.
37517         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
37518         * modules/uniname/base: New file.
37519         * modules/uniname/uniname: New file.
37520         * modules/uniname/uniname-tests: New file.
37521         * MODULES.html.sh (Unicode string functions): Add the new modules.
37522
37523 2007-07-06  Bruno Haible  <bruno@clisp.org>
37524
37525         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
37526
37527 2007-07-06  Bruno Haible  <bruno@clisp.org>
37528
37529         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
37530         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
37531         includes <cygwin/sys_time.h> which includes <sys/select.h> which
37532         include <sys/time.h>.
37533         Reported by Eric Blake.
37534
37535 2007-07-06  Eric Blake  <ebb9@byu.net>
37536
37537         Fix testing canonicalize on cygwin.
37538         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
37539         Revert patch from 2007-06-19.
37540         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
37541         canonicalize module is also in use.
37542         * tests/test-canonicalize.c: New file.
37543         * tests/test-canonicalize.sh: Likewise.
37544         * modules/canonicalize-tests: Likewise.
37545
37546 2007-07-06  Jim Meyering  <jim@meyering.net>
37547
37548         * lib/getugroups.c (getugroups): Detect getgrent failure.
37549         Adjust comment to reflect reality: this function may return -1.
37550
37551 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37552
37553         * build-aux/bootstrap (TP_URL,get_translations): Update to use
37554         the new TP address.
37555         (usage): Fix typo
37556         (gnulib_mk): New variable.
37557
37558 2007-07-05  Jim Meyering  <jim@meyering.net>
37559
37560         Don't let endgrent clobber errno, no matter how improbable.
37561         * lib/getugroups.c (getugroups): Save and restore errno around
37562         endgrent call.
37563
37564         Close the group DB even when failing with 2^31 or more members.
37565         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
37566
37567 2007-07-04  Jim Meyering  <jim@meyering.net>
37568
37569         * lib/getugroups.h: New file.
37570         * lib/getugroups.c: Include "getugroups.h".
37571         Remove uses of "register" keyword.
37572         Move local variable, "cp", down into scope where used.
37573         Give "username" parameter the "const" attribute.
37574         * modules/getugroups (Files): Add lib/getugroups.h
37575
37576 2007-07-04  Karl Berry  <karl@gnu.org>
37577
37578         * MODULES.html.sh (func_all_modules): Complete rename of
37579         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
37580
37581 2007-07-02  Bruno Haible  <bruno@clisp.org>
37582
37583         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
37584         mode, when inttypes.h comes from gnulib.
37585         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
37586
37587 2007-07-02  Simon Josefsson  <simon@josefsson.org>
37588
37589         * NEWS: Mention lgpl module name change.
37590
37591         * modules/lgpl-2.1: Renamed from lgpl.
37592
37593         * NEWS: Mention gpl module name change.
37594
37595         * modules/gpl-3.0: New file, based on gpl-2.0.
37596
37597         * modules/gpl-2.0: Renamed from gpl.
37598
37599         * modules/gpl: Fix filename, doc/gpl.texi is now found at
37600         doc/gpl-2.0.texi.
37601
37602 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
37603
37604         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
37605         #define __STDC_LIMIT_MACROS temporarily while including
37606         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
37607         Problem reported by Joel E. Denny in
37608         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
37609
37610 2007-07-01  Bruno Haible  <bruno@clisp.org>
37611
37612         * lib/unistdio.h: New file.
37613         * lib/unistdio/u-asnprintf.h: New file.
37614         * lib/unistdio/u-asprintf.h: New file.
37615         * lib/unistdio/u-printf-args.c: New file.
37616         * lib/unistdio/u-printf-args.h: New file.
37617         * lib/unistdio/u-printf-parse.h: New file.
37618         * lib/unistdio/u-snprintf.h: New file.
37619         * lib/unistdio/u-sprintf.h: New file.
37620         * lib/unistdio/u-vasprintf.h: New file.
37621         * lib/unistdio/u-vsnprintf.h: New file.
37622         * lib/unistdio/u-vsprintf.h: New file.
37623         * lib/unistdio/ulc-asnprintf.c: New file.
37624         * lib/unistdio/ulc-asprintf.c: New file.
37625         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
37626         * lib/unistdio/ulc-printf-parse.c: New file.
37627         * lib/unistdio/ulc-snprintf.c: New file.
37628         * lib/unistdio/ulc-sprintf.c: New file.
37629         * lib/unistdio/ulc-vasnprintf.c: New file.
37630         * lib/unistdio/ulc-vasprintf.c: New file.
37631         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
37632         * lib/unistdio/ulc-vsnprintf.c: New file.
37633         * lib/unistdio/ulc-vsprintf.c: New file.
37634         * lib/unistdio/u8-asnprintf.c: New file.
37635         * lib/unistdio/u8-asprintf.c: New file.
37636         * lib/unistdio/u8-printf-parse.c: New file.
37637         * lib/unistdio/u8-snprintf.c: New file.
37638         * lib/unistdio/u8-sprintf.c: New file.
37639         * lib/unistdio/u8-vasnprintf.c: New file.
37640         * lib/unistdio/u8-vasprintf.c: New file.
37641         * lib/unistdio/u8-vsnprintf.c: New file.
37642         * lib/unistdio/u8-vsprintf.c: New file.
37643         * lib/unistdio/u8-u8-asnprintf.c: New file.
37644         * lib/unistdio/u8-u8-asprintf.c: New file.
37645         * lib/unistdio/u8-u8-snprintf.c: New file.
37646         * lib/unistdio/u8-u8-sprintf.c: New file.
37647         * lib/unistdio/u8-u8-vasnprintf.c: New file.
37648         * lib/unistdio/u8-u8-vasprintf.c: New file.
37649         * lib/unistdio/u8-u8-vsnprintf.c: New file.
37650         * lib/unistdio/u8-u8-vsprintf.c: New file.
37651         * lib/unistdio/u16-asnprintf.c: New file.
37652         * lib/unistdio/u16-asprintf.c: New file.
37653         * lib/unistdio/u16-printf-parse.c: New file.
37654         * lib/unistdio/u16-snprintf.c: New file.
37655         * lib/unistdio/u16-sprintf.c: New file.
37656         * lib/unistdio/u16-vasnprintf.c: New file.
37657         * lib/unistdio/u16-vasprintf.c: New file.
37658         * lib/unistdio/u16-vsnprintf.c: New file.
37659         * lib/unistdio/u16-vsprintf.c: New file.
37660         * lib/unistdio/u16-u16-asnprintf.c: New file.
37661         * lib/unistdio/u16-u16-asprintf.c: New file.
37662         * lib/unistdio/u16-u16-snprintf.c: New file.
37663         * lib/unistdio/u16-u16-sprintf.c: New file.
37664         * lib/unistdio/u16-u16-vasnprintf.c: New file.
37665         * lib/unistdio/u16-u16-vasprintf.c: New file.
37666         * lib/unistdio/u16-u16-vsnprintf.c: New file.
37667         * lib/unistdio/u16-u16-vsprintf.c: New file.
37668         * lib/unistdio/u32-asnprintf.c: New file.
37669         * lib/unistdio/u32-asprintf.c: New file.
37670         * lib/unistdio/u32-printf-parse.c: New file.
37671         * lib/unistdio/u32-snprintf.c: New file.
37672         * lib/unistdio/u32-sprintf.c: New file.
37673         * lib/unistdio/u32-vasnprintf.c: New file.
37674         * lib/unistdio/u32-vasprintf.c: New file.
37675         * lib/unistdio/u32-vsnprintf.c: New file.
37676         * lib/unistdio/u32-vsprintf.c: New file.
37677         * lib/unistdio/u32-u32-asnprintf.c: New file.
37678         * lib/unistdio/u32-u32-asprintf.c: New file.
37679         * lib/unistdio/u32-u32-snprintf.c: New file.
37680         * lib/unistdio/u32-u32-sprintf.c: New file.
37681         * lib/unistdio/u32-u32-vasnprintf.c: New file.
37682         * lib/unistdio/u32-u32-vasprintf.c: New file.
37683         * lib/unistdio/u32-u32-vsnprintf.c: New file.
37684         * lib/unistdio/u32-u32-vsprintf.c: New file.
37685         * tests/unistdio/test-ulc-asnprintf1.c: New file.
37686         * tests/unistdio/test-ulc-asnprintf1.h: New file.
37687         * tests/unistdio/test-ulc-printf1.h: New file.
37688         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
37689         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
37690         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
37691         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
37692         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
37693         * tests/unistdio/test-ulc-vasprintf1.c: New file.
37694         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
37695         * tests/unistdio/test-ulc-vsprintf1.c: New file.
37696         * tests/unistdio/test-u8-asnprintf1.c: New file.
37697         * tests/unistdio/test-u8-asnprintf1.h: New file.
37698         * tests/unistdio/test-u8-printf1.h: New file.
37699         * tests/unistdio/test-u8-vasnprintf1.c: New file.
37700         * tests/unistdio/test-u8-vasnprintf2.c: New file.
37701         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
37702         * tests/unistdio/test-u8-vasnprintf3.c: New file.
37703         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
37704         * tests/unistdio/test-u8-vasprintf1.c: New file.
37705         * tests/unistdio/test-u8-vsnprintf1.c: New file.
37706         * tests/unistdio/test-u8-vsprintf1.c: New file.
37707         * tests/unistdio/test-u16-asnprintf1.c: New file.
37708         * tests/unistdio/test-u16-asnprintf1.h: New file.
37709         * tests/unistdio/test-u16-printf1.h: New file.
37710         * tests/unistdio/test-u16-vasnprintf1.c: New file.
37711         * tests/unistdio/test-u16-vasnprintf2.c: New file.
37712         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
37713         * tests/unistdio/test-u16-vasnprintf3.c: New file.
37714         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
37715         * tests/unistdio/test-u16-vasprintf1.c: New file.
37716         * tests/unistdio/test-u16-vsnprintf1.c: New file.
37717         * tests/unistdio/test-u16-vsprintf1.c: New file.
37718         * tests/unistdio/test-u32-asnprintf1.c: New file.
37719         * tests/unistdio/test-u32-asnprintf1.h: New file.
37720         * tests/unistdio/test-u32-printf1.h: New file.
37721         * tests/unistdio/test-u32-vasnprintf1.c: New file.
37722         * tests/unistdio/test-u32-vasnprintf2.c: New file.
37723         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
37724         * tests/unistdio/test-u32-vasnprintf3.c: New file.
37725         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
37726         * tests/unistdio/test-u32-vasprintf1.c: New file.
37727         * tests/unistdio/test-u32-vsnprintf1.c: New file.
37728         * tests/unistdio/test-u32-vsprintf1.c: New file.
37729         * modules/unistdio/base: New file.
37730         * modules/unistdio/u-printf-args: New file.
37731         * modules/unistdio/ulc-asnprintf: New file.
37732         * modules/unistdio/ulc-asprintf: New file.
37733         * modules/unistdio/ulc-fprintf: New file.
37734         * modules/unistdio/ulc-printf-parse: New file.
37735         * modules/unistdio/ulc-snprintf: New file.
37736         * modules/unistdio/ulc-sprintf: New file.
37737         * modules/unistdio/ulc-vasnprintf: New file.
37738         * modules/unistdio/ulc-vasprintf: New file.
37739         * modules/unistdio/ulc-vfprintf: New file.
37740         * modules/unistdio/ulc-vsnprintf: New file.
37741         * modules/unistdio/ulc-vsprintf: New file.
37742         * modules/unistdio/u8-asnprintf: New file.
37743         * modules/unistdio/u8-asprintf: New file.
37744         * modules/unistdio/u8-printf-parse: New file.
37745         * modules/unistdio/u8-snprintf: New file.
37746         * modules/unistdio/u8-sprintf: New file.
37747         * modules/unistdio/u8-vasnprintf: New file.
37748         * modules/unistdio/u8-vasprintf: New file.
37749         * modules/unistdio/u8-vsnprintf: New file.
37750         * modules/unistdio/u8-vsprintf: New file.
37751         * modules/unistdio/u8-u8-asnprintf: New file.
37752         * modules/unistdio/u8-u8-asprintf: New file.
37753         * modules/unistdio/u8-u8-snprintf: New file.
37754         * modules/unistdio/u8-u8-sprintf: New file.
37755         * modules/unistdio/u8-u8-vasnprintf: New file.
37756         * modules/unistdio/u8-u8-vasprintf: New file.
37757         * modules/unistdio/u8-u8-vsnprintf: New file.
37758         * modules/unistdio/u8-u8-vsprintf: New file.
37759         * modules/unistdio/u16-asnprintf: New file.
37760         * modules/unistdio/u16-asprintf: New file.
37761         * modules/unistdio/u16-printf-parse: New file.
37762         * modules/unistdio/u16-snprintf: New file.
37763         * modules/unistdio/u16-sprintf: New file.
37764         * modules/unistdio/u16-vasnprintf: New file.
37765         * modules/unistdio/u16-vasprintf: New file.
37766         * modules/unistdio/u16-vsnprintf: New file.
37767         * modules/unistdio/u16-vsprintf: New file.
37768         * modules/unistdio/u16-u16-asnprintf: New file.
37769         * modules/unistdio/u16-u16-asprintf: New file.
37770         * modules/unistdio/u16-u16-snprintf: New file.
37771         * modules/unistdio/u16-u16-sprintf: New file.
37772         * modules/unistdio/u16-u16-vasnprintf: New file.
37773         * modules/unistdio/u16-u16-vasprintf: New file.
37774         * modules/unistdio/u16-u16-vsnprintf: New file.
37775         * modules/unistdio/u16-u16-vsprintf: New file.
37776         * modules/unistdio/u32-asnprintf: New file.
37777         * modules/unistdio/u32-asprintf: New file.
37778         * modules/unistdio/u32-printf-parse: New file.
37779         * modules/unistdio/u32-snprintf: New file.
37780         * modules/unistdio/u32-sprintf: New file.
37781         * modules/unistdio/u32-vasnprintf: New file.
37782         * modules/unistdio/u32-vasprintf: New file.
37783         * modules/unistdio/u32-vsnprintf: New file.
37784         * modules/unistdio/u32-vsprintf: New file.
37785         * modules/unistdio/u32-u32-asnprintf: New file.
37786         * modules/unistdio/u32-u32-asprintf: New file.
37787         * modules/unistdio/u32-u32-snprintf: New file.
37788         * modules/unistdio/u32-u32-sprintf: New file.
37789         * modules/unistdio/u32-u32-vasnprintf: New file.
37790         * modules/unistdio/u32-u32-vasprintf: New file.
37791         * modules/unistdio/u32-u32-vsnprintf: New file.
37792         * modules/unistdio/u32-u32-vsprintf: New file.
37793         * modules/unistdio/ulc-asnprintf-tests: New file.
37794         * modules/unistdio/ulc-vasnprintf-tests: New file.
37795         * modules/unistdio/ulc-vasprintf-tests: New file.
37796         * modules/unistdio/ulc-vsnprintf-tests: New file.
37797         * modules/unistdio/ulc-vsprintf-tests: New file.
37798         * modules/unistdio/u8-asnprintf-tests: New file.
37799         * modules/unistdio/u8-vasnprintf-tests: New file.
37800         * modules/unistdio/u8-vasprintf-tests: New file.
37801         * modules/unistdio/u8-vsnprintf-tests: New file.
37802         * modules/unistdio/u8-vsprintf-tests: New file.
37803         * modules/unistdio/u16-asnprintf-tests: New file.
37804         * modules/unistdio/u16-vasnprintf-tests: New file.
37805         * modules/unistdio/u16-vasprintf-tests: New file.
37806         * modules/unistdio/u16-vsnprintf-tests: New file.
37807         * modules/unistdio/u16-vsprintf-tests: New file.
37808         * modules/unistdio/u32-asnprintf-tests: New file.
37809         * modules/unistdio/u32-vasnprintf-tests: New file.
37810         * modules/unistdio/u32-vasprintf-tests: New file.
37811         * modules/unistdio/u32-vsnprintf-tests: New file.
37812         * modules/unistdio/u32-vsprintf-tests: New file.
37813         * MODULES.html.sh (Unicode string functions): Add the new modules.
37814
37815 2007-07-01  Bruno Haible  <bruno@clisp.org>
37816
37817         * lib/sprintf.c (sprintf): Limit the available length estimation,
37818         to avoid address wraparound.
37819         * lib/vsprintf.c (vsprintf): Likewise.
37820         * modules/sprintf-posix (Dependencies): Add stdint.
37821         * modules/vsprintf-posix (Dependencies): Likewise.
37822
37823 2007-07-01  Bruno Haible  <bruno@clisp.org>
37824
37825         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
37826         Windows PATH as well. Conservative double-quoting. Comments.
37827
37828 2007-07-01  Bruno Haible  <bruno@clisp.org>
37829             Eric Blake  <ebb9@byu.net>
37830             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37831
37832         * gnulib-tool (self_abspathname): Fix algorithm to cope with
37833         empty components in $PATH, denoting '.'.
37834
37835 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37836
37837         * gnulib-tool: Fix indentation.
37838         (func_create_megatestdir): Likewise.
37839         Report by Bruno Haible.
37840
37841 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37842
37843         Sync from Automake.
37844         * build-aux/gnupload: Fix shell portability issues with for loops.
37845         Report by Karl Berry.
37846
37847 2007-06-29  Simon Josefsson  <simon@josefsson.org>
37848
37849         * build-aux/maint.mk (POURL): Use translationproject.org.
37850
37851 2007-06-27  Simon Josefsson  <simon@josefsson.org>
37852             Bruno Haible  <bruno@clisp.org>
37853
37854         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
37855         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
37856         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
37857         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
37858         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
37859
37860 2007-06-27  Bruno Haible  <bruno@clisp.org>
37861
37862         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
37863         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
37864
37865 2007-06-26  Karl Berry  <karl@gnu.org>
37866
37867         * MODULES.html.sh: remove xreadlink-with-size.
37868
37869 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37870
37871         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
37872         method that I hope also handles the double-include problem noted
37873         by Bruno Haible in
37874         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
37875
37876 2007-06-23  Bruno Haible  <bruno@clisp.org>
37877
37878         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37879         Don't let the 'mostlyclean' target fail if the last subdirectory could
37880         not be removed.
37881         Reported by Karl Berry.
37882
37883 2007-06-23  Bruno Haible  <bruno@clisp.org>
37884
37885         * gnulib-tool (echo): Add a speedier workaround for ksh.
37886         * tests/test-echo.sh: Likewise.
37887
37888 2007-06-23  Bruno Haible  <bruno@clisp.org>
37889
37890         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
37891         * tests/test-echo.sh: Likewise.
37892
37893 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37894
37895         * gnulib-tool (IFS): Initialize early, so we don't set it to
37896         empty later.
37897         (self_abspathname): Rewrite algorithm to set it, reindent.
37898         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
37899         (func_create_megatestdir): Merge some sed scripts.
37900
37901 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
37902
37903         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
37904         exposed by Sun Studio 11 cc on Solaris 8.
37905
37906 2007-06-22  Bruno Haible  <bruno@clisp.org>
37907
37908         * gnulib-tool (echo): Ensure the echo primitive does not interpret
37909         backslashes.
37910         * tests/test-echo.sh: New file.
37911
37912 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37913
37914         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
37915         simplify `sed_replace_build_aux' scripts, they are portable but
37916         echoing them with `echo' is not.
37917         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
37918
37919 2007-06-21  Karl Berry  <karl@gnu.org>
37920
37921         * config/srclist.txt: guess we can't handle the licenses via
37922         srclist at the moment.
37923
37924 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
37925
37926         * MODULES.html.sh: Add include_next.
37927         * modules/include_next: New file.
37928
37929 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
37930
37931         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
37932         INCLUDE_NEXT.
37933         (gl_CHECK_NEXT_HEADERS): New macro.
37934         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
37935         the obsolescent gl_ABSOLUTE_HEADER.
37936         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
37937         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
37938         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
37939         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37940         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37941         * m4/math_h.m4 (gl_MATH_H): Likewise.
37942         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
37943         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37944         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37945         * m4/stdint.m4 (gl_STDINT_H): Likewise.
37946         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37947         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37948         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37949         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37950         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37951         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37952         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
37953         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
37954         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
37955         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37956         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37957         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
37958         * m4/inttypes.m4 (gl_INTTYPES_H): Define
37959         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
37960         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
37961         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
37962         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
37963         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
37964         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
37965         * lib/float_.h: Likewise.
37966         * lib/inttypes_.h: Likewise.
37967         * lib/math_.h: Likewise.
37968         * lib/search_.h: Likewise.
37969         * lib/signal_.h: Likewise.
37970         * lib/stdint_.h: Likewise.
37971         * lib/stdio_.h: Likewise.
37972         * lib/stdlib_.h: Likewise.
37973         * lib/string_.h: Likewise.
37974         * lib/sys_stat_.h: Likewise.
37975         * lib/sys_time_.h: Likewise.
37976         * lib/time_.h: Likewise.
37977         * lib/unistd_.h: Likewise.
37978         * lib/wchar_.h: Likewise.
37979         * lib/wctype_.h: Likewise.
37980         * lib/dirent_.h: Likewise.
37981         * lib/iconv_.h: Likewise.
37982         * lib/locale_.h: Likewise.
37983         * lib/netinet_in_.h: Likewise.
37984         * lib/sys_select_.h: Likewise.
37985         * lib/sys_socket_.h: Likewise.
37986         * lib/sysexits_.h: Likewise.
37987         * modules/fcntl (Depends-on): Depend on include_next, not
37988         absolute_header.
37989         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
37990         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
37991         * modules/fchdir: Likewise.
37992         * modules/float: Likewise.
37993         * modules/iconv_open: Likewise.
37994         * modules/inttypes: Likewise.
37995         * modules/locale: Likewise.
37996         * modules/math: Likewise.
37997         * modules/netinet_in: Likewise.
37998         * modules/search: Likewise.
37999         * modules/signal: Likewise.
38000         * modules/stdint: Likewise.
38001         * modules/stdio: Likewise.
38002         * modules/stdlib: Likewise.
38003         * modules/string: Likewise.
38004         * modules/sys_select: Likewise.
38005         * modules/sys_socket: Likewise.
38006         * modules/sys_stat: Likewise.
38007         * modules/sys_time: Likewise.
38008         * modules/sysexits: Likewise.
38009         * modules/time: Likewise.
38010         * modules/unistd: Likewise.
38011         * modules/wchar: Likewise.
38012         * modules/wctype: Likewise.
38013         * modules/sys_stat: Change maintainer to "all".
38014         * modules/unistd: Likewise.
38015
38016 2007-06-20  Karl Berry  <karl@gnu.org>
38017
38018         * config/srclist.txt: track www changes in license files.
38019
38020 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
38021
38022         * build-aux/bootstrap: Remove stray dot.
38023         Make sure build_aux settings are honored when linking
38024         gnulib_extra_files.
38025
38026 2007-06-19  Eric Blake  <ebb9@byu.net>
38027
38028         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
38029         Allow compilation on cygwin.
38030
38031 2007-06-19  Jim Meyering  <jim@meyering.net>
38032
38033         xreadlink-with-size: Remove module.  No longer used.
38034         Ex-callers now use xreadlink or mreadlink-with-size.
38035         * modules/xreadlink-with-size: Remove module.
38036         * lib/xreadlink-with-size.c: Remove file.
38037         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
38038         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
38039         just before the function definition *is* accurate.
38040
38041         Eliminate one way canonicalize_filename_mode could exit.
38042         * lib/canonicalize.c (canonicalize_filename_mode):
38043         Use mreadlink_with_size, not xreadlink_with_size.
38044
38045 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
38046
38047         Detect porting problems to FreeBSD/arm, which has time_t wider than
38048         long int.  Original problem reported for GNU diff by Xin Li in
38049         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
38050         * modules/getdate (Depends-on): Add intprops, verify.
38051         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
38052         is an integer type no wider than long int.
38053
38054 2007-06-18  Jim Meyering  <jim@meyering.net>
38055
38056         New module: mreadlink-with-size.
38057         * MODULES.html.sh: Add mreadlink-with-size.
38058         * modules/mreadlink-with-size: New module
38059         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
38060         not xreadlink-with-size.
38061         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
38062
38063 2007-06-16  Bruno Haible  <bruno@clisp.org>
38064
38065         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
38066         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
38067         Reported by Gary V. Vaughan <gary@gnu.org>.
38068
38069 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
38070
38071         Revamp lchown so that it lives in unistd.h where it belongs.
38072         * lib/lchown.h: Remove.
38073         * lib/dirchownmod.c: Don't include lib/lchown.h.
38074         * lib/fchownat.c: Likewise.
38075         * lib/openat.c: Likewise.
38076         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
38077         does not follow symlinks.
38078         (EOPNOTSUPP): Define if not defined.
38079         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
38080         is defined to 0.
38081         (lchown): New decl.
38082         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
38083         Do not check for lchown decl.
38084         Set REPLACE_LCHOWN.
38085         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
38086         REPLACE_LCHOWN.
38087         * modules/chown: Make it clear it follows symlinks.
38088         * modules/lchown: Make it clear it doesn't follow symlinks.
38089         (Files): Remove lib/lchown.h
38090         (Depends-on): Add unistd.
38091         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
38092         (Include): Include <unistd.h>, not "lchown.h".
38093         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
38094         REPLACE_LCHOWN.
38095
38096 2007-06-15  Jim Meyering  <jim@meyering.net>
38097
38098         Change license (GPL to LGPL) of fsusage and dependents.
38099         * modules/fsusage (License): Change to LGPL.
38100         * modules/full-read (License): Likewise.
38101         * modules/full-write (License): Likewise.
38102         * modules/safe-read (License): Likewise.
38103         * modules/safe-write (License): Likewise.
38104
38105 2007-06-14  Ben Pfaff  <blp@gnu.org>
38106
38107         Missing part of allocsa -> malloca transition.
38108         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
38109         gl_MALLOCA.
38110
38111 2007-06-12  Bruno Haible  <bruno@clisp.org>
38112
38113         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
38114         to ia64, x86_64, i386.
38115         Reported by Eric Blake.
38116
38117 2007-06-12  Bruno Haible  <bruno@clisp.org>
38118
38119         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
38120         cross-compiling to x86_64.
38121
38122 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
38123
38124         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
38125         glitch reported by Ralf Wildenhues in
38126         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
38127
38128         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
38129         Vin Shelton.
38130
38131 2007-06-11  Bruno Haible  <bruno@clisp.org>
38132
38133         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
38134         replacement string.
38135         Reported by Eric Blake.
38136
38137 2007-06-10  Bruno Haible  <bruno@clisp.org>
38138
38139         Prepare vasnprintf code for use with Unicode strings.
38140         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
38141         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
38142         TYPE_U32_STRING.
38143         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
38144         a_u32_string variants.
38145         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
38146         * lib/printf-args.c: Don't include config.h and the specification
38147         header if PRINTF_FETCHARGS is already defined.
38148         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
38149         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
38150         TYPE_U16_STRING, TYPE_U32_STRING.
38151         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
38152         u16_directive, u16_directives, u32_directive, u32_directives): New
38153         types.
38154         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
38155         New declarations.
38156         * lib/printf-parse.c: Don't include config.h and the specification
38157         header if PRINTF_PARSE is already defined. Eliminate the set of
38158         parameters for WIDE_CHAR_VERSION; the user of this file must provide
38159         them now. Include c-ctype.h.
38160         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
38161         directive and CHAR_T_ONLY_ASCII.
38162         * lib/vasnprintf.c: Don't include config.h and the specification header
38163         if VASNPRINTF is already defined.
38164         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
38165         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
38166         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
38167         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
38168         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
38169         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
38170         code accordingly.
38171         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
38172         pad_ourselves also in this case, with the 'c' and 's' directives, and
38173         with a different notion of "width".
38174         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
38175
38176 2007-06-10  Bruno Haible  <bruno@clisp.org>
38177
38178         * modules/unistr/u32-mbsnlen: New file.
38179         * lib/unistr/u32-mbsnlen.c: New file.
38180
38181         * modules/unistr/u16-mbsnlen: New file.
38182         * lib/unistr/u16-mbsnlen.c: New file.
38183
38184         * modules/unistr/u8-mbsnlen: New file.
38185         * lib/unistr/u8-mbsnlen.c: New file.
38186
38187         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
38188         declarations.
38189
38190 2007-06-10  Bruno Haible  <bruno@clisp.org>
38191
38192         * lib/string_.h (mbsnlen): New declaration.
38193         * lib/mbsnlen.c: New file.
38194         * m4/mbsnlen.m4: New file.
38195         * modules/mbsnlen: New file.
38196         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
38197         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
38198         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
38199
38200 2007-06-10  Bruno Haible  <bruno@clisp.org>
38201
38202         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
38203
38204 2007-06-10  Bruno Haible  <bruno@clisp.org>
38205
38206         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
38207         * lib/mbuiter.h: Likewise.
38208
38209 2007-06-10  Bruno Haible  <bruno@clisp.org>
38210
38211         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
38212         declaration.
38213
38214 2007-06-10  Karl Berry  <karl@gnu.org>
38215
38216         * config/srclist.txt: remove gettext entries, Bruno prefers
38217         to update individually.
38218
38219 2007-06-10  Bruno Haible  <bruno@clisp.org>
38220
38221         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
38222         'maxlen'. Ensure only length + width bytes are allocated, not
38223         length + 1 + width.
38224
38225 2007-06-09  Bruno Haible  <bruno@clisp.org>
38226
38227         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
38228         (CHAR_T): Remove macro.
38229         (VASNPRINTF): Update.
38230
38231 2007-06-09  Bruno Haible  <bruno@clisp.org>
38232
38233         * MODULES.html.sh (Unicode string functions): Add the new modules.
38234
38235         * modules/uniconv/u32-conv-to-enc: New file.
38236         * lib/uniconv/u32-conv-to-enc.c: New file.
38237         * modules/uniconv/u32-conv-to-enc-tests: New file.
38238         * tests/uniconv/test-u32-conv-to-enc.c: New file.
38239
38240         * modules/uniconv/u16-conv-to-enc: New file.
38241         * lib/uniconv/u16-conv-to-enc.c: New file.
38242         * lib/uniconv/u-conv-to-enc.h: New file.
38243         * modules/uniconv/u16-conv-to-enc-tests: New file.
38244         * tests/uniconv/test-u16-conv-to-enc.c: New file.
38245
38246         * modules/uniconv/u8-conv-to-enc: New file.
38247         * lib/uniconv/u8-conv-to-enc.c: New file.
38248         * modules/uniconv/u8-conv-to-enc-tests: New file.
38249         * tests/uniconv/test-u8-conv-to-enc.c: New file.
38250
38251         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
38252         u32_conv_to_encoding): New declarations.
38253
38254 2007-06-09  Bruno Haible  <bruno@clisp.org>
38255
38256         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
38257
38258 2007-06-09  Bruno Haible  <bruno@clisp.org>
38259
38260         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
38261         * modules/malloca: Renamed from modules/allocsa, updated.
38262         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
38263         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
38264         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
38265         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
38266         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
38267         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
38268         * modules/xmalloca: Renamed from modules/xallocsa, updated.
38269         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
38270         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
38271         * modules/c-strcasestr (Depends-on): Update.
38272         * lib/c-strcasestr.c: Update.
38273         * modules/c-strstr (Depends-on): Update.
38274         * lib/c-strstr.c: Update.
38275         * modules/canonicalize-lgpl (Depends-on): Update.
38276         * lib/canonicalize-lgpl.c: Update.
38277         * modules/clean-temp (Depends-on): Update.
38278         * lib/clean-temp.c: Update.
38279         * modules/csharpcomp (Depends-on): Update.
38280         * lib/csharpcomp.c: Update.
38281         * modules/csharpexec (Depends-on): Update.
38282         * lib/csharpexec.c: Update.
38283         * modules/javacomp (Depends-on): Update.
38284         * lib/javacomp.c: Update.
38285         * modules/javaexec (Depends-on): Update.
38286         * lib/javaexec.c: Update.
38287         * modules/mbscasestr (Depends-on): Update.
38288         * lib/mbscasestr.c: Update.
38289         * modules/mbsstr (Depends-on): Update.
38290         * lib/mbsstr.c: Update.
38291         * modules/setenv (Depends-on): Update.
38292         * lib/setenv.c: Update.
38293         * modules/strcasestr (Depends-on): Update.
38294         * lib/strcasestr.c: Update.
38295         * modules/striconveha (Depends-on): Update.
38296         * lib/striconveha.c: Update.
38297         * modules/relocatable-prog-wrapper (Files): Update.
38298         * lib/relocwrapper.c: Update.
38299         * build-aux/install-reloc: Update.
38300         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
38301
38302 2007-06-08  Bruno Haible  <bruno@clisp.org>
38303
38304         Port to uClibc.
38305         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
38306         * lib/fpurge.c (fpurge): Likewise.
38307         * lib/freading.c (freading): Likewise.
38308         * lib/fseeko.c (rpl_fseeko): Likewise.
38309         * lib/fseterr.c (fseterr): Likewise.
38310         * lib/fwriting.c (fwriting): Likewise.
38311         * tests/test-fflush.c (main): Avoid a failure on uClibc.
38312
38313 2007-06-08  Bruno Haible  <bruno@clisp.org>
38314
38315         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
38316         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
38317         * modules/gettext (Files): Add m4/intlmacosx.m4.
38318
38319 2007-06-07  Bruno Haible  <bruno@clisp.org>
38320
38321         * modules/localename-tests: New file.
38322         * tests/test-localename.c: New file.
38323
38324         New module 'localename'.
38325         * lib/localename.h: New file.
38326         * lib/localename.c: New file, from GNU gettext.
38327         * m4/localename.m4: New file.
38328         * modules/localename: New file.
38329
38330 2007-06-07  Bruno Haible  <bruno@clisp.org>
38331
38332         Work around the lack of <wchar.h> on some builds of uClibc.
38333         * doc/headers/wchar.texi: Update.
38334         * lib/wchar_.h: Include <wchar.h> only if it exists.
38335         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
38336         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
38337         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
38338         doesn't exist.
38339         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
38340         * modules/mbfile (Depends-on): Add wchar.
38341         * modules/mbiter (Depends-on): Likewise.
38342         * modules/mbuiter (Depends-on): Likewise.
38343         Reported by Simon Josefsson.
38344
38345 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
38346
38347         Work around problem reported by Steven M. Schweda in
38348         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
38349         Tru64 5.1B with the Compaq compiler environment installed declares
38350         an 'isblank' function but does not define it in the C library.
38351         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
38352         * lib/regex_internal.h (isblank): Likewise.
38353         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
38354         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38355
38356 2007-06-05  Bruno Haible  <bruno@clisp.org>
38357
38358         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
38359         ia64.
38360         * modules/printf-safe: New file.
38361         * modules/fprintf-posix (Depends-on): Add printf-safe.
38362         * modules/printf-posix (Depends-on): Likewise.
38363         * modules/snprintf-posix (Depends-on): Likewise.
38364         * modules/sprintf-posix (Depends-on): Likewise.
38365         * modules/vasnprintf-posix (Depends-on): Likewise.
38366         * modules/vasprintf-posix (Depends-on): Likewise.
38367         * modules/vfprintf-posix (Depends-on): Likewise.
38368         * modules/vprintf-posix (Depends-on): Likewise.
38369         * modules/vsnprintf-posix (Depends-on): Likewise.
38370         * modules/vsprintf-posix (Depends-on): Likewise.
38371         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
38372         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
38373         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
38374         "no" on i386, x86_64, ia64.
38375         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
38376         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
38377         on i386, x86_64, ia64.
38378         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
38379         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
38380         on i386, x86_64, ia64.
38381         * tests/test-vasnprintf-posix.c: Include float.h.
38382         (LDBL80_WORDS): New macro.
38383         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
38384         on i386, x86_64, ia64.
38385         * tests/test-vasprintf-posix.c: Include float.h.
38386         (LDBL80_WORDS): New macro.
38387         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
38388         on i386, x86_64, ia64.
38389         * tests/test-snprintf-posix.c: Include float.h.
38390         * tests/test-sprintf-posix.c: Likewise.
38391         * tests/test-vsnprintf-posix.c: Likewise.
38392         * tests/test-vsprintf-posix.c: Likewise.
38393
38394 2007-06-05  Bruno Haible  <bruno@clisp.org>
38395
38396         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
38397         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
38398         non-IEEE numbers on i386, x86_64, ia64.
38399         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
38400         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
38401         * tests/test-isnanl.h: Include float.h.
38402         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
38403
38404 2007-06-05  Bruno Haible  <bruno@clisp.org>
38405
38406         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
38407         also the %a / %A. Handle the %a / %A code before this extra handling.
38408
38409 2007-06-05  Bruno Haible  <bruno@clisp.org>
38410
38411         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
38412         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
38413
38414 2007-06-05  Bruno Haible  <bruno@clisp.org>
38415
38416         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
38417         typo in variable name.
38418
38419 2007-06-05  Eric Blake  <ebb9@byu.net>
38420
38421         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
38422         Reported by Simon Josefsson.
38423
38424 2007-06-04  Bruno Haible  <bruno@clisp.org>
38425
38426         Avoid test failures on some PowerPC platforms.
38427         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
38428         Define differently for PowerPC.
38429         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
38430         Reported by Gary V. Vaughan <gary@gnu.org>.
38431
38432 2007-06-02  Bruno Haible  <bruno@clisp.org>
38433
38434         Fix test-stdint failure on FreeBSD/ia64.
38435         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
38436         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
38437         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
38438         * doc/headers/stdint.texi: Update.
38439
38440 2007-06-01  Bruno Haible  <bruno@clisp.org>
38441
38442         * tests/test-binary-io.c (main): Pass a third argument to open().
38443         Reported by Gary V. Vaughan <gary@gnu.org>.
38444
38445 2007-06-01  Bruno Haible  <bruno@clisp.org>
38446
38447         * doc/functions/frexpl.texi: Update for mingw.
38448
38449 2007-06-01  Bruno Haible  <bruno@clisp.org>
38450
38451         * tests/test-lseek.c (main): Disable test of errno for invalid third
38452         argument.
38453         * doc/functions/lseek.texi: Update.
38454         Reported by Gary V. Vaughan <gary@gnu.org>.
38455
38456 2007-05-28  Bruno Haible  <bruno@clisp.org>
38457
38458         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
38459
38460 2007-05-31  Eric Blake  <ebb9@byu.net>
38461
38462         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
38463         cross compiling.
38464
38465 2007-05-30  Eric Blake  <ebb9@byu.net>
38466         and Bruno Haible  <bruno@clisp.org>
38467
38468         Work around mingw test failures exposed by m4-1.4.9b.
38469         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
38470         * tests/test-unistd.c: Disable uid_t and git_t tests for the
38471         moment.
38472
38473 2007-05-30  Bruno Haible  <bruno@clisp.org>
38474
38475         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
38476         assuming that they are closed. Needed on HP-UX 11.
38477
38478 2007-05-29  Bruno Haible  <bruno@clisp.org>
38479
38480         Fix a problem with #include_next.
38481         * lib/dirent_.h: Split the double-inclusion guard.
38482         * lib/fcntl_.h: Likewise.
38483         * lib/float_.h: Likewise.
38484         * lib/iconv_.h: Likewise.
38485         * lib/inttypes_.h: Likewise.
38486         * lib/locale_.h: Likewise.
38487         * lib/math_.h: Likewise.
38488         * lib/netinet_in_.h: Likewise.
38489         * lib/search_.h: Likewise.
38490         * lib/signal_.h: Likewise.
38491         * lib/stdint_.h: Likewise.
38492         * lib/stdio_.h: Likewise.
38493         * lib/stdlib_.h: Likewise.
38494         * lib/string_.h: Likewise.
38495         * lib/sys_select_.h: Likewise.
38496         * lib/sys_socket_.h: Likewise.
38497         * lib/sys_stat_.h: Likewise.
38498         * lib/sys_time_.h: Likewise.
38499         * lib/sysexits_.h: Likewise.
38500         * lib/time_.h: Likewise.
38501         * lib/unistd_.h: Likewise.
38502         * lib/wchar_.h: Likewise.
38503         * lib/wctype_.h: Likewise.
38504
38505 2007-05-29  Bruno Haible  <bruno@clisp.org>
38506
38507         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
38508         for the moment.
38509
38510 2007-05-29  Bruno Haible  <bruno@clisp.org>
38511
38512         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
38513         invocation.
38514         Reported by Eric Blake.
38515
38516 2007-05-29  Bruno Haible  <bruno@clisp.org>
38517
38518         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
38519         compiling case.
38520
38521 2007-05-29  Eric Blake  <ebb9@byu.net>
38522             Bruno Haible  <bruno@clisp.org>
38523
38524         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
38525         cross compiles.
38526
38527 2007-05-28  Eric Blake  <ebb9@byu.net>
38528
38529         * modules/closein-tests (test_closein_LDADD): Support test on
38530         cygwin with libtool.
38531
38532 2007-05-28  Bruno Haible  <bruno@clisp.org>
38533
38534         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
38535         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
38536         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
38537         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
38538         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
38539         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
38540         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
38541         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
38542         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
38543
38544 2007-05-28  Eric Blake  <ebb9@byu.net>
38545
38546         Unconditionally include <config.h> in unit tests.
38547         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
38548         * tests/test-allocsa.c, tests/test-arcfour.c,
38549         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
38550         tests/test-array_list.c, tests/test-array_oset.c,
38551         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
38552         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
38553         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
38554         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
38555         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
38556         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
38557         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
38558         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
38559         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
38560         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
38561         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
38562         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
38563         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
38564         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
38565         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
38566         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
38567         test-md5.c, test-memmem.c, test-printf-posix.c,
38568         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
38569         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
38570         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
38571         test-strcasestr.c, test-striconv.c, test-striconveh.c,
38572         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
38573         test-vasnprintf-posix2.c, test-vasnprintf.c,
38574         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
38575         test-vfprintf-posix.c, test-vprintf-posix.c,
38576         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
38577         test-xvasprintf.c: Likewise.
38578
38579 2007-05-28  Bruno Haible  <bruno@clisp.org>
38580
38581         * gnulib-tool (func_import): Remember the --with-tests command-line
38582         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
38583         Reported by Eric Blake.
38584
38585 2007-05-28  Bruno Haible  <bruno@clisp.org>
38586
38587         * modules/ftell-tests: New file.
38588         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
38589         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
38590
38591         * lib/ftell.c: New file.
38592         * modules/ftell: New file.
38593         * m4/ftell.m4: New file.
38594         * doc/functions/ftell.texi: Update.
38595         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
38596         REPLACE_FTELL.
38597         * lib/stdio_.h (rpl_ftell): New declaration.
38598         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
38599         REPLACE_FTELL.
38600
38601 2007-05-28  Eric Blake  <ebb9@byu.net>
38602
38603         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
38604
38605 2007-05-28  Bruno Haible  <bruno@clisp.org>
38606
38607         * modules/fseek-tests: New file.
38608         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
38609         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
38610
38611         * lib/fseek.c: New file.
38612         * modules/fseek: New file.
38613         * m4/fseek.m4: New file.
38614         * doc/functions/fseek.texi: Update.
38615         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
38616         REPLACE_FSEEK.
38617         * lib/stdio_.h (rpl_fseek): New declaration.
38618         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
38619         REPLACE_FSEEK.
38620
38621 2007-05-28  Bruno Haible  <bruno@clisp.org>
38622
38623         * lib/stdio_.h (fflush): More comments.
38624
38625 2007-05-28  Bruno Haible  <bruno@clisp.org>
38626
38627         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
38628         runtime test.
38629
38630 2007-05-28  Eric Blake  <ebb9@byu.net>
38631
38632         Improve lseek module.
38633         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
38634         * lib/unistd_.h (lseek): Scale back link warning message.
38635         * tests/test-lseek.c: Beef up test.
38636         * tests/test-lseek.sh: Exercise more facets of lseek.
38637         Reported by Bruno Haible.
38638
38639 2007-05-28  Bruno Haible  <bruno@clisp.org>
38640
38641         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
38642         to define.
38643
38644 2007-05-27  Bruno Haible  <bruno@clisp.org>
38645
38646         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
38647
38648 2007-05-27  Bruno Haible  <bruno@clisp.org>
38649
38650         * modules/openmp: New file.
38651         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
38652         Noah Misch.
38653
38654 2007-05-26  Bruno Haible  <bruno@clisp.org>
38655
38656         * modules/chdir-long (Depends-on): Add fchdir.
38657         * modules/chdir-safer (Depends-on): Likewise.
38658         * modules/fts (Depends-on): Likewise.
38659         * modules/fts-lgpl (Depends-on): Likewise.
38660         * modules/openat (Depends-on): Likewise.
38661         * modules/savewd (Depends-on): Likewise.
38662
38663 2007-05-24  Eric Blake  <ebb9@byu.net>
38664
38665         Fix lseek on mingw.
38666         * modules/lseek: New module.
38667         * m4/lseek.m4: New file.
38668         * lib/lseek.c: New file.
38669         * modules/lseek-tests: New file.
38670         * tests/test-lseek.c: New file.
38671         * tests/test-lseek.sh: New file.
38672         * MODULES.html.sh: Document lseek module.
38673         * modules/fflush (Depends-on): Add lseek, fseeko.
38674         * modules/fseeko (Depends-on): Likewise.
38675         * modules/ftello (Depends-on): Likewise.
38676         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
38677         broken.
38678         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
38679         broken.
38680         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
38681         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
38682         * lib/ftello.c (rpl_ftello): Likewise.
38683         * tests/test-fseeko.c (main): Test this.
38684         * tests/test-fseeko.sh: Likewise.
38685         * tests/test-ftello.c (main): Likewise.
38686         * tests/test-ftello.sh: Likewise.
38687         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
38688         implies replacing fseek.
38689         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
38690         HAVE_FTELLO.
38691         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
38692         * modules/unistd (Makefile.am): Likewise.
38693         * lib/unistd_.h (lseek): Declare a replacement.
38694         * doc/functions/lseek.texi (lseek): Document this fix.
38695         * doc/functions/fseek.texi (fseek): Likewise.
38696         * doc/functions/ftell.texi (ftell): Likewise.
38697
38698 2007-05-24  Bruno Haible  <bruno@clisp.org>
38699
38700         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
38701         in the printed representation of a NaN.
38702         * tests/test-vasprintf-posix.c (test_function): Likewise.
38703         * tests/test-snprintf-posix.h (test_function): Likewise.
38704         * tests/test-sprintf-posix.h (test_function): Likewise.
38705         Reported by Eric Blake.
38706
38707 2007-05-23  Eric Blake  <ebb9@byu.net>
38708
38709         Fix fseeko/ftello on cygwin 1.5.24.
38710         * doc/functions/fseeko.texi (fseeko): Document the fix.
38711         * doc/functions/ftello.texi (ftello): Document the fix.
38712         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
38713         * doc/functions/stdout.text (stdout): New file.
38714         * doc/functions/stderr.text (stderr): New file.
38715         * doc/gnulib.texi (Function Substitutes): Use new files.
38716         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
38717         prior to 1.7.0.
38718         * tests/test-ftello.c (main): Likewise for ftello.
38719         * tests/test-fseeko.sh: New file.
38720         * tests/test-ftello.sh: New file.
38721         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
38722         with seekable stdin.
38723         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
38724         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
38725         (gl_REPLACE_FSEEKO): New macro.
38726         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
38727         * modules/fseeko (Files): Distribute fseeko.c.
38728         * modules/ftello (Files): Distribute ftello.c.
38729         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
38730         mode.
38731         * lib/ftello.c (rpl_ftello): New file.
38732         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
38733         fseeko, ftello.
38734         (gl_STDIN_LARGE_OFFSET): New macro.
38735         * modules/stdio (Makefile.am): Perform the replacement.
38736         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
38737
38738 2007-05-23  Bruno Haible  <bruno@clisp.org>
38739
38740         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
38741         GNULIB_POSIXCHECK is defined.
38742
38743 2007-05-21  Bruno Haible  <bruno@clisp.org>
38744
38745         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
38746         Check also the output for NaN arguments. When cross-compiling, guess
38747         no on IRIX.
38748         * lib/vasnprintf.c: Update comments.
38749         * tests/test-vasnprintf-posix.c (strisnan): New function.
38750         (test_function): Use it.
38751         * tests/test-vasprintf-posix.c (strisnan): New function.
38752         (test_function): Use it.
38753         * tests/test-snprintf-posix.h (strisnan): New function.
38754         (test_function): Use it.
38755         * tests/test-sprintf-posix.h (strisnan): New function.
38756         (test_function): Use it.
38757         Reported by Eric Blake.
38758
38759 2007-05-20  Bruno Haible  <bruno@clisp.org>
38760
38761         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
38762         numbers that fails on BeOS.
38763         * doc/functions/frexpl.texi: Update.
38764
38765 2007-05-20  Jim Meyering  <jim@meyering.net>
38766
38767         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
38768         forced upon us by glibc-2.6.
38769
38770 2007-05-20  Bruno Haible  <bruno@clisp.org>
38771
38772         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
38773         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
38774         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
38775         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
38776         NEED_PRINTF_INFINITE.
38777         (is_infinitel): New function.
38778         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
38779         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
38780         gl_PREREQ_VASNPRINTF_INFINITE.
38781         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
38782         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38783         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
38784         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
38785         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
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-20  Bruno Haible  <bruno@clisp.org>
38804
38805         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
38806         was not found in libc.
38807         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
38808
38809 2007-05-20  Bruno Haible  <bruno@clisp.org>
38810
38811         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
38812         printed as "-nan" instead of "nan".
38813         * tests/test-vasprintf-posix.c (test_function): Likewise.
38814         * tests/test-snprintf-posix.h (test_function): Likewise.
38815         * tests/test-sprintf-posix.h (test_function): Likewise.
38816         Needed for HP-UX 11.
38817
38818 2007-05-20  Jim Meyering  <jim@meyering.net>
38819
38820         Fix buggy test for the fchownat-deref bug.
38821         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
38822         symlink required for the run-test.  Without it, this test would
38823         always declare that fchownat doesn't work, and client code would
38824         unnecessarily use the replacement function with fixed libc.
38825         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
38826         Reported by Greg Schafer.
38827
38828 2007-05-19  Bruno Haible  <bruno@clisp.org>
38829
38830         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
38831         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
38832         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
38833         Needed for IRIX 6.5 and Solaris 2.5.1.
38834
38835 2007-05-19  Bruno Haible  <bruno@clisp.org>
38836
38837         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
38838         (test_function): Skip tests involving -0.0 on platforms where
38839         -0.0 = 0.0.
38840         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
38841         (test_function): Skip tests involving -0.0 on platforms where
38842         -0.0 = 0.0.
38843         * tests/test-snprintf-posix.h (have_minus_zero): New function.
38844         (test_function): Skip tests involving -0.0 on platforms where
38845         -0.0 = 0.0.
38846         * tests/test-sprintf-posix.h (have_minus_zero): New function.
38847         (test_function): Skip tests involving -0.0 on platforms where
38848         -0.0 = 0.0.
38849         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
38850         tests.
38851         * tests/test-printf-posix.h (test_function): Likewise.
38852         * tests/test-printf-posix.output: Remove all -0.0 related results.
38853         Needed for IRIX 6.5.
38854
38855 2007-05-19  Bruno Haible  <bruno@clisp.org>
38856
38857         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
38858         printed as "nan0x7fffffff" instead of "nan".
38859         * tests/test-vasprintf-posix.c (test_function): Likewise.
38860         * tests/test-snprintf-posix.h (test_function): Likewise.
38861         * tests/test-sprintf-posix.h (test_function): Likewise.
38862         * tests/test-fprintf-posix.h (NaN): Remove macro.
38863         (test_function): Remove all NaN related tests.
38864         * tests/test-printf-posix.h (NaN): Remove macro.
38865         (test_function): Remove all NaN related tests.
38866         * tests/test-printf-posix.output: Remove all NaN related results.
38867         Needed for IRIX 6.5.
38868
38869 2007-05-19  Bruno Haible  <bruno@clisp.org>
38870
38871         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
38872         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
38873
38874 2007-05-19  Bruno Haible  <bruno@clisp.org>
38875
38876         * lib/float_.h: New file.
38877         * m4/float_h.m4: New file.
38878         * modules/float: New file.
38879         * modules/isnanl (Dependencies): Add float.
38880         * modules/isnanl-nolibm (Dependencies): Likewise.
38881         * modules/mathl (Dependencies): Likewise.
38882         * modules/printf-frexpl (Dependencies): Likewise.
38883         * modules/signbit (Dependencies): Likewise.
38884         * modules/vasnprintf (Dependencies): Likewise.
38885         * doc/headers/float.texi: Update.
38886
38887 2007-05-19  Jim Meyering  <jim@meyering.net>
38888
38889         * lib/utimens.c (gl_futimens): Rename from futimens,
38890         now that glibc-2.6 declares futimens.
38891         * lib/utimens.h: Likewise.
38892
38893 2007-05-19  Bruno Haible  <bruno@clisp.org>
38894
38895         Avoid test failures on mingw.
38896         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
38897         * tests/test-printf-posix.sh: Likewise.
38898         * tests/test-vfprintf-posix.sh: Likewise.
38899         * tests/test-vprintf-posix.sh: Likewise.
38900
38901 2007-05-19  Bruno Haible  <bruno@clisp.org>
38902
38903         Fix *printf result for NaN, Inf, -0.0 on mingw.
38904         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
38905         * lib/vasnprintf.c: Include math.h and isnan.h.
38906         (is_infinite_or_zero): New function.
38907         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
38908         values in the %f, %F, %e, %E, %g, %G directives.
38909         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
38910         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38911         gl_PRINTF_INFINITE and test its result. Invoke
38912         gl_PREREQ_VASNPRINTF_INFINITE.
38913         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38914         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38915         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38916         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38917         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38918         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38919         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38920         * doc/functions/fprintf.texi: Update.
38921         * doc/functions/printf.texi: Update.
38922         * doc/functions/snprintf.texi: Update.
38923         * doc/functions/sprintf.texi: Update.
38924         * doc/functions/vfprintf.texi: Update.
38925         * doc/functions/vprintf.texi: Update.
38926         * doc/functions/vsnprintf.texi: Update.
38927         * doc/functions/vsprintf.texi: Update.
38928
38929 2007-05-19  Bruno Haible  <bruno@clisp.org>
38930
38931         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
38932         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
38933         Instead of multiplying with 10^k, set extra_zeroes to k.
38934         (scale10_round_long_double): Remove function.
38935
38936 2007-05-18  Bruno Haible  <bruno@clisp.org>
38937
38938         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
38939         introduced on 2007-05-06.
38940
38941 2007-05-18  Bruno Haible  <bruno@clisp.org>
38942
38943         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
38944         %g directives.
38945         * tests/test-vasprintf-posix.c (test_function): Likewise.
38946         * tests/test-snprintf-posix.h (test_function): Likewise.
38947         * tests/test-sprintf-posix.h (test_function): Likewise.
38948
38949 2007-05-18  Bruno Haible  <bruno@clisp.org>
38950
38951         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
38952         (strmatch): New function.
38953         (test_function): Test the %f directive on numbers of various exponents.
38954         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
38955         (strmatch): New function.
38956         (test_function): Test the %f directive on numbers of various exponents.
38957         * tests/test-snprintf-posix.h (strmatch): New function.
38958         (test_function): Test the %f directive on numbers of various exponents.
38959         * tests/test-sprintf-posix.h (strmatch): New function.
38960         (test_function): Test the %f directive on numbers of various exponents.
38961         * tests/test-snprintf-posix.c (SIZEOF): New macro.
38962         * tests/test-sprintf-posix.c (SIZEOF): New macro.
38963         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
38964         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
38965
38966 2007-05-18  Bruno Haible  <bruno@clisp.org>
38967
38968         Add support for 'long double' number output.
38969         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
38970         * lib/vasnprintf.c: Include math.h and float+.h.
38971         (mp_limb_t): New type.
38972         (GMP_LIMB_BITS): New macro.
38973         (mp_twolimb_t): New type.
38974         (GMP_TWOLIMB_BITS): New macro.
38975         (mpn_t): New type.
38976         (multiply, divide, convert_to_decimal, decode_long_double,
38977         scale10_round_long_double, scale10_round_decimal_long_double,
38978         floorlog10l): New functions.
38979         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
38980         for the %f, %F, %e, %E, %g, %G directives.
38981         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
38982         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38983         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
38984         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
38985         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38986         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38987         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38988         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38989         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38990         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38991         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38992         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
38993         * modules/snprintf-posix (Depends-on): Likewise.
38994         * modules/sprintf-posix (Depends-on): Likewise.
38995         * modules/vasnprintf-posix (Depends-on): Likewise.
38996         * modules/vasprintf-posix (Depends-on): Likewise.
38997         * modules/vfprintf-posix (Depends-on): Likewise.
38998         * modules/vsnprintf-posix (Depends-on): Likewise.
38999         * modules/vsprintf-posix (Depends-on): Likewise.
39000         * modules/vasnprintf (Files): Add lib/float+.h.
39001         * doc/functions/fprintf.texi: Update.
39002         * doc/functions/printf.texi: Update.
39003         * doc/functions/snprintf.texi: Update.
39004         * doc/functions/sprintf.texi: Update.
39005         * doc/functions/vfprintf.texi: Update.
39006         * doc/functions/vprintf.texi: Update.
39007         * doc/functions/vsnprintf.texi: Update.
39008         * doc/functions/vsprintf.texi: Update.
39009
39010 2007-05-18  Bruno Haible  <bruno@clisp.org>
39011
39012         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
39013
39014 2007-05-18  Bruno Haible  <bruno@clisp.org>
39015
39016         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
39017         for printing 64-bit integers. Needed for mingw.
39018
39019 2007-05-18  Bruno Haible  <bruno@clisp.org>
39020
39021         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
39022         gl_FUNC_FREXPL_WORKS.
39023         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
39024
39025 2007-05-18  Bruno Haible  <bruno@clisp.org>
39026
39027         * modules/frexpl-nolibm-tests: New file.
39028
39029         * modules/frexpl-nolibm: New file.
39030         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
39031
39032 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
39033
39034         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
39035         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
39036         GCC 4.2, which otherwise issues a lot of warnings.
39037         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
39038         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
39039         Likewise.
39040         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
39041         * modules/iconv_open (iconv.h): Likewise.
39042         * modules/locale (locale.h): Likewise.
39043         * modules/netinet_in (netinet/in.h): Likewise.
39044         * modules/sys_select (sys_select.h): Likewise.
39045         * modules/sys_socket (sys/socket.h): Likewise.
39046         * modules/sys_stat (sys/stat.h): Likewise.
39047         * modules/sysexits (sysexits.h): Likewise.
39048         * modules/unistd (unistd.h): Likewise.
39049
39050 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39051
39052         * modules/closein-tests (Makefile.am): Distribute
39053         `test-closein.sh'.
39054
39055 2007-05-17  Bruno Haible  <bruno@clisp.org>
39056
39057         * tests/test-printf-posix.output: Renamed from
39058         tests/test-fprintf-posix.out.
39059         * modules/fprintf-posix-tests: Update.
39060         * modules/printf-posix-tests: Update.
39061         * modules/vfprintf-posix-tests: Update.
39062         * modules/vprintf-posix-tests: Update.
39063         * tests/test-fprintf-posix.sh: Update.
39064         * tests/test-printf-posix.sh: Update.
39065         * tests/test-vfprintf-posix.sh: Update.
39066         * tests/test-vprintf-posix.sh: Update.
39067         Reported by Ralf Wildenhues.
39068
39069 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
39070
39071         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
39072         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
39073         GCC 4.2, which otherwise issues a lot of warnings.
39074         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
39075         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
39076         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
39077         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
39078         it should no longer be needed.
39079         * lib/string_.h: Likewise.
39080         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
39081         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
39082         * modules/inttypes (inttypes.h): Likewise.
39083         * modules/math (math.h): Likewise.
39084         * modules/search (search.h): Likewise.
39085         * modules/signal (signal.h): Likewise.
39086         * modules/stdint (stdint.h): Likewise.
39087         * modules/stdio (stdio.h): Likewise.
39088         * modules/stdlib (stdlib.h): Likewise.
39089         * modules/string (string.h): Likewise.
39090         * modules/sys_time (sys/time.h): Likewise.
39091         * modules/time (time.h): Likewise.
39092         * modules/wchar (wchar.h): Likewise.
39093         * modules/wctype (wtype.h): Likewise.
39094
39095 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
39096
39097         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
39098
39099 2007-05-13  Bruno Haible  <bruno@clisp.org>
39100
39101         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
39102         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
39103         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
39104         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
39105         (gl_PREREQ_STRTOK_R): Don't require it here.
39106
39107 2007-05-13  Bruno Haible  <bruno@clisp.org>
39108
39109         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
39110         when used in C++ mode.
39111
39112 2007-05-12  Bruno Haible  <bruno@clisp.org>
39113
39114         * lib/linebuffer.h: Tweak doc.
39115         * lib/linebuffer.c: Likewise.
39116
39117 2007-05-12  James Youngman  <jay@gnu.org>
39118
39119         * lib/linebuffer.c (readlinebuffer_delim): New function,
39120         like readlinebuffer, but use a caller-specified delimiter.
39121         (readlinebuffer): Just call readlinebuffer_delim with '\n'
39122         as the delimiter.
39123         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
39124
39125 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
39126
39127         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
39128         * modules/openat (Files): Remove openat-die.c.
39129         (Depends-on): Add openat-die.
39130         * modules/openat-die: New module.
39131
39132 2007-05-06  Bruno Haible  <bruno@clisp.org>
39133
39134         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
39135         Update with info about Cygwin.
39136         * doc/functions/fprintf.texi: Update.
39137         * doc/functions/printf.texi: Update.
39138         * doc/functions/snprintf.texi: Update.
39139         * doc/functions/sprintf.texi: Update.
39140         * doc/functions/vfprintf.texi: Update.
39141         * doc/functions/vprintf.texi: Update.
39142         * doc/functions/vsnprintf.texi: Update.
39143         * doc/functions/vsprintf.texi: Update.
39144         Reported by Eric Blake.
39145
39146 2007-05-06  Bruno Haible  <bruno@clisp.org>
39147
39148         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
39149         padding ourselves for the floating-point directives.
39150         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
39151         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
39152         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39153         gl_PRINTF_FLAG_ZERO and test its result. Invoke
39154         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
39155         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39156         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
39157         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39158         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39159         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39160         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39161         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39162         * tests/test-snprintf-posix.h (test_function): Also check the width
39163         and some flags in the %f directive.
39164         * tests/test-sprintf-posix.h (test_function): Likewise.
39165         * tests/test-vasnprintf-posix.c (test_function): Likewise.
39166         * tests/test-vasprintf-posix.c (test_function): Likewise.
39167         * doc/functions/fprintf.texi: Update.
39168         * doc/functions/printf.texi: Update.
39169         * doc/functions/snprintf.texi: Update.
39170         * doc/functions/sprintf.texi: Update.
39171         * doc/functions/vfprintf.texi: Update.
39172         * doc/functions/vprintf.texi: Update.
39173         * doc/functions/vsnprintf.texi: Update.
39174         * doc/functions/vsprintf.texi: Update.
39175
39176 2007-05-06  Bruno Haible  <bruno@clisp.org>
39177
39178         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
39179         pass the ' flag character to sprintf or snprintf.
39180         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
39181         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
39182         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39183         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
39184         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
39185         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
39186         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
39187         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
39188         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
39189         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
39190         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39191         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
39192         * tests/test-snprintf-posix.h (test_function): Also check the grouping
39193         flag.
39194         * tests/test-sprintf-posix.h (test_function): Likewise.
39195         * tests/test-vasnprintf-posix.c (test_function): Likewise.
39196         * tests/test-vasprintf-posix.c (test_function): Likewise.
39197         * doc/functions/fprintf.texi: Update.
39198         * doc/functions/printf.texi: Update.
39199         * doc/functions/snprintf.texi: Update.
39200         * doc/functions/sprintf.texi: Update.
39201         * doc/functions/vfprintf.texi: Update.
39202         * doc/functions/vprintf.texi: Update.
39203         * doc/functions/vsnprintf.texi: Update.
39204         * doc/functions/vsprintf.texi: Update.
39205
39206 2007-05-01  Bruno Haible  <bruno@clisp.org>
39207
39208         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
39209
39210 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
39211
39212         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
39213         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
39214
39215 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39216
39217         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
39218         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
39219         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
39220
39221 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
39222
39223         * lib/argp-help.c (struct hol_entry): New member `ord'.
39224         (HOL_ENTRY_PTRCMP): Use ord for comparison
39225         (hol_sort): Initialize ord.
39226
39227 2007-05-01  Bruno Haible  <bruno@clisp.org>
39228
39229         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
39230         Reported by Eric Blake.
39231         * doc/gnulib.texi (Function Substitutes): Update.
39232
39233 2007-05-01  Bruno Haible  <bruno@clisp.org>
39234
39235         * doc/functions.texi: Remove file, now redundant through
39236         doc/functions/*.texi.
39237
39238 2007-05-01  Bruno Haible  <bruno@clisp.org>
39239
39240         * modules/argp (Depends-on): Add sleep.
39241
39242 2007-05-01  Bruno Haible  <bruno@clisp.org>
39243
39244         * modules/sleep-tests: New file.
39245         * tests/test-sleep.c: New file.
39246
39247         * modules/sleep: New file.
39248         * lib/sleep.c: New file.
39249         * m4/sleep.m4: New file.
39250         * lib/unistd_.h (sleep): New declaration.
39251         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
39252         HAVE_SLEEP.
39253         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
39254         * doc/functions/sleep.texi: Document the sleep module.
39255
39256 2007-05-01  Bruno Haible  <bruno@clisp.org>
39257
39258         * lib/sigprocmask.h: Remove file.
39259         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
39260         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
39261         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
39262         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
39263         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
39264         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
39265         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
39266         HAVE_SIGSET_T as a shell variable.
39267         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
39268         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
39269         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
39270         (Depends-on): Add signal. Remove verify.
39271         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
39272         (Include): Mention <signal.h> instead of sigprocmask.h.
39273         * NEWS: Mention the change.
39274         * lib/fatal-signal.c: Don't include sigprocmask.h.
39275
39276 2007-05-01  Bruno Haible  <bruno@clisp.org>
39277
39278         * modules/signal: New file.
39279         * lib/signal_.h: New file.
39280         * m4/signal_h.m4: New file.
39281
39282 2007-05-01  Bruno Haible  <bruno@clisp.org>
39283
39284         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
39285         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
39286         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
39287         HAVE_WCTYPE_CTMP_BUG into wctype.h.
39288
39289 2007-05-01  Bruno Haible  <bruno@clisp.org>
39290
39291         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
39292         configure time.
39293         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
39294         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
39295         * modules/sys_stat (Makefile.am): Substitute their values into
39296         sys/stat.h.
39297
39298 2007-05-01  Bruno Haible  <bruno@clisp.org>
39299
39300         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
39301         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
39302         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
39303
39304 2007-05-01  Bruno Haible  <bruno@clisp.org>
39305
39306         * doc/header/assert.texi: Undo last change: don't mention the gnulib
39307         'assert' module here.
39308
39309 2007-05-01  Bruno Haible  <bruno@clisp.org>
39310
39311         * doc/functions/*.texi: New files.
39312         * doc/functions/google-ranking.txt: New file.
39313         * doc/gnulib.texi (Function Substitutes): New chapter.
39314         (ctime, inet_ntoa): Remove sections.
39315         * doc/ctime.texi: Remove file.
39316         * doc/inet_ntoa.texi: Remove file.
39317         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
39318         dependencies.
39319         (%.info): New rule, specifying a --reference-limit.
39320
39321 2007-05-01  Bruno Haible  <bruno@clisp.org>
39322
39323         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
39324
39325 2007-05-01  Bruno Haible  <bruno@clisp.org>
39326
39327         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
39328         the portability of 'mkdir' to mingw systems.
39329
39330 2007-05-01  Bruno Haible  <bruno@clisp.org>
39331
39332         * doc/headers/google-ranking.txt: New file.
39333
39334 2007-04-30  Eric Blake  <ebb9@byu.net>
39335
39336         Prefer fseeko to fseek.
39337         * modules/getpass (Depends-on): Add fseeko.
39338         * lib/getpass.c (getpass): Use fseeko, not fseek.
39339
39340 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
39341
39342         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
39343         assumes the sorting is stable, while most qsort implementations
39344         are not.  Use argument addresses to ensure they never compare as
39345         equal.
39346
39347         * tests/test-argp-2.sh (usage-indent test): Fix output
39348         (func_compare): Restore diff options
39349         * tests/test-argp.c: Restore #include "progname.h"
39350
39351 2007-04-29  Bruno Haible  <bruno@clisp.org>
39352
39353         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
39354         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39355         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
39356         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
39357         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
39358         (configure.ac): Define CHECK_SNPRINTF_POSIX.
39359         (TESTS, check_PROGRAMS): Add test-snprintf.
39360         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
39361         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
39362         (TESTS, check_PROGRAMS): Add test-vsnprintf.
39363         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
39364         assertions that fail on HP-UX, OSF/1, or IRIX.
39365         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
39366
39367 2007-04-29  Bruno Haible  <bruno@clisp.org>
39368
39369         * MODULES.html.sh (posix_functions): Remove 'contents'.
39370
39371 2007-04-29  Karl Berry  <karl@gnu.org>
39372
39373         * config/srclist.txt (gendocs_template_min): new entry.
39374
39375 2007-04-29  Bruno Haible  <bruno@clisp.org>
39376
39377         Work around fpurge bug on BSD systems.
39378         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
39379         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
39380         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
39381         fpurge to rpl_fpurge if the system already has this function.
39382         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
39383         the case where the system already has this function. Correct invariants
39384         on BSD systems.
39385         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
39386         BSD systems.
39387
39388 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
39389
39390         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
39391         proposed by Sven Verdoolaege.
39392
39393         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
39394         options.
39395         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
39396         (usage and help tests): Update
39397
39398 2007-04-29  Bruno Haible  <bruno@clisp.org>
39399
39400         * tests/test-fflush.c (main): Use a file of size 17, not 10.
39401         Print more information in case of failure. Disable a test on BeOS.
39402
39403 2007-04-29  Bruno Haible  <bruno@clisp.org>
39404
39405         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
39406         This helps debugging on systems on which no gdb is available.
39407
39408 2007-04-29  Bruno Haible  <bruno@clisp.org>
39409
39410         * lib/freading.h: Improve comments.
39411         * lib/fwriting.h: Likewise.
39412         * tests/test-freading.c (main): Don't check freading immediately after
39413         repositioning. Needed for glibc.
39414
39415 2007-04-29  Bruno Haible  <bruno@clisp.org>
39416
39417         * lib/freading.c (freading): Trivial simplification.
39418
39419 2007-04-28  Bruno Haible  <bruno@clisp.org>
39420
39421         * tests/test-fwriting.c (main): Also test the interaction between
39422         fflush and fwriting.
39423         * modules/fwriting-tests (Depends-on): Add fflush.
39424
39425         * tests/test-freading.c (main): Also test the interaction between
39426         fflush and freading.
39427         * modules/freading-tests (Depends-on): Add fflush.
39428
39429 2007-04-28  Bruno Haible  <bruno@clisp.org>
39430
39431         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
39432         fseeko and ftello.
39433         Suggested by Eric Blake.
39434
39435 2007-04-28  Jim Meyering  <jim@meyering.net>
39436
39437         Avoid false-negative in gl_STDINT_H's C99 conformance test.
39438         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
39439         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
39440
39441 2007-04-27  Eric Blake  <ebb9@byu.net>
39442
39443         * doc/headers/assert.texi (assert.h): Document assert module use.
39444
39445 2007-04-27  Bruno Haible  <bruno@clisp.org>
39446
39447         * doc/headers/*.texi: New files.
39448         * doc/gnulib.texi (Header File Substitutes): New chapter.
39449         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
39450         dependencies.
39451         (standards.info ,standards.html, standards.dvi): Update dependencies.
39452         (mostlyclean, clean): New targets.
39453
39454 2007-04-27  Bruno Haible  <bruno@clisp.org>
39455
39456         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
39457         * modules/sysexits (Files, Makefile.am): Update.
39458
39459         * lib/sys_socket_.h: Renamed from lib/socket_.h.
39460         * modules/sys_socket (Files, Makefile.am): Update.
39461
39462         * lib/sys_stat_.h: Renamed from lib/stat_.h.
39463         * modules/sys_stat (Files, Makefile.am): Update.
39464
39465 2007-04-27  Eric Blake  <ebb9@byu.net>
39466
39467         * lib/freading.h: Improve comments.
39468         * lib/fwriting.h: Likewise.
39469         * lib/fflush.c: Likewise.
39470
39471         Fix closein for mingw.
39472         * modules/closein-tests: Add tests for closein.
39473         * tests/test-closein.c: New file.
39474         * tests/test-closein.sh: Likewise.
39475         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
39476         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
39477
39478 2007-04-27  Bruno Haible  <bruno@clisp.org>
39479
39480         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
39481         version is < 6.
39482         * lib/math_.h [__DECC]: Likewise.
39483         * lib/stdio_.h [__DECC]: Likewise.
39484         * lib/stdlib_.h [__DECC]: Likewise.
39485         * lib/string_.h [__DECC]: Likewise.
39486         * lib/time_.h [__DECC]: Likewise.
39487         * lib/wchar_.h [__DECC]: Likewise.
39488         * lib/wctype_.h [__DECC]: Likewise.
39489
39490 2007-04-27  Bruno Haible  <bruno@clisp.org>
39491
39492         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
39493
39494 2007-04-27  Bruno Haible  <bruno@clisp.org>
39495
39496         * lib/fflush.c: Add comments.
39497         * modules/fpurge-tests (Depends-on): Add fflush.
39498         * modules/freadable-tests (Depends-on): Likewise.
39499         * modules/fwritable-tests (Depends-on): Likewise.
39500
39501 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
39502
39503         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
39504         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
39505         Report by Bruno Haible <bruno@clisp.org>.
39506
39507 2007-04-26  Eric Blake  <ebb9@byu.net>
39508
39509         Fix fflush on mingw.
39510         * modules/fflush (Depends-on): Add freading.
39511         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
39512         but unread data.
39513
39514 2007-04-26  Eric Blake  <ebb9@byu.net>
39515         and Bruno Haible  <bruno@clisp.org>
39516
39517         Implement freading and fwriting.
39518         * lib/freading.c: New file.
39519         * lib/freading.h: Likewise.
39520         * m4/freading.m4: Likewise.
39521         * modules/freading: Likewise.
39522         * modules/freading-tests: Likewise.
39523         * tests/test-freading.c: Likewise.
39524         * lib/fwriting.c: New file.
39525         * lib/fwriting.h: Likewise.
39526         * m4/fwriting.m4: Likewise.
39527         * modules/fwriting: Likewise.
39528         * modules/fwriting-tests: Likewise.
39529         * tests/test-fwriting.c: Likewise.
39530         * MODULES.html.sh (File stream based Input/Output): Mention them.
39531
39532 2007-04-26  Bruno Haible  <bruno@clisp.org>
39533
39534         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
39535         'long' when we assume it.
39536         Suggested by Eric Blake.
39537
39538 2007-04-26  Bruno Haible  <bruno@clisp.org>
39539
39540         Ensure fseeko, ftello are declared on glibc systems.
39541         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
39542         * modules/fseeko (configure.ac-early): Likewise.
39543         * modules/ftello (configure.ac-early): Likewise.
39544         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
39545         AC_FUNC_FSEEKO for this.
39546         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
39547         (gl_CHECK_FSEEKO): Remove macro.
39548
39549 2007-04-26  Bruno Haible  <bruno@clisp.org>
39550
39551         * tests/test-fflush.c (main): Also check the ftell result after
39552         fflush and fseek/fseeko.
39553         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
39554         file descriptor position cache in the stream.
39555         * lib/fseeko.c (rpl_fseeko): Likewise.
39556
39557 2007-04-26  Bruno Haible  <bruno@clisp.org>
39558
39559         * modules/fflush-tests (Depends-on): Add fseeko.
39560
39561 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
39562             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39563
39564         * lib/argz_.h: ensure error_t definition is obtained in same
39565         mechanism system argz.h would have.
39566         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
39567         argz facilities are known bad.  Err on the side of caution if
39568         cross-compiling.
39569
39570 2007-04-25  Eric Blake  <ebb9@byu.net>
39571
39572         * lib/fpurge.c (includes): Use stdlib.h for free.
39573         * tests/test-fflush.c (main): Also test fflush-fseeko.
39574
39575 2007-04-25  Bruno Haible  <bruno@clisp.org>
39576
39577         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
39578         * lib/fseeko.c: New file.
39579         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
39580         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
39581         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
39582         gl_FUNC_FSEEKO.
39583         (gl_FUNC_FSEEKO): Invoke it.
39584         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
39585         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
39586         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
39587
39588 2007-04-25  Bruno Haible  <bruno@clisp.org>
39589
39590         * modules/fflush (Depends-on): Add ftello.
39591
39592 2007-04-25  Bruno Haible  <bruno@clisp.org>
39593
39594         * modules/ftello-tests: New file.
39595         * tests/test-ftello.c: New file.
39596
39597         * modules/ftello: New file.
39598         * m4/ftello.m4: New file.
39599         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
39600         HAVE_FTELLO.
39601         * lib/stdio_.h (ftello): New declaration.
39602         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
39603         HAVE_FTELLO.
39604
39605 2007-04-25  Bruno Haible  <bruno@clisp.org>
39606
39607         * modules/fseeko-tests: New file.
39608         * tests/test-fseeko.c: New file.
39609
39610         * modules/fseeko: New file.
39611         * m4/fseeko.m4: New file.
39612         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
39613         HAVE_FSEEKO.
39614         * lib/stdio_.h (fseeko): New declaration.
39615         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
39616         HAVE_FSEEKO.
39617
39618 2007-04-25  Bruno Haible  <bruno@clisp.org>
39619
39620         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
39621
39622 2007-04-25  Bruno Haible  <bruno@clisp.org>
39623
39624         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
39625         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
39626         * tests/test-unistd.c: Likewise.
39627         * tests/test-fcntl.c: Likewise.
39628
39629 2007-04-23  Eric Blake  <ebb9@byu.net>
39630
39631         * lib/fflush.c: Fix missing include.
39632         Reported by Bruno Haible.
39633
39634 2007-04-23  Bruno Haible  <bruno@clisp.org>
39635
39636         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
39637         Reported by Eric Blake.
39638
39639 2007-04-23  Bruno Haible  <bruno@clisp.org>
39640
39641         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
39642
39643 2007-04-23  Bruno Haible  <bruno@clisp.org>
39644
39645         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
39646
39647 2007-04-23  Bruno Haible  <bruno@clisp.org>
39648
39649         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
39650         Needed on HP-UX 11.
39651
39652 2007-04-16  Eric Blake  <ebb9@byu.net>
39653
39654         Make fflush rely on fpurge.
39655         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
39656         open coding all variants.
39657         * modules/fflush (Depends-on): Add fpurge and unistd.
39658         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
39659         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
39660
39661         Fix --with-tests compilation on cygwin.
39662         * modules/argmatch-tests (Makefile.am): List gnulib library first
39663         in LDADD.
39664         * modules/argp-tests (Makefile.am): Likewise.
39665         * modules/array-list-tests (Makefile.am): Likewise.
39666         * modules/array-oset-tests (Makefile.am): Likewise.
39667         * modules/avltree-list-tests (Makefile.am): Likewise.
39668         * modules/avltree-oset-tests (Makefile.am): Likewise.
39669         * modules/avltreehash-list-tests (Makefile.am): Likewise.
39670         * modules/carray-list-tests (Makefile.am): Likewise.
39671         * modules/dirname-tests (Makefile.am): Likewise.
39672         * modules/frexp-tests (Makefile.am): Likewise.
39673         * modules/isnanl-tests (Makefile.am): Likewise.
39674         * modules/linked-list-tests (Makefile.am): Likewise.
39675         * modules/linkedhash-list-tests (Makefile.am): Likewise.
39676         * modules/lock-tests (Makefile.am): Likewise.
39677         * modules/rbtree-list-tests (Makefile.am): Likewise.
39678         * modules/rbtree-oset-tests (Makefile.am): Likewise.
39679         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
39680         * modules/tls-tests (Makefile.am): Likewise.
39681         * modules/tsearch-tests (Makefile.am): Likewise.
39682         * modules/xvasprintf-tests (Makefile.am): Likewise.
39683
39684         Fix fpurge for cygwin.
39685         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
39686         value.
39687         * modules/fpurge-tests (Depends-on): Clean up trash.
39688
39689 2007-04-16  Simon Josefsson  <simon@josefsson.org>
39690
39691         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
39692
39693         * m4/autobuild.m4: Re-indent.
39694
39695 2007-04-13  Bruno Haible  <bruno@clisp.org>
39696
39697         * modules/fpurge-tests: New file.
39698         * tests/test-fpurge.c: New file.
39699
39700         * modules/fpurge: New file.
39701         * lib/fpurge.h: New file.
39702         * lib/fpurge.c: New file.
39703         * m4/fpurge.m4: New file.
39704
39705 2007-04-13  Bruno Haible  <bruno@clisp.org>
39706
39707         * modules/fbufmode-tests: New file.
39708         * tests/test-fbufmode.c: New file.
39709
39710         * modules/fbufmode: New file.
39711         * lib/fbufmode.h: New file.
39712         * lib/fbufmode.c: New file.
39713         * m4/fbufmode.m4: New file.
39714
39715 2007-04-13  Bruno Haible  <bruno@clisp.org>
39716
39717         * modules/fwritable-tests: New file.
39718         * tests/test-fwritable.c: New file.
39719
39720         * modules/fwritable: New file.
39721         * lib/fwritable.h: New file.
39722         * lib/fwritable.c: New file.
39723         * m4/fwritable.m4: New file.
39724
39725 2007-04-13  Bruno Haible  <bruno@clisp.org>
39726
39727         * modules/freadable-tests: New file.
39728         * tests/test-freadable.c: New file.
39729
39730         * modules/freadable: New file.
39731         * lib/freadable.h: New file.
39732         * lib/freadable.c: New file.
39733         * m4/freadable.m4: New file.
39734
39735 2007-04-13  Bruno Haible  <bruno@clisp.org>
39736
39737         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
39738         MOSTLYCLEANFILES.
39739
39740 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
39741
39742         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
39743         gzip bootstrap.conf to avoid dragging in i18n machinery.
39744         (gnulib_tool_option): Use it.
39745
39746 2007-04-13  Bruno Haible  <bruno@clisp.org>
39747
39748         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
39749         %F directives.
39750         * tests/test-vasprintf-posix.c (test_function): Likewise.
39751         * tests/test-snprintf-posix.h (test_function): Likewise.
39752         * tests/test-sprintf-posix.h (test_function): Likewise.
39753         * tests/test-fprintf-posix.h (test_function): Likewise.
39754         * tests/test-printf-posix.h (test_function): Likewise.
39755         * tests/test-fprintf-posix.out: Likewise.
39756
39757 2007-04-13  Bruno Haible  <bruno@clisp.org>
39758
39759         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
39760         * modules/tls-tests (configure.ac): Likewise.
39761         Reported by Arto C. Nirkko <anirkko@insel.ch>.
39762
39763 2007-04-13  Bruno Haible  <bruno@clisp.org>
39764
39765         * lib/tls.c (glthread_tls_get): Fix return type.
39766         Patch by Arto C. Nirkko <anirkko@insel.ch>.
39767
39768 2007-04-12  Eric Blake  <ebb9@byu.net>
39769
39770         * modules/gettime (Depends-on): Remove gettime.
39771         Reported by Dmitry V. Levin.
39772
39773 2007-04-12  Bruno Haible  <bruno@clisp.org>
39774
39775         * modules/fflush (Include): Mention <stdio.h>.
39776         * modules/strtoimax (Include): Mention <inttypes.h>.
39777         * modules/strtoumax (Include): Likewise.
39778
39779 2007-04-12  Eric Blake  <ebb9@byu.net>
39780
39781         * .cvsignore: New file.
39782         * .gitignore: Likewise.
39783
39784 2007-04-12  Bruno Haible  <bruno@clisp.org>
39785
39786         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
39787         not before, since $(LDADD) often contains libgnu.a.
39788         * modules/striconv-tests (test_striconv_LDADD): Likewise.
39789         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
39790         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
39791         Needed on Cygwin.
39792
39793 2007-04-12  Eric Blake  <ebb9@byu.net>
39794
39795         Work around glibc's failure to flush stdin on fclose.
39796         * lib/closein.c (close_stdin): Flush stdin before closing.
39797
39798         Work around glibc's failure to reset seekable stdin on exit.
39799         * modules/closein: New module.
39800         * lib/closein.c: New file.
39801         * lib/closein.h: Likewise.
39802         * m4/closein.m4: Likewise.
39803         * MODULES.html.sh (File stream based Input/Output): Document it.
39804
39805 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39806
39807         * gnulib-tool: Rename generated 'autobuild' script to
39808         'do-autobuild' in --create-megatestdir output.
39809
39810         * doc/gnulib.texi (Build robot for gnulib): Fix.
39811
39812 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39813
39814         * modules/sysexits (Depends-on): Add absolute-header.
39815
39816 2007-04-12  Eric Blake  <ebb9@byu.net>
39817
39818         No need to preserve errno on success.
39819         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
39820         Reported by Bruno Haible.
39821
39822 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39823
39824         * MODULES.html.sh (Support for maintaining and releasing
39825         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
39826
39827 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39828
39829         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
39830
39831 2007-04-12  Simon Josefsson  <simon@josefsson.org>
39832
39833         * modules/autobuild: New module.
39834
39835         * m4/autobuild.m4: New file.
39836
39837 2007-04-11  Bruno Haible  <bruno@clisp.org>
39838
39839         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
39840         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
39841         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
39842         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
39843         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
39844         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39845         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39846         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
39847         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39848         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39849         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
39850         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39851         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39852         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
39853         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39854         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39855         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
39856         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39857         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39858         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
39859         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39860         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39861         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
39862         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39863         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39864         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
39865         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
39866         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
39867         Reported by Eric Blake.
39868
39869 2007-04-11  Bruno Haible  <bruno@clisp.org>
39870
39871         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
39872
39873 2007-04-10  Bruno Haible  <bruno@clisp.org>
39874
39875         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
39876         for NaN and Infinity. Needed on FreeBSD 6.1.
39877         * tests/test-vasnprintf-posix.c (test_function): Undo last change
39878         regarding results for "%010a" of Infinity and NaN.
39879         * tests/test-vasprintf-posix.c (test_function): Likewise.
39880         * tests/test-snprintf-posix.h (test_function): Likewise.
39881         * tests/test-sprintf-posix.h (test_function): Likewise.
39882         * tests/test-fprintf-posix.h (test_function): Likewise.
39883         * tests/test-printf-posix.h (test_function): Likewise.
39884         * tests/test-fprintf-posix.out: Likewise.
39885
39886 2007-04-10  Bruno Haible  <bruno@clisp.org>
39887
39888         * modules/locale-tests: New file.
39889         * tests/test-locale.c: New file.
39890
39891         * modules/locale: New file.
39892         * lib/locale_.h: New file.
39893         * m4/locale_h.m4: New file.
39894
39895 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
39896             Bruno Haible  <bruno@clisp.org>
39897
39898         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
39899         be determined, test for availability of the copysignf, copysign,
39900         copysignl functions.
39901         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
39902         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
39903         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
39904
39905 2007-04-09  Eric Blake  <ebb9@byu.net>
39906
39907         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
39908         * modules/stdio (Makefile.am): Support fflush.
39909         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39910         * modules/fflush: New file.
39911         * lib/fflush.c: Likewise.
39912         * m4/fflush.m4: Likewise.
39913         * modules/fflush-tests: New test.
39914         * tests/test-fflush.c: Likewise.
39915         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
39916
39917 2007-04-06  Bruno Haible  <bruno@clisp.org>
39918
39919         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
39920         (VASNPRINTF): Use signbit for faster determination whether to print a
39921         minus sign.
39922         * modules/vasnprintf (Files): Remove lib/float+.h.
39923         * modules/fprintf-posix (Depends-on): Add signbit.
39924         * modules/snprintf-posix (Depends-on): Likewise.
39925         * modules/sprintf-posix (Depends-on): Likewise.
39926         * modules/vasnprintf-posix (Depends-on): Likewise.
39927         * modules/vasprintf-posix (Depends-on): Likewise.
39928         * modules/vfprintf-posix (Depends-on): Likewise.
39929         * modules/vsnprintf-posix (Depends-on): Likewise.
39930         * modules/vsprintf-posix (Depends-on): Likewise.
39931
39932 2007-04-06  Bruno Haible  <bruno@clisp.org>
39933
39934         * tests/test-frexp.c (main): Test also the sign bit of zero results.
39935         * tests/test-frexpl.c (main): Likewise.
39936         * tests/test-ldexpl.c (main): Likewise.
39937         * modules/frexp-tests (Depends-on): Add signbit.
39938         * modules/frexpl-tests (Depdends-on): Likewise.
39939         * modules/ldexpl-tests (Depdends-on): Likewise.
39940
39941 2007-04-06  Bruno Haible  <bruno@clisp.org>
39942
39943         * modules/signbit-tests: New file.
39944         * tests/test-signbit.c: New file.
39945
39946         * modules/signbit: New file.
39947         * lib/signbitf.c: New file.
39948         * lib/signbitd.c: New file.
39949         * lib/signbitl.c: New file.
39950         * m4/signbit.m4: New file.
39951         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
39952         (signbit): New macro.
39953         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
39954         REPLACE_SIGNBIT.
39955         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
39956         REPLACE_FREXPL into math.h.
39957
39958 2007-04-06  Bruno Haible  <bruno@clisp.org>
39959
39960         * modules/isnanf-nolibm-tests: New file.
39961         * tests/test-isnanf.c: New file.
39962
39963         * modules/isnanf-nolibm: New file.
39964         * lib/isnanf.h: New file.
39965         * lib/isnanf.c: New file.
39966         * lib/isnan.c: Consider the USE_FLOAT macro.
39967         * m4/isnanf.m4: New file.
39968
39969 2007-04-06  Bruno Haible  <bruno@clisp.org>
39970
39971         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
39972         (Link): New section.
39973
39974         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
39975
39976 2007-04-06  Bruno Haible  <bruno@clisp.org>
39977
39978         Assume the 'long double' type.
39979         * m4/longdouble.m4: Remove file.
39980         * config/srclist.txt: Don't mention longdouble.m4.
39981         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
39982         * lib/float+.h: Likewise.
39983         * lib/frexp.c: Likewise.
39984         * lib/printf-args.h: Likewise.
39985         * lib/printf-args.c: Likewise.
39986         * lib/printf-frexp.c: Likewise.
39987         * lib/printf-parse.c: Likewise.
39988         * lib/vasnprintf.c: Likewise.
39989         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
39990         * m4/intl.m4: Likewise.
39991         * m4/isnanl.m4: Likewise.
39992         * m4/printf.m4: Likewise.
39993         * m4/printf-frexpl.m4: Likewise.
39994         * m4/vasnprintf.m4: Likewise.
39995         * modules/allocsa (Files): Remove m4/longdouble.m4.
39996         * modules/gettext (Files): Likewise.
39997         * modules/relocatable-prog-wrapper (Files): Likewise.
39998         * modules/vasnprintf (Files): Likewise.
39999         * modules/isnanl (Files): Likewise.
40000         (Include): Simplify.
40001         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
40002         (Include): Simplify.
40003         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
40004         (Include): Simplify.
40005         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
40006         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
40007         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
40008         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
40009         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
40010         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
40011         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
40012         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
40013         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
40014         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
40015         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
40016         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
40017         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
40018         * tests/test-isnanl.c: Likewise.
40019         * tests/test-snprintf-posix.h: Likewise.
40020         * tests/test-sprintf-posix.h: Likewise.
40021         * tests/test-vasnprintf-posix.c: Likewise.
40022         * tests/test-vasnprintf-posix2.c: Likewise.
40023         * tests/test-vasprintf-posix.c: Likewise.
40024
40025 2007-04-06  Bruno Haible  <bruno@clisp.org>
40026
40027         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
40028         * lib/math_.h [__DECC]: Include the overridden include file through
40029         #include_next, outside the double-inclusion guard.
40030         * lib/stdio_.h [__DECC]: Likewise.
40031         * lib/stdlib_.h [__DECC]: Likewise.
40032         * lib/string_.h [__DECC]: Likewise.
40033         * lib/time_.h [__DECC]: Likewise.
40034         * lib/wchar_.h [__DECC]: Likewise.
40035         * lib/wctype_.h [__DECC]: Likewise.
40036         * lib/inttypes_.h [__DECC]: Likewise.
40037         Reported by Albert Chin <china@thewrittenword.com> in
40038         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
40039
40040 2007-04-04  Eric Blake  <ebb9@byu.net>
40041
40042         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
40043         1.5.x.
40044
40045 2007-04-04  Bruno Haible  <bruno@clisp.org>
40046
40047         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
40048         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
40049
40050 2007-04-04  Bruno Haible  <bruno@clisp.org>
40051
40052         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
40053         results for "%010a" of Infinity and NaN.
40054         * tests/test-vasprintf-posix.c (test_function): Likewise.
40055         * tests/test-snprintf-posix.h (test_function): Likewise.
40056         * tests/test-sprintf-posix.h (test_function): Likewise.
40057         * tests/test-fprintf-posix.h (test_function): Remove these tests.
40058         * tests/test-printf-posix.h (test_function): Likewise.
40059         * tests/test-fprintf-posix.out: Update.
40060         Needed for FreeBSD 6.1.
40061
40062 2007-04-04  Bruno Haible  <bruno@clisp.org>
40063
40064         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
40065         directly used by the gnulib modules nor by gnulib-tool.
40066
40067 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
40068
40069         * DEPENDENCIES: Give overall description of version dependency
40070         desirability.  Use more-typical names for apps.
40071         Add shell, coreutils, diffutils, grep, tar, gzip.
40072
40073 2007-04-04  Simon Josefsson  <simon@josefsson.org>
40074
40075         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
40076
40077 2007-04-04  Karl Berry  <karl@gnu.org>
40078
40079         * MODULES.html.sh (func_module): missing '.
40080
40081 2007-04-03  Bruno Haible  <bruno@clisp.org>
40082
40083         * modules/argmatch-tests (Makefile.am): New variable
40084         test_argmatch_LDADD.
40085         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
40086         * modules/array-list-tests (Makefile.am): New variable
40087         test_array_list_LDADD.
40088         * modules/array-oset-tests (Makefile.am): New variable
40089         test_array_oset_LDADD.
40090         * modules/avltree-list-tests (Makefile.am): New variable
40091         test_avltree_list_LDADD.
40092         * modules/avltree-oset-tests (Makefile.am): New variable
40093         test_avltree_oset_LDADD.
40094         * modules/avltreehash-list-tests (Makefile.am): New variable
40095         test_avltreehash_list_LDADD.
40096         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
40097         test_canonicalize_lgpl_LDADD.
40098         * modules/carray-list-tests (Makefile.am): New variable
40099         test_carray_list_LDADD.
40100         * modules/dirname-tests (Makefile.am): New variable
40101         test_dirname_LDADD.
40102         * modules/linked-list-tests (Makefile.am): New variable
40103         test_linked_list_LDADD.
40104         * modules/linkedhash-list-tests (Makefile.am): New variable
40105         test_linkedhash_list_LDADD.
40106         * modules/rbtree-list-tests (Makefile.am): New variable
40107         test_rbtree_list_LDADD.
40108         * modules/rbtree-oset-tests (Makefile.am): New variable
40109         test_rbtree_oset_LDADD.
40110         * modules/rbtreehash-list-tests (Makefile.am): New variable
40111         test_rbtreehash_list_LDADD.
40112         * modules/xvasprintf-tests (Makefile.am): New variable
40113         test_xvasprintf_LDADD.
40114         Reported by Eric Blake.
40115
40116 2007-04-03  Eric Blake  <ebb9@byu.net>
40117
40118         * DEPENDENCIES: Weaken m4 requirements.
40119
40120 2007-04-03  Bruno Haible  <bruno@clisp.org>
40121
40122         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
40123         * modules/isnanl-tests (configure.ac): Likewise.
40124
40125 2007-04-03  Ben Pfaff  <blp@gnu.org>
40126
40127         * modules/iconv_open: Add $(srcdir)/ to source directory
40128         references in Makefile fragments that call gperf, to fix VPATH
40129         builds.
40130
40131 2007-04-03  Bruno Haible  <bruno@clisp.org>
40132
40133         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
40134         * lib/ldexpl.c: Undo last change.
40135
40136 2007-04-03  Bruno Haible  <bruno@clisp.org>
40137
40138         * modules/printf-frexpl (Depends-on): Undo last change.
40139         (Files): Add m4/ldexpl.m4.
40140
40141 2007-04-03  Bruno Haible  <bruno@clisp.org>
40142
40143         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
40144         * modules/isnanl (Link): New section.
40145
40146         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
40147         * modules/frexp (Link): New section.
40148
40149         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
40150         * modules/frexpl (Link): New section.
40151
40152         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
40153         * modules/ldexpl (Link): New section.
40154
40155 2007-04-03  Bruno Haible  <bruno@clisp.org>
40156
40157         * modules/TEMPLATE-EXTENDED: New file.
40158         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
40159
40160 2007-04-03  Bruno Haible  <bruno@clisp.org>
40161
40162         * DEPENDENCIES: New file.
40163         Suggested by Simon Josefsson.
40164
40165 2007-04-03  Bruno Haible  <bruno@clisp.org>
40166
40167         * doc/gnulib.texi: Escape @.
40168
40169 2007-04-03  James Youngman  <jay@gnu.org>
40170         and Paul Eggert  <eggert@cs.ucla.edu>
40171
40172         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
40173         birthtime on all systems that have birthtime, not just those which
40174         use st_birthtimensec rather than st_birthtim.  Putting zero in
40175         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
40176         that the birth time is not available for files on an NFS mount.
40177
40178 2007-04-03  Simon Josefsson  <simon@josefsson.org>
40179
40180         * modules/memxor: Move back from crypto/, suggested by Bruno.
40181         * modules/crypto/hmac-sha1: Fix memxor dependency.
40182
40183         * modules/crypto/gc: Moved from ../.
40184
40185 2007-04-02  Eric Blake  <ebb9@byu.net>
40186
40187         * lib/ldexpl.c (includes): Avoid libm.
40188
40189         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
40190
40191 2007-04-02  Bruno Haible  <bruno@clisp.org>
40192
40193         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
40194         on IRIX.
40195
40196 2007-04-02  Bruno Haible  <bruno@clisp.org>
40197
40198         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
40199         x86 or x86_64 platforms running MacOS X.
40200         Reported by Ryan Schmidt <@ryandesign.com>.
40201
40202 2007-04-02  Bruno Haible  <bruno@clisp.org>
40203
40204         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
40205         i386.
40206
40207 2007-04-01  Simon Josefsson  <simon@josefsson.org>
40208
40209         * modules/crypto/arcfour: Moved from ../.
40210         * modules/crypto/arcfour-tests: Moved from ../.
40211         * modules/crypto/arctwo: Moved from ../.
40212         * modules/crypto/arctwo-tests: Moved from ../.
40213         * modules/crypto/des: Moved from ../.
40214         * modules/crypto/des-tests: Moved from ../.
40215         * modules/crypto/gc-arcfour: Moved from ../.
40216         * modules/crypto/gc-arcfour-tests: Moved from ../.
40217         * modules/crypto/gc-arctwo: Moved from ../.
40218         * modules/crypto/gc-arctwo-tests: Moved from ../.
40219         * modules/crypto/gc-des: Moved from ../.
40220         * modules/crypto/gc-des-tests: Moved from ../.
40221         * modules/crypto/gc-hmac-md5: Moved from ../.
40222         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
40223         * modules/crypto/gc-hmac-sha1: Moved from ../.
40224         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
40225         * modules/crypto/gc-md2: Moved from ../.
40226         * modules/crypto/gc-md2-tests: Moved from ../.
40227         * modules/crypto/gc-md4: Moved from ../.
40228         * modules/crypto/gc-md4-tests: Moved from ../.
40229         * modules/crypto/gc-md5: Moved from ../.
40230         * modules/crypto/gc-md5-tests: Moved from ../.
40231         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
40232         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
40233         * modules/crypto/gc-random: Moved from ../.
40234         * modules/crypto/gc-rijndael: Moved from ../.
40235         * modules/crypto/gc-rijndael-tests: Moved from ../.
40236         * modules/crypto/gc-sha1: Moved from ../.
40237         * modules/crypto/gc-sha1-tests: Moved from ../.
40238         * modules/crypto/gc-tests: Moved from ../.
40239         * modules/crypto/hmac-md5: Moved from ../.
40240         * modules/crypto/hmac-md5-tests: Moved from ../.
40241         * modules/crypto/hmac-sha1: Moved from ../.
40242         * modules/crypto/hmac-sha1-tests: Moved from ../.
40243         * modules/crypto/md2: Moved from ../.
40244         * modules/crypto/md2-tests: Moved from ../.
40245         * modules/crypto/md4: Moved from ../.
40246         * modules/crypto/md4-tests: Moved from ../.
40247         * modules/crypto/md5: Moved from ../.
40248         * modules/crypto/md5-tests: Moved from ../.
40249         * modules/crypto/memxor: Moved from ../.
40250         * modules/crypto/rijndael: Moved from ../.
40251         * modules/crypto/rijndael-tests: Moved from ../.
40252         * modules/crypto/sha1: Moved from ../.
40253
40254 2007-03-30  James Youngman  <jay@gnu.org>
40255
40256         * tests/test-stat-time.c (prepare_test): use chmod() rather than
40257         rename() to change the ctime of a file (because ctime is unaffected
40258         by rename on jfs2 on AIX 5.1).
40259         (main): Start by doing cleanup, in case a previous run failed leaving
40260         test files behind.
40261
40262 2007-03-31  Bruno Haible  <bruno@clisp.org>
40263
40264         Support old proprietary implementations of iconv.
40265         * modules/iconv_open: New file.
40266         * lib/iconv_.h: New file.
40267         * m4/iconv_h.m4: New file.
40268         * lib/iconv_open.c: New file.
40269         * lib/iconv_open-aix.gperf: New file.
40270         * lib/iconv_open-hpux.gperf: New file.
40271         * lib/iconv_open-irix.gperf: New file.
40272         * lib/iconv_open-osf.gperf: New file.
40273         * m4/iconv_open.m4: New file.
40274         * modules/linebreak (Depends-on): Add iconv_open.
40275         * modules/striconv (Depends-on): Likewise.
40276         * modules/striconveh (Depends-on): Likewise.
40277         * modules/unicodeio (Depends-on): Likewise.
40278         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
40279         (iconv_t)(-1).
40280         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
40281         conversion if cd is (iconv_t)(-1).
40282         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
40283         is not possible.
40284
40285 2007-03-31  Bruno Haible  <bruno@clisp.org>
40286
40287         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
40288         work on Solaris either. Protect also second use of "autodetect_jp".
40289
40290 2007-03-31  Bruno Haible  <bruno@clisp.org>
40291
40292         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
40293         the function is not present.
40294
40295 2007-03-31  Bruno Haible  <bruno@clisp.org>
40296
40297         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
40298         the function is not present.
40299
40300 2007-03-31  Bruno Haible  <bruno@clisp.org>
40301
40302         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
40303         a bug in HP-UX iconv_open().
40304
40305 2007-03-31  Bruno Haible  <bruno@clisp.org>
40306
40307         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
40308         (Mathematics <math.h>): New section, add fpieee.
40309         (Input/output <stdio.h>): Add fseterr.
40310         (Mathematics <math.h>): New section, add printf-frexp.
40311         (Container data structures): Add sublist.
40312         (Core language properties): Add fpucw, inline.
40313         (Functions for greatest-width integer types <inttypes.h>): Add
40314         imaxabs, imaxdiv, inttypes.
40315         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
40316         isnanl-nolibm, ldexp.
40317         (Mathematics <math.h>): New section, add printf-frexpl.
40318         (Support for systems lacking POSIX:2001): Add fprintf-posix,
40319         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
40320         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
40321         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
40322         (Unicode string functions): Add unistr/u*-mbtoucr.
40323         (Java): Add javacomp-script, javaexec-script.
40324         (C#): Add csharpcomp-script, csharpexec-script.
40325         (Support for building libraries and executables): Add havelib,
40326         relocatable-*.
40327         (Support for maintaining and releasing projects): Renamed from
40328         'Support for maintaining and release projects'. Add announce-gen.
40329
40330 2007-03-31  Bruno Haible  <bruno@clisp.org>
40331
40332         * README: Talk primarily about git.
40333         (git and CVS): Renamed from CVS.
40334         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
40335         gnulib is available through git.
40336         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
40337
40338 2007-03-30  Bruno Haible  <bruno@clisp.org>
40339
40340         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
40341         * lib/poll_.h: Likewise.
40342         * lib/stat_.h: Likewise.
40343         * lib/sys_time_.h: Likewise.
40344         * lib/sysexit_.h: Likewise.
40345         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
40346         * lib/stdbool_.h: Likewise.
40347         * lib/byteswap_.h: Add double-inclusion guard.
40348
40349 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
40350
40351         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
40352
40353 2007-03-30  Karl Berry  <karl@gnu.org>
40354
40355         * config/srclist-update: double space after USA in the license
40356         substitution, since that's how it's usually (?) written.
40357
40358 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
40359
40360         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
40361         reported by Bruno Haible.
40362
40363 2007-03-29  Bruno Haible  <bruno@clisp.org>
40364
40365         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
40366         a bug in AIX iconv().
40367
40368 2007-03-29  Bruno Haible  <bruno@clisp.org>
40369
40370         * modules/ldexpl-tests: New file.
40371         * tests/test-ldexpl.c: New file.
40372
40373 2007-03-29  Bruno Haible  <bruno@clisp.org>
40374
40375         * lib/ldexpl.c: Include fpucw.h.
40376         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
40377         multiplication.
40378         * modules/ldexpl (Depends-on): Add fpucw.
40379
40380 2007-03-29  Bruno Haible  <bruno@clisp.org>
40381
40382         * modules/ldexpl: New file.
40383         * m4/ldexpl.m4: New file.
40384         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
40385         set.
40386         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
40387         REPLACE_LDEXPL.
40388         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
40389         REPLACE_LDEXPL.
40390         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
40391         gl_FUNC_LDEXPL_WORKS.
40392         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
40393         * modules/mathl (Files): Remove lib/ldexpl.c.
40394         (Depends-on): Add ldexpl.
40395
40396 2007-03-29  Bruno Haible  <bruno@clisp.org>
40397
40398         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
40399
40400 2007-03-29  Bruno Haible  <bruno@clisp.org>
40401
40402         * tests/test-striconveh.c (main): Don't assume that a direct conversion
40403         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
40404         and possibly also HP-UX.
40405         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
40406         work on AIX, IRIX, HP-UX, OSF/1.
40407         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
40408         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
40409         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
40410         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
40411         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
40412         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
40413
40414 2007-03-29  Bruno Haible  <bruno@clisp.org>
40415
40416         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
40417
40418 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
40419
40420         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
40421         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
40422
40423 2007-03-29  Eric Blake  <ebb9@byu.net>
40424
40425         * lib/acl-internal.h: Remove redundant include.
40426         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
40427         Cygwin when a file is locked.
40428
40429 2007-03-29  Bruno Haible  <bruno@clisp.org>
40430
40431         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
40432         file.
40433         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
40434
40435 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
40436
40437         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
40438         try to remove a parent directory if the child couldn't be removed
40439         (except for the first rmdir, which could fail because the child
40440         doesn't exist).  Problem reported by Jeff Blaine in
40441         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
40442
40443 2007-03-28  Bruno Haible  <bruno@clisp.org>
40444
40445         * lib/striconveh.c (utf8conv_carefully): New function.
40446         (mem_cd_iconveh_internal): Invoke it.
40447
40448 2007-03-28  Bruno Haible  <bruno@clisp.org>
40449
40450         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
40451         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
40452         input.
40453         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
40454         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
40455         unistr/u8-uctomb.
40456
40457 2007-03-28  Bruno Haible  <bruno@clisp.org>
40458
40459         * modules/unistr/u8-mbtoucr: New file.
40460         * lib/unistr/u8-mbtoucr.c: New file.
40461         * modules/unistr/u16-mbtoucr: New file.
40462         * lib/unistr/u16-mbtoucr.c: New file.
40463         * modules/unistr/u16-mbtoucr: New file.
40464         * lib/unistr/u16-mbtoucr.c: New file.
40465         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
40466
40467 2007-03-27  Simon Josefsson  <simon@josefsson.org>
40468             Bruno Haible  <bruno@clisp.org>
40469
40470         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
40471         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
40472         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
40473
40474         * m4/stdio_h.m4: Add stubs for vasprintf too.
40475
40476         * modules/stdio: Support vasprintf in sed command.
40477
40478         * modules/vasprintf: Depend on stdio for prototypes.  Remove
40479         vasprintf.h.  Add stdio module indicator.
40480
40481         * lib/stdio_.h: Declare asprintf and vasprintf, based on
40482         vasprintf.h.
40483
40484         * lib/vasprintf.h: File removed.
40485
40486         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
40487         * lib/vasprintf.c: Ditto.
40488         * lib/xvasprintf.c: Ditto.
40489         * tests/test-vasprintf-posix.c: Ditto.
40490         * tests/test-vasprintf.c: Ditto.
40491
40492 2007-03-27  Bruno Haible  <bruno@clisp.org>
40493
40494         Make vasnprintf multithread-safe.
40495         * lib/vasnprintf.c (decimal_point_char): New function.
40496         (VASNPRINTF): Use it.
40497         Suggested by Simon Josefsson.
40498
40499 2007-03-27  Eric Blake  <ebb9@byu.net>
40500
40501         Support sub-second birthtime on cygwin.
40502         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
40503         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
40504         (get_stat_birthtime): Also work with st_birthtim.
40505
40506 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
40507
40508         * lib/stat-time.h (USE_BIRTHTIME): Remove.
40509         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
40510         (get_stat_birthtime_ns): Do not try to use "spare" fields.
40511         (get_stat_birthtime_ns): Simplify compile-time tests.
40512         (get_stat_birthtime): Change the API to look like
40513         get_stat_mtime etc., except return a negative tv_nsec on error.
40514         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
40515         Don't check for "spare" fields.
40516         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
40517         or for struct stat.st_birthtime, as these tests aren't used.
40518         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
40519
40520 2007-03-27  Bruno Haible  <bruno@clisp.org>
40521
40522         * lib/stat-time.h: Include <sys/stat.h>.
40523
40524 2007-03-27  James Youngman  <jay@gnu.org>
40525
40526         * lib/stat-time.h (get_stat_birthtime): New function for
40527           retrieving st_birthtime as provided by UFS2 (hence *BSD).
40528         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
40529           and its variants.
40530         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
40531         * modules/stat-time-test: New file.
40532         * tests/test-stat-time.c: New test, devised by Bruno Haible.
40533
40534 2007-03-26  Bruno Haible  <bruno@clisp.org>
40535
40536         Better support of signalling NaNs.
40537         * lib/atanl.c: Include isnanl.h.
40538         (atanl): Perform test for NaN at the beginning of the function and
40539         through a call to isnanl.
40540         * lib/cosl.c: Include isnanl.h.
40541         (cosl): Perform test for NaN at the beginning of the function and
40542         through a call to isnanl.
40543         * lib/ldexpl.c: Include isnanl.h.
40544         (ldexpl): Perform test for NaN through a call to isnanl.
40545         * lib/logl.c: Include isnanl.h.
40546         (logl): Perform test for NaN at the beginning of the function and
40547         through a call to isnanl.
40548         * lib/sinl.c: Include isnanl.h.
40549         (sinl): Perform test for NaN at the beginning of the function and
40550         through a call to isnanl.
40551         * lib/sqrtl.c: Include isnanl.h.
40552         (sqrtl): Perform test for NaN at the beginning of the function and
40553         through a call to isnanl.
40554         * lib/tanl.c: Include isnanl.h.
40555         (tanl): Perform test for NaN at the beginning of the function and
40556         through a call to isnanl.
40557         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
40558         * modules/mathl (Depends-on): Add isnanl.
40559
40560 2007-03-26  Eric Blake  <ebb9@byu.net>
40561
40562         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
40563         regression in logic sense of previous patch.
40564
40565 2007-03-26  Bruno Haible  <bruno@clisp.org>
40566
40567         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
40568         unportable shell command "if ! ...".
40569         Reported by Ralf Wildenhues.
40570
40571 2007-03-25  Bruno Haible  <bruno@clisp.org>
40572
40573         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
40574         <sysexits.h> file, and only add EX_CONFIG.
40575         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
40576         absolute file name and whether it is sufficient. Substitute also
40577         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
40578         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
40579         ABSOLUTE_SYSEXITS_H into sysexits.h.
40580
40581 2007-03-25  Bruno Haible  <bruno@clisp.org>
40582
40583         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
40584         hints is NULL.
40585
40586 2007-03-25  Bruno Haible  <bruno@clisp.org>
40587
40588         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
40589         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
40590
40591 2007-03-25  Bruno Haible  <bruno@clisp.org>
40592
40593         * lib/vasnprintf.c: Include langinfo.h.
40594         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
40595         multithread-safe.
40596         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
40597         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
40598         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40599         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40600         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40601         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40602         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40603         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
40604         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40605         Reported by Simon Josefsson.
40606
40607 2007-03-25  Bruno Haible  <bruno@clisp.org>
40608
40609         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
40610         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
40611         * modules/vasnprintf (Depends-on): Add stdint.
40612
40613 2007-03-25  Bruno Haible  <bruno@clisp.org>
40614
40615         * modules/fpieee: New file.
40616         * m4/fpieee.m4: New file.
40617         * modules/isnan-nolibm (Depends-on): Add fpieee.
40618         * modules/isnanl-nolibm (Depends-on): Add fpieee.
40619         * modules/isnanl (Depends-on): Add fpieee.
40620
40621 2007-03-25  Bruno Haible  <bruno@clisp.org>
40622
40623         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
40624
40625 2007-03-25  Bruno Haible  <bruno@clisp.org>
40626
40627         Avoid test failures on IRIX 6.5.
40628         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
40629         (main): Use it.
40630         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
40631         macros.
40632         (main): Use them.
40633
40634 2007-03-25  Bruno Haible  <bruno@clisp.org>
40635
40636         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
40637         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
40638         exists but doesn't work.
40639         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
40640         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
40641         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
40642         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
40643
40644 2007-03-25  Bruno Haible  <bruno@clisp.org>
40645
40646         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
40647         returns inf. Needed on IRIX 6.5.
40648
40649 2007-03-25  Bruno Haible  <bruno@clisp.org>
40650
40651         * tests/test-frexpl.c: Include isnanl-nolibm.h.
40652         (main): Use isnanl instead of x != x idiom.
40653         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
40654
40655         * tests/test-frexp.c: Include isnan.h.
40656         (main): Use isnan instead of x != x idiom.
40657         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
40658
40659 2007-03-25  Bruno Haible  <bruno@clisp.org>
40660
40661         * tests/test-frexp.c (NaN): New function/macro.
40662         (main): Use it instead of 0.0 / 0.0.
40663         * tests/test-isnan.c (NaN): New function/macro.
40664         (main): Use it instead of 0.0 / 0.0.
40665         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
40666         (test_function): Use it instead of 0.0 / 0.0.
40667         * tests/test-vasprintf-posix.c (NaN): New function/macro.
40668         (test_function): Use it instead of 0.0 / 0.0.
40669         * tests/test-snprintf-posix.h (NaN): New function/macro.
40670         (test_function): Use it instead of 0.0 / 0.0.
40671         * tests/test-sprintf-posix.h (NaN): New function/macro.
40672         (test_function): Use it instead of 0.0 / 0.0.
40673         * tests/test-fprintf-posix.h (NaN): New function/macro.
40674         (test_function): Use it instead of 0.0 / 0.0.
40675         * tests/test-printf-posix.h (NaN): New function/macro.
40676         (test_function): Use it instead of 0.0 / 0.0.
40677
40678         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
40679
40680 2007-03-25  Bruno Haible  <bruno@clisp.org>
40681
40682         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
40683
40684 2007-03-25  Bruno Haible  <bruno@clisp.org>
40685
40686         * lib/regexec.c (merge_state_with_log): Make static.
40687
40688 2007-03-25  Bruno Haible  <bruno@clisp.org>
40689
40690         * lib/trigl.c (kernel_rem_pio2): Make static.
40691
40692 2007-03-25  Bruno Haible  <bruno@clisp.org>
40693
40694         * lib/sincosl.c (sincosl_table): Make static.
40695
40696 2007-03-25  Bruno Haible  <bruno@clisp.org>
40697
40698         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
40699         if the compiler does not support C99.
40700
40701 2007-03-25  Bruno Haible  <bruno@clisp.org>
40702
40703         * modules/time (Makefile.am): Ensure all rule action lines start with a
40704         tab.
40705
40706 2007-03-24  Bruno Haible  <bruno@clisp.org>
40707
40708         * modules/tsearch-tests: New file.
40709         * tests/test-tsearch.sh: New file.
40710         * tests/test-tsearch.c: New file, mostly copied from glibc.
40711
40712         * modules/search-tests: New file.
40713         * tests/test-search.c: New file.
40714
40715         * modules/search: New file.
40716         * lib/search_.h: New file, incorporating lib/tsearch.h.
40717         * m4/search_h.m4: New file.
40718         * lib/tsearch.h: Remove file.
40719         * lib/tsearch.c: Include search.h instead of tsearch.h.
40720         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
40721         HAVE_TSEARCH.
40722         * modules/tsearch (Files): Remove lib/tsearch.h.
40723         (Depends-on): Add search.
40724         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
40725         (Include): Change tsearch.h into search.h.
40726
40727 2007-03-24  Bruno Haible  <bruno@clisp.org>
40728
40729         * modules/fpucw: New file.
40730         * lib/fpucw.h: New file.
40731         * lib/frexp.c: Include fpucw.h.
40732         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
40733         (FUNC): Use them.
40734         * lib/printf-frexp.c: Include fpucw.h.
40735         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
40736         (FUNC): Use them.
40737         * lib/vasnprintf.c: Include fpucw.h.
40738         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
40739         'long double' calculations.
40740         * tests/test-frexpl.c: Include fpucw.h.
40741         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
40742         * tests/test-printf-frexpl.c: Include fpucw.h.
40743         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
40744         * modules/frexpl (Depends-on): Add fpucw.
40745         * modules/printf-frexpl (Depends-on): Likewise.
40746         * modules/fprintf-posix (Depends-on): Likewise.
40747         * modules/snprintf-posix (Depends-on): Likewise.
40748         * modules/sprintf-posix (Depends-on): Likewise.
40749         * modules/vasnprintf-posix (Depends-on): Likewise.
40750         * modules/vasprintf-posix (Depends-on): Likewise.
40751         * modules/vfprintf-posix (Depends-on): Likewise.
40752         * modules/vsnprintf-posix (Depends-on): Likewise.
40753         * modules/vsprintf-posix (Depends-on): Likewise.
40754         * modules/frexpl-tests (Depends-on): Likewise.
40755         * modules/printf-frexpl-tests (Depends-on): Likewise.
40756
40757 2007-03-24  Bruno Haible  <bruno@clisp.org>
40758
40759         * lib/float+.h: New file.
40760         * lib/isnan.c: Include float+.h.
40761         (SIZE): New macro.
40762         (FUNC): Compare only SIZE bytes of the value.
40763         * lib/vasnprintf.c: Include float+.h.
40764         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
40765         SIZEOF_LDBL or SIZEOF_DBL bytes.
40766         * modules/isnan-nolibm (Files): Add lib/float+.h.
40767         * modules/isnanl-nolibm (Files): Add lib/float+.h.
40768         * modules/isnanl (Files): Add lib/float+.h.
40769         * modules/vasnprintf (Files): Add lib/float+.h.
40770
40771 2007-03-24  Bruno Haible  <bruno@clisp.org>
40772
40773         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
40774         include isnanl-nolibm.h.
40775
40776 2007-03-24  Bruno Haible  <bruno@clisp.org>
40777
40778         * tests/test-read-file.c (main): Don't produce spurious output for
40779         expected situations. Make the test fail if it encountered unexpected
40780         results.
40781
40782 2007-03-24  Bruno Haible  <bruno@clisp.org>
40783
40784         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
40785         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
40786
40787 2007-03-24  Bruno Haible  <bruno@clisp.org>
40788
40789         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
40790
40791 2007-03-24  Bruno Haible  <bruno@clisp.org>
40792
40793         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
40794         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
40795
40796         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
40797         * modules/utf8-ucs4: Turn into a symbolic link to module
40798         unistr/u8-mbtouc.
40799
40800         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
40801         utf8-ucs4-unsafe.
40802         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
40803         unistr/u8-mbtouc-unsafe.
40804
40805         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
40806         * modules/utf16-ucs4: Turn into a symbolic link to module
40807         unistr/u16-mbtouc.
40808
40809         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
40810         utf16-ucs4-unsafe.
40811         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
40812         unistr/u16-mbtouc-unsafe.
40813
40814         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
40815         * modules/ucs4-utf8: Turn into a symbolic link to module
40816         unistr/u8-ubtomb.
40817
40818         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
40819         * modules/ucs4-utf16: Turn into a symbolic link to module
40820         unistr/u16-ubtomb.
40821
40822 2007-03-24  Bruno Haible  <bruno@clisp.org>
40823
40824         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
40825         Enable the function only if HAVE_INLINE.
40826         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
40827         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
40828         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
40829         Enable the function only if HAVE_INLINE.
40830         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
40831         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
40832         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
40833         Enable the function only if HAVE_INLINE.
40834         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
40835         Enable the function only if HAVE_INLINE.
40836         * modules/utf8-ucs4: Update.
40837         * modules/utf8-ucs4-unsafe: Update.
40838         * modules/utf16-ucs4: Update.
40839         * modules/utf16-ucs4-unsafe: Update.
40840         * modules/ucs4-utf8: Update.
40841         * modules/ucs4-utf16: Update.
40842
40843 2007-03-24  Bruno Haible  <bruno@clisp.org>
40844
40845         * lib/utf8-ucs4.h: Remove file.
40846         * lib/utf8-ucs4-unsafe.h: Remove file.
40847         * lib/utf16-ucs4.h: Remove file.
40848         * lib/utf16-ucs4-unsafe.h: Remove file.
40849         * lib/ucs4-utf8.h: Remove file.
40850         * lib/ucs4-utf16.h: Remove file.
40851         * lib/unistr.h: Include their previous contents.
40852         * m4/utf-ucs4.m4: Remove file.
40853         * m4/ucs4-utf.m4: Remove file.
40854         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
40855         (Depends-on): Add unistr/base.
40856         (configure.ac): Remove gl_UTF_UCS4.
40857         (Makefile.am): Update.
40858         (Include): Change to unistr.h.
40859         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
40860         (Depends-on): Add unistr/base.
40861         (configure.ac): Remove gl_UTF_UCS4.
40862         (Makefile.am): Update.
40863         (Include): Change to unistr.h.
40864         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
40865         (Depends-on): Add unistr/base.
40866         (configure.ac): Remove gl_UTF_UCS4.
40867         (Makefile.am): Update.
40868         (Include): Change to unistr.h.
40869         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
40870         (Depends-on): Add unistr/base.
40871         (configure.ac): Remove gl_UTF_UCS4.
40872         (Makefile.am): Update.
40873         (Include): Change to unistr.h.
40874         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
40875         (Depends-on): Add unistr/base.
40876         (configure.ac): Remove gl_UCS4_UTF.
40877         (Makefile.am): Update.
40878         (Include): Change to unistr.h.
40879         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
40880         (Depends-on): Add unistr/base.
40881         (configure.ac): Remove gl_UCS4_UTF.
40882         (Makefile.am): Update.
40883         (Include): Change to unistr.h.
40884         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
40885         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
40886         utf8-ucs4-unsafe.h.
40887         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
40888         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
40889         utf16-ucs4-unsafe.h.
40890         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
40891         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
40892         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
40893         * lib/unistr/u8-strchr.c: Likewise.
40894         * lib/unistr/u8-strrchr.c: Likewise.
40895         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
40896         * lib/unistr/u16-strchr.c: Likewise.
40897         * lib/unistr/u16-strrchr.c: Likewise.
40898         * lib/striconveh.c: Update.
40899         * lib/linebreak.c: Update.
40900
40901 2007-03-24  Bruno Haible  <bruno@clisp.org>
40902
40903         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
40904         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
40905
40906 2007-03-22  Bruno Haible  <bruno@clisp.org>
40907
40908         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
40909
40910 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
40911
40912         * MODULES.html.sh (File system functions): New module write-any-file.
40913         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
40914         * m4/write-any-file.m4: New files.
40915
40916 2007-03-23  Eric Blake  <ebb9@byu.net>
40917
40918         * gnulib-tool: Rearrange space-tab sequences, since some editors
40919         like to eat them.
40920
40921 2007-03-23  Eric Blake  <ebb9@byu.net>
40922
40923         * lib/version-etc.c (version_etc_va): Update license wording to
40924         be more concise.  Recommended by Richard Stallman.
40925
40926 2007-03-22  Bruno Haible  <bruno@clisp.org>
40927
40928         * lib/poll.c (MSG_PEEK): New fallback definition.
40929
40930 2007-03-22  Bruno Haible  <bruno@clisp.org>
40931
40932         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
40933         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
40934         (main): Update.
40935         Fixes a compilation error on BeOS.
40936
40937 2007-03-22  Bruno Haible  <bruno@clisp.org>
40938
40939         * modules/frexpl-tests: New file.
40940         * tests/test-frexpl.c: New file.
40941
40942         * modules/frexpl: New file.
40943         * m4/frexpl.m4: New file.
40944         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
40945         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
40946         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
40947         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
40948         (Depends-on): Add frexpl. Remove isnanl-nolibm.
40949         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
40950
40951 2007-03-22  Bruno Haible  <bruno@clisp.org>
40952
40953         * lib/frexpl.c: Share code with lib/frexp.c.
40954         * modules/mathl (Files): Add lib/frexp.c.
40955         (Depends-on): Add isnanl-nolibm.
40956
40957 2007-03-22  Bruno Haible  <bruno@clisp.org>
40958
40959         * modules/printf-frexp (Files): Add m4/frexp.m4.
40960         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
40961         only if the found frexp function actually works.
40962
40963 2007-03-22  Bruno Haible  <bruno@clisp.org>
40964
40965         * lib/frexp.c: Remove older implementation that uses divisions.
40966
40967 2007-03-21  Bruno Haible  <bruno@clisp.org>
40968
40969         * modules/frexp-tests: New file.
40970         * tests/test-frexp.c: New file.
40971
40972         * modules/frexp: New file.
40973         * lib/frexp.c: New file.
40974         * m4/frexp.m4: New file.
40975         * lib/math_.h (frexp): New declaration.
40976         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
40977         REPLACE_FREXP.
40978         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
40979
40980 2007-03-21  Bruno Haible  <bruno@clisp.org>
40981
40982         * modules/isnanl-tests: New file.
40983         * tests/test-isnanl.c: New file.
40984
40985         * modules/isnanl: New file.
40986         * lib/isnanl.h: New file.
40987         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
40988         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
40989         gl_FUNC_ISNANL_WORKS.
40990         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
40991         New macros.
40992
40993 2007-03-21  Bruno Haible  <bruno@clisp.org>
40994
40995         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
40996         lib/isnanl.h.
40997         (Include): Update.
40998         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
40999         * lib/vasnprintf.c: Update.
41000         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
41001         tests/test-isnanl.h, remove tests/test-isnanl.c.
41002         (Makefile.am): Update.
41003         * tests/test-isnanl-nolibm.c: New file.
41004         * tests/test-isnanl.h: New file.
41005         * tests/test-isnanl.c: Remove file.
41006
41007 2007-03-21  Jim Meyering  <jim@meyering.net>
41008
41009         When trying to open ".", treat ESTALE like EACCES.
41010         * lib/savewd.c (savewd_save): Resort to forking not just upon
41011         failure with EACCES, but also when errno is ESTALE.
41012
41013 2007-03-20  Bruno Haible  <bruno@clisp.org>
41014
41015         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
41016         Needed on AIX 5.1. Reported by Matthew Woehlke.
41017
41018 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41019
41020         Suggestions by Bruno Haible:
41021         * lib/acl-internal.h: Include "gettext.h" rather than rolling
41022         our own.
41023         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
41024         * modules/acl (Depends-on): Add gettext.
41025
41026 2007-03-19  Bruno Haible  <bruno@clisp.org>
41027
41028         * modules/iconvme: Remove file.
41029         * lib/iconvme.h: Remove file.
41030         * lib/iconvme.c: Remove file.
41031         * m4/iconvme.m4: Remove file.
41032
41033 2007-03-19  Bruno Haible  <bruno@clisp.org>
41034
41035         * doc/relocatable-maint.texi: Break long shell script line.
41036         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
41037
41038 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41039
41040         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
41041         handle file_has_acl.
41042         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
41043         * lib/acl.c: Move header inclusions and related macro defns into
41044         lib/acl-internal.h.
41045         (S_ISLNK): Remove defn, since that's now done for us.
41046         (file_has_acl): Move to lib/file-has-acl.c.
41047         Call acl_trivial if available.  This is the crucial part of the fix.
41048         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
41049         shared within the library.  Rewrite a bit, partly to make it compatible
41050         with the GNU coding style.
41051         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
41052         Remove unnecessary double-quotes.
41053         Don't test for acl_to_text; the build will catch that.
41054         Replace acl_entries if it doesn't exist and it is needed.
41055         Check for -lsec and acl_trivial (as used on Solaris 10).
41056         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
41057         lib/file-has-acl.c.
41058         (Depends-on): Add sys_stat, for S_ISLNK.
41059
41060 2007-03-19  Ben Pfaff  <blp@gnu.org>
41061
41062         * doc/gnulib.texi: Fix typos.
41063         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
41064
41065 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
41066
41067         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
41068         If size is zero here, buf must be zero.
41069
41070 2007-03-19  Simon Josefsson  <simon@josefsson.org>
41071
41072         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
41073         <bruno@clisp.org>.
41074
41075 2007-03-18  Bruno Haible  <bruno@clisp.org>
41076
41077         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
41078         Suggested by Eric Blake.
41079
41080 2007-03-18  Ben Pfaff  <blp@gnu.org>
41081
41082         * doc/relocatable.texi: Recommend using as prefix a directory
41083         that does not exist and will never be created.  Based on
41084         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
41085         and others.
41086
41087 2007-03-17  Bruno Haible  <bruno@clisp.org>
41088
41089         * lib/fchownat.c: Include lchown.h.
41090
41091 2007-03-17  Bruno Haible  <bruno@clisp.org>
41092
41093         Fix endless loop when the given allocated size was > INT_MAX.
41094         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
41095         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
41096         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
41097         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
41098         * lib/sprintf.c (sprintf): Likewise.
41099
41100 2007-03-17  Bruno Haible  <bruno@clisp.org>
41101
41102         * tests/test-argp-2.sh (func_compare): Output a context diff.
41103
41104 2007-03-17  Bruno Haible  <bruno@clisp.org>
41105
41106         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
41107         locale's decimal-point character.
41108
41109 2007-03-17  Bruno Haible  <bruno@clisp.org>
41110
41111         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
41112         before comparing it. Needed because on some platforms (e.g. x86) a
41113         'long double' occupies less bytes than sizeof (long double).
41114
41115 2007-03-17  Bruno Haible  <bruno@clisp.org>
41116
41117         * tests/test-crc.c (main): Make printf statements 64-bit clean.
41118         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
41119         * tests/test-getaddrinfo.c (simple): Likewise.
41120         * tests/test-read-file.c (main): Likewise.
41121
41122 2007-03-17  Bruno Haible  <bruno@clisp.org>
41123
41124         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
41125
41126 2007-03-17  Bruno Haible  <bruno@clisp.org>
41127
41128         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
41129         unused variable.
41130
41131 2007-03-17  Bruno Haible  <bruno@clisp.org>
41132
41133         * tests/test-c-strcasecmp.c: Include c-strcase.h.
41134         * tests/test-c-strncasecmp.c: Likewise.
41135
41136 2007-03-17  Bruno Haible  <bruno@clisp.org>
41137
41138         * modules/stdlib (Depends-on): Add unistd.
41139         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
41140         Needed for MacOS X 10.3.
41141
41142 2007-03-17  Bruno Haible  <bruno@clisp.org>
41143
41144         * lib/unistr/u-strdup.h: Include <stdlib.h>.
41145
41146 2007-03-17  Bruno Haible  <bruno@clisp.org>
41147
41148         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
41149
41150 2007-03-17  Bruno Haible  <bruno@clisp.org>
41151
41152         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
41153         to reflect files copied from gnulib (with or without modifications).
41154         Suggested by Jim Meyering.
41155
41156 2007-03-17  Eric Blake  <ebb9@byu.net>
41157
41158         * NEWS: Document stdlib change from 2007-02-18.
41159
41160 2007-03-17  Jim Meyering  <jim@meyering.net>
41161
41162         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
41163         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
41164         someone uses a name containing shell meta-characters.
41165         Reported by Alfred M. Szmidt.
41166
41167         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
41168
41169 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
41170
41171         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
41172         and copy gettext configuration files only if configure.ac contains
41173         a use of AM_GNU_GETTEXT_VERSION.
41174
41175 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
41176
41177         * build-aux/bootstrap (gnulib_name): New variable.
41178         (gnulib_tool_options): Use it.
41179
41180 2007-03-13  Simon Josefsson  <simon@josefsson.org>
41181
41182         * tests/test-des.c: Use new namespace.
41183
41184 2007-03-15  Bruno Haible  <bruno@clisp.org>
41185
41186         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
41187         Reported by James Youngman <jay@gnu.org>.
41188
41189 2007-03-15  Bruno Haible  <bruno@clisp.org>
41190
41191         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
41192         declared prototype. Needed with cc on OSF/1 5.1.
41193
41194 2007-03-15  Bruno Haible  <bruno@clisp.org>
41195
41196         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
41197         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
41198         (struct gl_list_implementation): Add dispose_fn argument to the
41199         'create_empty', 'create' methods.
41200         (struct gl_list_impl_base): Add field 'dispose_fn'.
41201         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
41202         argument.
41203         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
41204         dispose_fn argument.
41205         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
41206         dispose_fn on the dropped values.
41207         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
41208         dispose_fn argument.
41209         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
41210         dropped values.
41211         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
41212         (gl_tree_remove_node): Call dispose_fn on the dropped value.
41213         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
41214         (gl_tree_remove_node): Call dispose_fn on the dropped value.
41215         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
41216         argument.
41217         (gl_tree_list_free): Call dispose_fn on the dropped values.
41218         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
41219         the dropped values.
41220         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
41221         Add dispose_fn argument.
41222         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
41223         Call dispose_fn on the dropped values.
41224         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
41225         Add dispose_fn argument.
41226         (gl_sublist_create): Initialize the 'dispose_fn' field.
41227         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
41228         * tests/test-array_list.c (main): Update.
41229         * tests/test-carray_list.c (main): Update.
41230         * tests/test-avltree_list.c (main): Update.
41231         * tests/test-rbtree_list.c (main): Update.
41232         * tests/test-avltreehash_list.c (main): Update.
41233         * tests/test-rbtreehash_list.c (main): Update.
41234         * tests/test-linked_list.c (main): Update.
41235         * tests/test-linkedhash_list.c (main): Update.
41236         * tests/test-array_oset.c (main): Update.
41237
41238 2007-03-15  Bruno Haible  <bruno@clisp.org>
41239
41240         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
41241         (gl_oset_create_empty): Add dispose_fn argument.
41242         (struct gl_oset_implementation): Add dispose_fn argument to
41243         'create_empty' method.
41244         (struct gl_oset_impl_base): Add dispose_fn field.
41245         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
41246         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
41247         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
41248         values.
41249         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
41250         (gl_tree_oset_free): Call dispose_fn on the dropped values.
41251         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
41252         dropped value.
41253         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
41254         dropped value.
41255         * tests/test-array_oset.c (main): Update.
41256         * tests/test-avltree_oset.c (main): Update.
41257         * tests/test-rbtree_oset.c (main): Update.
41258         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
41259
41260 2007-03-13  Bruno Haible  <bruno@clisp.org>
41261
41262         * tests/test-stdbool.c (i): Update after last patch.
41263
41264 2007-03-12  Bruno Haible  <bruno@clisp.org>
41265
41266         * lib/quotearg.c: Include <wctype.h> early, before the definition of
41267         the iswprint macro. Needed on Solaris 2.5.1.
41268
41269 2007-03-12  Bruno Haible  <bruno@clisp.org>
41270
41271         * tests/test-printf-frexp.c (main): Declare x as volatile.
41272
41273 2007-03-12  Simon Josefsson  <simon@josefsson.org>
41274
41275         * doc/gnulib.texi (Build robot for gnulib): New section.
41276
41277 2007-03-12  Jim Meyering  <jim@meyering.net>
41278
41279         * build-aux/bootstrap: New file.
41280         * build-aux/bootstrap.conf: New file, from coreutils.
41281
41282 2007-03-11  Bruno Haible  <bruno@clisp.org>
41283
41284         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
41285
41286 2007-03-12  Simon Josefsson  <simon@josefsson.org>
41287
41288         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
41289         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
41290         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
41291
41292 2007-03-11  Bruno Haible  <bruno@clisp.org>
41293
41294         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
41295         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
41296
41297 2007-03-11  Bruno Haible  <bruno@clisp.org>
41298
41299         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
41300         formula. Needed for SunPRO C 5.0.
41301
41302 2007-03-11  Bruno Haible  <bruno@clisp.org>
41303
41304         * modules/long-options (Depends-on): Add getopt.
41305
41306 2007-03-11  Bruno Haible  <bruno@clisp.org>
41307
41308         * modules/modechange (Depends-on): Add stdbool.
41309
41310 2007-03-11  Bruno Haible  <bruno@clisp.org>
41311
41312         * modules/i-ring (Depends-on): Add stdbool.
41313
41314 2007-03-11  Bruno Haible  <bruno@clisp.org>
41315
41316         * modules/gc-des (Depends-on): Add stdbool.
41317
41318 2007-03-11  Bruno Haible  <bruno@clisp.org>
41319
41320         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
41321
41322 2007-03-11  Bruno Haible  <bruno@clisp.org>
41323
41324         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
41325
41326 2007-03-11  Bruno Haible  <bruno@clisp.org>
41327
41328         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
41329
41330 2007-03-11  Bruno Haible  <bruno@clisp.org>
41331
41332         * lib/vasnprintf.c (sprintf): Undefine.
41333
41334 2007-03-11  Bruno Haible  <bruno@clisp.org>
41335
41336         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
41337         initializers in SunPRO C and Compaq C compilers.
41338
41339 2007-03-11  Bruno Haible  <bruno@clisp.org>
41340
41341         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
41342         decrementing code ANSI C compliant.
41343
41344 2007-03-11  Bruno Haible  <bruno@clisp.org>
41345
41346         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
41347         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
41348
41349 2007-03-11  Bruno Haible  <bruno@clisp.org>
41350
41351         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
41352         <stdbool.h> substitute doesn't pass.
41353
41354 2007-03-11  Bruno Haible  <bruno@clisp.org>
41355
41356         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
41357
41358 2007-03-11  Bruno Haible  <bruno@clisp.org>
41359
41360         * gnulib-tool (func_create_megatestdir): Create also an autobuild
41361         script, for submission to autobuild.josefsson.org.
41362
41363 2007-03-10  Bruno Haible  <bruno@clisp.org>
41364
41365         * modules/canonicalize-lgpl-tests: New file.
41366         * tests/test-canonicalize-lgpl.sh: New file.
41367         * tests/test-canonicalize-lgpl.c: New file.
41368
41369         * modules/c-strcase-tests: New file.
41370         * tests/test-c-strcase.sh: New file.
41371         * tests/test-c-strcasecmp.c: New file.
41372         * tests/test-c-strncasecmp.c: New file.
41373
41374         * modules/atexit-tests: New file.
41375         * tests/test-atexit.sh: New file.
41376         * tests/test-atexit.c: New file.
41377
41378 2007-03-10  Bruno Haible  <bruno@clisp.org>
41379
41380         * tests/test-binary-io.sh: Use temporary filenames that are not so
41381         likely to clash with those of other tests (in a parallel make).
41382         * tests/test-binary-io.c: Likewise.
41383
41384 2007-03-10  Bruno Haible  <bruno@clisp.org>
41385
41386         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
41387         fallback; use #error instead.
41388         Suggested by Simon Josefsson.
41389
41390 2007-03-10  Bruno Haible  <bruno@clisp.org>
41391
41392         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
41393         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
41394         first and the last.
41395
41396 2007-03-10  Bruno Haible  <bruno@clisp.org>
41397
41398         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
41399
41400 2007-03-10  Bruno Haible  <bruno@clisp.org>
41401
41402         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
41403         "make distcheck".
41404         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
41405         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
41406         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
41407
41408 2007-03-10  Bruno Haible  <bruno@clisp.org>
41409
41410         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
41411         variable.
41412         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
41413         variable.
41414
41415 2007-03-09  Eric Blake  <ebb9@byu.net>
41416         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
41417
41418         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
41419         types are not being provided by gnulib.
41420         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
41421         types are supported.
41422
41423 2007-03-10  Bruno Haible  <bruno@clisp.org>
41424
41425         * lib/stdio_.h (__attribute__): New macro.
41426         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
41427         vsprintf): Specify __attribute__ __format__ for GCC.
41428         Suggested by Eric Blake.
41429
41430 2007-03-09  Bruno Haible  <bruno@clisp.org>
41431
41432         * modules/printf-posix-tests: New file.
41433         * tests/test-printf-posix.sh: New file.
41434         * tests/test-printf-posix.c: New file.
41435
41436         * modules/printf-posix: New file.
41437         * lib/printf.c: New file.
41438         * m4/printf-posix-rpl.m4: New file.
41439         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
41440         REPLACE_PRINTF.
41441         * lib/stdio_.h (printf): New declaration.
41442         (format, __format__, ____printf____, ____scanf____, ____strftime____,
41443         ____strfmon____): New macros.
41444         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
41445         REPLACE_PRINTF.
41446
41447 2007-03-09  Bruno Haible  <bruno@clisp.org>
41448
41449         * tests/test-vasnprintf-posix2.sh: New file.
41450         * tests/test-vasnprintf-posix2.c: New file.
41451         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
41452         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
41453         (Makefile.am): Activate test-vasnprintf-posix2.sh.
41454
41455         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
41456         a locale dependent decimal point, rather than always '.'.
41457
41458 2007-03-09  Eric Blake  <ebb9@byu.net>
41459
41460         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
41461         spite of platforms like Tandem/NSK that define it to -1.
41462
41463 2007-03-08  Bruno Haible  <bruno@clisp.org>
41464
41465         * modules/vprintf-posix-tests: New file.
41466         * tests/test-vprintf-posix.sh: New file.
41467         * tests/test-vprintf-posix.c: New file.
41468         * tests/test-printf-posix.h: New file.
41469
41470         * modules/vprintf-posix: New file.
41471         * lib/vprintf.c: New file.
41472         * m4/vprintf-posix.m4: New file.
41473         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
41474         REPLACE_VPRINTF.
41475         * lib/stdio_.h (vprintf): New declaration.
41476         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
41477         REPLACE_VPRINTF.
41478
41479 2007-03-08  Bruno Haible  <bruno@clisp.org>
41480
41481         * modules/fprintf-posix-tests: New file.
41482         * tests/test-fprintf-posix.sh: New file.
41483         * tests/test-fprintf-posix.c: New file.
41484
41485         * modules/fprintf-posix: New file.
41486         * lib/fprintf.c: New file.
41487         * m4/fprintf-posix.m4: New file.
41488         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
41489         REPLACE_FPRINTF.
41490         * lib/stdio_.h (fprintf): New declaration.
41491         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
41492         REPLACE_FPRINTF.
41493
41494 2007-03-08  Bruno Haible  <bruno@clisp.org>
41495
41496         * modules/vfprintf-posix-tests: New file.
41497         * tests/test-vfprintf-posix.sh: New file.
41498         * tests/test-vfprintf-posix.c: New file.
41499         * tests/test-fprintf-posix.h: New file.
41500         * tests/test-fprintf-posix.out: New file.
41501
41502         * modules/vfprintf-posix: New file.
41503         * lib/vfprintf.c: New file.
41504         * m4/vfprintf-posix.m4: New file.
41505         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
41506         REPLACE_VFPRINTF.
41507         * lib/stdio_.h (vfprintf): New declaration.
41508         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
41509         REPLACE_VFPRINTF.
41510
41511 2007-03-08  Bruno Haible  <bruno@clisp.org>
41512
41513         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
41514
41515 2007-03-08  Bruno Haible  <bruno@clisp.org>
41516
41517         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
41518         instead of 'expr' invocations.
41519         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
41520         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
41521         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
41522         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
41523         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
41524         Suggested by Paul Eggert.
41525
41526 2007-03-08  Bruno Haible  <bruno@clisp.org>
41527
41528         * modules/fseterr-tests: New file.
41529         * tests/test-fseterr.c: New file.
41530
41531         * modules/fseterr: New file.
41532         * lib/fseterr.h: New file.
41533         * lib/fseterr.c: New file.
41534
41535 2007-03-08  Bruno Haible  <bruno@clisp.org>
41536
41537         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
41538         * lib/getopt_.h: Likewise.
41539         * lib/mbswidth.h: Likewise.
41540         * lib/setenv.h: Likewise.
41541         * lib/vasnprintf.h: Likewise.
41542         * lib/vasprintf.h: Likewise.
41543         * lib/verror.h: Likewise.
41544         * lib/xsetenv.h: Likewise.
41545         * lib/xvasprintf.h: Likewise.
41546
41547 2007-03-08  Jim Meyering  <jim@meyering.net>
41548
41549         * users.txt: Add parted.
41550
41551         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
41552
41553 2007-03-07  Bruno Haible  <bruno@clisp.org>
41554
41555         * m4/printf.m4: Make the shell script snippets copy&pastable.
41556
41557 2007-03-02  Bruno Haible  <bruno@clisp.org>
41558
41559         * lib/netinet_in_.h: New file.
41560         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
41561         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
41562         * modules/netinet_in (Files): Add lib/netinet_in_.h.
41563         (Depends-on): Add absolute-header.
41564         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
41565         into netinet/in.h.
41566
41567 2007-03-03  Bruno Haible  <bruno@clisp.org>
41568
41569         * lib/sys_select_.h: New file.
41570         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
41571         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
41572         * modules/sys_select (Files): Add lib/sys_select_.h.
41573         (Depends-on): Add absolute-header.
41574         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
41575         into sys/select.h.
41576
41577 2007-03-02  Bruno Haible  <bruno@clisp.org>
41578
41579         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
41580         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
41581         values.
41582         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
41583         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
41584         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
41585         * modules/sys_socket (Depends-on): Add absolute-header.
41586         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
41587         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
41588         (Include): Remove requirement of inclusion of <sys/types.h>.
41589
41590 2007-03-02  Bruno Haible  <bruno@clisp.org>
41591
41592         * lib/byteswap_.h (bswap_32): Fix formula.
41593
41594 2007-03-06  Bruno Haible  <bruno@clisp.org>
41595
41596         * modules/sprintf-posix-tests: New file.
41597         * tests/test-sprintf-posix.c: New file.
41598
41599         * modules/sprintf-posix: New file.
41600         * lib/sprintf.c: New file.
41601         * m4/sprintf-posix.m4: New file.
41602         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
41603         REPLACE_SPRINTF.
41604         * lib/stdio_.h (sprintf): New declaration.
41605         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
41606         REPLACE_SPRINTF.
41607
41608 2007-03-06  Bruno Haible  <bruno@clisp.org>
41609
41610         * modules/vsprintf-posix-tests: New file.
41611         * tests/test-vsprintf-posix.c: New file.
41612         * tests/test-sprintf-posix.h: New file.
41613
41614         * modules/vsprintf-posix: New file.
41615         * lib/vsprintf.c: New file.
41616         * m4/vsprintf-posix.m4: New file.
41617         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
41618         REPLACE_VSPRINTF.
41619         * lib/stdio_.h (vsprintf): New declaration.
41620         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
41621         REPLACE_VSPRINTF.
41622
41623 2007-03-06  Bruno Haible  <bruno@clisp.org>
41624
41625         * modules/vsnprintf (Depend-on): Remove minmax.
41626
41627 2007-03-06  Bruno Haible  <bruno@clisp.org>
41628
41629         * modules/snprintf-posix-tests: New file.
41630         * tests/test-snprintf-posix.c: New file.
41631
41632         * modules/snprintf-posix: New file.
41633         * m4/snprintf-posix.m4: New file.
41634         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
41635         gl_FUNC_SNPRINTF.
41636         (gl_FUNC_SNPRINTF): Invoke it.
41637         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
41638         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
41639         is set.
41640         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
41641
41642 2007-03-06  Bruno Haible  <bruno@clisp.org>
41643
41644         * modules/vsnprintf-posix-tests: New file.
41645         * tests/test-vsnprintf-posix.c: New file.
41646         * tests/test-snprintf-posix.h: New file.
41647
41648         * modules/vsnprintf-posix: New file.
41649         * m4/vsnprintf-posix.m4: New file.
41650         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
41651         gl_FUNC_VSNPRINTF.
41652         (gl_FUNC_VSNPRINTF): Invoke it.
41653         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
41654         * lib/stdio_.h (vsnprintf): Define as a replacement if
41655         REPLACE_VSNPRINTF is set.
41656         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
41657
41658 2007-03-06  Bruno Haible  <bruno@clisp.org>
41659
41660         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
41661         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
41662
41663 2007-03-06  Bruno Haible  <bruno@clisp.org>
41664
41665         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
41666         (asinl): Declare also if HAVE_DECL_ASINL is set.
41667         (atanl): Declare also if HAVE_DECL_ATANL is set.
41668         (ceill): Declare also if HAVE_DECL_CEILL is set.
41669         (cosl): Declare also if HAVE_DECL_COSL is set.
41670         (expl): Declare also if HAVE_DECL_EXPL is set.
41671         (floorl): Declare also if HAVE_DECL_FLOORL is set.
41672         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
41673         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
41674         (logl): Declare also if HAVE_DECL_LOGL is set.
41675         (sinl): Declare also if HAVE_DECL_SINL is set.
41676         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
41677         (tanl): Declare also if HAVE_DECL_TANL is set.
41678         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
41679         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
41680         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
41681         declaration of frexpl, ldexpl.
41682         * modules/printf-frexpl (Depends-on): Add math.
41683         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
41684
41685 2007-03-05  Bruno Haible  <bruno@clisp.org>
41686
41687         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
41688         frexpl and ldexpl are declared.
41689         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
41690
41691 2007-03-05  Bruno Haible  <bruno@clisp.org>
41692
41693         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
41694         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
41695
41696 2007-03-05  Bruno Haible  <bruno@clisp.org>
41697
41698         * lib/stdio_.h: Include <stddef.h>.
41699
41700 2007-03-05  Bruno Haible  <bruno@clisp.org>
41701
41702         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
41703
41704 2007-03-05  Bruno Haible  <bruno@clisp.org>
41705
41706         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
41707         NetBSD 4, from Ralf Wildenhues.
41708
41709 2007-03-04  Bruno Haible  <bruno@clisp.org>
41710
41711         * lib/vasprintf.h: Update #if logic for the case when the functions
41712         exist but are overridden.
41713
41714 2007-03-04  Bruno Haible  <bruno@clisp.org>
41715
41716         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
41717         implementations: glibc-2.4 and MacOS X 10.3.
41718         * tests/test-vasnprintf-posix.c (test_function): Test also the case
41719         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
41720         * tests/test-vasprintf-posix.c (test_function): Likewise.
41721
41722 2007-03-04  Bruno Haible  <bruno@clisp.org>
41723
41724         * modules/vasprintf-posix-tests: New file.
41725         * tests/test-vasprintf-posix.c: New file.
41726
41727         * modules/vasprintf-posix: New file.
41728         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
41729         defined.
41730         * m4/vasprintf-posix.m4: New file.
41731         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
41732         gl_FUNC_VASPRINTF.
41733         (gl_FUNC_VASPRINTF): Invoke it.
41734         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
41735         here.
41736         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
41737
41738 2007-03-04  Bruno Haible  <bruno@clisp.org>
41739
41740         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
41741         REPLACE_GETTIMEOFDAY.
41742         * modules/sys_time (Makefile.am): Likewise.
41743         * m4/sys_time_h.m4: Likewise.
41744         * m4/gettimeofday.m4: Likewise.
41745
41746 2007-03-04  Bruno Haible  <bruno@clisp.org>
41747
41748         * modules/vasnprintf-posix-tests: New file.
41749         * tests/test-vasnprintf-posix.c: New file.
41750
41751         * modules/vasnprintf-posix: New file.
41752         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
41753         printf-frexpl.h.
41754         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
41755         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
41756         REPLACE_VASNPRINTF is defined.
41757         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
41758         gl_FUNC_VASNPRINTF.
41759         (gl_FUNC_VASNPRINTF): Invoke it.
41760         * m4/vasnprintf-posix.m4: New file.
41761         * m4/printf.m4: New file.
41762
41763 2007-03-04  Bruno Haible  <bruno@clisp.org>
41764
41765         Compile progreloc.c only if --enable-relocatable is specified.
41766         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
41767         if --enable-relocatable was specified.
41768         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
41769         lib_SOURCES.
41770
41771 2007-03-04  Jim Meyering  <jim@meyering.net>
41772
41773         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
41774         Use it consistently, rather than enumerating errno constants.
41775
41776 2007-03-04  Bruno Haible  <bruno@clisp.org>
41777
41778         * modules/xvasprintf-tests: New file.
41779         * tests/test-xvasprintf.c: New file.
41780
41781         * modules/vasprintf-tests: New file.
41782         * tests/test-vasprintf.c: New file.
41783
41784         * modules/vasnprintf-tests: New file.
41785         * tests/test-vasnprintf.c: New file.
41786
41787         * modules/vsnprintf-tests: New file.
41788         * tests/test-vsnprintf.c: New file.
41789
41790         * modules/snprintf-tests: New file.
41791         * tests/test-snprintf.c: New file.
41792
41793 2007-03-04  Bruno Haible  <bruno@clisp.org>
41794
41795         Compile relocatable.c only if --enable-relocatable is specified.
41796         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
41797         gl_RELOCATABLE_LIBRARY.
41798         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
41799         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
41800         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
41801         gl_RELOCATABLE_LIBRARY.
41802         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
41803         (Makefile.am): Remove lib_SOURCES.
41804         * modules/relocatable-lib-lgpl (configure.ac): Invoke
41805         gl_RELOCATABLE_LIBRARY.
41806         (Makefile.am): Remove lib_SOURCES.
41807         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
41808         always.
41809         * modules/relocatable-prog-wrapper (configure.ac): Invoke
41810         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
41811
41812 2007-03-04  Bruno Haible  <bruno@clisp.org>
41813
41814         * modules/argmatch-tests: New file.
41815         * tests/test-argmatch.c: New file.
41816
41817         * tests/test-allocsa.c (main): Halve the number of loop runs.
41818
41819         * modules/alloca-opt-tests: New file.
41820         * tests/test-alloca-opt.c: New file.
41821
41822 2007-03-04  Jim Meyering  <jim@meyering.net>
41823
41824         Work around difference between Linux ACLs and Solaris 10 ZFS.
41825         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
41826         for EINVAL.
41827
41828 2007-03-03  Bruno Haible  <bruno@clisp.org>
41829
41830         * modules/relocatable-prog (Depends-on): Add back progreloc's
41831         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
41832
41833 2007-03-03  Bruno Haible  <bruno@clisp.org>
41834
41835         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
41836         * modules/relocatable-lib: New file.
41837
41838 2007-03-03  Bruno Haible  <bruno@clisp.org>
41839
41840         * modules/relocatable-prog: Renamed from modules/relocatable.
41841         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
41842
41843 2007-03-03  Bruno Haible  <bruno@clisp.org>
41844
41845         * modules/relocatable-script (Files): Add doc/relocatable.texi,
41846         m4/relocatable-lib.m4.
41847         (Depends-on): Remove 'relocatable'.
41848         (configure.ac): Add gl_RELOCATABLE_NOP.
41849
41850 2007-03-03  Bruno Haible  <bruno@clisp.org>
41851
41852         * modules/relocatable-prog-wrapper: New file.
41853         * modules/relocatable (Depends-on): Add it. Remove all other
41854         dependencies except progname.
41855         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
41856
41857         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
41858         (gl_FUNC_STRERROR): Nop.
41859         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
41860
41861         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
41862         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
41863
41864         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
41865         (gl_FUNC_READLINK): Update.
41866
41867         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
41868
41869 2007-03-03  Bruno Haible  <bruno@clisp.org>
41870
41871         * lib/xreadlink.c: Include <unistd.h> unconditionally.
41872         * modules/xreadlink (Depends-on): Add unistd.
41873         * modules/xreadlink-with-size (Depends-on): Likewise.
41874
41875 2007-03-03  Bruno Haible  <bruno@clisp.org>
41876
41877         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
41878         extracted from gt_FUNC_SETENV.
41879         (gt_FUNC_SETENV): Remove macro.
41880         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
41881         remove gt_FUNC_SETENV.
41882
41883 2007-03-03  Bruno Haible  <bruno@clisp.org>
41884
41885         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
41886         ENABLE_RELOCATABLE here.
41887         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
41888
41889 2007-03-03  Bruno Haible  <bruno@clisp.org>
41890
41891         * modules/rbtreehash-list-tests (Depends-on): Add progname.
41892         * tests/test-rbtreehash_list.c: Include progname.h.
41893         (main): Call set_program_name.
41894
41895         * modules/rbtree-oset-tests (Depends-on): Add progname.
41896         * tests/test-rbtree_oset.c: Include progname.h.
41897         (main): Call set_program_name.
41898
41899         * modules/rbtree-list-tests (Depends-on): Add progname.
41900         * tests/test-rbtree_list.c: Include progname.h.
41901         (main): Call set_program_name.
41902
41903         * modules/linked-list-tests (Depends-on): Add progname.
41904         * tests/test-linked_list.c: Include progname.h.
41905         (main): Call set_program_name.
41906
41907 2007-03-03  Bruno Haible  <bruno@clisp.org>
41908
41909         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
41910         All uses of __restrict changed to _Restrict_.
41911         * lib/glob_.h (__restrict): Remove macro.
41912
41913 2007-03-02  Bruno Haible  <bruno@clisp.org>
41914
41915         * modules/gettext (configure.ac): Require gettext infrastructure
41916         from version 0.16.1.
41917
41918 2007-03-02  Bruno Haible  <bruno@clisp.org>
41919
41920         * modules/linkedhash-list-tests (Depends-on): Add progname.
41921         * tests/test-linkedhash_list.c: Include progname.h.
41922         (main): Call set_program_name.
41923
41924         * modules/carray-list-tests (Depends-on): Add progname.
41925         * tests/test-carray_list.c: Include progname.h.
41926         (main): Call set_program_name.
41927
41928         * modules/avltreehash-list-tests (Depends-on): Add progname.
41929         * tests/test-avltreehash_list.c: Include progname.h.
41930         (main): Call set_program_name.
41931
41932         * modules/avltree-oset-tests (Depends-on): Add progname.
41933         * tests/test-avltree_oset.c: Include progname.h.
41934         (main): Call set_program_name.
41935
41936         * modules/avltree-list-tests (Depends-on): Add progname.
41937         * tests/test-avltree_list.c: Include progname.h.
41938         (main): Call set_program_name.
41939
41940         * modules/array-oset-tests (Depends-on): Add progname.
41941         * tests/test-array_oset.c: Include progname.h.
41942         (main): Call set_program_name.
41943
41944         * modules/array-list-tests (Depends-on): Add progname.
41945         * tests/test-array_list.c: Include progname.h.
41946         (main): Call set_program_name.
41947
41948         * modules/argp-tests (Depends-on): Add progname.
41949         * tests/test-argp.c: Include argp.h first. Include progname.h.
41950         (main): Call set_program_name.
41951
41952 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
41953
41954         * doc/gnulib-tool.texi (Initial import): Reword description of
41955         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
41956         limited effect even if defined after the first system include.
41957
41958 2007-03-01  Bruno Haible  <bruno@clisp.org>
41959
41960         * build-aux/config.libpath: Update to libtool-1.5.22.
41961         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
41962
41963 2007-03-01  Bruno Haible  <bruno@clisp.org>
41964
41965         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
41966         foo_CFLAGS.
41967         Reported by Ralf Wildenhues.
41968
41969 2007-03-01  Bruno Haible  <bruno@clisp.org>
41970
41971         * build-aux/install-reloc: Remove object files left over by some
41972         compilers.
41973         Reported by Ralf Wildenhues.
41974
41975 2007-03-01  Bruno Haible  <bruno@clisp.org>
41976
41977         * build-aux/install-reloc: Break long lines.
41978
41979 2007-03-01  Bruno Haible  <bruno@clisp.org>
41980
41981         * doc/relocatable.texi: Document that it may not work on OpenBSD.
41982         Reported by Ralf Wildenhues.
41983
41984 2007-03-01  Bruno Haible  <bruno@clisp.org>
41985
41986         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
41987         include ordering constraints.
41988
41989 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
41990
41991         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
41992         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
41993         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
41994         as another example.
41995         * lib/time_.h: Fix misspelling.
41996         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
41997         Require gl_HEADER_TIME_H_DEFAULTS.
41998         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
41999         * m4/time_r.m4 (gl_TIME_R): Likewise.
42000         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
42001
42002 2007-03-01  Bruno Haible  <bruno@clisp.org>
42003
42004         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
42005         * m4/utimens.m4 (gl_UTIMENS): Likewise.
42006
42007 2007-03-01  Jim Meyering  <jim@meyering.net>
42008
42009         * modules/xreadlink (Maintainer): Add my name.
42010         * modules/xreadlink-with-size (Depends-on): Alphabetize.
42011
42012 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
42013             Bruno Haible  <bruno@clisp.org>
42014
42015         * build-aux/install-reloc: Compile also c-ctype.c.
42016         * build-aux/relocatable.sh.in: New file.
42017         * doc/relocatable.texi: New file.
42018         * doc/relocatable-maint.texi: New file.
42019         * doc/gnulib.texi: Include relocatable-maint.texi.
42020         * lib/progreloc.c: Include unistd.h unconditionally.
42021         * lib/relocwrapper.c: Include unistd.h unconditionally.
42022         Include c-ctype.h.
42023         (add_dotbin): Use c_tolower.
42024         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
42025         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
42026         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
42027         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
42028         to m4/relocatable-lib.m4.
42029         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
42030         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
42031         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
42032         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
42033         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
42034         * modules/relocatable: New file.
42035         * modules/relocatable-lib: New file.
42036         * modules/relocatable-script: New file.
42037
42038 2007-02-28  Bruno Haible  <bruno@clisp.org>
42039
42040         Import --enable-relocatable infrastructure.
42041         * build-aux/config.libpath: New file, from GNU gettext.
42042         * build-aux/install-reloc: New file, from GNU gettext.
42043         * build-aux/reloc-ldflags: New file, from GNU gettext.
42044         * lib/relocatable.h: New file, from GNU gettext.
42045         * lib/relocatable.c: New file, from GNU gettext.
42046         * lib/relocwrapper.c: New file, from GNU gettext.
42047         * m4/relocatable.m4: New file, from GNU gettext.
42048
42049 2007-02-28  Bruno Haible  <bruno@clisp.org>
42050
42051         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
42052
42053         * modules/xreadlink: New file, from GNU gettext with modifications.
42054         * lib/xreadlink.c: New file, from GNU gettext.
42055         * lib/xreadlink.h: Add comments.
42056         (xreadlink): New declaration.
42057
42058         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
42059         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
42060         lib/xreadlink-with-size.c.
42061         (configure.ac): Remove gl_XREADLINK invocation.
42062         (Makefile.am): Augment lib_SOURCES.
42063         * m4/xreadlink.m4: Remove file.
42064         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
42065         (xreadlink_with_size): Renamed from xreadink.
42066         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
42067         * modules/canonicalize (Depends-on): Replace xreadlink with
42068         xreadlink-with-size.
42069         * lib/canonicalize.c (canonicalize_filename_mode): Update.
42070
42071 2007-02-25  Jim Meyering  <jim@meyering.net>
42072
42073         * build-aux/announce-gen: When complaining about excess arguments,
42074         list them.
42075
42076 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
42077
42078         * README: Document signed integer overflow situation more
42079         accurately.
42080
42081 2007-02-25  Bruno Haible  <bruno@clisp.org>
42082
42083         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
42084         'a' or 'A' conversion.
42085
42086 2007-02-25  Bruno Haible  <bruno@clisp.org>
42087
42088         * modules/filename: Renamed from modules/pathname.
42089         (Files): Replace lib/pathname.h with lib/filename.h. Replace
42090         lib/concatpath.c with lib/concat-filename.c.
42091         (Makefile.am): Update.
42092         (Include): Replace pathname.h with filename.h.
42093         * lib/filename.h: Renamed from lib/pathname.h.
42094         (concatenated_filename): Renamed from concatenated_pathname.
42095         * lib/concat-filename.c: Renamed from lib/concatpath.c.
42096         (concatenated_filename): Renamed from concatenated_pathname.
42097         * lib/findprog.c: Include filename.h instead of pathname.h.
42098         (find_in_path): Update.
42099         * lib/javacomp.c: Include filename.h instead of pathname.h.
42100         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
42101         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
42102         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
42103         is_oldgcj_14_13_usable, is_javac_usable): Update.
42104         * lib/javaexec.c: Include filename.h instead of pathname.h.
42105         (execute_java_class): Update.
42106         * modules/findprog: Update.
42107         * modules/javacomp: Update.
42108         * modules/javaexec: Update.
42109         * MODULES.html.sh (File system functions): Add 'filename', remove
42110         'pathname'.
42111
42112 2007-02-25  Bruno Haible  <bruno@clisp.org>
42113
42114         * modules/printf-frexpl-tests: New file.
42115         * tests/test-printf-frexpl.c: New file.
42116
42117         * modules/printf-frexpl: New file.
42118         * lib/printf-frexpl.h: New file.
42119         * lib/printf-frexpl.c: New file.
42120         * m4/printf-frexpl.m4: New file.
42121
42122 2007-02-25  Bruno Haible  <bruno@clisp.org>
42123
42124         * modules/printf-frexp-tests: New file.
42125         * tests/test-printf-frexp.c: New file.
42126
42127         * modules/printf-frexp: New file.
42128         * lib/printf-frexp.h: New file.
42129         * lib/printf-frexp.c: New file.
42130         * m4/printf-frexp.m4: New file.
42131
42132 2007-02-25  Bruno Haible  <bruno@clisp.org>
42133
42134         Assume automake >= 1.10 for the tests.
42135         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
42136         * modules/arctwo-tests: Likewise.
42137         * modules/argp-tests: Likewise.
42138         * modules/avltree-list-tests: Likewise.
42139         * modules/avltree-oset-tests: Likewise.
42140         * modules/avltreehash-list-tests: Likewise.
42141         * modules/carray-list-tests: Likewise.
42142         * modules/crc-tests: Likewise.
42143         * modules/des-tests: Likewise.
42144         * modules/gc-arcfour-tests: Likewise.
42145         * modules/gc-arctwo-tests: Likewise.
42146         * modules/gc-des-tests: Likewise.
42147         * modules/gc-hmac-md5-tests: Likewise.
42148         * modules/gc-hmac-sha1-tests: Likewise.
42149         * modules/gc-md2-tests: Likewise.
42150         * modules/gc-md4-tests: Likewise.
42151         * modules/gc-md5-tests: Likewise.
42152         * modules/gc-pbkdf2-sha1-tests: Likewise.
42153         * modules/gc-rijndael-tests: Likewise.
42154         * modules/gc-sha1-tests: Likewise.
42155         * modules/gc-tests: Likewise.
42156         * modules/getaddrinfo-tests: Likewise.
42157         * modules/hmac-md5-tests: Likewise.
42158         * modules/hmac-sha1-tests: Likewise.
42159         * modules/linked-list-tests: Likewise.
42160         * modules/linkedhash-list-tests: Likewise.
42161         * modules/lock-tests: Likewise.
42162         * modules/md2-tests: Likewise.
42163         * modules/md4-tests: Likewise.
42164         * modules/md5-tests: Likewise.
42165         * modules/rbtree-list-tests: Likewise.
42166         * modules/rbtree-oset-tests: Likewise.
42167         * modules/rbtreehash-list-tests: Likewise.
42168         * modules/read-file-tests: Likewise.
42169         * modules/rijndael-tests: Likewise.
42170         * modules/stdint-tests: Likewise.
42171         * modules/tls-tests: Likewise.
42172
42173 2007-02-24  Bruno Haible  <bruno@clisp.org>
42174
42175         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
42176         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
42177         function; instead check whether isnan with a double argument links.
42178         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
42179         function; instead check whether isnan with a 'long double' argument
42180         links.
42181         Reported by Eric Blake <ebb9@byu.net>.
42182
42183 2007-02-24  Bruno Haible  <bruno@clisp.org>
42184
42185         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
42186         defined.
42187         * lib/isnanl.c: Remove all code. Just include isnan.c.
42188         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
42189
42190 2007-02-25  Jim Meyering  <jim@meyering.net>
42191
42192         Avoid conflicting types for 'unsetenv' on FreeBSD.
42193         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
42194         conflicting with FreeBSD's (5.0 and 6.1) function declaration
42195         in stdlib.h.
42196
42197 2007-02-24  Bruno Haible  <bruno@clisp.org>
42198
42199         * modules/isnanl-nolibm-tests: New file.
42200         * tests/test-isnanl.c: New file.
42201
42202         * modules/isnanl-nolibm: New file.
42203         * lib/isnanl.h: New file.
42204         * lib/isnanl.c: New file.
42205         * m4/isnanl.m4: New file.
42206
42207 2007-02-24  Bruno Haible  <bruno@clisp.org>
42208
42209         * modules/isnan-nolibm-tests: New file.
42210         * tests/test-isnan.c: New file.
42211
42212         * modules/isnan-nolibm: New file.
42213         * lib/isnan.h: New file.
42214         * lib/isnan.c: New file.
42215         * m4/isnan.m4: New file.
42216
42217 2007-02-24  Bruno Haible  <bruno@clisp.org>
42218
42219         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
42220         assume that an exponent fits in 20 bits.
42221
42222 2007-02-24  Jim Meyering  <jim@meyering.net>
42223
42224         * m4/regex.m4: Update the description of the configure-time option,
42225         --without-included-regex, to state accurately what the defaults are,
42226         and perhaps to give people an idea why using this option is risky.
42227
42228 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
42229
42230         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
42231         loops on small arguments.  This attempts to avoid the problem
42232         Bruno Haible reported for AIX 4.3.2 in
42233         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
42234
42235 2007-02-23  Bruno Haible  <bruno@clisp.org>
42236
42237         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
42238         Needed for help2man.
42239
42240 2007-02-23  Karl Berry  <karl@gnu.org>
42241
42242         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
42243         exists, foo.h should be cvs-ignored, not committed.
42244
42245 2007-02-23  Eric Blake  <ebb9@byu.net>
42246
42247         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
42248         * lib/stat-time.h (includes): Likewise.
42249         * lib/utimecmp.c (includes): Likewise.
42250         * lib/utimens.h (includes): Likewise.
42251         * lib/getdate.y (includes): Also include "timespec.h" for use
42252         internal to the module.
42253         * modules/utimens (Depends-on): Revert yesterday's patch.
42254         * modules/nanosleep (Depends-on): Add missing dependency.
42255
42256 2007-02-22  Bruno Haible  <bruno@clisp.org>
42257
42258         * lib/glob.c: Don't include getlogin_r.h.
42259
42260 2007-02-22  Jim Meyering  <jim@meyering.net>
42261
42262         * modules/utimens (Depends-on): Add timespec, required for
42263         utimens.h's inclusion of timespec.h.
42264
42265 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
42266
42267         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
42268         long unreadable paths in GNU/Linux.  Problem reported by Andreas
42269         Schwab in
42270         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
42271         I'll try to think of a better way to fix the Solaris problem.
42272
42273         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
42274         like glibc; on Solaris 10, it fails with errno == EINVAL.
42275         POSIX says the behavior is unspecified if the first argument is NULL,
42276         so play it safe and never pass NULL to the system getcwd.
42277
42278 2007-02-21  Jim Meyering  <jim@meyering.net>
42279
42280         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
42281         of gettimeofday.  It would conflict with the one now always
42282         provided via sys_time_.h.  Reported by Matthew Woehlke, as
42283         an IRIX 6.5 build failure.
42284
42285 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
42286
42287         Minor fixups to port to Solaris 10 with Sun C 5.8.
42288         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
42289         * modules/getcwd (Depends-on): Add dirfd.
42290         * lib/putenv.c (putenv): #undef it.
42291         (rpl_putenv): New decl.
42292         (malloc, free): Include <stdlib.h> rather than prototyping separately.
42293
42294 2007-02-20  Bruno Haible  <bruno@clisp.org>
42295
42296         * modules/stdio-tests: New file.
42297         * tests/test-stdio.c: New file.
42298
42299         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
42300         (Depends-on): Add stdio.
42301         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
42302         (Include): Use <stdio.h> instead of vsnprintf.h.
42303         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
42304         HAVE_DECL_VSNPRINTF.
42305         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
42306
42307         * modules/snprintf (Files): Remove lib/snprintf.h.
42308         (Depends-on): Add stdio.
42309         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
42310         (Include): Use <stdio.h> instead of snprintf.h.
42311         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
42312         HAVE_DECL_SNPRINTF.
42313         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
42314         * lib/getaddrinfo.c: Likewise.
42315
42316         * modules/stdio: New file.
42317         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
42318         * lib/snprintf.h: Remove file.
42319         * lib/vsnprintf.h: Remove file.
42320         * lib/.cppi-disable: Remove snprintf.h.
42321         * m4/stdio_h.m4: New file.
42322         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
42323
42324 2007-02-20  Jim Meyering  <jim@meyering.net>
42325
42326         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
42327         used by e.g., mingw.  From Bruno Haible.
42328
42329 2007-02-19  Bruno Haible  <bruno@clisp.org>
42330
42331         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
42332         warnings.
42333         Reported by Ben Pfaff <blp@cs.stanford.edu>.
42334
42335 2007-02-19  Bruno Haible  <bruno@clisp.org>
42336
42337         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
42338         from mingw users.
42339
42340 2007-02-19  Bruno Haible  <bruno@clisp.org>
42341
42342         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
42343         warnings.
42344         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
42345
42346 2007-02-19  Jim Meyering  <jim@meyering.net>
42347
42348         Don't use FD after a successful "fdopendir (fd)".
42349         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
42350         Reset it by calling dirfd on the just-obtained DIR*.
42351
42352         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
42353         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
42354
42355 2007-02-18  Bruno Haible  <bruno@clisp.org>
42356
42357         * lib/readlink.c: Include <unistd.h>.
42358         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
42359         HAVE_READLINK.
42360         * modules/readlink (Depends-on): Add unistd.
42361         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42362         (Include): Add <unistd.h>.
42363
42364         * lib/getlogin_r.h: Remove file.
42365         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
42366         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
42367         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
42368         HAVE_DECL_GETLOGIN_R.
42369         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
42370         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42371         (Include): Use <unistd.h> instead of getlogin_r.h.
42372
42373         * lib/getcwd.h: Remove file.
42374         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
42375         * lib/xgetcwd.c: Likewise.
42376         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
42377         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
42378         * modules/getcwd (Files): Remove lib/getcwd.h.
42379         (Depends-on): Add unistd.
42380         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42381         (Include): Use <unistd.h> instad of getcwd.h.
42382
42383         * lib/ftruncate.c: Include <unistd.h> first.
42384         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
42385         Set HAVE_FTRUNCATE.
42386         * modules/ftruncate (Depends-on): Add unistd.
42387         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42388
42389         * lib/fchdir.c: Include <unistd.h> first.
42390         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
42391         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
42392         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
42393         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42394         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
42395
42396         * lib/dup2.c: Include <unistd.h> first.
42397         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
42398         HAVE_DUP2.
42399         * modules/dup2 (Depends-on): Add unistd.
42400         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42401
42402         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
42403         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
42404         REPLACE_CHOWN. Don't define chown as a macro here.
42405         * modules/chown (Depends-on): Add unistd.
42406         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
42407
42408         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
42409         Add definition for GL_LINK_WARNING.
42410         (chown, dup2): New declarations.
42411         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
42412         link warning.
42413         (ftruncate): New declaration.
42414         (getcwd): New declaration, taken from old getcwd.h.
42415         (getlogin_r): New declaration, taken from old getlogin_r.h.
42416         (readlink): New declaration.
42417         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
42418         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
42419         (gl_PREREQ_UNISTD): Remove macro.
42420         (gl_UNISTD_MODULE_INDICATOR): New macro.
42421         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
42422         many new variables. Don't set UNISTD_H.
42423         * modules/unistd (Description): Change.
42424         (Depends-on): Add link-warning.
42425         (configure.ac): Update.
42426         (Makefile.am): Create unistd.h always. Substitute many new variables
42427         into it.
42428
42429 2007-02-18  Bruno Haible  <bruno@clisp.org>
42430
42431         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
42432         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
42433         HAVE_GETSUBOPT.
42434         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
42435         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
42436         * lib/getsubopt.h: Remove file.
42437         * modules/getsubopt (Files): Remove lib/getsubopt.h.
42438         (Depends-on): Add stdlib.
42439         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42440         (Includes): Use <stdlib.h> instead of getsubopt.h.
42441         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
42442         Set HAVE_GETSUBOPT.
42443         * lib/getsubopt.c: Don't include getsubopt.h.
42444
42445 2007-02-18  Bruno Haible  <bruno@clisp.org>
42446
42447         * modules/fchdir (Depends-on): Add dup2.
42448
42449 2007-02-18  Bruno Haible  <bruno@clisp.org>
42450
42451         * lib/stdlib_.h: Handle glibc's special invocation convention
42452         specially.
42453
42454 2007-02-18  Bruno Haible  <bruno@clisp.org>
42455
42456         * modules/stdlib-tests: New file.
42457         * tests/test-stdlib.c: New file.
42458
42459         * modules/mkstemp (Files): Remove lib/mkstemp.h.
42460         (Depends-on): Add stdlib.
42461         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42462         (Includes): Use <stdlib.h> instead of mkstemp.h.
42463         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
42464         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
42465         * lib/mkstemp.c: Don't include mkstemp.h.
42466         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
42467         * lib/stdlib--.h: Don't include mkstemp.h.
42468
42469         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
42470         (Depends-on): Add stdlib.
42471         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
42472         (Includes): Use <stdlib.h> instead of mkdtemp.h.
42473         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
42474         HAVE_MKDTEMP.
42475         * lib/mkdtemp.c: Don't include mkdtemp.h.
42476         * lib/clean-temp.c: Don't include mkdtemp.h.
42477
42478         * modules/exit (Files): Remove lib/exit.h.
42479         (Depends-on): Add stdlib.
42480         (Makefile.am): Remove lib_SOURCES.
42481         (Include): Use <stdlib.h> instead of exit.h.
42482         * lib/argmatch.c: Don't include exit.h.
42483         * lib/execute.c: Likewise.
42484         * lib/pagealign_alloc.c: Likewise.
42485         * lib/pipe.c: Likewise.
42486         * lib/wait-process.c: Likewise.
42487         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
42488         * lib/exitfail.c: Likewise.
42489         * lib/savewd.c: Likewise.
42490         * lib/xsetenv.c: Likewise.
42491
42492         * modules/stdlib: New file.
42493         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
42494         and extra comments about mkstemp().
42495         * lib/exit.h: Remove file.
42496         * lib/mkdtemp.h: Remove file.
42497         * lib/mkstemp.h: Remove file.
42498         * m4/stdlib_h.m4: New file.
42499         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
42500
42501 2007-02-18  Bruno Haible  <bruno@clisp.org>
42502
42503         * modules/math-tests: New file.
42504         * tests/test-math.c: New file.
42505
42506         * modules/math: New file.
42507         * modules/mathl (Files): Remove lib/mathl.h.
42508         (Depends-on): Add math.
42509         (Makefile.am): Don't mention mathl.h.
42510         (Include): Use <math.h> instead of mathl.h.
42511         * lib/math_.h: New file.
42512         * lib/mathl.h: Remove file.
42513         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
42514         mathl.h.
42515         * lib/asinl.c: Likewise.
42516         * lib/atanl.c: Likewise.
42517         * lib/ceill.c: Likewise.
42518         * lib/cosl.c: Likewise.
42519         * lib/expl.c: Likewise.
42520         * lib/floorl.c: Likewise.
42521         * lib/frexpl.c: Likewise.
42522         * lib/ldexpl.c: Likewise.
42523         * lib/logl.c: Likewise.
42524         * lib/sincosl.c: Likewise.
42525         * lib/sinl.c: Likewise.
42526         * lib/sqrtl.c: Likewise.
42527         * lib/tanl.c: Likewise.
42528         * lib/trigl.c: Likewise.
42529         * m4/math_h.m4: New file.
42530         * MODULES.html.sh (Mathematics): Add math.
42531
42532 2007-02-17  Bruno Haible  <bruno@clisp.org>
42533
42534         * modules/wctype-tests: New file.
42535         * tests/test-wctype.c: New file.
42536
42537         * modules/wchar-tests: New file.
42538         * tests/test-wchar.c: New file.
42539
42540         * modules/unistd-tests: New file.
42541         * tests/test-unistd.c: New file.
42542
42543         * modules/time-tests: New file.
42544         * tests/test-time.c: New file.
42545
42546         * modules/sysexits-tests: New file.
42547         * tests/test-sysexits.c: New file.
42548
42549         * modules/sys_time-tests: New file.
42550         * tests/test-sys_time.c: New file.
42551
42552         * modules/sys_stat-tests: New file.
42553         * tests/test-sys_stat.c: New file.
42554
42555         * modules/sys_socket-tests: New file.
42556         * tests/test-sys_socket.c: New file.
42557
42558         * modules/sys_select-tests: New file.
42559         * tests/test-sys_select.c: New file.
42560
42561         * modules/string-tests: New file.
42562         * tests/test-string.c: New file.
42563
42564         * modules/stdbool-tests: New file.
42565         * tests/test-stdbool.c: New file.
42566
42567         * modules/netinet_in-tests: New file.
42568         * tests/test-netinet_in.c: New file.
42569
42570         * modules/inttypes-tests: New file.
42571         * tests/test-inttypes.c: New file.
42572
42573         * modules/fcntl-tests: New file.
42574         * tests/test-fcntl.c: New file.
42575
42576         * modules/byteswap-tests: New file.
42577         * tests/test-byteswap.c: New file.
42578
42579         * modules/arpa_inet-tests: New file.
42580         * tests/test-arpa_inet.c: New file.
42581
42582 2007-02-17  Bruno Haible  <bruno@clisp.org>
42583
42584         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
42585         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
42586         if the corresponding module is not enabled. Emit link warnings if
42587         the function is used nevertheless.
42588         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
42589         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
42590         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
42591         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
42592         * modules/inttypes (Depends-on): Add link-warning.
42593         (Makefile.am): Copy the contents of build-aux/link-warning.h into
42594         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
42595         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
42596         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
42597         * modules/imaxdiv (configure.ac): Likewise.
42598         * modules/strtoimax (configure.ac): Likewise.
42599         * modules/strtoumax (configure.ac): Likewise.
42600
42601 2007-02-17  Bruno Haible  <bruno@clisp.org>
42602
42603         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
42604         gl_STRING_MODULE_INDICATOR_DEFAULTS.
42605         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
42606         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
42607
42608 2007-02-17  Bruno Haible  <bruno@clisp.org>
42609
42610         * modules/link-warning: New file.
42611         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
42612         * lib/string_.h (GL_LINK_WARNING): Remove definition.
42613         * modules/string (Depends-on): Add link-warning.
42614         (Makefile.am): Copy the contents of build-aux/link-warning.h into
42615         string.h.
42616         * MODULES.html.sh (Support for building libraries and executables): Add
42617         link-warning.
42618
42619 2007-02-17  Bruno Haible  <bruno@clisp.org>
42620
42621         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
42622         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
42623         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
42624         long lines.
42625
42626 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
42627             Bruno Haible  <bruno@clisp.org>
42628
42629         * modules/tmpfile: New file.
42630         * lib/tmpfile.c: New file.
42631         * m4/tmpfile.m4: New file.
42632         * MODULES.html.sh (func_all_modules): New section "Input/output".
42633
42634 2007-02-15  Bruno Haible  <bruno@clisp.org>
42635
42636         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
42637         (supports_delete_on_close): New function.
42638         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
42639
42640 2007-02-14  Bruno Haible  <bruno@clisp.org>
42641
42642         * modules/mbspcasecmp-tests: New file.
42643         * tests/test-mbspcasecmp.sh: New file.
42644         * tests/test-mbspcasecmp.c: New file.
42645
42646         New module mbspcasecmp.
42647         * modules/mbspcasecmp: New file.
42648         * lib/mbspcasecmp.c: New file.
42649         * lib/string_.h (strncasecmp): Change warning message.
42650         (mbspcasecmp): New declaration.
42651         * m4/mbspcasecmp.m4: New file.
42652         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42653         GNULIB_MBSPCASECMP.
42654         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
42655         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
42656
42657 2007-02-14  Bruno Haible  <bruno@clisp.org>
42658
42659         * modules/mbsncasecmp-tests: New file.
42660         * tests/test-mbsncasecmp.sh: New file.
42661         * tests/test-mbsncasecmp.c: New file.
42662
42663         New module mbsncasecmp.
42664         * modules/mbsncasecmp: New file.
42665         * lib/mbsncasecmp.c: New file.
42666         * lib/string_.h (mbsncasecmp): New declaration.
42667         * m4/mbsncasecmp.m4: New file.
42668         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42669         GNULIB_MBSNCASECMP.
42670         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
42671         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
42672
42673 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
42674
42675         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
42676         Verify that it doesn't overlap with our flags.
42677         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
42678         do not have the desired effect in multibyte locales; instead, use
42679         mbscasecmp.
42680         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
42681         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
42682         we don't require GNU fnmatch ourselves (if our users require it, they
42683         should do so explicitly).
42684
42685         Fix regex code so it doesn't rely on strcasecmp.
42686         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
42687         Otherwise, include gnulib's langinfo.h.
42688         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
42689         undesirable behavior in non-C locales.  Instead, rely on localecharset.
42690         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
42691         * modules/regex (FILES): Remove m4/codeset.m4.
42692         (Depends-on): Add localcharset.  Remove strcase.
42693
42694 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42695
42696         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
42697         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
42698
42699 2007-02-13  Bruno Haible  <bruno@clisp.org>
42700
42701         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
42702         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42703
42704 2007-02-12  Bruno Haible  <bruno@clisp.org>
42705
42706         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
42707         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
42708         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
42709         time warning rather than a link error.
42710
42711 2007-02-12  Bruno Haible  <bruno@clisp.org>
42712
42713         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
42714         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42715         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42716
42717 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42718
42719         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
42720         args, not 2.
42721
42722 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
42723
42724         New module 'time', so that apps can include <time.h> as per
42725         POSIX and GNU instead of separate include files like time_r.h
42726         and timegm.h.  This implementation tries out a simpler approach
42727         for replacing decls in standard include files (as compared to
42728         the string module), somewhat as an experiment.
42729
42730         * config/srclist.txt: Comment out mktime.c for now.
42731         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
42732         since it doesn't apply any more.  Use generic wording instead.
42733         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
42734         'time'.
42735         * lib/time_.h, m4/time_h.m4, modules/time: New files.
42736         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
42737         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
42738         Don't include <sys/types.h>; no longer needed since we assume C89.
42739         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
42740         * lib/strftime.c: Likewise.
42741         * lib/time_r.c: Likewise.
42742         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
42743         * lib/nanosleep.c: Include <time.h> first, to check interface.
42744         * lib/strptime.c: Likewise.
42745         * lib/time_r.c: Likewise.
42746         * lib/timegm.c: Likewise.
42747         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
42748         needed.
42749         * lib/timegm.c: Don't include timegm.h; no longer needed.
42750         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
42751         time.h now handles any problems in that area.
42752         (struct timespec, nanosleep): Remove; time.h now arranges for these.
42753         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
42754         that time.h defines struct timespec.
42755         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
42756         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
42757         handles that.
42758         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
42759         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
42760         needed.  Set REPLACE_LOCALTIME.
42761         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
42762         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
42763         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
42764         nanosleep; time_h.m4 now does that.  Don't require
42765         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
42766         module handles this now.
42767         * modules/getdate (Depends-on): Remove timespec.  Add time.
42768         * modules/nanosleep (Depends-on): Likewise.
42769         * modules/stat-time (Depends-on): Likewise.
42770         * modules/nanosleep (Include): Include time.h, not timespec.h.
42771         * modules/strptime (Files): Remove lib/strptime.h.
42772         (Depends-on): Add extensions, time.
42773         (Include): Include time.h, not strptime.h.
42774         * modules/time_r (Files): Remove lib/time_r.h.
42775         (Depends-on): Add time.
42776         (Include): Include time.h, not time_r.h.
42777         * modules/timegm: Likewise.
42778         * modules/timespec (Description): Now does timespec-related decls
42779         of our own, instead of struct timespec itself.
42780         (Depends-on): Add time; remove extensions.
42781         (Maintainer): Add self.
42782         * modules/utimecmp (Depends-on): Add time; remove timespec.
42783         * modules/utimens (Depends-on): Likewise.
42784         * modules/xnanosleep (Depends-on): Likewise.
42785
42786 2007-02-11  Bruno Haible  <bruno@clisp.org>
42787
42788         * lib/c-strstr.c: Include allocsa.h.
42789         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
42790         * lib/c-strcasestr.c: Include allocsa.h.
42791         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
42792         * lib/strcasestr.c: Include allocsa.h.
42793         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
42794         * lib/mbsstr.c: Include allocsa.h.
42795         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
42796         allocsa/freesa instead of malloc/free.
42797         * lib/mbscasestr.c: Include allocsa.h.
42798         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
42799         allocsa/freesa instead of malloc/free.
42800         * modules/c-strstr (Depends-on): Add allocsa.
42801         * modules/c-strcasestr (Depends-on): Likewise.
42802         * modules/strcasestr (Depends-on): Likewise.
42803         * modules/mbsstr (Depends-on): Likewise.
42804         * modules/mbscasestr (Depends-on): Likewise.
42805
42806 2007-02-11  Bruno Haible  <bruno@clisp.org>
42807
42808         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
42809
42810         * modules/mbsspn-tests: New file.
42811         * tests/test-mbsspn.sh: New file.
42812         * tests/test-mbsspn.c: New file.
42813
42814 2007-02-11  Bruno Haible  <bruno@clisp.org>
42815
42816         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
42817
42818         * modules/mbspbrk-tests: New file.
42819         * tests/test-mbspbrk.sh: New file.
42820         * tests/test-mbspbrk.c: New file.
42821
42822 2007-02-11  Bruno Haible  <bruno@clisp.org>
42823
42824         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
42825         unneeded cast.
42826
42827         * modules/mbscspn-tests: New file.
42828         * tests/test-mbscspn.sh: New file.
42829         * tests/test-mbscspn.c: New file.
42830
42831 2007-02-11  Bruno Haible  <bruno@clisp.org>
42832
42833         * modules/mbscasecmp-tests: New file.
42834         * tests/test-mbscasecmp.sh: New file.
42835         * tests/test-mbscasecmp.c: New file.
42836
42837 2007-02-11  Bruno Haible  <bruno@clisp.org>
42838
42839         Ensure O(n) worst-case complexity of mbscasestr.
42840         * lib/mbscasestr.c: Include stdbool.h.
42841         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
42842         functions.
42843         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
42844         the bookkeeping indicates that it's worth it.
42845         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
42846
42847         * modules/mbscasestr-tests: New file.
42848         * tests/test-mbscasestr1.c: New file.
42849         * tests/test-mbscasestr2.sh: New file.
42850         * tests/test-mbscasestr2.c: New file.
42851         * tests/test-mbscasestr3.sh: New file.
42852         * tests/test-mbscasestr3.c: New file.
42853         * tests/test-mbscasestr4.sh: New file.
42854         * tests/test-mbscasestr4.c: New file.
42855         * m4/locale-tr.m4: New file.
42856
42857 2007-02-11  Bruno Haible  <bruno@clisp.org>
42858
42859         Ensure O(n) worst-case complexity of mbsstr.
42860         * lib/mbsstr.c: Include stdbool.h.
42861         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
42862         functions.
42863         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
42864         bookkeeping indicates that it's worth it.
42865         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
42866
42867         * modules/mbsstr-tests: New file.
42868         * tests/test-mbsstr1.c: New file.
42869         * tests/test-mbsstr2.sh: New file.
42870         * tests/test-mbsstr2.c: New file.
42871         * tests/test-mbsstr3.sh: New file.
42872         * tests/test-mbsstr3.c: New file.
42873         * m4/locale-fr.m4: New file.
42874
42875 2007-02-11  Bruno Haible  <bruno@clisp.org>
42876
42877         * lib/mbsrchr.c (mbsrchr): Fix bug.
42878
42879         * modules/mbsrchr-tests: New file.
42880         * tests/test-mbsrchr.sh: New file.
42881         * tests/test-mbsrchr.c: New file.
42882
42883 2007-02-11  Bruno Haible  <bruno@clisp.org>
42884
42885         * lib/mbschr.c (mbschr): Fix bug.
42886
42887         * modules/mbschr-tests: New file.
42888         * tests/test-mbschr.sh: New file.
42889         * tests/test-mbschr.c: New file.
42890         * m4/locale-zh.m4: New file.
42891
42892 2007-02-11  Bruno Haible  <bruno@clisp.org>
42893
42894         Support for copying multibyte string iterators.
42895         * lib/mbiter.h: Include <string.h>.
42896         (mbiter_multi_copy): New function.
42897         (mbi_copy): New macro.
42898         * lib/mbuiter.h: Include <string.h>.
42899         (mbuiter_multi_copy): New function.
42900         (mbui_copy): New macro.
42901
42902 2007-02-11  Bruno Haible  <bruno@clisp.org>
42903
42904         New module mbslen.
42905         * modules/mbslen: New file.
42906         * lib/mbslen.c: New file.
42907         * lib/string_.h (mbslen): New declaration.
42908         * m4/mbslen.m4: New file.
42909         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42910         GNULIB_MBSLEN.
42911         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
42912         * MODULES.html.sh (Internationalization functions): Add mbslen.
42913
42914 2007-02-11  Bruno Haible  <bruno@clisp.org>
42915
42916         Ensure O(n) worst-case complexity of strcasestr substitute.
42917         * lib/strcasestr.c: Include stdbool.h.
42918         (knuth_morris_pratt): New function.
42919         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
42920         bookkeeping indicates that it's worth it.
42921         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
42922
42923         * modules/strcasestr-tests: New file.
42924         * tests/test-strcasestr.c: New file.
42925
42926 2007-02-11  Bruno Haible  <bruno@clisp.org>
42927
42928         Ensure O(n) worst-case complexity of c_strcasestr.
42929         * lib/c-strcasestr.c: Include stdbool.h, string.h.
42930         (knuth_morris_pratt): New function.
42931         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
42932         the bookkeeping indicates that it's worth it.
42933         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
42934
42935         * modules/c-strcasestr-tests: New file.
42936         * tests/test-c-strcasestr.c: New file.
42937
42938 2007-02-11  Bruno Haible  <bruno@clisp.org>
42939
42940         Ensure O(n) worst-case complexity of c_strstr.
42941         * lib/c-strstr.c: Include stdbool.h, string.h.
42942         (knuth_morris_pratt): New function.
42943         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
42944         bookkeeping indicates that it's worth it.
42945         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
42946
42947         * lib/c-strstr.c: Complete rewrite for maintainability.
42948
42949         * modules/c-strstr-tests: New file.
42950         * tests/test-c-strstr.c: New file.
42951
42952 2007-02-11  Bruno Haible  <bruno@clisp.org>
42953
42954         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
42955         5.2.1 and earlier, whereby \055 was treated just like the range
42956         delimiter '-'.
42957         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
42958
42959 2007-02-08  Bruno Haible  <bruno@clisp.org>
42960
42961         * modules/regex (Depends-on): Add stdbool.
42962         Reported by Dalibor Topic <robilad@kaffe.org>.
42963
42964 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
42965
42966         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
42967         Prefer returning from main to exiting from it.
42968         Remove unnecessary parens after sizeof.
42969
42970 2007-02-05  Bruno Haible  <bruno@clisp.org>
42971
42972         New module mbssep.
42973         * modules/mbssep: New file.
42974         * lib/mbssep.c: New file.
42975         * lib/string_.h (strsep): Add a conditional link warning.
42976         (mbssep): New declaration.
42977         * m4/mbssep.m4: New file.
42978         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
42979         GNULIB_MBSSEP.
42980         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
42981         * MODULES.html.sh (Internationalization functions): Add mbssep.
42982
42983 2007-02-05  Bruno Haible  <bruno@clisp.org>
42984
42985         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
42986         Optimize search in case of 1 delimiter.
42987
42988 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
42989
42990         * lib/acl.h: Include sys/types.h before sys/acl.h.
42991
42992 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
42993
42994         Merge upstream fix for glibc bugzilla #3957:
42995
42996         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
42997
42998         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
42999         bit for RE_HAT_LISTS_NOT_NEWLINE.
43000         (build_charclass_op): Remove bogus comment.
43001
43002 2007-02-05  Simon Josefsson  <simon@josefsson.org>
43003
43004         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
43005
43006 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
43007
43008         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
43009         * lib/memmem.c [!defined _LIBC]: Include config.h.
43010
43011 2007-02-04  Bruno Haible  <bruno@clisp.org>
43012
43013         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
43014         warning message.
43015
43016 2007-02-04  Bruno Haible  <bruno@clisp.org>
43017
43018         New module mbstok_r.
43019         * modules/mbstok_r: New file.
43020         * lib/mbstok_r.c: New file.
43021         * lib/string_.h (strtok_r): Change argument names to match the
43022         comments. Add a conditional link warning.
43023         (mbstok_r): New declaration.
43024         * m4/mbstok_r.m4: New file.
43025         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
43026         GNULIB_MBSTOK_R.
43027         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
43028         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
43029
43030 2007-02-04  Bruno Haible  <bruno@clisp.org>
43031
43032         New module mbsspn.
43033         * modules/mbsspn: New file.
43034         * lib/mbsspn.c: New file.
43035         * lib/string_.h (strspn): Add a conditional link warning.
43036         (mbsspn): New declaration.
43037         * m4/mbsspn.m4: New file.
43038         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
43039         GNULIB_MBSSPN.
43040         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
43041         * MODULES.html.sh (Internationalization functions): Add mbsspn.
43042
43043 2007-02-04  Bruno Haible  <bruno@clisp.org>
43044
43045         New module mbspbrk.
43046         * modules/mbspbrk: New file.
43047         * lib/mbspbrk.c: New file.
43048         * lib/string_.h (strpbrk): Add a conditional link warning.
43049         (mbspbrk): New declaration.
43050         * m4/mbspbrk.m4: New file.
43051         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
43052         GNULIB_MBSPBRK.
43053         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
43054         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
43055
43056 2007-02-04  Bruno Haible  <bruno@clisp.org>
43057
43058         New module mbscspn.
43059         * modules/mbscspn: New file.
43060         * lib/mbscspn.c: New file.
43061         * lib/string_.h (strcspn): Add a conditional link warning.
43062         (mbscspn): New declaration.
43063         * m4/mbscspn.m4: New file.
43064         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
43065         GNULIB_MBSCSPN.
43066         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
43067         * MODULES.html.sh (Internationalization functions): Add mbscspn.
43068
43069 2007-02-04  Bruno Haible  <bruno@clisp.org>
43070
43071         New module mbscasestr, reduced goal of strcasestr.
43072         * modules/mbscasestr: New file.
43073         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
43074         (mbscasestr): Renamed from strcasestr.
43075         * lib/strcasestr.c: Don't include mbuiter.h.
43076         (strcasestr): Remove support for multibyte locales.
43077         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
43078         Change the conditional link warning.
43079         (mbscasestr): New declaration.
43080         * m4/mbscasestr.m4: New file.
43081         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
43082         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
43083         REPLACE_STRCASESTR.
43084         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
43085         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43086         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
43087         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
43088         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
43089         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
43090         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
43091         (Depends-on): Remove mbuiter.
43092         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
43093
43094 2007-02-04  Bruno Haible  <bruno@clisp.org>
43095
43096         Simplify handling of strncasecmp.
43097         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
43098         the conditional link warning.
43099         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
43100         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
43101         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
43102         * modules/strcase (configure.ac): Don't invoke
43103         gl_STRING_MODULE_INDICATOR.
43104         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
43105
43106 2007-02-04  Bruno Haible  <bruno@clisp.org>
43107
43108         New module mbscasecmp, reduced goal of strcasecmp.
43109         * modules/mbscasecmp: New file.
43110         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
43111         (mbscasecmp): Renamed from strcasecmp.
43112         * lib/strcasecmp.c: Don't include mbuiter.h.
43113         (strcasecmp): Remove support for multibyte locales.
43114         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
43115         Change the conditional link warning.
43116         (mbscasecmp): New declaration.
43117         * m4/mbscasecmp.m4: New file.
43118         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
43119         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
43120         REPLACE_STRCASECMP.
43121         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
43122         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
43123         GNULIB_MBSCASECMP.
43124         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
43125         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
43126         * modules/strcase (Files): Remove m4/mbrtowc.m4.
43127         (Depends-on): Remove mbuiter.
43128         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
43129
43130 2007-02-04  Bruno Haible  <bruno@clisp.org>
43131
43132         New module mbsstr. Remove module strstr.
43133         * modules/mbsstr: New file.
43134         * modules/strstr: Remove file.
43135         * lib/mbsstr.c: Renamed from lib/strstr.c.
43136         (mbsstr): Renamed from strstr.
43137         * lib/string_.h (strstr): Remove declaration. Change the conditional
43138         link warning.
43139         (mbsstr): New declaration.
43140         * m4/mbsstr.m4: New file.
43141         * m4/strstr.m4: Remove file.
43142         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
43143         REPLACE_STRSTR.
43144         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
43145         Don't initialize GNULIB_STRSTR.
43146         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
43147         substitute GNULIB_STRSTR and REPLACE_STRSTR.
43148         * MODULES.html.sh (Internationalization functions): Add mbsstr.
43149         (Support for systems lacking ANSI C 89): Remove strstr.
43150
43151 2007-02-04  Bruno Haible  <bruno@clisp.org>
43152
43153         New module mbsrchr.
43154         * modules/mbsrchr: New file.
43155         * lib/mbsrchr.c: New file.
43156         * lib/string_.h (strrchr): Add a conditional link warning.
43157         (mbsrchr): New declaration.
43158         * m4/mbsrchr.m4: New file.
43159         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
43160         GNULIB_MBSRCHR.
43161         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
43162         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
43163
43164 2007-02-04  Bruno Haible  <bruno@clisp.org>
43165
43166         New module mbschr.
43167         * modules/mbschr: New file.
43168         * lib/mbschr.c: New file.
43169         * lib/string_.h (strchr): Add a conditional link warning.
43170         (mbschr): New declaration.
43171         * m4/mbschr.m4: New file.
43172         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
43173         GNULIB_MBSCHR.
43174         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
43175         * MODULES.html.sh (Internationalization functions): Add mbschr.
43176
43177 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
43178
43179         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
43180
43181         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
43182
43183 2007-02-04  Bruno Haible  <bruno@clisp.org>
43184
43185         New module description section 'configure.ac-early'.
43186         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
43187         (func_get_autoconf_early_snippet): New function.
43188         (func_import, func_create_testdir): Use it. Remove special cases for
43189         modules 'extensions' and 'lock'.
43190         * modules/extensions (configure.ac-early): Require
43191         gl_USE_SYSTEM_EXTENSIONS.
43192         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
43193
43194 2007-02-04  Bruno Haible  <bruno@clisp.org>
43195
43196         Make use of gcj-4.3's -fsource and -ftarget option.
43197         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
43198         and if so try the options -fsource and -ftarget.
43199         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
43200         source_version, ftarget_option, target_version arguments.
43201         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
43202         (is_envjavac_oldgcj_14_14_usable): Renamed from
43203         is_envjavac_gcj_14_14_usable.
43204         (is_envjavac_oldgcj_14_13_usable): Renamed from
43205         is_envjavac_gcj_14_13_usable.
43206         (is_gcj_present): Update.
43207         (is_gcj_43, is_gcj43_usable): New functions.
43208         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
43209         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
43210         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
43211         try the options -fsource and -ftarget.
43212
43213 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
43214
43215         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
43216         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
43217         larger value.
43218
43219 2007-02-03  Jim Meyering  <jim@meyering.net>
43220
43221         Give tools a better chance to allocate space for very large buffers.
43222         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
43223
43224         Make pwd and readlink work also when run with an unreadable parent dir
43225         on systems with openat support.
43226         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
43227         provided getcwd function, even when we have openat support.
43228         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
43229
43230 2007-02-02  Bruno Haible  <bruno@clisp.org>
43231
43232         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
43233         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
43234         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
43235         portability problems if one of these functions is only used on specific
43236         platforms.
43237         Reported by Paul Eggert.
43238
43239 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
43240
43241         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
43242         is causing more trouble than it's curing.
43243         * lib/regex_internal.h (__mempcpy): Remove.
43244         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
43245         (and make the code a tad smaller to boot).
43246         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
43247
43248 2007-02-02  Jim Meyering  <jim@meyering.net>
43249
43250         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
43251         section, not in the Makefile.am: one.
43252
43253 2007-02-02  Eric Blake  <ebb9@byu.net>
43254
43255         * lib/strchrnul.c: Always include config.h first.
43256
43257         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
43258         gnulib strstr is not necessary here.
43259
43260 2007-02-02  Simon Josefsson  <simon@josefsson.org>
43261
43262         * m4/socklen.m4: Fix typo.
43263
43264 2007-02-02  Eric Blake  <ebb9@byu.net>
43265
43266         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
43267         * modules/netinet_in (Makefile.am): Likewise.
43268
43269 2007-02-01  Bruno Haible  <bruno@clisp.org>
43270
43271         * lib/string_.h (GL_LINK_WARNING): New macro.
43272         (strcasecmp, strstr, strcasestr): If provided by the system,
43273         conditionally define as a macro that leads to a warning instead of to
43274         an error.
43275         (strncasecmp): Conditionally define as a macro that leads to a warning.
43276
43277 2007-02-01  Karl Berry  <karl@gnu.org>
43278
43279         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
43280
43281 2007-02-01  Bruno Haible  <bruno@clisp.org>
43282
43283         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
43284         renamings.
43285
43286 2007-02-01  Eric Blake  <ebb9@byu.net>
43287
43288         * modules/regex (Depends-on): Revert dependence on mempcpy.
43289         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
43290         module's definition of mempcpy.
43291         Reported by Paul Eggert.
43292
43293 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
43294
43295         * lib/string_.h: If the gnulib module XYZ is not present, undefine
43296         the symbol XYZ before redefining it.  This fixes a problem with
43297         programs that don't use XYZ, when compiled on systems that define
43298         XYZ to something else.
43299
43300 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
43301
43302         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
43303         occurs when "mkdir -m foo" creates a setgid directory that is (1)
43304         writeable to group or other and (2) is intended to have a special
43305         mode bit that is set or cleared.  In such a case, the directory
43306         should be neither group- nor other-writeable until the special
43307         mode bits are right.
43308
43309 2007-01-31  Eric Blake  <ebb9@byu.net>
43310
43311         * modules/mountlist (Depends-on): Add strstr.
43312
43313         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
43314         bug.
43315         * modules/string (Makefile.am): Remove redundant replacement.
43316         * modules/regex (Depends-on): Add mempcpy.
43317
43318 2007-01-31  Bruno Haible  <bruno@clisp.org>
43319
43320         New module description field 'Link'.
43321         * gnulib-tool (func_usage): Document --extract-link-directive.
43322         (sed_extract_prog): Recognize 'Link' directive.
43323         (func_get_link_directive): New function.
43324         (func_import): Show summary of link directives.
43325         Handle --extract-link-directive option.
43326         * modules/acl (Link): New section.
43327         * modules/clock-time (Link): New section.
43328         * modules/euidaccess (Link): New section.
43329         * modules/gettext (Link): New section.
43330         * modules/iconv (Link): New section.
43331         * modules/lock (Link): New section.
43332         * modules/nanosleep (Link): New section.
43333         * modules/readline (Link): New section.
43334
43335 2007-01-27  Bruno Haible  <bruno@clisp.org>
43336
43337         Enforce the use of gnulib modules for unportable <string.h> functions.
43338         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
43339         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
43340         (gl_HEADER_STRING_H_BODY): Require it.
43341         * lib/string_.h: If the gnulib module XYZ is not present, redefine
43342         the symbol XYZ to one that gives a link error.
43343         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
43344         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
43345         * modules/mempcpy (configure.ac): Likewise.
43346         * modules/memrchr (configure.ac): Likewise.
43347         * modules/stpcpy (configure.ac): Likewise.
43348         * modules/stpncpy (configure.ac): Likewise.
43349         * modules/strcase (configure.ac): Likewise.
43350         * modules/strcasestr (configure.ac): Likewise.
43351         * modules/strchrnul (configure.ac): Likewise.
43352         * modules/strdup (configure.ac): Likewise.
43353         * modules/strndup (configure.ac): Likewise.
43354         * modules/strnlen (configure.ac): Likewise.
43355         * modules/strpbrk (configure.ac): Likewise.
43356         * modules/strsep (configure.ac): Likewise.
43357         * modules/strstr (configure.ac): Likewise.
43358         * modules/strtok_r (configure.ac): Likewise.
43359
43360 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
43361
43362         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
43363
43364 2007-01-30  Jim Meyering  <jim@meyering.net>
43365
43366         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
43367
43368 2007-01-29  Bruno Haible  <bruno@clisp.org>
43369
43370         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
43371         * lib/execute.c: Likewise.
43372         * lib/pipe.c: Likewise.
43373         * lib/printf-args.h: Likewise.
43374         * lib/printf-args.c: Likewise.
43375         * lib/printf-parse.c: Likewise.
43376         * lib/vasnprintf.c: Likewise.
43377
43378 2007-01-29  Eric Blake  <ebb9@byu.net>
43379
43380         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
43381         declaration.
43382
43383 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
43384
43385         * lib/strptime.h (strptime): Use 'restrict' for args where
43386         POSIX requires this.
43387         * lib/strptime.c (strptime): Likewise.
43388         Change license notice from LGPL to GPL, since gnulib-tool will
43389         change this as needed.
43390         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
43391         defined.
43392         Include "strptime.h" first, to check interface.
43393         Do not #undef _LIBC and _NL_CURRENT.
43394         Do not include <stdlib.h>; no longer needed.
43395         Include "time_r.h" and declare ptime_locale_status
43396         only if _LIBC is not defined.
43397         (__P): Remove unused macro.
43398         (match_string): Bring back glibc version, but use it only if _LIBC
43399         is defined.
43400         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
43401         Remove unnecessary assertion and abort() call.
43402         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
43403         * m4/strptime.m4: Fix serial number comment.
43404         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
43405         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
43406         (Depends-on): Add time_r.
43407
43408 2007-01-29  Bruno Haible  <bruno@clisp.org>
43409
43410         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43411         strptime.
43412         * modules/strptime (Depends-on): Add stdbool.
43413         * lib/strptime.h: Include <time.h> always. Add comments.
43414
43415 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
43416
43417         * modules/strptime: New file.
43418         * lib/strptime.h: New file.
43419         * lib/strptime.c: New file.
43420         * m4/strptime.m4: New file.
43421
43422 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
43423
43424         * MODULES.html.sh: New module mpsort.
43425         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
43426
43427         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
43428         a circularity problem with HP-UX ia64 reported by Bob Proulx in
43429         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
43430         All uses changed.
43431         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
43432         All uses changed.
43433         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
43434         to _Restrict_.
43435         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
43436         the parameter matches the prototype.
43437
43438 2007-01-28  Jim Meyering  <jim@meyering.net>
43439
43440         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
43441         sys/time.h here, reverting that part of the previous patch:
43442         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
43443
43444 2007-01-28  Bruno Haible  <bruno@clisp.org>
43445
43446         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
43447         value of $(SYS_TIME_H).
43448         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
43449         remove it conditionally, too. [added by Jim Meyering]
43450         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
43451         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
43452         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
43453         GETTIMEOFDAY_REPLACEMENT to 1.
43454
43455 2007-01-28  Bruno Haible  <bruno@clisp.org>
43456
43457         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
43458         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
43459         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
43460         Set UNISTD_H instead of UNISTD_H2.
43461         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
43462
43463 2007-01-28  Bruno Haible  <bruno@clisp.org>
43464
43465         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
43466         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
43467
43468 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43469
43470         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
43471         (func_create_testdir): Ensure C locale for `grep' and `tr'
43472         character ranges.
43473         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
43474         ACLOCAL_AMFLAGS parsing state machine.
43475
43476 2007-01-27  Bruno Haible  <bruno@clisp.org>
43477
43478         * modules/unistr/base: Update.
43479
43480 2007-01-27  Bruno Haible  <bruno@clisp.org>
43481
43482         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
43483         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
43484         * modules/unistr/u32-mbtouc-unsafe: Renamed from
43485         modules/unistr/u32-mbtouc.
43486         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
43487         * lib/unistr.h: Update.
43488         * lib/linebreak.c: Update.
43489         * modules/unistr/u32-mbtouc: Renamed from
43490         modules/unistr/u32-mbtouc-safe.
43491         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
43492         * lib/unistr.h: Update.
43493         * lib/unistr/u32-to-u8.c: Update.
43494         * lib/unistr/u32-to-u16.c: Update.
43495
43496 2007-01-27  Bruno Haible  <bruno@clisp.org>
43497
43498         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
43499         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
43500         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
43501         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
43502         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
43503         * modules/unistr/u16-mbtouc-unsafe: Renamed from
43504         modules/unistr/u16-mbtouc.
43505         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
43506         * lib/unistr.h: Update.
43507         * lib/linebreak.c: Update.
43508         * modules/linebreak: Update.
43509         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
43510         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
43511         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
43512         * modules/unistr/u16-mbtouc: Renamed from
43513         modules/unistr/u16-mbtouc-safe.
43514         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
43515         * lib/unistr.h: Update.
43516         * lib/unistr/u16-to-u8.c: Update.
43517         * modules/unistr/u16-to-u8: Update.
43518         * lib/unistr/u16-to-u32.c: Update.
43519         * modules/unistr/u16-to-u32: Update.
43520
43521 2007-01-27  Bruno Haible  <bruno@clisp.org>
43522
43523         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
43524         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
43525         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
43526         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
43527         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
43528         * modules/unistr/u8-mbtouc-unsafe: Renamed from
43529         modules/unistr/u8-mbtouc.
43530         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
43531         * lib/unistr.h: Update.
43532         * lib/striconveh.c: Update.
43533         * modules/striconveh: Update.
43534         * lib/linebreak.c: Update.
43535         * modules/linebreak: Update.
43536         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
43537         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
43538         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
43539         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
43540         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
43541         * lib/unistr.h: Update.
43542         * lib/striconveh.c: Update.
43543         * modules/striconveh: Update.
43544         * lib/unistr/u8-to-u16.c: Update.
43545         * modules/unistr/u8-to-u16: Update.
43546         * lib/unistr/u8-to-u32.c: Update.
43547         * modules/unistr/u8-to-u32: Update.
43548
43549 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43550
43551         Sync from Libtool.
43552         * lib/argz.c: Do not include strings.h nor memory.h, include
43553         string.h unconditionally.  Patch by Simon Josefsson.
43554
43555 2007-01-27  Bruno Haible  <bruno@clisp.org>
43556
43557         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
43558         from gl_HEADER_STRING_H_BODY.
43559         (gl_HEADER_STRING_H_BODY): Require it.
43560         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
43561         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
43562         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
43563         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
43564         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
43565         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
43566         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
43567         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
43568         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
43569         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
43570         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
43571         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
43572         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
43573         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
43574         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
43575
43576 2007-01-27  Bruno Haible  <bruno@clisp.org>
43577
43578         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
43579         check_PROGRAMS into noinst_PROGRAMS.
43580         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
43581         check_PROGRAMS in this case.
43582         (func_import): Set for_test to false.
43583         (func_create_testdir): Set for_test to true.
43584
43585 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
43586             Bruno Haible  <bruno@clisp.org>
43587
43588         * modules/strcasestr (Files): Remove lib/strcasestr.h.
43589         (Depends-on): Add string.
43590         (Includes): Use <string.h> instead of strcasestr.h.
43591         * modules/string (Makefile.am): Also substitute the value of
43592         REPLACE_STRCASESTR.
43593         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
43594         assume strcasestr is declared in <string.h> not <strings.h>. Also
43595         set REPLACE_STRCASESTR.
43596         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
43597         REPLACE_STRCASESTR.
43598         * lib/strcasestr.h: Remove file.
43599         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
43600         * lib/string_.h (strcasestr): New declaration.
43601
43602 2007-01-27  Bruno Haible  <bruno@clisp.org>
43603
43604         * lib/string_.h: Use 'extern'.
43605
43606 2007-01-27  Jim Meyering  <jim@meyering.net>
43607
43608         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
43609         of set-but-not-used local, "q".
43610
43611         * lib/mempcpy.c: Include <config.h> before <string.h>.
43612         This fixes a compilation error on HP-UX, due to the system's
43613         "restrict"-using mempcpy prototype.
43614
43615 2007-01-26  Bruno Haible  <bruno@clisp.org>
43616
43617         Small optimization.
43618         * lib/javacomp.c: Include c-strstr.h.
43619          (is_envjavac_gcj): Use c_strstr instead of strstr.
43620         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
43621
43622 2007-01-26  Bruno Haible  <bruno@clisp.org>
43623
43624         * MODULES.html.sh (Unicode string functions): Add the new modules.
43625
43626         * modules/uniconv/u32-strconv-to-locale: New file.
43627         * lib/uniconv/u32-strconv-to-locale.c: New file.
43628
43629         * modules/uniconv/u16-strconv-to-locale: New file.
43630         * lib/uniconv/u16-strconv-to-locale.c: New file.
43631
43632         * modules/uniconv/u8-strconv-to-locale: New file.
43633         * lib/uniconv/u8-strconv-to-locale.c: New file.
43634
43635         * modules/uniconv/u32-strconv-from-locale: New file.
43636         * lib/uniconv/u32-strconv-from-locale.c: New file.
43637
43638         * modules/uniconv/u16-strconv-from-locale: New file.
43639         * lib/uniconv/u16-strconv-from-locale.c: New file.
43640
43641         * modules/uniconv/u8-strconv-from-locale: New file.
43642         * lib/uniconv/u8-strconv-from-locale.c: New file.
43643
43644         * modules/uniconv/u32-strconv-to-enc: New file.
43645         * lib/uniconv/u32-strconv-to-enc.c: New file.
43646         * modules/uniconv/u32-strconv-to-enc-tests: New file.
43647         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
43648
43649         * modules/uniconv/u16-strconv-to-enc: New file.
43650         * lib/uniconv/u16-strconv-to-enc.c: New file.
43651         * lib/uniconv/u-strconv-to-enc.h: New file.
43652         * modules/uniconv/u16-strconv-to-enc-tests: New file.
43653         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
43654
43655         * modules/uniconv/u8-strconv-to-enc: New file.
43656         * lib/uniconv/u8-strconv-to-enc.c: New file.
43657         * modules/uniconv/u8-strconv-to-enc-tests: New file.
43658         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
43659
43660         * modules/uniconv/u32-strconv-from-enc: New file.
43661         * lib/uniconv/u32-strconv-from-enc.c: New file.
43662         * modules/uniconv/u32-strconv-from-enc-tests: New file.
43663         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
43664
43665         * modules/uniconv/u16-strconv-from-enc: New file.
43666         * lib/uniconv/u16-strconv-from-enc.c: New file.
43667         * modules/uniconv/u16-strconv-from-enc-tests: New file.
43668         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
43669
43670         * modules/uniconv/u8-strconv-from-enc: New file.
43671         * lib/uniconv/u8-strconv-from-enc.c: New file.
43672         * lib/uniconv/u-strconv-from-enc.h: New file.
43673         * modules/uniconv/u8-strconv-from-enc-tests: New file.
43674         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
43675
43676         * modules/uniconv/u32-conv-from-enc: New file.
43677         * lib/uniconv/u32-conv-from-enc.c: New file.
43678         * modules/uniconv/u32-conv-from-enc-tests: New file.
43679         * tests/uniconv/test-u32-conv-from-enc.c: New file.
43680
43681         * modules/uniconv/u16-conv-from-enc: New file.
43682         * lib/uniconv/u16-conv-from-enc.c: New file.
43683         * lib/uniconv/u-conv-from-enc.h: New file.
43684         * modules/uniconv/u16-conv-from-enc-tests: New file.
43685         * tests/uniconv/test-u16-conv-from-enc.c: New file.
43686
43687         * modules/uniconv/u8-conv-from-enc: New file.
43688         * lib/uniconv/u8-conv-from-enc.c: New file.
43689         * modules/uniconv/u8-conv-from-enc-tests: New file.
43690         * tests/uniconv/test-u8-conv-from-enc.c: New file.
43691
43692         * modules/uniconv/base: New file.
43693         * lib/uniconv.h: New file.
43694
43695 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
43696
43697         * doc/gnulib-tool.texi (Initial import): Update to match current
43698         behavior with strdup module.
43699         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
43700         * lib/memmem.h: Remove; all uses removed.  This is now done
43701         by <string.h>.
43702         * lib/mempcpy.h: Likewise.
43703         * lib/memrchr.h: Likewise.
43704         * lib/stpcpy.h: Likewise.
43705         * lib/stpncpy.h: Likewise.
43706         * lib/strcase.h: Likewise.
43707         * lib/strchrnul.h: Likewise.
43708         * lib/strdup.h: Likewise.
43709         * lib/strndup.h: Likewise.
43710         * lib/strnlen.h: Likewise.
43711         * lib/strpbrk.h: Likewise.
43712         * lib/strsep.h: Likewise.
43713         * lib/strstr.h: Likewise.
43714         * lib/strtok_r.h: Likewise.
43715         * lib/string_.h: New file.
43716         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
43717         Rely on <string.h> instead.
43718         * lib/canon-host.c: Likewise.
43719         * lib/chdir-long.c: Likewise.
43720         * lib/concatpath.c: Likewise.
43721         * lib/exclude.c: Likewise.
43722         * lib/fchdir.c: Likewise.
43723         * lib/getaddrinfo.c: Likewise.
43724         * lib/getcwd.c: Likewise.
43725         * lib/getsubopt.c: Likewise.
43726         * lib/glob.c: Likewise.
43727         * lib/hard-locale.c: Likewise.
43728         * lib/iconvme.c: Likewise.
43729         * lib/javacomp.c: Likewise.
43730         * lib/mempcpy.c: Likewise.
43731         * lib/memrchr.c: Likewise.
43732         * lib/regex_internal.h: Likewise.
43733         * lib/stpncpy.c: Likewise.
43734         * lib/strcasecmp.c: Likewise.
43735         * lib/strchrnul.c: Likewise.
43736         * lib/strdup.c: Likewise.
43737         * lib/striconv.c: Likewise.
43738         * lib/striconveh.c: Likewise.
43739         * lib/striconveha.c: Likewise.
43740         * lib/strncasecmp.c: Likewise.
43741         * lib/strndup.c: Likewise.
43742         * lib/strnlen.c: Likewise.
43743         * lib/strsep.c: Likewise.
43744         * lib/strstr.c: Likewise.
43745         * lib/strtok_r.c: Likewise.
43746         * lib/userspec.c: Likewise.
43747         * lib/w32spawn.h: Likewise.
43748         * lib/xstrndup.c: Likewise.
43749         * lib/mountlist.c (strstr): Remove decl.
43750         * m4/string_h.m4: New file.
43751         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
43752         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
43753         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
43754         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
43755         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
43756         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
43757         Set REPLACE_STRCASECMP if necessary.
43758         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
43759         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
43760         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
43761         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
43762         HAVE_DECL_STRDUP if necessary.
43763         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
43764         since gl_FUNC_STRNDUP does that now.
43765         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
43766         Check for decl here...
43767         (gl_PREREQ_STRNLEN): ... not here.
43768         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
43769         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
43770         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
43771         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
43772         necessary.
43773         * modules/string: New file.
43774         * modules/memmem (Files): Remove special-purpose include file.
43775         (Depends-on): Add string.
43776         (Include): Include <string.h>, not the removed file.
43777         * modules/mempcpy: Likewise.
43778         * modules/memrchr: Likewise.
43779         * modules/stpcpy: Likewise.
43780         * modules/stpncpy: Likewise.
43781         * modules/strcase: Likewise.
43782         * modules/strchrnul: Likewise.
43783         * modules/strdup: Likewise.
43784         * modules/strndup: Likewise.
43785         * modules/strnlen: Likewise.
43786         * modules/strpbrk: Likewise.
43787         * modules/strsep: Likewise.
43788         * modules/strstr: Likewise.
43789         * modules/strtok_r: Likewise.
43790         * tests/test-dirname.c: Don't include "strdup.h", since
43791         <string.h> now suffices.
43792         * tests/test-memmem.c: Don't include "memmem.h", since
43793         <string.h> now suffices.
43794
43795 2007-01-25  Bruno Haible  <bruno@clisp.org>
43796
43797         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
43798         *resultp is 0.
43799
43800         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
43801         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
43802         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
43803         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
43804
43805         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
43806         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
43807         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
43808         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
43809         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
43810         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
43811
43812 2007-01-24  Bruno Haible  <bruno@clisp.org>
43813
43814         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
43815         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
43816         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
43817         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
43818         gl_FUNC_FTS_CORE.
43819         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
43820         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
43821         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
43822         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
43823         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
43824         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
43825         gl_FUNC_FCHOWNAT.
43826         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
43827         gl_FUNC_STRFTIME.
43828         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
43829         Reported by Ralf Wildenhues.
43830
43831 2007-01-24  Bruno Haible  <bruno@clisp.org>
43832
43833         Drop AC_REQUIRE calls that are redundant with the module dependencies.
43834         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
43835         gl_GETADDRINFO.
43836         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
43837         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
43838         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
43839
43840 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
43841
43842         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
43843         Don't use 'exit'; just return from 'main'.
43844         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
43845
43846         * lib/fnmatch_.h: Readjust white space and comments to match
43847         glibc, to avoid spurious diffs.
43848
43849 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43850
43851         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
43852         2004-12-01 change by Jakub Jelinek, since this code won't compile
43853         if !LIBC.  Problem reported by Bob Proulx.
43854
43855 2007-01-23  Bruno Haible  <bruno@clisp.org>
43856
43857         * lib/striconveh.c: Include c-strcaseeq.h.
43858         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
43859         * modules/striconveh (Depends-on): Add c-strcaseeq.
43860
43861 2007-01-23  Bruno Haible  <bruno@clisp.org>
43862
43863         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
43864
43865         * modules/c-strcaseeq: New file.
43866         * lib/c-strcaseeq.h: New file.
43867
43868         * modules/streq: New file.
43869         * lib/streq.h: New file.
43870
43871 2007-01-23  Bruno Haible  <bruno@clisp.org>
43872
43873         * modules/striconveha-tests: New file.
43874         * tests/test-striconveha.c: New file.
43875
43876         * lib/striconveha.h: Include <stdbool.h>.
43877         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
43878         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
43879         (mem_iconveha_notranslit): Renamed from mem_iconveha.
43880         (mem_iconveha): New function.
43881         (str_iconveha_notranslit): Renamed from str_iconveha.
43882         (str_iconveha): New function.
43883         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
43884         c-strcase.
43885
43886 2007-01-23  Bruno Haible  <bruno@clisp.org>
43887
43888         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
43889         encodings without forgiving before trying any encoding with handler.
43890         (str_iconveha): Try all encodings without forgiving before trying any
43891         encoding with handler.
43892
43893 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
43894
43895         Import the following changes from libc.
43896
43897         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
43898
43899         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
43900
43901         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
43902
43903         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
43904         normal_bracket label.
43905
43906         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
43907
43908         [BZ #361]
43909         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
43910         to normal_bracket after fetching the next character.
43911
43912 2007-01-22  Bruno Haible  <bruno@clisp.org>
43913
43914         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
43915         argument.
43916         * lib/striconveh.c (iconv_carefully_1): New function.
43917         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
43918         argument.
43919         (str_cd_iconveh): Update.
43920         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
43921         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
43922         * tests/test-striconveh.c (MAGIC): New macro.
43923         (new_offsets): New function.
43924         (main): Test call with and without offsets.
43925
43926 2007-01-22  Bruno Haible  <bruno@clisp.org>
43927
43928         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
43929         * modules/sys_select (Makefile.am): Likewise.
43930         * modules/sys_socket (Makefile.am): Likewise.
43931         * modules/sys_time (Makefile.am): Likewise.
43932
43933 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
43934
43935         * modules/gettimeofday (License): Change from GPL to LGPL, since
43936         gettimeofday is a library function.
43937
43938 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43939
43940         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
43941
43942 2007-01-21  Bruno Haible  <bruno@clisp.org>
43943
43944         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
43945
43946 2007-01-21  Bruno Haible  <bruno@clisp.org>
43947
43948         * modules/striconveha: New file.
43949         * lib/striconveha.h: New file.
43950         * lib/striconveha.c: New file.
43951         * MODULES.html.sh (Internationalization functions): Add striconveha.
43952         * lib/striconv.c (str_iconv): Optimize the case of an empty input
43953         string.
43954         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
43955
43956 2007-01-21  Bruno Haible  <bruno@clisp.org>
43957
43958         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
43959         * lib/striconveh.c (str_iconveh): Likewise.
43960
43961 2007-01-21  Bruno Haible  <bruno@clisp.org>
43962
43963         * lib/striconveh.h (mem_iconveh): New declaration.
43964         * lib/striconveh.c (mem_iconveh): New function.
43965         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
43966
43967 2007-01-21  Bruno Haible  <bruno@clisp.org>
43968
43969         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
43970
43971         * lib/striconveh.h (mem_cd_iconveh): Change specification.
43972         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
43973         original result buffer.
43974         (str_cd_iconveh): Update.
43975         * tests/test-striconveh.c (main): Update.
43976
43977         * lib/striconv.h (mem_cd_iconv): Change specification.
43978         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
43979         result buffer.
43980         (str_cd_iconv): Update.
43981         * tests/test-striconv.c (main): Update.
43982
43983 2007-01-21  Bruno Haible  <bruno@clisp.org>
43984
43985         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
43986
43987 2007-01-20  Jim Meyering  <jim@meyering.net>
43988
43989         * lib/userspec.c (parse_with_separator): If a user or group string
43990         starts with "+", skip the corresponding name-to-ID look-up, since
43991         such a look-up must fail: user and group names may not include "+".
43992
43993 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
43994
43995         * lib/poll.c: Include sys/time.h and time.h unconditionally,
43996         since we now assume the sys_time module.
43997         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
43998         check for sys/time.h; no longer needed.
43999         * modules/poll (Depends-on): Depend on sys_time.
44000
44001 2007-01-18  Bruno Haible  <bruno@clisp.org>
44002
44003         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
44004         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
44005
44006         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
44007         gettimeofday.
44008
44009         * tests/test-gettimeofday.c: Include <time.h>.
44010         (dummy): Remove variable.
44011
44012         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
44013         gl_HEADER_SYS_TIME_H.
44014         (gl_HEADER_SYS_TIME_H): New macro.
44015
44016         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
44017         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
44018         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
44019         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
44020         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
44021         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
44022         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
44023         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
44024         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
44025         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
44026         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
44027
44028         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
44029         last change; it caused a compilation error when cross-compiling to
44030         Cygwin.
44031
44032 2007-01-18  Jim Meyering  <jim@meyering.net>
44033
44034         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
44035         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
44036         than the race-prone "test -d sys || mkdir sys".
44037         (configure.ac): Use AC_PROG_MKDIR_P.
44038         * modules/sys_select: Likewise.
44039         * modules/sys_socket: Likewise.
44040         * modules/sys_time: Likewise.
44041
44042 2007-01-18  Eric Blake  <ebb9@byu.net>
44043
44044         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
44045         replace gettimeofday.
44046         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
44047         name, to avoid infinite recursion.
44048
44049 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
44050
44051         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
44052         module sys_time.
44053         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
44054         assume timespec.h defines struct timeval.
44055         * lib/settime.c: Likewise.
44056         * lib/utimens.c: Likewise.
44057         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
44058         since we now assume the gettimeofday module.
44059         * lib/tempname.c (__gen_tempname): Likewise.
44060         * lib/gettimeofday.h: Remove.
44061         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
44062         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
44063         Include <time.h>, for 'time()'.
44064         (localtime_buffer_addr): Also use this workaround if
44065         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
44066         to simplify the uses.  All uses changed.
44067         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
44068         that #undef is inside {}, and 'const' follows type name consistently.
44069         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
44070         (gettimeofday): Do not use the maximum possible value for
44071         tv->tv_usec, since that might break usages other than ls.c.
44072         Instead, we'll leave ls.c alone.  This undoes today's patch
44073         by Bruno.  Add a compile-time warning for 1s-clock resolution;
44074         we've never observed the problem but might as well keep the
44075         canary.
44076         * lib/nanosleep.c: Include timespec.h first, for interface check.
44077         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
44078         now assume the sys_time module.
44079         * lib/tempname.c: Likewise.
44080         * lib/timespec.h: Likewise.
44081         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
44082         needed.
44083         * lib/strftime.c: Likewise.
44084         * lib/timespec.h: Likewise.
44085         * lib/posixtm.c: Include posixtm.h first, for interface check.
44086         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
44087         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
44088         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
44089         * lib/sys_time_.h: New file.
44090         * lib/timespec.h (struct timespec): Use long int, not long.
44091         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
44092         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
44093         Remove obsolescent call to AC_HEADER_TIME.
44094         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
44095         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44096         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
44097         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
44098         Likewise.
44099         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
44100         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
44101         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
44102         into the sys_time module.  Check for gettimeofday just once.
44103         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
44104         for gettimeofday signature to just check the signature.  Merely
44105         compile it, since linking doesn't test signature.  Improve test for
44106         whether gettimeofday.o is actually needed.
44107         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
44108         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
44109         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
44110         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
44111         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
44112         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
44113         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
44114         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
44115         than worrying about sys/time.h.
44116         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
44117         Don't bother worrying about TIME_WITH_SYS_TIME.
44118         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
44119         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
44120         * m4/sys_time_h.m4: New file.
44121         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
44122         Don't include sys/time.h.  Return from main rather than exiting.
44123         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
44124         all uses changed.
44125         * modules/gethrxtime (Depends-on): Add sys_time.
44126         * modules/gettime (Depends-on): Likewise.
44127         * modules/gettimeofday (Depends-on): Likewise.
44128         * modules/nanosleep (Depends-on): Likewise.
44129         * modules/settime (Depends-on): Likewise.
44130         * modules/tempname (Depends-on): Likewise.
44131         * modules/utimens (Depends-on): Likewise.
44132         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
44133         (Include:) Change back to <sys/time.h>.
44134         (Maintainer:) Add self.
44135         * modules/sys_time: New file.
44136         * modules/tempname (Depends-on): Add gettimeofday.
44137         * tests/test-gettimeofday.c: Include <sys/time.h>
44138         rather than gettimeofday.h.
44139
44140 2007-01-17  Bruno Haible  <bruno@clisp.org>
44141
44142         * gnulib-tool (func_get_license): Revert last patch. Instead, let
44143         the license default to GPL.
44144         (func_create_testdir): Don't complain if a module is LGPL and its
44145         tests module depends on GPLed modules.
44146
44147 2007-01-17  Bruno Haible  <bruno@clisp.org>
44148
44149         * lib/gettimeofday.c (gettimeofday): Add code for the case
44150         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
44151         maximum possible value for tv->tv_usec, rather than the minimum one.
44152
44153 2005-10-08  Martin Lambers  <marlam@marlam.de>
44154 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
44155 2007-01-16  Bruno Haible  <bruno@clisp.org>
44156
44157         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
44158         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
44159         gl_FUNC_GETTIMEOFDAY.
44160         (Include): Add gettimeofday.h.
44161         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
44162         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
44163         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
44164         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
44165         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
44166         * lib/gettimeofday.h: New file.
44167         * lib/gettimeofday.c: Include <sys/timeb.h>.
44168         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
44169         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
44170         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
44171         fall back on time().
44172
44173         * tests/test-gettimeofday.c: New file.
44174         * modules/gettimeofday-tests: New file.
44175
44176 2007-01-16  Eric Blake  <ebb9@byu.net>
44177
44178         * modules/fnmatch (Depends-on): Depend on wchar.
44179         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
44180         * m4/fnmatch.m4: Likewise.
44181         * modules/mbchar (Makefile.am): Assume <wchar.h>.
44182         * m4/mbchar.m4: Likewise.
44183         * modules/mbswidth (Depends-on): Depend on wchar.
44184         * lib/mbswidth.c: Assume <wchar.h>.
44185         * m4/mbswidth.m4: Likewise.
44186         * modules/quotearg (Depends-on): Depend on wchar.
44187         * lib/quotearg.c: Assume <wchar.h>.
44188         * m4/quotearg.m4: Likewise.
44189         * modules/regex (Depends-on): Depend on wchar.
44190         * lib/regex_internal.h: Assume <wchar.h>.
44191         * m4/regex.m4: Likewise.
44192         * modules/stdint (Depends-on): Depend on wchar.
44193         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
44194         * m4/stdint.m4: Likewise.
44195         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
44196         * modules/strftime (Depends-on): Depend on wchar.
44197         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
44198         * modules/strtol (Depends-on): Depend on wchar.
44199         * lib/strtol.c: Assume <wchar.h>.
44200         * modules/wcwidth (Depends-on): Depend on wchar.
44201         * lib/wcwidth.h: Assume <wchar.h>.
44202         * m4/wcwidth.m4: Likewise.
44203
44204 2007-01-16  Bruno Haible  <bruno@clisp.org>
44205
44206         * modules/csharpexec-script: New, created from...
44207         * modules/csharpexec: ... this.
44208
44209 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
44210
44211         * modules/javaexec-script: New, created from...
44212         * modules/javaexec: ... this.
44213
44214 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44215
44216         * modules/poll (Dependencies): Add sys_select.
44217
44218 2007-01-15  Jim Meyering  <jim@meyering.net>
44219
44220         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
44221         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
44222         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
44223         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
44224
44225 2007-01-15  Bruno Haible  <bruno@clisp.org>
44226
44227         * modules/striconveh: New file.
44228         * lib/striconveh.h: New file.
44229         * lib/striconveh.c: New file.
44230         * MODULES.html.sh (Internationalization functions): Add striconveh.
44231
44232         * modules/striconveh-tests: New file.
44233         * tests/test-striconveh.c: New file.
44234
44235 2007-01-15  Bruno Haible  <bruno@clisp.org>
44236
44237         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
44238         not from GNU libiconv or GNU libc.
44239
44240 2007-01-15  Bruno Haible  <bruno@clisp.org>
44241
44242         * doc/gnulib-intro.texi (Copyright): Explain the different license
44243         terms for module descriptions, autoconf macros, tests, documentation.
44244
44245 2007-01-14  Bruno Haible  <bruno@clisp.org>
44246
44247         * modules/striconv-tests: New file.
44248         * tests/test-striconv.c: New file.
44249
44250 2007-01-14  Bruno Haible  <bruno@clisp.org>
44251
44252         * modules/iconv-tests: New file.
44253         * tests/test-iconv.c: New file.
44254
44255 2007-01-14  Bruno Haible  <bruno@clisp.org>
44256
44257         * gnulib-tool (func_get_license): For test modules, use the license of
44258         the main module.
44259
44260 2007-01-14  Bruno Haible  <bruno@clisp.org>
44261
44262         * modules/iconv (Include): Clarify that <iconv.h> can only be included
44263         if iconv is found to exist.
44264
44265 2007-01-14  Bruno Haible  <bruno@clisp.org>
44266
44267         * modules/c-ctype-tests: New file.
44268         * tests/test-c-ctype.c: New file.
44269
44270 2007-01-14  Bruno Haible  <bruno@clisp.org>
44271
44272         * modules/binary-io-tests: New file.
44273         * tests/test-binary-io.sh: New file.
44274         * tests/test-binary-io.c: New file.
44275
44276 2007-01-14  Bruno Haible  <bruno@clisp.org>
44277
44278         * modules/array-oset-tests: New file.
44279         * tests/test-array_oset.c: New file.
44280
44281 2007-01-14  Bruno Haible  <bruno@clisp.org>
44282
44283         * modules/array-list-tests: New file.
44284         * tests/test-array_list.c: New file.
44285
44286 2007-01-14  Bruno Haible  <bruno@clisp.org>
44287
44288         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
44289         and make.
44290         Reported by Simon Josefsson in
44291         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
44292
44293 2007-01-14  Bruno Haible  <bruno@clisp.org>
44294
44295         * modules/allocsa-tests: New file.
44296         * tests/test-allocsa.c: New file.
44297
44298 2007-01-14  Bruno Haible  <bruno@clisp.org>
44299
44300         * modules/fchdir (Depends-on): Add absolute-header.
44301         * modules/unistd (Depends-on): Likewise.
44302
44303 2006-12-30  Bruno Haible  <bruno@clisp.org>
44304
44305         * modules/fchdir: New file.
44306         * modules/unistd (Files): Add lib/unistd_.h.
44307         (Makefile.am): Generate unistd.h from unistd_.h.
44308         * lib/fchdir.c: New file.
44309         * lib/dirent_.h: New file.
44310         * lib/unistd_.h: New file.
44311         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
44312         * m4/fchdir.m4: New file.
44313         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
44314         (gl_HEADER_UNISTD): Invoke it.
44315         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
44316         function.
44317         * lib/backupfile.c (opendir, closedir): Undefine.
44318         * lib/chown.c (open, close): Undefine.
44319         * lib/clean-temp.c (open, close): Undefine.
44320         * lib/copy-file.c (open, close): Undefine.
44321         * lib/execute.c (open, close): Undefine.
44322         * lib/fsusage.c (open, close): Undefine.
44323         * lib/gc-gnulib.c (open, close): Undefine.
44324         * lib/getcwd.c (opendir, closedir): Undefine.
44325         * lib/glob.c (opendir, closedir): Undefine.
44326         * lib/javacomp.c (open, close): Undefine.
44327         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
44328         * lib/openat-proc.c (open, close): Undefine.
44329         * lib/pagealign_alloc.c (open, close): Undefine.
44330         * lib/pipe.c (open, close): Undefine.
44331         * lib/progreloc.c (open, close): Undefine.
44332         * lib/savedir.c (opendir, closedir): Undefine.
44333         * lib/utime.c (open, close): Undefine.
44334         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
44335
44336 2007-01-10  Bruno Haible  <bruno@clisp.org>
44337
44338         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
44339
44340 2007-01-12  Eric Blake  <ebb9@byu.net>
44341
44342         Provide a robust <wchar.h>.  Further simplifications are now
44343         possible in other modules, but not included here.
44344         * modules/wchar: New module.
44345         * m4/wchar.m4: New file.
44346         * lib/wchar_.h: Likewise.
44347         * modules/mbchar (Depends-on): Depend on wchar, as the first use
44348         of the new module.
44349         * MODULES.html.sh (Extended multibyte and wide character utilities):
44350         New section.
44351
44352 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
44353
44354         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
44355         to a reasonable default for memory allocation.
44356         (xreadlink): Don't allocate a huge buffer, to work around a buggy
44357         file system that reports garbage st_size values for symlinks.
44358         Problem reported by Liyang Hu.
44359
44360 2007-01-11  Simon Josefsson  <simon@josefsson.org>
44361
44362         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
44363         Emacs .#* auto-save files).
44364
44365 2007-01-11  Bruno Haible  <bruno@clisp.org>
44366
44367         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
44368         directory.
44369
44370 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
44371
44372         Use @...@ consistently in lib/wctype_.h.
44373         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
44374         on it being set to 1 or 0.
44375         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
44376         go back to AC_SUBSTing it.
44377         * modules/wctype (Makefile.am): Undo previous change.
44378
44379 2007-01-10  Eric Blake  <ebb9@byu.net>
44380
44381         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
44382         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
44383         * modules/wctype (Makefile.am): Likewise.
44384         Reported by Chris McGuire.
44385
44386 2007-01-10  Jim Meyering  <jim@meyering.net>
44387
44388         fts.c: a small readability/maintainability improvement
44389         * lib/fts.c (fts_read): Make this code slightly more readable and
44390         maintainable by hoisting the "sp->fts_cur = p" assignments to
44391         immediately follow the statements that set P.  Derived from
44392         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
44393
44394 2007-01-10  Eric Blake  <ebb9@byu.net>
44395
44396         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
44397         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
44398         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44399         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
44400         Reported by Chris McGuire.
44401
44402 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44403
44404         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
44405         in sed script.
44406
44407 2007-01-09  Bruno Haible  <bruno@clisp.org>
44408
44409         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
44410         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
44411         variables.
44412         (func_module): Use them.
44413
44414 2007-01-09  Bruno Haible  <bruno@clisp.org>
44415
44416         * modules/unistr/base: New file.
44417         * lib/unistr.h: New file.
44418
44419         * modules/unistr/u8-to-u16: New file.
44420         * lib/unistr/u8-to-u16.c: New file.
44421
44422         * modules/unistr/u8-to-u32: New file.
44423         * lib/unistr/u8-to-u32.c: New file.
44424
44425         * modules/unistr/u16-to-u8: New file.
44426         * lib/unistr/u16-to-u8.c: New file.
44427
44428         * modules/unistr/u16-to-u32: New file.
44429         * lib/unistr/u16-to-u32.c: New file.
44430
44431         * modules/unistr/u32-to-u8: New file.
44432         * lib/unistr/u32-to-u8.c: New file.
44433
44434         * modules/unistr/u32-to-u16: New file.
44435         * lib/unistr/u32-to-u16.c: New file.
44436
44437         * modules/unistr/u8-check: New file.
44438         * modules/unistr/u16-check: New file.
44439         * modules/unistr/u32-check: New file.
44440         * lib/unistr/u8-check.c: New file.
44441         * lib/unistr/u16-check.c: New file.
44442         * lib/unistr/u32-check.c: New file.
44443
44444         * modules/unistr/u8-chr: New file.
44445         * modules/unistr/u16-chr: New file.
44446         * modules/unistr/u32-chr: New file.
44447         * lib/unistr/u8-chr.c: New file.
44448         * lib/unistr/u16-chr.c: New file.
44449         * lib/unistr/u32-chr.c: New file.
44450
44451         * modules/unistr/u8-cmp: New file.
44452         * modules/unistr/u16-cmp: New file.
44453         * modules/unistr/u32-cmp: New file.
44454         * lib/unistr/u8-cmp.c: New file.
44455         * lib/unistr/u16-cmp.c: New file.
44456         * lib/unistr/u32-cmp.c: New file.
44457
44458         * modules/unistr/u8-cpy: New file.
44459         * modules/unistr/u16-cpy: New file.
44460         * modules/unistr/u32-cpy: New file.
44461         * lib/unistr/u8-cpy.c: New file.
44462         * lib/unistr/u16-cpy.c: New file.
44463         * lib/unistr/u32-cpy.c: New file.
44464         * lib/unistr/u-cpy.h: New file.
44465
44466         * modules/unistr/u8-cpy-alloc: New file.
44467         * modules/unistr/u16-cpy-alloc: New file.
44468         * modules/unistr/u32-cpy-alloc: New file.
44469         * lib/unistr/u8-cpy-alloc.c: New file.
44470         * lib/unistr/u16-cpy-alloc.c: New file.
44471         * lib/unistr/u32-cpy-alloc.c: New file.
44472         * lib/unistr/u-cpy-alloc.h: New file.
44473
44474         * modules/unistr/u8-endswith: New file.
44475         * modules/unistr/u16-endswith: New file.
44476         * modules/unistr/u32-endswith: New file.
44477         * lib/unistr/u8-endswith.c: New file.
44478         * lib/unistr/u16-endswith.c: New file.
44479         * lib/unistr/u32-endswith.c: New file.
44480         * lib/unistr/u-endswith.h: New file.
44481
44482         * modules/unistr/u8-mblen: New file.
44483         * modules/unistr/u16-mblen: New file.
44484         * modules/unistr/u32-mblen: New file.
44485         * lib/unistr/u8-mblen.c: New file.
44486         * lib/unistr/u16-mblen.c: New file.
44487         * lib/unistr/u32-mblen.c: New file.
44488
44489         * modules/unistr/u8-mbtouc: New file.
44490         * modules/unistr/u16-mbtouc: New file.
44491         * modules/unistr/u32-mbtouc: New file.
44492         * lib/unistr/u8-mbtouc.c: New file.
44493         * lib/unistr/u16-mbtouc.c: New file.
44494         * lib/unistr/u32-mbtouc.c: New file.
44495
44496         * modules/unistr/u8-mbtouc-safe: New file.
44497         * modules/unistr/u16-mbtouc-safe: New file.
44498         * modules/unistr/u32-mbtouc-safe: New file.
44499         * lib/unistr/u8-mbtouc-safe.c: New file.
44500         * lib/unistr/u16-mbtouc-safe.c: New file.
44501         * lib/unistr/u32-mbtouc-safe.c: New file.
44502
44503         * modules/unistr/u8-move: New file.
44504         * modules/unistr/u16-move: New file.
44505         * modules/unistr/u32-move: New file.
44506         * lib/unistr/u8-move.c: New file.
44507         * lib/unistr/u16-move.c: New file.
44508         * lib/unistr/u32-move.c: New file.
44509         * lib/unistr/u-move.h: New file.
44510
44511         * modules/unistr/u8-next: New file.
44512         * modules/unistr/u16-next: New file.
44513         * modules/unistr/u32-next: New file.
44514         * lib/unistr/u8-next.c: New file.
44515         * lib/unistr/u16-next.c: New file.
44516         * lib/unistr/u32-next.c: New file.
44517
44518         * modules/unistr/u8-prev: New file.
44519         * modules/unistr/u16-prev: New file.
44520         * modules/unistr/u32-prev: New file.
44521         * lib/unistr/u8-prev.c: New file.
44522         * lib/unistr/u16-prev.c: New file.
44523         * lib/unistr/u32-prev.c: New file.
44524
44525         * modules/unistr/u8-set: New file.
44526         * modules/unistr/u16-set: New file.
44527         * modules/unistr/u32-set: New file.
44528         * lib/unistr/u8-set.c: New file.
44529         * lib/unistr/u16-set.c: New file.
44530         * lib/unistr/u32-set.c: New file.
44531         * lib/unistr/u-set.h: New file.
44532
44533         * modules/unistr/u8-startswith: New file.
44534         * modules/unistr/u16-startswith: New file.
44535         * modules/unistr/u32-startswith: New file.
44536         * lib/unistr/u8-startswith.c: New file.
44537         * lib/unistr/u16-startswith.c: New file.
44538         * lib/unistr/u32-startswith.c: New file.
44539         * lib/unistr/u-startswith.h: New file.
44540
44541         * modules/unistr/u8-stpcpy: New file.
44542         * modules/unistr/u16-stpcpy: New file.
44543         * modules/unistr/u32-stpcpy: New file.
44544         * lib/unistr/u8-stpcpy.c: New file.
44545         * lib/unistr/u16-stpcpy.c: New file.
44546         * lib/unistr/u32-stpcpy.c: New file.
44547         * lib/unistr/u-stpcpy.h: New file.
44548
44549         * modules/unistr/u8-stpncpy: New file.
44550         * modules/unistr/u16-stpncpy: New file.
44551         * modules/unistr/u32-stpncpy: New file.
44552         * lib/unistr/u8-stpncpy.c: New file.
44553         * lib/unistr/u16-stpncpy.c: New file.
44554         * lib/unistr/u32-stpncpy.c: New file.
44555         * lib/unistr/u-stpncpy.h: New file.
44556
44557         * modules/unistr/u8-strcat: New file.
44558         * modules/unistr/u16-strcat: New file.
44559         * modules/unistr/u32-strcat: New file.
44560         * lib/unistr/u8-strcat.c: New file.
44561         * lib/unistr/u16-strcat.c: New file.
44562         * lib/unistr/u32-strcat.c: New file.
44563         * lib/unistr/u-strcat.h: New file.
44564
44565         * modules/unistr/u8-strchr: New file.
44566         * modules/unistr/u16-strchr: New file.
44567         * modules/unistr/u32-strchr: New file.
44568         * lib/unistr/u8-strchr.c: New file.
44569         * lib/unistr/u16-strchr.c: New file.
44570         * lib/unistr/u32-strchr.c: New file.
44571
44572         * modules/unistr/u8-strcmp: New file.
44573         * modules/unistr/u16-strcmp: New file.
44574         * modules/unistr/u32-strcmp: New file.
44575         * lib/unistr/u8-strcmp.c: New file.
44576         * lib/unistr/u16-strcmp.c: New file.
44577         * lib/unistr/u32-strcmp.c: New file.
44578
44579         * modules/unistr/u8-strcpy: New file.
44580         * modules/unistr/u16-strcpy: New file.
44581         * modules/unistr/u32-strcpy: New file.
44582         * lib/unistr/u8-strcpy.c: New file.
44583         * lib/unistr/u16-strcpy.c: New file.
44584         * lib/unistr/u32-strcpy.c: New file.
44585         * lib/unistr/u-strcpy.h: New file.
44586
44587         * modules/unistr/u8-strcspn: New file.
44588         * modules/unistr/u16-strcspn: New file.
44589         * modules/unistr/u32-strcspn: New file.
44590         * lib/unistr/u8-strcspn.c: New file.
44591         * lib/unistr/u16-strcspn.c: New file.
44592         * lib/unistr/u32-strcspn.c: New file.
44593         * lib/unistr/u-strcspn.h: New file.
44594
44595         * modules/unistr/u8-strdup: New file.
44596         * modules/unistr/u16-strdup: New file.
44597         * modules/unistr/u32-strdup: New file.
44598         * lib/unistr/u8-strdup.c: New file.
44599         * lib/unistr/u16-strdup.c: New file.
44600         * lib/unistr/u32-strdup.c: New file.
44601         * lib/unistr/u-strdup.h: New file.
44602
44603         * modules/unistr/u8-strlen: New file.
44604         * modules/unistr/u16-strlen: New file.
44605         * modules/unistr/u32-strlen: New file.
44606         * lib/unistr/u8-strlen.c: New file.
44607         * lib/unistr/u16-strlen.c: New file.
44608         * lib/unistr/u32-strlen.c: New file.
44609         * lib/unistr/u-strlen.h: New file.
44610
44611         * modules/unistr/u8-strmblen: New file.
44612         * modules/unistr/u16-strmblen: New file.
44613         * modules/unistr/u32-strmblen: New file.
44614         * lib/unistr/u8-strmblen.c: New file.
44615         * lib/unistr/u16-strmblen.c: New file.
44616         * lib/unistr/u32-strmblen.c: New file.
44617
44618         * modules/unistr/u8-strmbtouc: New file.
44619         * modules/unistr/u16-strmbtouc: New file.
44620         * modules/unistr/u32-strmbtouc: New file.
44621         * lib/unistr/u8-strmbtouc.c: New file.
44622         * lib/unistr/u16-strmbtouc.c: New file.
44623         * lib/unistr/u32-strmbtouc.c: New file.
44624
44625         * modules/unistr/u8-strncat: New file.
44626         * modules/unistr/u16-strncat: New file.
44627         * modules/unistr/u32-strncat: New file.
44628         * lib/unistr/u8-strncat.c: New file.
44629         * lib/unistr/u16-strncat.c: New file.
44630         * lib/unistr/u32-strncat.c: New file.
44631         * lib/unistr/u-strncat.h: New file.
44632
44633         * modules/unistr/u8-strncmp: New file.
44634         * modules/unistr/u16-strncmp: New file.
44635         * modules/unistr/u32-strncmp: New file.
44636         * lib/unistr/u8-strncmp.c: New file.
44637         * lib/unistr/u16-strncmp.c: New file.
44638         * lib/unistr/u32-strncmp.c: New file.
44639
44640         * modules/unistr/u8-strncpy: New file.
44641         * modules/unistr/u16-strncpy: New file.
44642         * modules/unistr/u32-strncpy: New file.
44643         * lib/unistr/u8-strncpy.c: New file.
44644         * lib/unistr/u16-strncpy.c: New file.
44645         * lib/unistr/u32-strncpy.c: New file.
44646         * lib/unistr/u-strncpy.h: New file.
44647
44648         * modules/unistr/u8-strnlen: New file.
44649         * modules/unistr/u16-strnlen: New file.
44650         * modules/unistr/u32-strnlen: New file.
44651         * lib/unistr/u8-strnlen.c: New file.
44652         * lib/unistr/u16-strnlen.c: New file.
44653         * lib/unistr/u32-strnlen.c: New file.
44654         * lib/unistr/u-strnlen.h: New file.
44655
44656         * modules/unistr/u8-strpbrk: New file.
44657         * modules/unistr/u16-strpbrk: New file.
44658         * modules/unistr/u32-strpbrk: New file.
44659         * lib/unistr/u8-strpbrk.c: New file.
44660         * lib/unistr/u16-strpbrk.c: New file.
44661         * lib/unistr/u32-strpbrk.c: New file.
44662         * lib/unistr/u-strpbrk.h: New file.
44663
44664         * modules/unistr/u8-strrchr: New file.
44665         * modules/unistr/u16-strrchr: New file.
44666         * modules/unistr/u32-strrchr: New file.
44667         * lib/unistr/u8-strrchr.c: New file.
44668         * lib/unistr/u16-strrchr.c: New file.
44669         * lib/unistr/u32-strrchr.c: New file.
44670
44671         * modules/unistr/u8-strspn: New file.
44672         * modules/unistr/u16-strspn: New file.
44673         * modules/unistr/u32-strspn: New file.
44674         * lib/unistr/u8-strspn.c: New file.
44675         * lib/unistr/u16-strspn.c: New file.
44676         * lib/unistr/u32-strspn.c: New file.
44677         * lib/unistr/u-strspn.h: New file.
44678
44679         * modules/unistr/u8-strstr: New file.
44680         * modules/unistr/u16-strstr: New file.
44681         * modules/unistr/u32-strstr: New file.
44682         * lib/unistr/u8-strstr.c: New file.
44683         * lib/unistr/u16-strstr.c: New file.
44684         * lib/unistr/u32-strstr.c: New file.
44685         * lib/unistr/u-strstr.h: New file.
44686
44687         * modules/unistr/u8-strtok: New file.
44688         * modules/unistr/u16-strtok: New file.
44689         * modules/unistr/u32-strtok: New file.
44690         * lib/unistr/u8-strtok.c: New file.
44691         * lib/unistr/u16-strtok.c: New file.
44692         * lib/unistr/u32-strtok.c: New file.
44693         * lib/unistr/u-strtok.h: New file.
44694
44695         * modules/unistr/u8-uctomb: New file.
44696         * modules/unistr/u16-uctomb: New file.
44697         * modules/unistr/u32-uctomb: New file.
44698         * lib/unistr/u8-uctomb.c: New file.
44699         * lib/unistr/u16-uctomb.c: New file.
44700         * lib/unistr/u32-uctomb.c: New file.
44701
44702         * MODULES.html.sh (Unicode string functions): Add the new modules.
44703
44704 2007-01-08  Bruno Haible  <bruno@clisp.org>
44705
44706         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
44707         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
44708         subdirectories.
44709
44710 2007-01-08  Karl Berry  <karl@gnu.org>
44711
44712         * doc/error.texi: mention that main() fns must set program_name
44713         when progname is used.
44714
44715 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
44716
44717         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
44718         WCTYPE_H is empty, for the benefit of builds from non-distclean
44719         directories.  Problem reported by Eric Blake in
44720         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
44721
44722 2007-01-08  Bruno Haible  <bruno@clisp.org>
44723
44724         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
44725         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
44726         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
44727         PROVIDE_CANONICALIZE_FILENAME_MODE.
44728         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
44729
44730 2007-01-08  Bruno Haible  <bruno@clisp.org>
44731
44732         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
44733         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
44734         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
44735         * lib/fts.c: Likewise.
44736         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
44737
44738 2006-12-25  Bruno Haible  <bruno@clisp.org>
44739
44740         * modules/utf8-ucs4-safe: New file.
44741         * lib/utf8-ucs4-safe.h: New file.
44742         * lib/unistr/utf8-ucs4-safe.c: New file.
44743
44744         * modules/utf16-ucs4-safe: New file.
44745         * lib/utf16-ucs4-safe.h: New file.
44746         * lib/unistr/utf16-ucs4-safe.c: New file.
44747
44748         * MODULES.html.sh (Unicode string functions): Add the new modules.
44749
44750 2007-01-08  Bruno Haible  <bruno@clisp.org>
44751
44752         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
44753         (Depends-on): Add unitypes.
44754         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
44755         (u8_mbtouc_aux): Move out to separate file.
44756         (u8_mbtouc): Use ucs4_t, uint8_t types.
44757         * lib/unistr/utf8-ucs4.c: New file.
44758
44759         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
44760         (Depends-on): Add unitypes.
44761         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
44762         (u16_mbtouc_aux): Move out to separate file.
44763         (u16_mbtouc): Use ucs4_t, uint16_t types.
44764         * lib/unistr/utf16-ucs4.c: New file.
44765
44766         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
44767         (Depends-on): Add unitypes.
44768         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
44769         (u8_uctomb_aux): Move out to separate file.
44770         (u8_uctomb): Use ucs4_t, uint8_t types.
44771         * lib/unistr/ucs4-utf8.c: New file.
44772
44773         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
44774         (Depends-on): Add unitypes.
44775         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
44776         (u16_uctomb_aux): Move out to separate file.
44777         (u16_uctomb): Use ucs4_t, uint16_t types.
44778         * lib/unistr/ucs4-utf16.c: New file.
44779
44780 2006-12-25  Bruno Haible  <bruno@clisp.org>
44781
44782         * modules/unitypes: New file.
44783         * lib/unitypes.h: New file.
44784         * MODULES.html.sh (func_all_modules): New section "Unicode string
44785         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
44786         this section. Add unitypes.
44787
44788 2007-01-08  Bruno Haible  <bruno@clisp.org>
44789
44790         Avoid variable names that conflict with those from libtool.
44791         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
44792         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
44793         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
44794         library_names_spec to acl_library_names_spec, hardcode_* to
44795         acl_hardcode_*.
44796         Reported by Ralf Wildenhues.
44797
44798 2007-01-08  Bruno Haible  <bruno@clisp.org>
44799
44800         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
44801         definition.
44802         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
44803         definition.
44804         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
44805         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
44806         definition.
44807         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
44808         definition.
44809         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
44810         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
44811         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
44812         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
44813         definition.
44814         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
44815         definition.
44816         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
44817         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
44818         GC_USE_<algorithm>.
44819         * lib/gc-libgcrypt.c: Likewise.
44820         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
44821         * modules/gc-arctwo (configure.ac): Likewise.
44822         * modules/gc-des (configure.ac): Likewise.
44823         * modules/gc-hmac-md5 (configure.ac): Likewise.
44824         * modules/gc-hmac-sha1 (configure.ac): Likewise.
44825         * modules/gc-md2 (configure.ac): Likewise.
44826         * modules/gc-md4 (configure.ac): Likewise.
44827         * modules/gc-md5 (configure.ac): Likewise.
44828         * modules/gc-random (configure.ac): Likewise.
44829         * modules/gc-rijndael (configure.ac): Likewise.
44830         * modules/gc-sha1 (configure.ac): Likewise.
44831
44832 2007-01-08  Bruno Haible  <bruno@clisp.org>
44833
44834         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
44835         macro definition.
44836         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
44837         definition.
44838         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
44839         definition.
44840         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
44841         * modules/fcntl-safer (configure.ac): Likewise.
44842         * modules/fopen-safer (configure.ac): Likewise.
44843         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
44844         GNULIB_FWRITEERROR macro definition.
44845
44846 2007-01-08  Bruno Haible  <bruno@clisp.org>
44847
44848         * m4/gnulib-common.m4: New file.
44849         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
44850         (func_get_filelist): Add m4/gnulib-common.m4.
44851
44852 2007-01-08  Bruno Haible  <bruno@clisp.org>
44853
44854         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
44855         command.
44856
44857 2007-01-08  Jim Meyering  <jim@meyering.net>
44858
44859         Use a more robust test for a "can't happen" condition.
44860         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
44861         narrowed the st_size value.  Presuming the "can't happen" condition
44862         is true, that narrowing could conceivably convert an invalid st_size
44863         value into a valid one.  Instead, use a change based on Matthew
44864         Woehlke's original patch.
44865
44866         Slight readability improvement: use an assert-like macro
44867         in place of literal "abort ()" uses.
44868         * lib/fts.c (fts_assert): Define.
44869         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
44870         Use this macro instead of a bare 'abort'.
44871
44872 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
44873
44874         Don't worry about using IRIX 5.3's wctype.h broken definitions;
44875         simply work around them.
44876         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
44877         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
44878         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
44879         declaring.
44880         Don't bother to define as macros, since the standard doesn't require it.
44881         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
44882         longer worry about IRIX 5.3.
44883         (HAVE_WCTYPE_CTMP_BUG): Remove.
44884
44885 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
44886
44887         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
44888         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
44889         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
44890         Problems reported by Georg Schwarz for IRIX 5.3.
44891
44892         * gnulib-tool (autoconf_minversion): Take the maximum version number
44893         found, not the minimum.  Problem reported by James Youngman.
44894
44895 2007-01-03  Karl Berry  <karl@gnu.org>
44896
44897         * doc/error.texi: new file, explaining interaction with progname.
44898         * doc/gnulib.texi: include it.  Update copyright.
44899
44900 2007-01-03  Simon Josefsson  <simon@josefsson.org>
44901
44902         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
44903         AC_CANONICAL_HOST, to improve autobuild outputs.
44904
44905 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
44906             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
44907
44908         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
44909         sockets, server sockets, and other file descriptors.  Count errors
44910         to compute the return value.  Reorder the code a bit to be easier
44911         to follow.  Don't set event bits that were not requested (except
44912         POLLERR and POLLHUP).
44913
44914 2007-01-01  Bruno Haible  <bruno@clisp.org>
44915
44916         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
44917
44918 2007-01-03  Jim Meyering  <jim@meyering.net>
44919
44920         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
44921
44922 2007-01-02  Bruno Haible  <bruno@clisp.org>
44923
44924         * modules/settime (Include): Require timespec.h.
44925         * modules/nanosleep (Include): Likewise.
44926
44927 2007-01-01  Bruno Haible  <bruno@clisp.org>
44928
44929         * gnulib-tool (func_emit_copyright_notice): Bump year.
44930         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
44931
44932 2007-01-01  Bruno Haible  <bruno@clisp.org>
44933
44934         Improve support for OpenBSD.
44935         * build-aux/config.rpath (libname_spec): Export.
44936         (library_names_spec): New variable. Export.
44937         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
44938         library_names_spec from the config.rpath output. Locate shared library
44939         through the name pattern in library_names_spec.
44940
44941 2007-01-01  Eric Blake  <ebb9@byu.net>
44942
44943         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
44944
44945 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
44946
44947         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
44948         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
44949         assume the C locale, and avoid an "eval" that could cause trouble.
44950         Problem with SORT reported by Bob Proulx.
44951
44952         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
44953         Define.  Trivial patch from Henning Nielsen Lund, originally
44954         sent to bug-grep@gnu.org today.
44955
44956 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
44957
44958         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
44959         struct stat.  Problem reported by Henning Nielsen Lund.
44960         * lib/acl.c: Include acl.h first, to check interface.  Don't
44961         bother to include sys/types.h and sys/stat.h again.
44962
44963 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
44964
44965         Import the following change from libc; problem reported by
44966         Sven Verdoolaege.
44967
44968         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
44969
44970         [BZ #1373]
44971         * lib/argp.h: Remove __NTH for __argp_usage inline function.
44972
44973 2006-12-28  Jim Meyering  <jim@meyering.net>
44974
44975         * build-aux/announce-gen: Do not assume that the package
44976         builds any of tar.gz, tar.bz2, and .xdelta files.
44977         Suggestion from Simon Josefsson.
44978
44979 2006-12-28  Simon Josefsson  <simon@josefsson.org>
44980
44981         * modules/announce-gen: New file.
44982
44983 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
44984
44985         * lib/mbchar.h: Just include <wctype.h>; the wctype module
44986         handles its gotchas now.
44987         * lib/mbswidth.c: Likewise.
44988         * lib/wcwidth.h: Likewise.
44989         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
44990         and iswcntrl; the wctype module does this stuff now.
44991         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
44992         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
44993         * modules/mbchar (Depends-on): Add wctype.
44994         * modules/mbswidth (Depends-on): Likewise.
44995         * modules/wcwidth (Depends-on): Likewise.
44996
44997 2006-12-27  Eric Blake  <ebb9@byu.net>
44998
44999         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
45000         module uses more than what <wctype.h> is required to provide.
45001
45002 2006-12-26  Eric Blake  <ebb9@byu.net>
45003
45004         * gnulib-tool (sed_extract_prog): Avoid space-tab.
45005
45006 2006-12-26  Eric Blake  <ebb9@byu.net>
45007
45008         * modules/absolute-header: New module.
45009         * modules/fcntl (Depends-on): Depend on it.
45010         * modules/inttypes (Depends-on): Likewise.
45011         * modules/stdint (Depends-on): Likewise.
45012         * modules/sys_stat (Depends-on): Likewise.
45013         * modules/wctype (Depends-on): Likewise.
45014         * MODULES.html.sh (Support for building libraries and
45015         executables): Document it.
45016
45017 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
45018
45019         * gnulib-tool (SED): Remove, undoing previous change.
45020         The problem was that it broke coreutils on Solaris, because
45021         "sed --posix" leaked into a makefile.
45022         (sed): New alias, if 'alias' and GNU sed.
45023
45024 2006-12-24  Jim Meyering  <jim@meyering.net>
45025
45026         Work around an fchownat bug in glibc-2.4:
45027         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
45028         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
45029         in spite of the -P option.
45030         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
45031         New macros.
45032         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
45033         * modules/openat (Files): Add lib/fchownat.c.
45034         * lib/openat.c (fchownat): Don't define here.  Move to...
45035         * lib/fchownat.c: ...this new file.
45036
45037 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
45038
45039         Fix bug reported by Bruno Haible in
45040         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
45041         where quotearg.c didn't compile on Mac OS X 10.2 because it
45042         lacks <wchar.h> and wint_t.
45043         * lib/wctype_.h (__wctype_wint_t): New type.
45044         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
45045         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
45046         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
45047         Arg is now of type __wctype_wint_t, not wint_t.
45048         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
45049         substitute HAVE_WINT_T.
45050         * modules/wctype (Files): Add m4/wint_t.m4.
45051         (wctype.h): Substitute HAVE_WINT_T.
45052
45053 2006-12-23  Bruno Haible  <bruno@clisp.org>
45054
45055         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
45056
45057 2006-12-23  Bruno Haible  <bruno@clisp.org>
45058
45059         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
45060         S_ISLNK.
45061         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
45062         mingw.
45063
45064 2006-12-22  Bruno Haible  <bruno@clisp.org>
45065
45066         * lib/copy-file.c: Include acl.h.
45067         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
45068         Close the file descriptors only after being done with copy_acl.
45069         * modules/copy-file (Depends-on): Add acl.
45070
45071 2006-12-22  Bruno Haible  <bruno@clisp.org>
45072
45073         * gnulib-tool (SED): New variable.
45074         Use $SED instead of sed everywhere.
45075
45076 2006-12-22  Bruno Haible  <bruno@clisp.org>
45077
45078         * modules/no-c++: New file.
45079         * m4/no-c++.m4: New file.
45080         * MODULES.html.sh (Support for building libraries and executables):
45081         Add no-c++.
45082
45083 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
45084
45085         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
45086         Include <limits.h>, and use its INT_MAX to rewrite the
45087         j loop so that it does not overflow 'int'.  Problem reported by
45088         Ralf Wildenhues in
45089         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
45090         Play it safe by shifting left by 1 rather than multiplying by 2,
45091         as GCC is less likely to optimize this away when the value
45092         is signed (when it assumes overflow leads to undefined behavior).
45093         Also, don't assume time_t uses two's complement.
45094
45095 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
45096
45097         * MODULES.html.sh: New module wctype.
45098         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
45099         * lib/fnmatch.c: Don't bother to include <wchar.h> before
45100         <wctype.h>, since the new wctype module should fix this.
45101         * lib/quotearg.c: Include <wctype.h> unconditionally, since
45102         the wctype module should arrange for it.
45103         * lib/regex_internal.h: Likewise.
45104         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
45105         since the wctype module should handle this now.
45106         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
45107         * modules/fnmatch (Depends-on): Add wctype.
45108         * modules/quotearg (Depends-on): Likewise.
45109         * modules/regex (Depends-on): Likewise.
45110
45111 2006-12-19  Bruno Haible  <bruno@clisp.org>
45112
45113         * lib/strdup.h [C++]: Wrap definitions in extern "C".
45114         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
45115
45116 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45117
45118         * modules/savewd (Depends-on): Fix dependency on fcntl.
45119
45120 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45121
45122         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
45123         conforms to C99, rather than relying on the user's environment
45124         setting of STDINT_H.
45125
45126 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
45127         and Eric Blake  <ebb9@byu.net>
45128
45129         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
45130         This is more consistent with the other defines here.
45131         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
45132         Port to z/OS.  Problem reported by Paul Gilmartin.
45133         Change local vars to use gl_ prefix rather than ac_.
45134         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
45135         with other defines.
45136         * modules/double-slash-root: New module.
45137         * modules/dirname (Files): Remove m4/double-slash-root.m4.
45138         (Depends-on): Add double-slash-root.
45139         * MODULES.html.sh (File system functions): Mention new module.
45140
45141 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
45142
45143         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
45144         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
45145         This is for the benefit of gzip, which doesn't do i18n.
45146
45147 2006-12-12  Jim Meyering  <jim@meyering.net>
45148
45149         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
45150         Reported by Andreas Schwab <schwab@suse.de>.
45151
45152 2006-12-12  Bruno Haible  <bruno@clisp.org>
45153
45154         Merge these changes.
45155         2006-09-05  Bruno Haible  <bruno@clisp.org>
45156         * lib/iconvme.c (iconv_string): No need to save and restore errno when
45157         iconv_alloc succeeded.
45158         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
45159         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
45160         test for " && dest " at the end - dest is always != NULL there. Call
45161         iconv with 4xNULL arguments initially, to reset the state. Call iconv
45162         with 2xNULL arguments, also to flush the state storage. Handle the
45163         IRIX iconv behaviour. Realloc the final result, to throw away unused
45164         memory.
45165
45166 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
45167
45168         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
45169         and fchmodat unconditionally, since glibc 2.4 has them.
45170         Problem reported by Arkadiusz Miskiewicz.
45171
45172 2006-12-10  Bruno Haible  <bruno@clisp.org>
45173
45174         * gnulib-tool (func_import): Show the include files only for those
45175         modules that are copied and specified.
45176         Reported by Karl Berry.
45177
45178 2006-12-08  Jim Meyering  <jim@meyering.net>
45179
45180         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
45181         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
45182
45183         * build-aux/announce-gen: Add two new options, both optional:
45184         --bootstrap-tools=TOOL_LIST
45185               a comma-separated list of tools, e.g.,
45186               autoconf,automake,bison,gnulib
45187         --gnulib-snapshot-date=DATE
45188               if gnulib is in the bootstrap tool list,
45189               then report this as the snapshot date.
45190               If not specified, use the current date/time.
45191               If you specify a date here, be sure it's UTC.
45192
45193 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45194
45195         * tests/test-argp-2.sh: Fix test to match actual output.
45196         (func_compare): Fix sed script to be portable.
45197
45198 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
45199
45200         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
45201         workaround for this case.  It is not autoconfigured now; offhand
45202         it's hard to see how to autoconfigure it.
45203
45204 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
45205
45206         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
45207         a directory that is about to be chowned.  Such a directory's
45208         initial file permissions should permit the owner only and this
45209         should not be changed until after the chown, since the group and
45210         other bits would be incorrect if they granted permission before
45211         the chown.
45212
45213         Fix porting problem for iswctype reported by Georg Schwarz in:
45214         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
45215         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
45216         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
45217         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
45218         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
45219
45220 2006-12-03  Jim Meyering  <jim@meyering.net>
45221
45222         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
45223         p->fts_statp may not yet be defined.
45224         (fts_read): Instead, set it in the caller, once p->fts_statp is
45225         sure to be defined, and corresponds to a top-level directory.
45226         This bug made du -x fail.  Here's the coreutils test case:
45227         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
45228         Reported by Mike Frysinger.
45229
45230 2006-12-01  Jim Meyering  <jim@meyering.net>
45231
45232         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
45233         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
45234         Reported by Simon Josefsson.
45235
45236 2006-11-30  Jim Meyering  <jim@meyering.net>
45237
45238         * m4/warning.m4: Use the all-permissive copyright notice
45239         recommended by RMS (rather than LGPL).
45240         * m4/vararrays.m4: Likewise.
45241         * m4/flexmember.m4: Likewise.
45242
45243 2006-11-29  Bruno Haible  <bruno@clisp.org>
45244
45245         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
45246         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
45247         using +=.
45248         Reported by Simon Josefsson <simon@josefsson.org>.
45249
45250 2006-11-28  James Youngman <jay@gnu.org>
45251
45252         * README: Advise users that they might find the bug-gnulib@gnu.org
45253         and autotools-announce@gnu.org mailing lists useful.
45254
45255 2006-11-28  Bruno Haible  <bruno@clisp.org>
45256
45257         * m4/ptrdiff_max.m4: Remove file.
45258
45259 2006-11-21  Bruno Haible  <bruno@clisp.org>
45260
45261         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
45262         _AC_COMPUTE_INT.
45263         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
45264         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
45265         _AC_COMPUTE_INT.
45266         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
45267         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
45268         _AC_COMPUTE_INT.
45269         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
45270
45271 2006-11-28  Jim Meyering  <jim@meyering.net>
45272
45273         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
45274         warning from "gcc -Wshadow" about shadowing the builtin.
45275
45276 2006-11-27  Bruno Haible  <bruno@clisp.org>
45277
45278         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
45279         _AC_COMPUTE_INT.
45280         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
45281
45282 2006-11-27  Bruno Haible  <bruno@clisp.org>
45283             Paul Eggert  <eggert@cs.ucla.edu>
45284
45285         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
45286
45287 2006-11-26  Bruno Haible  <bruno@clisp.org>
45288
45289         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
45290         noinst_LTLIBRARIES.
45291
45292 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
45293             Bruno Haible  <bruno@clisp.org>
45294
45295         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
45296         if compiling with "gcc -ansi".
45297
45298 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
45299
45300         Fix some incompatibilities with gcc -ansi -pedantic.
45301         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
45302         if compiling pedantically with GCC, unless it's C99 or later.
45303         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
45304         it mishandles gcc -ansi -pedantic as well.
45305         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
45306         if gcc -pedantic.
45307         * lib/regexec.c (check_node_accept_bytes): Don't use auto
45308         initializers for struct if -pedantic, unless it's C99 or later.
45309
45310 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
45311
45312         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
45313         Don't close an fd more than once. Identical atimes indicate
45314         success, not failure.
45315
45316 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
45317
45318         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
45319
45320 2006-11-23  Jim Meyering  <jim@meyering.net>
45321
45322         * build-aux/announce-gen: New file.  From coreutils.
45323
45324 2006-11-22  Jim Meyering  <jim@meyering.net>
45325
45326         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
45327         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
45328         (fts_read): Use a temporary to narrow the overused st_size member
45329         before using it in a switch statement.  Reported by Matthew Woehlke.
45330
45331         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
45332         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
45333
45334 2006-11-20  Bruno Haible  <bruno@clisp.org>
45335
45336         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
45337         changequote instead of pairs of brackets.
45338         Reported by Andreas Schwab <schwab@suse.de>.
45339
45340 2006-11-21  Jim Meyering  <jim@meyering.net>
45341
45342         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
45343         so as to remain compatible with older compilers.
45344         Patch from Michael Deutschmann.
45345
45346 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
45347
45348         * MODULES.html.sh (File system functions): Add openat.
45349
45350         * lib/openat.h (rpl_fstatat): New macro, if
45351         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
45352         (fstatat): Define to rpl_fstatat under the same conditions,
45353         unless COMPILING_FSTATAT.
45354         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
45355         seems to have the bug.
45356         * lib/fstatat.c: New file.
45357         * modules/openat (Files): Add it.
45358
45359 2006-11-20  Bruno Haible  <bruno@clisp.org>
45360
45361         * Makefile: New file.
45362
45363 2006-11-20  Jim Meyering  <jim@meyering.net>
45364
45365         The beginnings of syntax-related checks for gnulib.
45366         * lib/Makefile: New file.
45367         * lib/t-idcache: New script.  Ensure that the two halves of
45368         idcache.c stay in sync.
45369
45370         * lib/idcache.c: Adjust comments in user- and group- portions to
45371         be more accurate, and to be consistent with one another.
45372
45373 2006-11-20  Jim Meyering  <jim@meyering.net>
45374
45375         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
45376         continue using the flexible array member (thus, this module performs
45377         half as many malloc calls), with the addition that...
45378         (getgroup, getuser): Consistently record a non-match via an empty
45379         "name" string, and map an empty string match to a NULL return value.
45380         * modules/idcache (Depends-on): Re-add flexmember.
45381
45382         * lib/idcache.c (getuser): Remove all uses of the register keyword.
45383         (getuidbyname, getgroup, getgidbyname): Likewise.
45384
45385         Use cleaner syntax: NULL rather than 0.
45386         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
45387
45388 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
45389
45390         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
45391         It mishandled the case where the group was missing.
45392         Problem reported by Greg Schafer.
45393         * modules/idcache: Likewise.
45394
45395 2006-11-18  Jim Meyering  <jim@meyering.net>
45396
45397         * check-module (%exempt_header): Add exception for some
45398         conditionally-included headers.
45399
45400         * modules/i-ring (Depends-on): Add verify.
45401         (License): Change to LGPL.
45402
45403 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
45404
45405         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
45406         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
45407         and inttostr.h.  Use snprintf rather than uinttostr, so that
45408         LGPLed code doesn't depend on GPLed.
45409
45410 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
45411
45412         * modules/inline (License): Change from GPL to LGPL.
45413
45414 2006-11-17  Jim Meyering  <jim@meyering.net>
45415
45416         * modules/d-type (License): Switch to LGPL.
45417
45418 2006-11-15  Bruno Haible  <bruno@clisp.org>
45419
45420         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
45421
45422 2006-11-15  Eric Blake  <ebb9@byu.net>
45423
45424         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
45425         the module dependency.
45426
45427 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45428             Bruno Haible  <bruno@clisp.org>
45429
45430         * gnulib-tool (func_create_testdir): Add license consistency check.
45431
45432 2006-11-15  Eric Blake  <ebb9@byu.net>
45433
45434         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
45435         random "(cached)" in configure output.
45436
45437 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45438
45439         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
45440         test for conforming inttypes.h is both announced and cached.
45441
45442         * MODULES.html.sh (seen_modules, seen_files): New variables.
45443         (func_module): Rewrite to use a few less gnulib-tool and sed
45444         invocations.  Avoid a couple of quadratic algorithms for ...
45445         (missed_modules, missed_files): ... these, with ...
45446         (func_append, func_tmpdir): ... these new functions, from
45447         gnulib-tool.  Analogously, install traps for cleanup.
45448
45449         * tests/test-gc.c (main): Remove unused variables.
45450         * tests/test-read-file.c: Include stdlib.h, for 'free'.
45451
45452 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
45453
45454         * modules/inttostr (License): Change to LGPL.
45455
45456 2006-11-14  Eric Blake  <ebb9@byu.net>
45457
45458         * modules/tempname (License): Change to LGPL.
45459
45460 2006-11-14  Eric Blake  <ebb9@byu.net>
45461
45462         * doc/functions.texi (Function Portability): *printf functions on
45463         Cygwin now understand all POSIX size specifiers.
45464
45465 2006-11-14  Bruno Haible  <bruno@clisp.org>
45466
45467         * modules/c-ctype (License): Change to LGPL.
45468
45469 2006-11-12  Bruno Haible  <bruno@clisp.org>
45470
45471         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
45472         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
45473         for GNOME libraries, for which the include files are installed in
45474         subdirectories of $prefix/include.
45475
45476 2006-11-12  Bruno Haible  <bruno@clisp.org>
45477
45478         * m4/lib-link.m4: Require at least autoconf-2.54.
45479         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
45480         name to underscores for the --with option.
45481
45482 2006-11-13  Bruno Haible  <bruno@clisp.org>
45483
45484         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
45485         the tests directory.
45486         Reported by Ralf Wildenhues.
45487
45488 2006-11-13  Bruno Haible  <bruno@clisp.org>
45489
45490         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
45491         (func_emit_initmacro_end): Undo the override here.
45492         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
45493         Works around the famous automake error in coreutils.
45494
45495 2006-11-13  Eric Blake  <ebb9@byu.net>
45496
45497         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
45498         element, not its node.
45499
45500 2006-11-12  Bruno Haible  <bruno@clisp.org>
45501
45502         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
45503         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
45504
45505 2006-11-12  Bruno Haible  <bruno@clisp.org>
45506
45507         * gnulib-tool: New option --local-symlink.
45508         (func_usage): Document it.
45509         (lsymbolic): New variable.
45510         (func_import, func_create_testdir): If --symlink was not specified,
45511         test whether --local-symlink was specified and the file comes from
45512         the local_gnulib_dir.
45513
45514 2006-11-12  Bruno Haible  <bruno@clisp.org>
45515
45516         * gnulib-tool (func_ln): New function.
45517         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
45518
45519 2006-11-12  Bruno Haible  <bruno@clisp.org>
45520
45521         Finish support for source files in subdirectories.
45522         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
45523         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
45524         AUTOMAKE_OPTIONS.
45525         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
45526
45527 2006-11-12  Bruno Haible  <bruno@clisp.org>
45528
45529         * gnulib-tool (func_get_automake_snippet): Synthesize also an
45530         EXTRA_lib_SOURCES augmentation.
45531         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
45532
45533 2006-11-12  Jim Meyering  <jim@meyering.net>
45534
45535         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
45536         file descriptors.  This also averts a failure on systems with
45537         native openat support when a traversed directory lacks "x" access.
45538         * lib/fts_.h: Include "i-ring.h"
45539         (struct FTS) [fts_fd_ring]: New member.
45540         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
45541         (FCHDIR): Add parentheses.
45542         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
45543         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
45544         When descending, rather than simply closing the previous
45545         fts_cwd_fd value, push that file descriptor onto the ring.
45546         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
45547         (fts_open): Initialize the new fd_ring member.
45548         (fts_close): Clear the ring.
45549         (fts_safe_changedir): When possible, use our new fd_ring to skip
45550         the diropen and fstat and dev/ino comparison that would normally
45551         accompany a virtual `chdir ("..")'.
45552
45553         * modules/fts (Depends-on): Add i-ring.
45554         * modules/i-ring: New module.
45555         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
45556         * m4/i-ring.m4: New file.
45557
45558 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45559
45560         * gnulib-tool (func_create_testdir): Fix replacement of
45561         `build-aux' in configure.ac.  Run autotools in gltests
45562         subdirectory.
45563         (func_create_testdir, func_create_megatestdir, test): There is
45564         no need for '--force' in most autotool invocations in a new
45565         tree.  Actually fail the whole test if any of the tools, or the
45566         configure or make stages fail.
45567
45568         Sync from Automake.
45569         * build-aux/gnupload: Revert last change.  Add pointer to upload
45570         instructions of the GNU Maintenance Instructions.
45571         Suggestion by Karl Berry.
45572
45573 2006-11-10  Jim Meyering  <jim@meyering.net>
45574
45575         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
45576
45577 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45578
45579         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
45580         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
45581         (bind_textdomain_codeset) [! ENABLE_NLS]:
45582         Evaluate all the arguments.  That way, callers get compatible behavior
45583         if the arguments have side effects.  Also, it avoids some GCC
45584         diagnostics in some cases; Joel E. Denny reported problems when Bison
45585         was configured with --enable-gcc-warnigs.
45586
45587 2006-11-10  Jim Meyering  <jim@meyering.net>
45588
45589         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
45590         relevant options in CFLAGS (like -O, -fno-inline) are taken into
45591         account.
45592
45593 2006-11-10  Jim Meyering  <jim@meyering.net>
45594
45595         * modules/inline: New file/module.
45596         * modules/xalloc (Files): Remove m4/inline.m4.
45597         (Depends-on): Add inline, instead.
45598         * modules/oset: Likewise.
45599         * modules/list: Likewise.
45600
45601 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
45602
45603         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
45604         Problem reported by Matthew Woehlke.
45605
45606 2006-11-09  Bruno Haible  <bruno@clisp.org>
45607
45608         * lib/tempname.c (gen_tempname): Remove variant that invokes
45609         __gen_tempname.
45610         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
45611         __gen_tempname.
45612
45613 2006-11-08  Bruno Haible  <bruno@clisp.org>
45614
45615         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
45616         to 'yes' instead of 'cross-compiling'.
45617
45618 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
45619
45620         * lib/quotearg.h (quotearg_free): New decl.
45621         * lib/quotearg.c (quotearg_free): New function.
45622         (slot0, nslots, slotvec0, slotvec):
45623         Now file-scope so that quotearg_free can get at them.
45624
45625 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45626
45627         Sync from Automake.
45628         * build-aux/gnupload: Add missing 'gnu' to example URL.
45629         Report by Karl Berry.
45630
45631 2006-11-08  Bruno Haible  <bruno@clisp.org>
45632
45633         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
45634         Suggested by Paul Eggert.
45635
45636 2006-11-08  Jim Meyering  <jim@meyering.net>
45637
45638         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
45639         It's already included if !_LIBC.
45640         (fts_safe_changedir): Add a comment.
45641
45642 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
45643
45644         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
45645         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
45646         Matthew Woehlke.
45647
45648         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
45649         definitions up, to avoid colliding with change below.
45650         (static_inline) [HAVE_INLINE]: New macro.
45651         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
45652         Provide extern decls when !HAVE_INLINE.  Do not define unless
45653         static_inline is defined, either by us or by xmalloc.c.  Use
45654         static_inline rather than static inline.
45655         (XCALLOC): Optimize sizeof(T) = 1 case.
45656         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
45657
45658 2006-11-07  Bruno Haible  <bruno@clisp.org>
45659
45660         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
45661         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
45662         AC_C_INLINE.
45663         * modules/xalloc (Files): Add m4/inline.m4.
45664
45665 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45666
45667         * README: Fix typo.
45668         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
45669         (Miscellanous Notes): ...from this.
45670
45671 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
45672
45673         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
45674         Mention that offsetof should be used instead of sizeof.
45675         From Bruno Haible.
45676
45677 2006-11-07  Bruno Haible  <bruno@clisp.org>
45678
45679         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
45680
45681 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45682
45683         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
45684         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
45685         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
45686         (gl_tree_add_before, gl_tree_add_after):
45687         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
45688         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
45689         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
45690         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
45691         (gl_linked_add_after, gl_linked_add_at): Likewise.
45692         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
45693         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
45694         (gl_tree_add_before, gl_tree_add_after): Likewise.
45695         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
45696         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
45697         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
45698
45699 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45700
45701         * lib/gl_oset.h: Use C comment style, not C++ comment style.
45702
45703 2006-11-06  Bruno Haible  <bruno@clisp.org>
45704
45705         * m4/inline.m4: New file.
45706         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
45707         * modules/list (Files): Add m4/inline.m4.
45708         * modules/oset (Files): Likewise.
45709
45710 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
45711
45712         * lib/idcache.c: Include <stddef.h>, for offsetof.
45713         (struct userid.name): Change from char * to a flexible array member.
45714         All uses changed.
45715         * modules/idcache (Depends-on): Add flexmember.
45716
45717         * MODULES.html.sh (Core language properties): New module flexmember.
45718         * modules/flexmember, m4/flexmember.m4: New files.
45719
45720         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
45721         inline functions that are identical with the old xnmalloc_inline,
45722         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
45723         that we can avoid some unnecessary integer multiplications and
45724         divisions in the common case where the element size is known at
45725         compile time.
45726         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
45727         needed.
45728         (xnboundedmalloc): Remove.
45729         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
45730         arguments, for consistency with rest of this header.
45731         (xcharalloc): Rewrite using XNMALLOC.
45732         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
45733         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
45734         versions have been moved to lib/xalloc.h and renamed to be the
45735         non-*_inline versions.
45736         (xmalloc, xrealloc): Implement without reference to the xnmalloc
45737         and xnrealloc functions, since those functions are now inline and
45738         now call us.
45739         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
45740         renaming described above.
45741         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
45742         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
45743         captures the dependency in AC_C_INLINE.
45744
45745         New module canonicalize-lgpl, proposed by Charles Wilson in
45746         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
45747         with a few small changes afterwards.
45748         * MODULES.html.sh (File system functions): New module
45749         canonicalize-lgpl.
45750         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
45751         and canonicalize_file_name.
45752         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
45753         * modules/canonicalize-lgpl: New files.
45754
45755 2006-11-05  Bruno Haible  <bruno@clisp.org>
45756
45757         * gnulib-tool (func_import, func_create_testdir): Create directories
45758         also for files in subdirectories of lib/.
45759
45760 2006-11-05  Bruno Haible  <bruno@clisp.org>
45761
45762         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
45763         ANSI C compliant.
45764
45765 2006-11-03  Bruno Haible  <bruno@clisp.org>
45766
45767         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
45768         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
45769         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
45770         (xnboundedmalloc): New inline function.
45771         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
45772         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
45773         xmalloc.
45774         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
45775         xmalloc.
45776         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
45777         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
45778         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
45779         xmalloc.
45780         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
45781         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
45782         xmalloc.
45783         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
45784         gl_tree_add_after): Use XMALLOC instead of xmalloc.
45785         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
45786         xmalloc.
45787         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
45788         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
45789         gl_tree_add_after): Use XMALLOC instead of xmalloc.
45790         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
45791         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
45792         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
45793         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
45794
45795 2006-11-03  Bruno Haible  <bruno@clisp.org>
45796
45797         * lib/c-ctype.h [C++]: Define functions without name mangling.
45798         * lib/fwriteerror.h [C++]: Likewise.
45799         * lib/gcd.h [C++]: Likewise.
45800         * lib/linebreak.h [C++]: Likewise.
45801
45802 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
45803
45804         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
45805         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
45806         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
45807         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
45808         Check for functions and headers just once.
45809         Check for declaration of canonicalize_file_name.
45810         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
45811
45812 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
45813
45814         * gnulib-tool (func_import): Fix typo in actioncmd.
45815
45816 2006-11-02  Bruno Haible  <bruno@clisp.org>
45817
45818         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
45819         newline sequence in the Makefile.am snippet as a space, like "make"
45820         does.
45821         Reported by Roger Persson <perrog@gmail.com>.
45822
45823 2006-11-01  Bruno Haible  <bruno@clisp.org>
45824
45825         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
45826         already declared in <string.h>.
45827         * lib/strcase.h (strncasecmp): Don't declare it if yes.
45828
45829 2006-11-01  Bruno Haible  <bruno@clisp.org>
45830
45831         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
45832         * lib/strcase.h: Include <string.h>.
45833         (strcasecmp): Define to rpl_strcasecmp here.
45834
45835 2006-11-01  Bruno Haible  <bruno@clisp.org>
45836
45837         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
45838
45839 2006-11-01  Eric Blake  <ebb9@byu.net>
45840
45841         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
45842
45843         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
45844
45845 2006-10-29  Bruno Haible  <bruno@clisp.org>
45846
45847         Make it compile in C++ mode.
45848         * lib/full-write.c (full_rw): Add a cast.
45849
45850 2006-11-01  Bruno Haible  <bruno@clisp.org>
45851
45852         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
45853         be POSIX compliant.
45854         Reported by Roger Persson <perrog@gmail.com>.
45855
45856 2006-11-01  Eric Blake  <ebb9@byu.net>
45857
45858         * lib/getopt_.h: Fix comments.
45859
45860 2006-10-31  Eric Blake  <ebb9@byu.net>
45861
45862         * modules/tmpdir (Depends-on): Add sys_stat.
45863         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
45864         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
45865         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
45866         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
45867         tempname.
45868
45869 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
45870
45871         Avoid some C++ diagnostics reported by Bruno Haible.
45872         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
45873         xmalloc.
45874         (quotearg_alloc): Use xcharalloc rather than xmalloc.
45875         (struct slotvec): Move to top level.
45876         (quotearg_n_options): Rewrite to avoid xmalloc.
45877         * lib/xalloc.h (xcharalloc): New function.
45878         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
45879         [defined __cplusplus]: Add function template that provides result
45880         type propagation.  This part of the change is from Bruno Haible.
45881
45882 2006-10-29  Bruno Haible  <bruno@clisp.org>
45883
45884         Make it compile in C++ mode.
45885         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
45886         * lib/strnlen1.c (strnlen1): Cast memchr result.
45887         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
45888         * lib/clean-temp.c (string_equals, string_hash): Add casts.
45889         (create_temp_dir): Rename local variable 'template'.
45890         (compile_csharp_using_sscli): Add cast.
45891         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
45892         * lib/findprog.c (find_in_path): Likewise.
45893         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
45894         * lib/wait-process.c (register_slave_subprocess): Likewise.
45895
45896 2006-10-22  Bruno Haible  <bruno@clisp.org>
45897
45898         * modules/tsearch: New file.
45899         * lib/tsearch.h: New file.
45900         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
45901         * m4/tsearch.m4: New file.
45902         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
45903
45904 2006-10-29  Eric Blake  <ebb9@byu.net>
45905
45906         * lib/arcfour.c: Assume config.h.
45907         * lib/arctwo.c: Likewise.
45908         * lib/base64.c: Likewise.
45909         * lib/check-version.c: Likewise.
45910         * lib/crc.c: Likewise.
45911         * lib/des.c: Likewise.
45912         * lib/gc-gnulib.c: Likewise.
45913         * lib/gc-libgcrypt.c: Likewise.
45914         * lib/gc-pbkdf2-sha1.c: Likewise.
45915         * lib/getaddrinfo.c: Likewise.
45916         * lib/getdelim.c: Likewise.
45917         * lib/getline.c: Likewise.
45918         * lib/hmac-md5.c: Likewise.
45919         * lib/hmac-sha1.c: Likewise.
45920         * lib/iconvme.c: Likewise.
45921         * lib/md2.c: Likewise.
45922         * lib/md4.c: Likewise.
45923         * lib/memxor.c: Likewise.
45924         * lib/read-file.c: Likewise.
45925         * lib/readline.c: Likewise.
45926         * lib/rijndael-alg-fst.c: Likewise.
45927         * lib/rijndael-api-fst.c: Likewise.
45928         * lib/xgetdomainname.c: Likewise.
45929
45930 2006-10-28  Eric Blake  <ebb9@byu.net>
45931
45932         * lib/xstrndup.c: Assume config.h.
45933
45934 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45935
45936         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
45937         stat-macros.h is now for our own macros, whereas stat_h is for
45938         macros in the <sys/stat.h> name space.
45939         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
45940         (STAT_MACROS_H): Remove.
45941         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
45942         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
45943         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
45944         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
45945         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
45946         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
45947         Move these macros to ...
45948         * lib/stat_.h: here.  Don't include stat-macros.h.
45949         * lib/canonicalize.c: Don't include stat-macros.h.
45950         * lib/chown.c: Likewise.
45951         * lib/euidaccess.c: Likewise.
45952         * lib/file-type.c: Likewise.
45953         * lib/filemode.c: Likewise.
45954         * lib/glob.c: Likewise.
45955         * lib/isapipe.c: Likewise.
45956         * lib/lchown.c: Likewise.
45957         * lib/lstat.c: Likewise.
45958         * lib/mkdir-p.c: Likewise.
45959         * lib/rmdir.c: Likewise.
45960         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
45961         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
45962         unless mkdir isn't declared, to speed up 'configure'.
45963         Always create sys/stat.h, since it's unlikely any real sys/stat.h
45964         would define all the S_* symbols.
45965         * modules/canonicalize (Depends-on):
45966         Depend on sys_stat, not stat-macros.
45967         * modules/chown: Likewise.
45968         * modules/euidaccess: Likewise.
45969         * modules/filemode: Likewise.
45970         * modules/file-type: Likewise.
45971         * modules/glob: Likewise.
45972         * modules/isapipe: Likewise.
45973         * modules/lchown: Likewise.
45974         * modules/lstat: Likewise.
45975         * modules/mkancesdirs: Likewise.
45976         * modules/rmdir: Likewise.
45977         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
45978         * modules/modechange: Likewise.
45979         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
45980         (configure.ac): Remove gl_STAT_MACROS.
45981         * modules/sys_stat (Depends-on): Remove stat-macros.
45982
45983 2006-10-27  Bruno Haible  <bruno@clisp.org>
45984
45985         * m4/signed.m4: Remove file.
45986         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
45987         invocation.
45988         * modules/vasnprintf (Files): Remove m4/signed.m4.
45989
45990 2006-10-27  Bruno Haible  <bruno@clisp.org>
45991
45992         Update to GNU gettext 0.16.
45993         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
45994         m4/inttypes-h.m4, m4/signed.m4.
45995         * m4/gettext.m4: Update to GNU gettext 0.16.
45996         * m4/intl.m4: New file, from GNU gettext.
45997         * m4/intldir.m4: New file, from GNU gettext.
45998         * config/srclist.txt: Update
45999
46000 2006-10-27  Eric Blake  <ebb9@byu.net>
46001
46002         * MODULES.html.sh: Document tempname.
46003         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
46004         dependencies.
46005         (Files): Move lib/tempname.c...
46006         * modules/tempname: ...to this new module.
46007         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
46008         (gl_PREREQ_TEMPNAME): Move...
46009         * m4/tempname.m4: ...to this new file.
46010         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
46011         * modules/sys_stat (Depends-on): Add stat-macros.
46012         * lib/stat_.h (includes): Pick up stat macros.
46013         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
46014         if stat macros are broken.
46015         * lib/tempname.c (includes): No need to include "stat-macros.h".
46016         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
46017         (direxists, __path_search) [!_LIBC]: Don't compile these in
46018         gnulib; the tmpdir module covers that.
46019         * lib/tempname.h: New file.
46020
46021 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
46022
46023         * COPYING: Explain how gnulib-tool converts licence headers.
46024         Almost all wording by Eric Blake.
46025
46026 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
46027
46028         * lib/mbchar.h (is_basic_table): Make read-only.
46029         * lib/mbchar.c (is_basic_table): Likewise.
46030         Reported by John Darrington.
46031
46032 2006-10-25  Bruno Haible  <bruno@clisp.org>
46033
46034         * lib/progname.h (set_program_name): Undefine before defining.
46035
46036 2006-10-25  Bruno Haible  <bruno@clisp.org>
46037
46038         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
46039         false for non-gcc C++ compilers.
46040         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
46041
46042 2006-10-24  Bruno Haible  <bruno@clisp.org>
46043
46044         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
46045         iconv implementations like Irix iconv.
46046
46047 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46048
46049         * modules/vararrays: New file.
46050         * m4/vararrays.m4: New file, taken from diffutils.
46051         * MODULES.html.sh: New module vararrays.
46052
46053 2006-10-24  Karl Berry  <karl@gnu.org>
46054
46055         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
46056         Don't call GNU Unix.
46057
46058 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46059
46060         * users.txt: Add Libtool.
46061
46062         Sync from Libtool:
46063
46064         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46065
46066         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
46067         to gnulib's policy of including config.h unconditionally.
46068
46069 2006-10-24  Bruno Haible  <bruno@clisp.org>
46070
46071         * modules/wcwidth (Files): Add m4/wint_t.m4.
46072         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
46073         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
46074
46075 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46076
46077         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
46078         to pacify GCC with some -W flags enabled.  Problem reported by
46079         Bruno Haible.
46080
46081 2006-10-24  Jim Meyering  <jim@meyering.net>
46082
46083         * MODULES.html.sh: Remove uinttostr.  It's not a module.
46084         Reported by Karl Berry.
46085
46086 2006-10-23  Bruno Haible  <bruno@clisp.org>
46087
46088         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
46089
46090 2006-10-24  Bruno Haible  <bruno@clisp.org>
46091
46092         * lib/gl_list.h: Use C comment style, not C++ comment style.
46093
46094 2006-10-23  Eric Blake  <ebb9@byu.net>
46095
46096         * lib/getaddrinfo.c (includes): Add missing include.
46097
46098 2006-10-23  Bruno Haible  <bruno@clisp.org>
46099             Paul Eggert  <eggert@cs.ucla.edu>
46100
46101         Ability to rename obstack_free.
46102         * lib/obstack.h (__obstack_free): New macro. Declare instead of
46103         obstack_free.
46104         (obstack_free): Invoke the __obstack_free macro.
46105         * lib/obstack.c (obstack_free): Use __obstack_free macro.
46106
46107 2006-10-23  Bruno Haible  <bruno@clisp.org>
46108             Paul Eggert  <eggert@cs.ucla.edu>
46109
46110         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
46111         __argc, __argv from the declaration. (They are defined as macros on
46112         mingw.)
46113
46114 2006-10-22  Bruno Haible  <bruno@clisp.org>
46115
46116         * doc/gnulib-intro.texi: New file.
46117         * doc/gnulib.texi: Include it.
46118
46119 2006-10-21  Bruno Haible  <bruno@clisp.org>
46120
46121         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
46122         "Introduction", "Miscellanous Notes", "Particular Modules".
46123
46124 2006-10-21  Bruno Haible  <bruno@clisp.org>
46125
46126         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
46127         Change mostlyclean-local rule to avoid sh syntax error from bash
46128         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
46129
46130 2006-10-23  Jim Meyering  <jim@meyering.net>
46131
46132         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
46133         in place of snprintf.
46134
46135         * modules/inttostr (Files): Add lib/uinttostr.c.
46136         * lib/uinttostr.c (inttostr): New file/function.
46137         * lib/inttostr.h (uinttostr): Declare.
46138         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
46139         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
46140         Add uinttostr.
46141         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
46142
46143 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
46144
46145         * lib/canonicalize.c (ELOOP): Define if not already defined.
46146         Problem reported by Bruno Haible in
46147         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
46148
46149 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
46150
46151         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
46152         Problem reported by Perry Smith and Ville Laurikari.
46153
46154         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
46155         uses.
46156
46157 2006-10-19  Bruno Haible  <bruno@clisp.org>
46158
46159         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
46160         for mingw.
46161
46162 2006-10-19  Bruno Haible  <bruno@clisp.org>
46163
46164         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
46165         Needed for mingw.
46166
46167 2006-10-19  Bruno Haible  <bruno@clisp.org>
46168
46169         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
46170
46171 2006-10-19  Bruno Haible  <bruno@clisp.org>
46172
46173         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
46174         it.
46175
46176 2006-10-19  Bruno Haible  <bruno@clisp.org>
46177
46178         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
46179         invocation.
46180
46181 2006-10-19  Bruno Haible  <bruno@clisp.org>
46182
46183         * gnulib-tool (func_create_testdir): Don't include ftruncate and
46184         mountlist by default.
46185
46186 2006-10-16  Bruno Haible  <bruno@clisp.org>
46187
46188         * lib/c-strstr.c: Include c-strstr.h.
46189
46190 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
46191
46192         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
46193         in a slash.
46194
46195 2006-10-18  Bruno Haible  <bruno@clisp.org>
46196
46197         * lib/lock.h [C++]: Wrap definitions in extern "C".
46198
46199 2006-10-18  Bruno Haible  <bruno@clisp.org>
46200
46201         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
46202         gl_LIBOBJS list.
46203
46204 2006-10-18  Bruno Haible  <bruno@clisp.org>
46205
46206         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
46207
46208 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
46209
46210         * lib/xstrtol.h: Include gettext.h.
46211         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
46212         Problem reported by Eric Blake.
46213         * modules/xstrtol (Depends-on): Add gettext-h.
46214
46215 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
46216
46217         * lib/strftime.c (advance): New macro.
46218         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
46219         incomplete type, so you can't add 0 to it.  Problem and patch
46220         reported by Eelco Dolstra for dietlibc.
46221
46222 2006-10-18  Jim Meyering  <jim@meyering.net>
46223
46224         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
46225         type for a local, and rename it: s/up/user_proc/.
46226
46227 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
46228
46229         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
46230         READ_UTMP_USER_PROCESS.
46231         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
46232
46233 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
46234
46235         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
46236         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
46237
46238 2006-10-17  Eric Blake  <ebb9@byu.net>
46239
46240         * lib/sigprocmask.c (sigprocmask): Fix typo.
46241
46242         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
46243
46244         * modules/clean-temp (Makefile.am): Don't add to make output...
46245         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
46246         config.h.
46247
46248 2006-10-17  Bruno Haible  <bruno@clisp.org>
46249
46250         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
46251         differently if DEFAULT_TEXT_DOMAIN is set.
46252
46253 2006-10-16  Bruno Haible  <bruno@clisp.org>
46254
46255         * lib/clean-temp.c: Include fwriteerror.h.
46256
46257 2006-10-16  Bruno Haible  <bruno@clisp.org>
46258
46259         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
46260
46261 2006-10-16  Bruno Haible  <bruno@clisp.org>
46262
46263         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
46264         * lib/sigprocmask.h: Include <sys/types.h>.
46265         (sigset_t): Use the system's definition if present.
46266
46267 2006-10-17  Eric Blake  <ebb9@byu.net>
46268
46269         * lib/xvasprintf.c (includes): Assume config.h.
46270         * lib/xasprintf.c (includes): Likewise.
46271
46272 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
46273
46274         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
46275         at least as wide as intmax_t.
46276
46277 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
46278
46279         (Imported from Automake.)
46280         * build-aux/gnupload: Update to version 1.1 of directive file.
46281
46282 2006-10-16  Eric Blake  <ebb9@byu.net>
46283
46284         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
46285         match Automake 1.10a.
46286
46287 2006-10-14  Bruno Haible  <bruno@clisp.org>
46288
46289         * modules/sigprocmask: New file.
46290         * lib/sigprocmask.h: New file.
46291         * lib/sigprocmask.c: New file.
46292         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
46293         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
46294         request sigprocmask.o.
46295         (gl_PREREQ_SIGPROCMASK): New macro.
46296         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
46297         (Depends-on): Add sigprocmask.
46298         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
46299         gt_SIGNALBLOCKING. Test for 'raise' only once.
46300         * lib/fatal-signal.c: Include sigprocmask.h.
46301         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
46302         unblock_fatal_signals): Define always.
46303         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46304         sigprocmask.
46305
46306 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
46307
46308         Sync from Automake.
46309         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
46310         which incorrectly sets the mode of an existing destination
46311         directory.  In some cases the unpatched install-sh could do the
46312         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
46313         system.  We hope this is rare in practice, but it's clearly worth
46314         fixing.  Problem reported by Alex Unleashed in
46315         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
46316         Also, don't bother to check for -m bugs unless we're using -m;
46317         suggested by Stepan Kasal.
46318
46319 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46320
46321         Sync from Automake.
46322         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
46323         `-c' flag, so they appear at the same position as in %FASTDEP%
46324         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
46325         which ignores unknown options only after the first non-option.
46326         Bug report against M4 by Nelson H. F. Beebe.
46327
46328 2006-10-13  Jim Meyering  <jim@meyering.net>
46329
46330         Fix a bug in yesterday's change.
46331         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
46332         p->fts_statp->st_dev would be used uninitialized.
46333         Ensures that we always call fts_stat on the very first entry.
46334         Miklos Szeredi reported that find -xdev stopped working.
46335
46336 2006-10-12  Bruno Haible  <bruno@clisp.org>
46337
46338         * gnulib-tool (func_get_automake_snippet): Append an automatically
46339         computed EXTRA_DIST augmentation.
46340         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
46341         * modules/alloca-opt (Makefile.am): Likewise.
46342         * modules/allocsa (Makefile.am): Likewise.
46343         * modules/arcfour (Makefile.am): Likewise.
46344         * modules/arctwo (Makefile.am): Likewise.
46345         * modules/argmatch (Makefile.am): Likewise.
46346         * modules/argz (Makefile.am): Likewise.
46347         * modules/atexit (Makefile.am): Likewise.
46348         * modules/backupfile (Makefile.am): Likewise.
46349         * modules/byteswap (Makefile.am): Likewise.
46350         * modules/c-strtod (Makefile.am): Likewise.
46351         * modules/c-strtold (Makefile.am): Likewise.
46352         * modules/calloc (Makefile.am): Likewise.
46353         * modules/canon-host (Makefile.am): Likewise.
46354         * modules/canonicalize (Makefile.am): Likewise.
46355         * modules/chdir-long (Makefile.am): Likewise.
46356         * modules/chdir-safer (Makefile.am): Likewise.
46357         * modules/check-version (Makefile.am): Likewise.
46358         * modules/chown (Makefile.am): Likewise.
46359         * modules/cloexec (Makefile.am): Likewise.
46360         * modules/close-stream (Makefile.am): Likewise.
46361         * modules/closeout (Makefile.am): Likewise.
46362         * modules/crc (Makefile.am): Likewise.
46363         * modules/csharpexec (Makefile.am): Likewise.
46364         * modules/cycle-check (Makefile.am): Likewise.
46365         * modules/des (Makefile.am): Likewise.
46366         * modules/dev-ino (Makefile.am): Likewise.
46367         * modules/dirfd (Makefile.am): Likewise.
46368         * modules/dirname (Makefile.am): Likewise.
46369         * modules/dup2 (Makefile.am): Likewise.
46370         * modules/eealloc (Makefile.am): Likewise.
46371         * modules/error (Makefile.am): Likewise.
46372         * modules/euidaccess (Makefile.am): Likewise.
46373         * modules/exclude (Makefile.am): Likewise.
46374         * modules/exitfail (Makefile.am): Likewise.
46375         * modules/fcntl-safer (Makefile.am): Likewise.
46376         * modules/fcntl (Makefile.am): Likewise.
46377         * modules/file-type (Makefile.am): Likewise.
46378         * modules/fileblocks (Makefile.am): Likewise.
46379         * modules/filemode (Makefile.am): Likewise.
46380         * modules/filenamecat (Makefile.am): Likewise.
46381         * modules/fnmatch (Makefile.am): Likewise.
46382         * modules/fopen-safer (Makefile.am): Likewise.
46383         * modules/fpending (Makefile.am): Likewise.
46384         * modules/fprintftime (Makefile.am): Likewise.
46385         * modules/free (Makefile.am): Likewise.
46386         * modules/fsusage (Makefile.am): Likewise.
46387         * modules/ftruncate (Makefile.am): Likewise.
46388         * modules/fts (Makefile.am): Likewise.
46389         * modules/gc-arcfour (Makefile.am): Likewise.
46390         * modules/gc-des (Makefile.am): Likewise.
46391         * modules/gc-hmac-md5 (Makefile.am): Likewise.
46392         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
46393         * modules/gc-md4 (Makefile.am): Likewise.
46394         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
46395         * modules/gc-sha1 (Makefile.am): Likewise.
46396         * modules/gc (Makefile.am): Likewise.
46397         * modules/getaddrinfo (Makefile.am): Likewise.
46398         * modules/getcwd (Makefile.am): Likewise.
46399         * modules/getdelim (Makefile.am): Likewise.
46400         * modules/getdomainname (Makefile.am): Likewise.
46401         * modules/getgroups (Makefile.am): Likewise.
46402         * modules/gethostname (Makefile.am): Likewise.
46403         * modules/gethrxtime (Makefile.am): Likewise.
46404         * modules/getline (Makefile.am): Likewise.
46405         * modules/getloadavg (Makefile.am): Likewise.
46406         * modules/getlogin_r (Makefile.am): Likewise.
46407         * modules/getndelim2 (Makefile.am): Likewise.
46408         * modules/getopt (Makefile.am): Likewise.
46409         * modules/getpagesize (Makefile.am): Likewise.
46410         * modules/getpass-gnu (Makefile.am): Likewise.
46411         * modules/getpass (Makefile.am): Likewise.
46412         * modules/getsubopt (Makefile.am): Likewise.
46413         * modules/gettime (Makefile.am): Likewise.
46414         * modules/gettimeofday (Makefile.am): Likewise.
46415         * modules/getugroups (Makefile.am): Likewise.
46416         * modules/getusershell (Makefile.am): Likewise.
46417         * modules/glob (Makefile.am): Likewise.
46418         * modules/group-member (Makefile.am): Likewise.
46419         * modules/hard-locale (Makefile.am): Likewise.
46420         * modules/hash (Makefile.am): Likewise.
46421         * modules/hmac-md5 (Makefile.am): Likewise.
46422         * modules/hmac-sha1 (Makefile.am): Likewise.
46423         * modules/human (Makefile.am): Likewise.
46424         * modules/idcache (Makefile.am): Likewise.
46425         * modules/imaxabs (Makefile.am): Likewise.
46426         * modules/imaxdiv (Makefile.am): Likewise.
46427         * modules/inet_ntop (Makefile.am): Likewise.
46428         * modules/inet_pton (Makefile.am): Likewise.
46429         * modules/intprops (Makefile.am): Likewise.
46430         * modules/inttostr (Makefile.am): Likewise.
46431         * modules/inttypes (Makefile.am): Likewise.
46432         * modules/isapipe (Makefile.am): Likewise.
46433         * modules/javaversion (Makefile.am): Likewise.
46434         * modules/lchmod (Makefile.am): Likewise.
46435         * modules/lchown (Makefile.am): Likewise.
46436         * modules/localcharset (Makefile.am): Likewise.
46437         * modules/long-options (Makefile.am): Likewise.
46438         * modules/lstat (Makefile.am): Likewise.
46439         * modules/malloc (Makefile.am): Likewise.
46440         * modules/mathl (Makefile.am): Likewise.
46441         * modules/mbchar (Makefile.am): Likewise.
46442         * modules/md2 (Makefile.am): Likewise.
46443         * modules/md4 (Makefile.am): Likewise.
46444         * modules/md5 (Makefile.am): Likewise.
46445         * modules/memcasecmp (Makefile.am): Likewise.
46446         * modules/memchr (Makefile.am): Likewise.
46447         * modules/memcmp (Makefile.am): Likewise.
46448         * modules/memcoll (Makefile.am): Likewise.
46449         * modules/memcpy (Makefile.am): Likewise.
46450         * modules/memmem (Makefile.am): Likewise.
46451         * modules/memmove (Makefile.am): Likewise.
46452         * modules/mempcpy (Makefile.am): Likewise.
46453         * modules/memrchr (Makefile.am): Likewise.
46454         * modules/memset (Makefile.am): Likewise.
46455         * modules/memxor (Makefile.am): Likewise.
46456         * modules/mkancesdirs (Makefile.am): Likewise.
46457         * modules/mkdir-p (Makefile.am): Likewise.
46458         * modules/mkdir (Makefile.am): Likewise.
46459         * modules/mkdtemp (Makefile.am): Likewise.
46460         * modules/mkstemp (Makefile.am): Likewise.
46461         * modules/mktime (Makefile.am): Likewise.
46462         * modules/modechange (Makefile.am): Likewise.
46463         * modules/mountlist (Makefile.am): Likewise.
46464         * modules/nanosleep (Makefile.am): Likewise.
46465         * modules/obstack (Makefile.am): Likewise.
46466         * modules/openat (Makefile.am): Likewise.
46467         * modules/pagealign_alloc (Makefile.am): Likewise.
46468         * modules/pathmax (Makefile.am): Likewise.
46469         * modules/physmem (Makefile.am): Likewise.
46470         * modules/poll (Makefile.am): Likewise.
46471         * modules/posixtm (Makefile.am): Likewise.
46472         * modules/posixver (Makefile.am): Likewise.
46473         * modules/putenv (Makefile.am): Likewise.
46474         * modules/quote (Makefile.am): Likewise.
46475         * modules/quotearg (Makefile.am): Likewise.
46476         * modules/raise (Makefile.am): Likewise.
46477         * modules/read-file (Makefile.am): Likewise.
46478         * modules/readline (Makefile.am): Likewise.
46479         * modules/readlink (Makefile.am): Likewise.
46480         * modules/readtokens (Makefile.am): Likewise.
46481         * modules/readutmp (Makefile.am): Likewise.
46482         * modules/realloc (Makefile.am): Likewise.
46483         * modules/regex (Makefile.am): Likewise.
46484         * modules/rename-dest-slash (Makefile.am): Likewise.
46485         * modules/rename (Makefile.am): Likewise.
46486         * modules/rijndael (Makefile.am): Likewise.
46487         * modules/rmdir (Makefile.am): Likewise.
46488         * modules/rpmatch (Makefile.am): Likewise.
46489         * modules/safe-read (Makefile.am): Likewise.
46490         * modules/safe-write (Makefile.am): Likewise.
46491         * modules/same-inode (Makefile.am): Likewise.
46492         * modules/same (Makefile.am): Likewise.
46493         * modules/save-cwd (Makefile.am): Likewise.
46494         * modules/savedir (Makefile.am): Likewise.
46495         * modules/setenv (Makefile.am): Likewise.
46496         * modules/settime (Makefile.am): Likewise.
46497         * modules/sha1 (Makefile.am): Likewise.
46498         * modules/sig2str (Makefile.am): Likewise.
46499         * modules/snprintf (Makefile.am): Likewise.
46500         * modules/stat-macros (Makefile.am): Likewise.
46501         * modules/stat-time (Makefile.am): Likewise.
46502         * modules/stdbool (Makefile.am): Likewise.
46503         * modules/stdint (Makefile.am): Likewise.
46504         * modules/stdlib-safer (Makefile.am): Likewise.
46505         * modules/stpcpy (Makefile.am): Likewise.
46506         * modules/stpncpy (Makefile.am): Likewise.
46507         * modules/strcase (Makefile.am): Likewise.
46508         * modules/strcasestr (Makefile.am): Likewise.
46509         * modules/strchrnul (Makefile.am): Likewise.
46510         * modules/strcspn (Makefile.am): Likewise.
46511         * modules/strdup (Makefile.am): Likewise.
46512         * modules/strerror (Makefile.am): Likewise.
46513         * modules/strftime (Makefile.am): Likewise.
46514         * modules/strndup (Makefile.am): Likewise.
46515         * modules/strnlen (Makefile.am): Likewise.
46516         * modules/strpbrk (Makefile.am): Likewise.
46517         * modules/strsep (Makefile.am): Likewise.
46518         * modules/strstr (Makefile.am): Likewise.
46519         * modules/strtod (Makefile.am): Likewise.
46520         * modules/strtoimax (Makefile.am): Likewise.
46521         * modules/strtok_r (Makefile.am): Likewise.
46522         * modules/strtol (Makefile.am): Likewise.
46523         * modules/strtoll (Makefile.am): Likewise.
46524         * modules/strtoul (Makefile.am): Likewise.
46525         * modules/strtoull (Makefile.am): Likewise.
46526         * modules/strtoumax (Makefile.am): Likewise.
46527         * modules/strverscmp (Makefile.am): Likewise.
46528         * modules/sys_socket (Makefile.am): Likewise.
46529         * modules/sys_stat (Makefile.am): Likewise.
46530         * modules/sysexits (Makefile.am): Likewise.
46531         * modules/time_r (Makefile.am): Likewise.
46532         * modules/timegm (Makefile.am): Likewise.
46533         * modules/timespec (Makefile.am): Likewise.
46534         * modules/tmpfile-safer (Makefile.am): Likewise.
46535         * modules/trim (Makefile.am): Likewise.
46536         * modules/unistd-safer (Makefile.am): Likewise.
46537         * modules/unlinkdir (Makefile.am): Likewise.
46538         * modules/unlocked-io (Makefile.am): Likewise.
46539         * modules/userspec (Makefile.am): Likewise.
46540         * modules/utime (Makefile.am): Likewise.
46541         * modules/utimecmp (Makefile.am): Likewise.
46542         * modules/utimens (Makefile.am): Likewise.
46543         * modules/vasnprintf (Makefile.am): Likewise.
46544         * modules/vasprintf (Makefile.am): Likewise.
46545         * modules/vsnprintf (Makefile.am): Likewise.
46546         * modules/xalloc (Makefile.am): Likewise.
46547         * modules/xgetcwd (Makefile.am): Likewise.
46548         * modules/xnanosleep (Makefile.am): Likewise.
46549         * modules/xreadlink (Makefile.am): Likewise.
46550         * modules/xstrtod (Makefile.am): Likewise.
46551         * modules/xstrtol (Makefile.am): Likewise.
46552         * modules/xstrtold (Makefile.am): Likewise.
46553         * modules/yesno (Makefile.am): Likewise.
46554         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
46555
46556 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46557
46558         * modules/error (Makefile.am): Distribute files through
46559         EXTRA_DIST, not lib_SOURCES.
46560
46561 2006-10-12  Eric Blake  <ebb9@byu.net>
46562
46563         * modules/error (Makefile.am): Distribute files in /lib.
46564         * modules/obstack (Makefile.am): Likewise.
46565
46566 2006-10-12  Bruno Haible  <bruno@clisp.org>
46567
46568         * modules/acl (Makefile.am): Distribute all files in lib/ through
46569         EXTRA_DIST.
46570         * modules/arcfour (Makefile.am): Likewise.
46571         * modules/arctwo (Makefile.am): Likewise.
46572         * modules/argmatch (Makefile.am): Likewise.
46573         * modules/argz (Makefile.am): Likewise.
46574         * modules/atexit (Makefile.am): Likewise.
46575         * modules/backupfile (Makefile.am): Likewise.
46576         * modules/c-strtod (Makefile.am): Likewise.
46577         * modules/c-strtold (Makefile.am): Likewise.
46578         * modules/calloc (Makefile.am): Likewise.
46579         * modules/canon-host (Makefile.am): Likewise.
46580         * modules/canonicalize (Makefile.am): Likewise.
46581         * modules/chdir-long (Makefile.am): Likewise.
46582         * modules/chdir-safer (Makefile.am): Likewise.
46583         * modules/check-version (Makefile.am): Likewise.
46584         * modules/chown (Makefile.am): Likewise.
46585         * modules/cloexec (Makefile.am): Likewise.
46586         * modules/close-stream (Makefile.am): Likewise.
46587         * modules/closeout (Makefile.am): Likewise.
46588         * modules/crc (Makefile.am): Likewise.
46589         * modules/cycle-check (Makefile.am): Likewise.
46590         * modules/des (Makefile.am): Likewise.
46591         * modules/dirfd (Makefile.am): Likewise.
46592         * modules/dirname (Makefile.am): Likewise.
46593         * modules/dup2 (Makefile.am): Likewise.
46594         * modules/euidaccess (Makefile.am): Likewise.
46595         * modules/exclude (Makefile.am): Likewise.
46596         * modules/exitfail (Makefile.am): Likewise.
46597         * modules/fcntl-safer (Makefile.am): Likewise.
46598         * modules/file-type (Makefile.am): Likewise.
46599         * modules/fileblocks (Makefile.am): Likewise.
46600         * modules/filemode (Makefile.am): Likewise.
46601         * modules/filenamecat (Makefile.am): Likewise.
46602         * modules/fnmatch (Makefile.am): Likewise.
46603         * modules/fopen-safer (Makefile.am): Likewise.
46604         * modules/fpending (Makefile.am): Likewise.
46605         * modules/fprintftime (Makefile.am): Likewise.
46606         * modules/free (Makefile.am): Likewise.
46607         * modules/fsusage (Makefile.am): Likewise.
46608         * modules/ftruncate (Makefile.am): Likewise.
46609         * modules/fts (Makefile.am): Likewise.
46610         * modules/gc (Makefile.am): Likewise.
46611         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
46612         * modules/getaddrinfo (Makefile.am): Likewise.
46613         * modules/getcwd (Makefile.am): Likewise.
46614         * modules/getdelim (Makefile.am): Likewise.
46615         * modules/getdomainname (Makefile.am): Likewise.
46616         * modules/getgroups (Makefile.am): Likewise.
46617         * modules/gethostname (Makefile.am): Likewise.
46618         * modules/gethrxtime (Makefile.am): Likewise.
46619         * modules/getline (Makefile.am): Likewise.
46620         * modules/getloadavg (Makefile.am): Likewise.
46621         * modules/getlogin_r (Makefile.am): Likewise.
46622         * modules/getopt (Makefile.am): Likewise.
46623         * modules/getpass (Makefile.am): Likewise.
46624         * modules/getpass-gnu (Makefile.am): Likewise.
46625         * modules/getsubopt (Makefile.am): Likewise.
46626         * modules/gettime (Makefile.am): Likewise.
46627         * modules/gettimeofday (Makefile.am): Likewise.
46628         * modules/getugroups (Makefile.am): Likewise.
46629         * modules/getusershell (Makefile.am): Likewise.
46630         * modules/glob (Makefile.am): Likewise.
46631         * modules/group-member (Makefile.am): Likewise.
46632         * modules/hard-locale (Makefile.am): Likewise.
46633         * modules/hash (Makefile.am): Likewise.
46634         * modules/hmac-md5 (Makefile.am): Likewise.
46635         * modules/hmac-sha1 (Makefile.am): Likewise.
46636         * modules/human (Makefile.am): Likewise.
46637         * modules/idcache (Makefile.am): Likewise.
46638         * modules/imaxabs (Makefile.am): Likewise.
46639         * modules/imaxdiv (Makefile.am): Likewise.
46640         * modules/inet_ntop (Makefile.am): Likewise.
46641         * modules/inet_pton (Makefile.am): Likewise.
46642         * modules/inttostr (Makefile.am): Likewise.
46643         * modules/isapipe (Makefile.am): Likewise.
46644         * modules/lchown (Makefile.am): Likewise.
46645         * modules/long-options (Makefile.am): Likewise.
46646         * modules/lstat (Makefile.am): Likewise.
46647         * modules/malloc (Makefile.am): Likewise.
46648         * modules/mathl (Makefile.am): Likewise.
46649         * modules/mbchar (Makefile.am): Likewise.
46650         * modules/md2 (Makefile.am): Likewise.
46651         * modules/md4 (Makefile.am): Likewise.
46652         * modules/md5 (Makefile.am): Likewise.
46653         * modules/memcasecmp (Makefile.am): Likewise.
46654         * modules/memchr (Makefile.am): Likewise.
46655         * modules/memcmp (Makefile.am): Likewise.
46656         * modules/memcoll (Makefile.am): Likewise.
46657         * modules/memcpy (Makefile.am): Likewise.
46658         * modules/memmem (Makefile.am): Likewise.
46659         * modules/memmove (Makefile.am): Likewise.
46660         * modules/mempcpy (Makefile.am): Likewise.
46661         * modules/memrchr (Makefile.am): Likewise.
46662         * modules/memset (Makefile.am): Likewise.
46663         * modules/memxor (Makefile.am): Likewise.
46664         * modules/mkancesdirs (Makefile.am): Likewise.
46665         * modules/mkdir (Makefile.am): Likewise.
46666         * modules/mkdir-p (Makefile.am): Likewise.
46667         * modules/mkdtemp (Makefile.am): Likewise.
46668         * modules/mkstemp (Makefile.am): Likewise.
46669         * modules/mktime (Makefile.am): Likewise.
46670         * modules/modechange (Makefile.am): Likewise.
46671         * modules/mountlist (Makefile.am): Likewise.
46672         * modules/nanosleep (Makefile.am): Likewise.
46673         * modules/openat (Makefile.am): Likewise.
46674         * modules/pagealign_alloc (Makefile.am): Likewise.
46675         * modules/physmem (Makefile.am): Likewise.
46676         * modules/poll (Makefile.am): Likewise.
46677         * modules/posixtm (Makefile.am): Likewise.
46678         * modules/posixver (Makefile.am): Likewise.
46679         * modules/putenv (Makefile.am): Likewise.
46680         * modules/quote (Makefile.am): Likewise.
46681         * modules/quotearg (Makefile.am): Likewise.
46682         * modules/raise (Makefile.am): Likewise.
46683         * modules/read-file (Makefile.am): Likewise.
46684         * modules/readline (Makefile.am): Likewise.
46685         * modules/readlink (Makefile.am): Likewise.
46686         * modules/readtokens (Makefile.am): Likewise.
46687         * modules/readutmp (Makefile.am): Likewise.
46688         * modules/realloc (Makefile.am): Likewise.
46689         * modules/regex (Makefile.am): Likewise.
46690         * modules/rename (Makefile.am): Likewise.
46691         * modules/rename-dest-slash (Makefile.am): Likewise.
46692         * modules/rijndael (Makefile.am): Likewise.
46693         * modules/rmdir (Makefile.am): Likewise.
46694         * modules/rpmatch (Makefile.am): Likewise.
46695         * modules/safe-read (Makefile.am): Likewise.
46696         * modules/safe-write (Makefile.am): Likewise.
46697         * modules/same (Makefile.am): Likewise.
46698         * modules/save-cwd (Makefile.am): Likewise.
46699         * modules/savedir (Makefile.am): Likewise.
46700         * modules/setenv (Makefile.am): Likewise.
46701         * modules/settime (Makefile.am): Likewise.
46702         * modules/sha1 (Makefile.am): Likewise.
46703         * modules/sig2str (Makefile.am): Likewise.
46704         * modules/snprintf (Makefile.am): Likewise.
46705         * modules/stdlib-safer (Makefile.am): Likewise.
46706         * modules/stpcpy (Makefile.am): Likewise.
46707         * modules/stpncpy (Makefile.am): Likewise.
46708         * modules/strcase (Makefile.am): Likewise.
46709         * modules/strcasestr (Makefile.am): Likewise.
46710         * modules/strchrnul (Makefile.am): Likewise.
46711         * modules/strcspn (Makefile.am): Likewise.
46712         * modules/strdup (Makefile.am): Likewise.
46713         * modules/strerror (Makefile.am): Likewise.
46714         * modules/strftime (Makefile.am): Likewise.
46715         * modules/strndup (Makefile.am): Likewise.
46716         * modules/strnlen (Makefile.am): Likewise.
46717         * modules/strpbrk (Makefile.am): Likewise.
46718         * modules/strsep (Makefile.am): Likewise.
46719         * modules/strstr (Makefile.am): Likewise.
46720         * modules/strtod (Makefile.am): Likewise.
46721         * modules/strtoimax (Makefile.am): Likewise.
46722         * modules/strtok_r (Makefile.am): Likewise.
46723         * modules/strtol (Makefile.am): Likewise.
46724         * modules/strtoll (Makefile.am): Likewise.
46725         * modules/strtoul (Makefile.am): Likewise.
46726         * modules/strtoull (Makefile.am): Likewise.
46727         * modules/strtoumax (Makefile.am): Likewise.
46728         * modules/strverscmp (Makefile.am): Likewise.
46729         * modules/time_r (Makefile.am): Likewise.
46730         * modules/timegm (Makefile.am): Likewise.
46731         * modules/tmpfile-safer (Makefile.am): Likewise.
46732         * modules/unistd-safer (Makefile.am): Likewise.
46733         * modules/unlinkdir (Makefile.am): Likewise.
46734         * modules/userspec (Makefile.am): Likewise.
46735         * modules/utime (Makefile.am): Likewise.
46736         * modules/utimecmp (Makefile.am): Likewise.
46737         * modules/utimens (Makefile.am): Likewise.
46738         * modules/vasnprintf (Makefile.am): Likewise.
46739         * modules/vasprintf (Makefile.am): Likewise.
46740         * modules/vsnprintf (Makefile.am): Likewise.
46741         * modules/xalloc (Makefile.am): Likewise.
46742         * modules/xgetcwd (Makefile.am): Likewise.
46743         * modules/xnanosleep (Makefile.am): Likewise.
46744         * modules/xreadlink (Makefile.am): Likewise.
46745         * modules/xstrtod (Makefile.am): Likewise.
46746         * modules/xstrtol (Makefile.am): Likewise.
46747         * modules/xstrtold (Makefile.am): Likewise.
46748         * modules/yesno (Makefile.am): Likewise.
46749
46750 2006-10-12  Jim Meyering  <jim@meyering.net>
46751
46752         * m4/getloadavg.m4: Revert the change below.
46753
46754         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
46755         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
46756         fail with a symlink, which is what coreutils' ./bootstrap now
46757         creates by default.
46758
46759 2006-10-12  Bruno Haible  <bruno@clisp.org>
46760
46761         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
46762         mingw.
46763         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
46764         MSVC and mingw explicitly.
46765
46766 2006-10-11  Simon Josefsson  <jas@extundo.com>
46767             Bruno Haible  <bruno@clisp.org>
46768
46769         Add support for multiple gnulib-tool invocations in the scope of a
46770         single configure.ac file.
46771         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
46772         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
46773         with the same contents as the _LIBADD variable.
46774         (func_emit_initmacro_start, func_emit_initmacro_end,
46775         func_emit_initmacro_done): New functions.
46776         (func_import, func_create_testdir): Invoke them. Allow the identifiers
46777         gl_LIBOBJS and gl_LTLIBOBJS.
46778
46779 2006-10-11  Bruno Haible  <bruno@clisp.org>
46780
46781         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
46782         (func_create_testdir): Don't create po/Makefile.am, don't invoke
46783         autoreconf. Instead, invoke autopoint explicitly but move back the
46784         *.m4 files from gnulib.
46785
46786 2006-10-11  Bruno Haible  <bruno@clisp.org>
46787
46788         * gnulib-tool (func_usage): Make module names after --create-testdir
46789         optional.
46790         (func_create_testdir): If no module was specified, use nearly all
46791         modules.
46792
46793 2006-10-12  Jim Meyering  <jim@meyering.net>
46794
46795         Big performance improvement for fts-based tools that use FTS_NOSTAT.
46796         Avoid spurious inode-mismatch problems on non-POSIX file systems.
46797         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
46798         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
46799         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
46800         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
46801         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
46802         (fts_set_stat_required): New function.
46803         (fts_open): Defer the calls to fts_stat, if possible or requested.
46804         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
46805         into fts_stat itself.
46806         (fts_read): Perform any required (deferred) fts_stat call.
46807         (fts_build): Likewise, for the directory we're about to open and read.
46808         In the readdir loop, carefully decide whether each entry will require
46809         an eventual call to fts_stat, using dirent.d_type info if available.
46810         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
46811         a command line argument into this function.  Update all callers.
46812         Map a return value of FTS_DOT to FTS_D for a command line argument.
46813         * modules/fts (Depends-on): Add d-type.  Alphabetize.
46814         Thanks to Miklos Szeredi for his tenacity and for the initial
46815         bug report about "find" failing on a FUSE-based file system.
46816
46817         * lib/fts.c (fts_open): Use consistent indentation.
46818
46819 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
46820
46821         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
46822         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
46823         reported by Jim Meyering.  All uses of cache variables renamed
46824         to match Autoconf's.
46825         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
46826         the other one.
46827
46828         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46829         Fix misspelling in diagnostic.
46830
46831 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46832
46833         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
46834         defined.  Problem reported by Matthew Woehlke.
46835
46836         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
46837         Add support for Tandem NonStop R series.
46838         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
46839         Use new macro.
46840
46841         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
46842         (has_trailing_slash): Omit size arg; all callers changed.
46843         Omit 'inline', since it doesn't help performance and we'd
46844         need to configure it.
46845         Don't count //, ///, etc. as having a trailing slash.
46846         As a side effect, this removes a C99ism reported by Matthew Woehlke.
46847         (rpl_rename_dest_slash): On failure, use rename's errno rather
46848         than (in some cases) an incorrect or junk errno.
46849         Simplify code by removing need to compute length; this does
46850         cause it to make two passes instead of one over the file name,
46851         but it's worth it.
46852
46853         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
46854         change, since Autoconf's version may no longer be appropriate now
46855         that we are using CVS Autoconf's version.  Add support for Tandem.
46856
46857 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
46858             Bruno Haible  <bruno@clisp.org>
46859
46860         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
46861         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
46862         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
46863         gl_AC_TYPE_LONG_LONG.
46864
46865         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
46866         instead of HAVE_LONG_LONG.
46867         * lib/printf-args.c (printf_fetchargs): Likewise.
46868         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
46869         * lib/vasnprintf.c (VASNPRINTF): Likewise.
46870         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
46871         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
46872         gl_AC_TYPE_LONG_LONG.
46873
46874 2006-10-11  Bruno Haible  <bruno@clisp.org>
46875
46876         * m4/longlong.m4: Add comments.
46877         * m4/ulonglong.m4: Likewise.
46878
46879 2006-10-10  Bruno Haible  <bruno@clisp.org>
46880
46881         Make it possible to #define stpcpy, strdup to aliases.
46882         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
46883         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
46884
46885 2006-10-10  Bruno Haible  <bruno@clisp.org>
46886
46887         Make it possible to #define gcd to an alias.
46888         * lib/gcd.c: Include config.h.
46889
46890 2006-10-10  Bruno Haible  <bruno@clisp.org>
46891
46892         Make it possible to #define c_isascii to an alias.
46893         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
46894         defined. Undefine the macros before defining them, to avoid gcc
46895         warnings.
46896         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
46897         define NO_C_CTYPE_MACROS early.
46898
46899 2006-10-10  Bruno Haible  <bruno@clisp.org>
46900
46901         Make it possible to #define set_program_name to an alias.
46902         * lib/progname.c: Don't undefine set_program_name; instead, undefine
46903         ENABLE_RELOCATABLE early.
46904
46905 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46906
46907         Port to Tandem NSK OSS, which has 64-bit signed int but at most
46908         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
46909         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
46910         More generally, don't assume that 64-bit signed int is available
46911         if unsigned int is, and vice versa.
46912         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
46913         unsigned symbols, not on their signed counterparts.
46914         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
46915         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
46916         (UINT64_C, UINTMAX_C):
46917         Likewise.
46918         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
46919         unsigned counterparts.
46920         (Have_long_long, Unsigned): New macros.
46921         (Int): Renamed from INT.
46922         (strtoimax): Use the new macros.
46923         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
46924         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
46925         * modules/inttypes (inttypes.h): Substitute
46926         HAVE_UNSIGNED_LONG_LONG_INT.
46927         * modules/stdint (stdint.h): Likewise.
46928         (Files): Add m4/ulonglong.m4.
46929
46930 2006-10-10  Bruno Haible  <bruno@clisp.org>
46931
46932         Fix a gcc -Wshadow warning.
46933         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
46934         to 'bucket'.
46935         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
46936         gl_linked_indexof_from_to): Likewise.
46937         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
46938         Likewise.
46939         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
46940         Likewise.
46941         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
46942         Reported by Eric Blake.
46943
46944 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
46945
46946         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
46947         for NetBSD.  Problem reported by Bruno Haible.
46948
46949 2006-10-09  Jim Meyering  <jim@meyering.net>
46950
46951         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
46952         Patch from Bruno Haible.
46953
46954 2006-10-09  Jim Meyering  <jim@meyering.net>
46955
46956         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
46957         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
46958         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
46959
46960 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
46961
46962         Don't include <config.h> twice; this doesn't work in some cases,
46963         e.g., when config.h has "#define intmax_t long long int" and
46964         we include <config.h>, <inttypes.h>, <config.h> in that order.
46965         Problem reported by Matthew Woehlke in:
46966         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
46967         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
46968         * lib/fts-cycle.c: Don't include config.h.
46969         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
46970         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
46971         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
46972         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
46973         inttypes.h.
46974         * lib/xstrtoumax.c: Likewise.
46975         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
46976         __strtol and the like, so that this module is more like its siblings.
46977         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
46978         Remove; no longer needed now that we assume gnulib inttypes.h.
46979
46980 2006-10-08  Bruno Haible  <bruno@clisp.org>
46981
46982         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
46983         option.
46984
46985 2006-10-07  Jim Meyering  <jim@meyering.net>
46986
46987         * modules/inttypes (inttypes.h): Revert what seems to have been
46988         an inadvertent part of today's change: use "|", not "/" in the
46989         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
46990
46991 2006-10-07  Bruno Haible  <bruno@clisp.org>
46992
46993         * modules/sublist: New file.
46994
46995 2006-10-07  Bruno Haible  <bruno@clisp.org>
46996
46997         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
46998         * modules/argz (argz.h): Likewise.
46999         * modules/arpa_inet (arpa/inet.h): Likewise.
47000         * modules/byteswap (byteswap.h): Likewise.
47001         * modules/configmake (configmake.h): Likewise.
47002         * modules/fcntl (fcntl.h): Likewise.
47003         * modules/fnmatch (fnmatch.h): Likewise.
47004         * modules/getopt (getopt.h): Likewise.
47005         * modules/glob (glob.h): Likewise.
47006         * modules/inttypes (inttypes.h): Likewise.
47007         * modules/netinet_in (netinet/in.h): Likewise.
47008         * modules/poll (poll.h): Likewise.
47009         * modules/stdbool (stdbool.h): Likewise.
47010         * modules/stdint (stdint.h): Likewise.
47011         * modules/sys_select (sys/select.h): Likewise.
47012         * modules/sys_socket (sys/socket.h): Likewise.
47013         * modules/sys_stat (sys/stat.h): Likewise.
47014         * modules/sysexits (sysexits.h): Likewise.
47015         * modules/unistd (unistd.h): Likewise.
47016         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47017         Add a "DO NOT EDIT" comment to the generated file.
47018         (func_import): Likewise for gnulib-comp.m4.
47019
47020 2006-10-07  Bruno Haible  <bruno@clisp.org>
47021
47022         * lib/gl_sublist.h: New file.
47023         * lib/gl_sublist.c: New file.
47024
47025 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
47026
47027         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
47028         name (relative to the original working directory) and the file
47029         name component (relative to the temporary working directory).  All
47030         callers changed.
47031         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
47032         * lib/mkdir-p.c (make_dir_parents): Likewise.
47033         * lib/mkdir-p.h (make_dir_parents): Likewise.
47034
47035 2006-10-06  Eric Blake  <ebb9@byu.net>
47036
47037         Define several macros for use by the clean-temp module.
47038         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
47039         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
47040         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
47041
47042         * lib/clean-temp.h (close_stream_temp): New declaration.
47043         * lib/clean-temp.c (includes): Pull in headers according to what
47044         other modules are in use.
47045         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
47046
47047 2006-10-06  Bruno Haible  <bruno@clisp.org>
47048
47049         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
47050         instead of fopen, fwriteerror.
47051
47052 2006-10-06  Bruno Haible  <bruno@clisp.org>
47053
47054         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
47055         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
47056         int.
47057         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
47058         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
47059         Return an error indicator.
47060         Suggested by Eric Blake.
47061
47062 2006-10-06  Bruno Haible  <bruno@clisp.org>
47063
47064         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
47065         Reported by Eric Blake.
47066
47067 2006-10-06  Bruno Haible  <bruno@clisp.org>
47068
47069         * modules/closeout (Description): Mention stderr too.
47070
47071 2006-10-06  Bruno Haible  <bruno@clisp.org>
47072         and Paul Eggert  <eggert@cs.ucla.edu>
47073
47074         * lib/closeout.c (close_stdout): Also close stderr.
47075         * lib/closeout.h: Update comment.
47076
47077 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
47078
47079         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
47080         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
47081         * lib/dirchownmod.c: Include lchown.h.
47082         * lib/lchown.c: Don't include files that lchown.h now includes.
47083         Don't declare chown, since lchown.h now does that.
47084         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
47085         (lchown): Define to rpl_chown if lchown is declared but
47086         does not exist.  Declare using a prototype if lchown is not
47087         declared.  Add a copyright notice.
47088         * lib/mkstemp.h: Include <unistd.h>.
47089         * lib/openat.c: Include lchown.h.
47090
47091         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
47092         we now test for that separately.
47093         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
47094         rather than O_NOFOLLOW, when testing whether it's possible to
47095         avoid a race condition reliably.
47096         * lib/savewd.c (savewd_chdir): Likewise.
47097
47098         Remove macros that are no longer needed now that stdint.h is
47099         reliable.
47100         * lib/fsusage.c (UINTMAX_MAX): Remove.
47101         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
47102         * lib/utimecmp.c (SIZE_MAX): Remove.
47103
47104         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
47105
47106         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
47107         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
47108         O_NOATIME works.
47109
47110 2006-10-05  Bruno Haible  <bruno@clisp.org>
47111
47112         * lib/gl_list.h (gl_sortedlist_search_from_to,
47113         gl_sortedlist_indexof_from_to): New declarations.
47114         (gl_list_implementation): New fields sortedlist_search_from_to,
47115         sortedlist_indexof_from_to.
47116         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
47117         inline functions.
47118         * lib/gl_list.c (gl_sortedlist_search_from_to,
47119         gl_sortedlist_indexof_from_to): New functions.
47120         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
47121         function.
47122         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
47123         (gl_array_sortedlist_search_from_to): New function.
47124         (gl_array_list_implementation): Update.
47125         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
47126         function.
47127         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
47128         (gl_carray_sortedlist_search_from_to): New function.
47129         (gl_carray_list_implementation): Update.
47130         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
47131         gl_linked_sortedlist_indexof_from_to): New functions.
47132         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
47133         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
47134         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
47135         gl_tree_sortedlist_indexof_from_to): New functions.
47136         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
47137         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
47138         Update.
47139         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
47140         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
47141         Update.
47142
47143 2006-10-05  Bruno Haible  <bruno@clisp.org>
47144
47145         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
47146         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
47147         (struct gl_list_implementation): Add fields search_from_to,
47148         indexof_from_to. Remove fields search, indexof.
47149         (gl_list_search): Use the search_from_to method.
47150         (gl_list_search_from, gl_list_search_from_to): New functions.
47151         (gl_list_indexof): Use the indexof_from_to method.
47152         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
47153         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
47154         (gl_list_search_from, gl_list_search_from_to): New functions.
47155         (gl_list_indexof): Use the indexof_from_to method.
47156         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
47157         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
47158         gl_array_indexof. Add start_index, end_index arguments.
47159         (gl_array_search_from_to): Renamed from gl_array_search. Add
47160         start_index, end_index arguments.
47161         (gl_array_remove, gl_array_list_implementation): Update.
47162         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
47163         gl_carray_indexof. Add start_index, end_index arguments.
47164         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
47165         start_index, end_index arguments.
47166         (gl_carray_remove, gl_carray_list_implementation): Update.
47167         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
47168         gl_linked_search. Add start_index, end_index arguments.
47169         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
47170         start_index, end_index arguments.
47171         (gl_linked_remove): Update.
47172         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
47173         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
47174         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
47175         field to 'size_t'.
47176         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
47177         gl_tree_search. Add start_index, end_index arguments.
47178         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
47179         start_index, end_index arguments.
47180         (gl_tree_remove): Update.
47181         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
47182         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
47183         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
47184         function.
47185         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
47186         gl_tree_search. Add start_index, end_index arguments.
47187         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
47188         start_index, end_index arguments.
47189         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
47190         Update.
47191         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
47192
47193 2006-10-05  Bruno Haible  <bruno@clisp.org>
47194
47195         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
47196
47197         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
47198         fwriteerror_temp): New declarations.
47199         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
47200         (descriptors): New variable.
47201         (cleanup): First, close the descriptors.
47202         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
47203         fclose_temp, fwriteerror_temp): New functions.
47204
47205 2006-10-04  Jim Meyering  <jim@meyering.net>
47206
47207         * lib/fts.c (fts_open): Tiny comment change.
47208
47209 2006-10-04  Bruno Haible  <bruno@clisp.org>
47210
47211         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
47212         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
47213         gl_LOCK_BODY.
47214         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
47215         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
47216         gl_LOCK_EARLY_BODY.
47217         (gl_LOCK): Require gl_LOCK_BODY.
47218
47219 2006-10-04  Bruno Haible  <bruno@clisp.org>
47220
47221         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
47222         (gl_oset_search_atleast): New declaration.
47223         (struct gl_oset_implementation): Add field 'search_atleast'.
47224         (gl_oset_search_atleast): New inline function.
47225         * lib/gl_oset.c (gl_oset_search_atleast): New function.
47226         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
47227         (gl_array_oset_implementation): Update.
47228         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
47229         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
47230         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
47231
47232 2006-10-04  Bruno Haible  <bruno@clisp.org>
47233
47234         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
47235
47236 2006-10-03  Bruno Haible  <bruno@clisp.org>
47237
47238         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
47239         from gl_avltreehash_list_implementation.
47240
47241 2006-10-03  Bruno Haible  <bruno@clisp.org>
47242
47243         * lib/gl_oset.c (gl_oset_add): Fix return type.
47244
47245 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
47246
47247         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
47248
47249 2006-10-02  Eric Blake  <ebb9@byu.net>
47250
47251         * modules/strnlen (Depends-on): Add extensions.
47252
47253 2006-10-02  Eric Blake  <ebb9@byu.net>
47254
47255         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
47256         definition in 2.60+.
47257
47258 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
47259
47260         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
47261         checks.
47262
47263 2006-10-02  Bruno Haible  <bruno@clisp.org>
47264
47265         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
47266         to the AUTOMAKE_OPTIONS.
47267         Reported by Jim Meyering.
47268
47269 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
47270
47271         Work around bug in Solaris 10 /proc file system:
47272         /proc/self/fd/NNN/.. isn't the parent directory of
47273         the directory whose file descriptor is NNN.  This needs to
47274         be worked around at run time, not compile time, since a
47275         program might be built on Solaris 8, where things work, and
47276         run on Solaris 10.
47277         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
47278         to use the following interface instead:
47279         (OPENAT_BUFFER_SIZE): New macro.
47280         (openat_proc_name): New function.
47281         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
47282         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
47283         Likewise.
47284         * lib/openat-proc.c: New file.
47285         * modules/openat (Files): Add lib/openat-proc.c.
47286         (Depends-on): Add same-inode, stdbool.
47287         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
47288
47289 2006-09-29  Bruno Haible  <bruno@clisp.org>
47290
47291         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
47292         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
47293         argument. Set stdout_closed before testing for ferror, not after.
47294         (fwriteerror, fwriteerror_no_ebadf): New functions.
47295
47296 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47297
47298         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
47299
47300 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
47301
47302         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
47303         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
47304
47305 2006-09-28  Jim Meyering  <jim@meyering.net>
47306
47307         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
47308         Include <unistd.h>.
47309
47310 2006-09-28  Bruno Haible  <bruno@clisp.org>
47311
47312         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
47313         * modules/linkedhash-list (Depends-on): Likewise.
47314         * modules/rbtreehash-list (Depends-on): Likewise.
47315
47316 2006-09-28  Bruno Haible  <bruno@clisp.org>
47317
47318         * lib/strndup.h: Simplify the redefinition of strndup.
47319         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
47320         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
47321
47322 2006-09-28  Bruno Haible  <bruno@clisp.org>
47323
47324         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
47325         * lib/gl_linkedhash_list.c: Likewise.
47326         * lib/gl_rbtreehash_list.c: Likewise.
47327
47328 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
47329
47330         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
47331         getaddrinfo.
47332
47333         * lib/__fpending.h: Don't include <stdio_ext.h> unless
47334         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
47335         it causes <stdio_ext.h> to cause a compile-time error.
47336         Problem reported by Nelson H. F. Beebe.
47337         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
47338         of HAVE_DECL___PENDING.
47339
47340         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
47341         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
47342         declaration.
47343
47344 2006-09-27  Jim Meyering  <jim@meyering.net>
47345
47346         This file could end up with a definition for a function
47347         named __strndup, rather than rpl_strndup on a system with
47348         incomplete weak_alias support.
47349         * lib/strndup.c (strndup): Rename from __strndup.
47350         Remove #defines that used to map __strndup to strndup.
47351         Don't use K&R prototypes.
47352         Remove LIBC-related code, since this file is not sync'd with glibc.
47353         * lib/strndup.h: Revamp, accordingly.
47354         * m4/strndup.m4: Modernize.
47355
47356 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
47357
47358         * modules/savewd (Depends-on): Add 'raise'.
47359         * lib/savewd.c: Include <signal.h>, for 'raise'.
47360
47361 2006-09-26  Jim Meyering  <jim@meyering.net>
47362
47363         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
47364         when we detect Darwin 8.7.0's acl_get_file bug.
47365         Rearrange to perform the new (below) run-test while $LIBS
47366         contains any acl-related library.  Set USE_ACL at the end.
47367         (gl_ACL_GET_FILE): New function.
47368
47369 2006-09-26  Eric Blake  <ebb9@byu.net>
47370
47371         * lib/verror.c: Include <config.h> unconditionally.
47372
47373 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
47374
47375         * modules/clock-time (Maintainer): Add self.
47376         * modules/getlogin_r (Depends-on): Add extensions.
47377
47378 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47379
47380         * modules/clock-time: New module.
47381         * modules/nanosleep (Depends-on): Add clock-time.
47382         * modules/gethrxtime (Depends-on): Likewise.
47383         * modules/gettime (Depends-on): Likewise.
47384         * modules/settime (Depends-on): Likewise.
47385
47386         * modules/fts-lgpl: Depend on openat.
47387         * modules/mkancesdirs: Depend on savewd.
47388         * modules/mkdir-p: Likewise.
47389
47390 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47391
47392         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
47393
47394         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
47395         `gl_have_arbitrary_file_name_length_limit' to
47396         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
47397         actually works between configure runs.
47398
47399 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47400             Bruno Haible  <bruno@clisp.org>
47401
47402         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
47403
47404 2006-09-25  Jim Meyering  <jim@meyering.net>
47405
47406         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
47407         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
47408
47409 2006-09-25  Eric Blake  <ebb9@byu.net>
47410
47411         * gnulib-tool (func_import, func_create_testdir): Fix typos in
47412         exec's in 2006-09-18 patch when shuffling fds.
47413
47414 2006-09-25  Bruno Haible  <bruno@clisp.org>
47415
47416         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
47417         Reported by Jim Meyering.
47418
47419 2006-09-24  Jim Meyering  <jim@meyering.net>
47420
47421         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
47422         compare a pointer against a literal "0".  That caused failures with
47423         at least HP-UX's hpcc.
47424
47425 2006-09-22  Simon Josefsson  <jas@extundo.com>
47426
47427         * modules/gc-sha1:
47428         * modules/gc-md4:
47429         * modules/gc-hmac-sha1:
47430         * modules/gc-hmac-md5:
47431         * modules/gc-des:
47432         * modules/gc-arcfour: Distribute more files.
47433
47434 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47435
47436         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
47437         (gl_linked_iterator_from_to): Initialize struct completely.
47438         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
47439         (gl_tree_iterator_from_to): Likewise
47440         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
47441         * lib/gl_array_list.c [lint] (gl_array_iterator)
47442         (gl_array_iterator_from_to): Likewise.
47443         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
47444         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
47445         (gl_carray_iterator_from_to): Likewise.
47446
47447         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
47448         * lib/md4.c (md4_process_block): Remove unused variable.
47449         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
47450         parentheses for clarity.
47451
47452 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47453
47454         * modules/bison-i18n (Depends-on): Add gettext.
47455
47456 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47457
47458         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
47459         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
47460         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
47461         also add missing comma that caused broken test.
47462         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
47463         stdlib.h, for `abort'.
47464         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
47465         variables.
47466         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
47467         include unistd.h if present, for `rmdir'.
47468         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
47469         variables.
47470         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
47471         in the process include standard headers for prototypes.
47472         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
47473         gets declared on GNU/Linux.
47474         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
47475         unistd.h, for `rmdir'.
47476         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
47477
47478         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
47479         always true.
47480         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
47481
47482         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
47483
47484 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47485
47486         * gnulib-tool (func_version): Create output all at once.  This
47487         may help avoid triggering unnecessary SIGPIPEs, and at any
47488         rate it doesn't hurt.
47489
47490 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47491             Bruno Haible  <bruno@clisp.org>
47492
47493         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
47494         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47495         * m4/signed.m4 (bh_C_SIGNED): Likewise.
47496
47497         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
47498         (gl_FUNC_VASPRINTF): Invoke it.
47499
47500 2006-09-22  Bruno Haible  <bruno@clisp.org>
47501
47502         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
47503         getloadavg.c as first argument.
47504
47505 2006-09-22  Bruno Haible  <bruno@clisp.org>
47506
47507         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
47508         at the beginning of the gl_INIT macro.
47509         * modules/getloadavg (configure.ac): Pass $gl_source_base to
47510         gl_GETLOADAVG.
47511
47512 2006-09-22  Bruno Haible  <bruno@clisp.org>
47513
47514         * gnulib-tool (func_create_megatestdir): Don't include the config-h
47515         module.
47516         Suggested by Ralf Wildenhues.
47517
47518 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47519
47520         Import this patch from libc:
47521
47522         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
47523
47524         * lib/regex_internal.c (re_string_reconstruct): Handle
47525         offset < pstr->valid_raw_len && pstr->offsets_needed case.
47526         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
47527         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
47528         re_string_context_at.
47529
47530         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
47531         now requires it.
47532         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
47533         gl_REGEX now does it for us.
47534         (gl_REGEX): Add test taken from
47535         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
47536
47537         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
47538         Check that large offsets work.  Modernize Autoconf usages.
47539         Prefer "yes" to mean a good thing rather than a bad.
47540         Don't put "#define mkstemp" in config.h, as this might interfere
47541         with standard system headers that "#define mkstemp mkstemp64".
47542
47543         * modules/mkstemp (Depends-on): Add extensions, so that
47544         mkstemp is visible on some platforms.
47545         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
47546         (Include): Change to "mkstemp.h" from <stdlib.h>.
47547         (Files): Add mkstemp.h.
47548
47549         * lib/mkstemp.h: New file, since some standard headers
47550         #define mkstemp.
47551         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
47552         Include "mkstemp.h".
47553         Make the _LIBC code resemble glibc original more,
47554         e.g., use K&R style.
47555         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
47556         (mkstemp): Remove, since mkstemp.h does this for us.
47557         * lib/stdlib--.h: Include mkstemp.h.
47558
47559         Import this patch from libc:
47560
47561         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
47562
47563         * lib/tempname.c (__gen_tempname): Change attempts_min
47564         into a macro.  Use preprocessor to decide how to initialize
47565         attempts [Coverity CID 67].
47566
47567 2006-09-20  Bruno Haible  <bruno@clisp.org>
47568
47569         * lib/mkdtemp.c: Import from libc.
47570         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
47571                 * sysdeps/posix/tempname.c (__gen_tempname): Change
47572                 attempts_min into a macro.  Use preprocessor to decide how to
47573                 initialize attempts [Coverity CID 67].
47574         2001-11-27  Paul Eggert  <eggert@twinsun.com>
47575                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
47576                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
47577
47578 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47579
47580         * gnulib-tool (func_exit): New function, to allow to pass the
47581         exit status portably through the trap.  Use everywhere.
47582         (--help, --version): Signal a write error.
47583         (trap): catch SIGPIPE, for write errors.
47584         Exit at the end of the trap, with the correct exit status.
47585
47586 2006-09-19  Karl Berry  <karl@gnu.org>
47587
47588         * doc/gnulib.texi: note about the license texinfo files.
47589
47590 2006-09-19  Eric Blake  <ebb9@byu.net>
47591
47592         * gnulib-tool: Avoid space-tab.
47593
47594 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
47595
47596         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
47597         that prevented coreutils 6.1 from building.  Problem reported
47598         by Petter Reinholdtsen.
47599
47600 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
47601
47602         * gnulib-tool (avoidlist): Fix typo that broke options like
47603         --avoid=lock that are used by coreutils bootstrap.
47604
47605 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
47606
47607         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
47608         more systematically.
47609
47610 2006-09-18  Jim Meyering  <jim@meyering.net>
47611
47612         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
47613
47614 2006-09-18  Bruno Haible  <bruno@clisp.org>
47615
47616         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
47617
47618 2006-09-18  Bruno Haible  <bruno@clisp.org>
47619
47620         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
47621         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
47622         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
47623         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
47624         * m4/gettext.m4: Require autoconf >= 2.52.
47625         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
47626         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
47627         of gl_cv_header_inttypes_h.
47628
47629 2006-09-18  Bruno Haible  <bruno@clisp.org>
47630
47631         * lib/javaversion.c: Include configmake.h.
47632
47633 2006-09-18  Bruno Haible  <bruno@clisp.org>
47634
47635         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
47636         avoid that the while loops be executed in a subshell.
47637
47638 2006-09-18  Bruno Haible  <bruno@clisp.org>
47639
47640         * MODULES.html.sh (func_module): Break long lines.
47641         Suggested by Bruce Korb <bkorb@gnu.org>.
47642
47643 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47644
47645         Speed up by a factor of 1.12.
47646         * gnulib-tool (nl): New variable.
47647         (func_import): Rewrite include directive extraction to only read each
47648         directive once.
47649
47650 2006-09-17  Bruno Haible  <bruno@clisp.org>
47651
47652         * modules/javaversion (Makefile.am): Remove DEFS setting.
47653         (Depends-on): Add configmake, for PKGDATADIR definition.
47654
47655 2006-09-17  Bruno Haible  <bruno@clisp.org>
47656
47657         * gnulib-tool (func_create_testdir): Rewrite all files at once.
47658
47659 2006-09-17  Bruno Haible  <bruno@clisp.org>
47660
47661         * gnulib-tool (func_append): New function, stolen from libtool.m4.
47662         (func_modules_transitive_closure, func_modules_add_dummy,
47663         func_modules_to_filelist, func_import, func_create_testdir,
47664         func_create_megatestdir, ...): Use it wherever possible.
47665         Suggested by Ralf Wildenhues.
47666
47667 2006-09-16  Karl Berry  <karl@gnu.org>
47668
47669         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
47670         to avoid sectioning errors.
47671         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
47672         [ifinfo]: blank line after @center-ed titles.
47673         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
47674         Spell FSF address consistently with others.
47675         (These changes approved by rms.)
47676
47677 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47678
47679         Speed up by a factor of 1.61.
47680         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
47681         already checked module names again.
47682
47683 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47684
47685         Speed up by a factor of 1.13.
47686         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
47687         for new_files, and the input to func_add_or_update.
47688
47689 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47690
47691         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
47692         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
47693
47694 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47695
47696         * modules/mkancesdirs (Depends-on): Add fcntl.
47697         * modules/savewd: New file.
47698         * MODULES.html.sh (File system functions): Add savewd.
47699
47700         * modules/configmake (Makefile.am): Add support for the
47701         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
47702
47703 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47704
47705         * m4/savewd.m4: New file.
47706
47707 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
47708
47709         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
47710         (dirchownmod): New arg FD.  All callers changed.
47711         Use FD rather than opening the directory ourself, as opening is
47712         now the caller's responsibility.
47713         * lib/dirchownmod.h: Likewise.
47714         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
47715         hosts that require <sys/types.h> before <sys/stat.h>.  Include
47716         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
47717         (test_dir): Remove.
47718         (mkancesdirs): Return length of prefix of FILE that has already
47719         been made, or -2 if there is a child doing the work.  Redo
47720         algorithm so that it is O(N) rather than O(N**2).  Optimize away
47721         ".", and treat ".." specially since it might stray back into
47722         already-created areas.  Use a subprocess if necessary.  New arg
47723         WD; all users changed.  MAKE_DIR function should now return 1
47724         if it creates a directory that is not readable.  Return -2 if
47725         a child process is spun off.
47726         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
47727         Adjust signature to match code.
47728         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
47729         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
47730         all users changed.
47731         * lib/savewd.c, lib/savewd.h: New files.
47732
47733 2006-09-15  Jim Meyering  <jim@meyering.net>
47734
47735         * modules/rename-dest-slash: New module.
47736         * MODULES.html.sh (posix_compat): Add it here.
47737
47738         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
47739
47740 2006-09-15  Jim Meyering  <jim@meyering.net>
47741
47742         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
47743         file.
47744
47745         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
47746
47747 2006-09-15  Jim Meyering  <jim@meyering.net>
47748
47749         * lib/rename-dest-slash.c (has_trailing_slash): Use
47750         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
47751         (rpl_rename_dest_slash): Perform the cheaper trailing slash
47752         test before testing whether SRC is a directory.
47753         Suggestions from Bruno Haible.
47754
47755         Avoid a warning about an unused variable.
47756         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
47757         into the #ifdef block where it's used.
47758
47759         * lib/rename-dest-slash.c: New file.
47760
47761 2006-09-14  Bruno Haible  <bruno@clisp.org>
47762
47763         * lib/allocsa.c: Include <config.h> unconditionally.
47764         * lib/asnprintf.c: Likewise.
47765         * lib/asprintf.c: Likewise.
47766         * lib/c-strcasecmp.c: Likewise.
47767         * lib/c-strcasestr.c: Likewise.
47768         * lib/c-strncasecmp.c: Likewise.
47769         * lib/c-strstr.c: Likewise.
47770         * lib/classpath.c: Likewise.
47771         * lib/clean-temp.c: Likewise.
47772         * lib/concatpath.c: Likewise.
47773         * lib/copy-file.c: Likewise.
47774         * lib/csharpcomp.c: Likewise.
47775         * lib/csharpexec.c: Likewise.
47776         * lib/execute.c: Likewise.
47777         * lib/fatal-signal.c: Likewise.
47778         * lib/findprog.c: Likewise.
47779         * lib/fwriteerror.c: Likewise.
47780         * lib/gl_array_list.c: Likewise.
47781         * lib/gl_array_oset.c: Likewise.
47782         * lib/gl_avltree_list.c: Likewise.
47783         * lib/gl_avltree_oset.c: Likewise.
47784         * lib/gl_avltreehash_list.c: Likewise.
47785         * lib/gl_carray_list.c: Likewise.
47786         * lib/gl_linked_list.c: Likewise.
47787         * lib/gl_linkedhash_list.c: Likewise.
47788         * lib/gl_list.c: Likewise.
47789         * lib/gl_oset.c: Likewise.
47790         * lib/gl_rbtree_list.c: Likewise.
47791         * lib/gl_rbtree_oset.c: Likewise.
47792         * lib/gl_rbtreehash_list.c: Likewise.
47793         * lib/imaxabs.c: Likewise.
47794         * lib/imaxdiv.c: Likewise.
47795         * lib/javacomp.c: Likewise.
47796         * lib/javaexec.c: Likewise.
47797         * lib/javaversion.c: Likewise.
47798         * lib/linebreak.c: Likewise.
47799         * lib/localcharset.c: Likewise.
47800         * lib/lock.c: Likewise.
47801         * lib/mbchar.c: Likewise.
47802         * lib/mbswidth.c: Likewise.
47803         * lib/mkdtemp.c: Likewise.
47804         * lib/pipe.c: Likewise.
47805         * lib/printf-args.c: Likewise.
47806         * lib/printf-parse.c: Likewise.
47807         * lib/progname.c: Likewise.
47808         * lib/progreloc.c: Likewise.
47809         * lib/readlink.c: Likewise.
47810         * lib/sh-quote.c: Likewise.
47811         * lib/stpcpy.c: Likewise.
47812         * lib/stpncpy.c: Likewise.
47813         * lib/strcasecmp.c: Likewise.
47814         * lib/strcasestr.c: Likewise.
47815         * lib/strcspn.c: Likewise.
47816         * lib/striconv.c: Likewise.
47817         * lib/strncasecmp.c: Likewise.
47818         * lib/strnlen1.c: Likewise.
47819         * lib/strstr.c: Likewise.
47820         * lib/strtok_r.c: Likewise.
47821         * lib/tls.c: Likewise.
47822         * lib/tmpdir.c: Likewise.
47823         * lib/unicodeio.c: Likewise.
47824         * lib/unsetenv.c: Likewise.
47825         * lib/vasnprintf.c: Likewise.
47826         * lib/vasprintf.c: Likewise.
47827         * lib/wait-process.c: Likewise.
47828         * lib/xallocsa.c: Likewise.
47829         * lib/xsetenv.c: Likewise.
47830         * lib/xstriconv.c: Likewise.
47831
47832 2006-09-13  Simon Josefsson  <jas@extundo.com>
47833
47834         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
47835         that internally, suggested by Ralf Wildenhues
47836         <Ralf.Wildenhues@gmx.de>.
47837
47838 2006-09-13  Simon Josefsson  <jas@extundo.com>
47839
47840         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
47841         @LIBOBJS@.
47842         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
47843
47844 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47845
47846         * lib/_fpending.c: Include <config.h> unconditionally, since we no
47847         longer worry about uses that don't define HAVE_CONFIG_H.
47848         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
47849         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
47850         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
47851         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
47852         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
47853         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
47854         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
47855         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
47856         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
47857         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
47858         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
47859         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
47860         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
47861         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
47862         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
47863         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
47864         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
47865         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
47866         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
47867         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
47868         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
47869         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
47870         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
47871         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
47872         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
47873         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
47874         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
47875         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
47876         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
47877         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
47878         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
47879         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
47880         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
47881         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
47882         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
47883         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
47884         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
47885         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
47886         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
47887         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
47888         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
47889         Likewise.
47890
47891 2006-09-13  Eric Blake  <ebb9@byu.net>
47892
47893         * lib/getopt.c: Fix typo in last commit.
47894
47895 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47896
47897         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
47898         dgettext.
47899
47900 2006-09-12  Jim Meyering  <jim@meyering.net>
47901
47902         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
47903         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
47904         Reported by Nelson H. F. Beebe.
47905
47906 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
47907
47908         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
47909         program_invocation_name and program_invocation_short_name are
47910         initialized.
47911         * lib/argp-namefrob.h: Move declarations of program_invocation_name
47912         and program_invocation_short_name to argp.h, so they are visible
47913         to user programs.
47914         * lib/argp.h: Likewise
47915
47916 2006-09-10  Bruno Haible  <bruno@clisp.org>
47917
47918         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
47919         m4/inttypes_h.m4, m4/uintmax_t.m4.
47920
47921 2006-09-10  Bruno Haible  <bruno@clisp.org>
47922
47923         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
47924         gl_AC_TYPE_UINTMAX_T.
47925
47926 2006-09-10  Bruno Haible  <bruno@clisp.org>
47927
47928         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
47929
47930 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
47931
47932         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
47933         convention.  Text proposed by Bruno Haible.
47934         (struct argp_option): Document the use of N_() wrappers.
47935
47936         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
47937         '\v', and translate the two parts separately, instead of feeding
47938         the whole string to gettext.  This allows to exclude
47939         '\v' from the strings visible to the translator by writing doc
47940         strings as N_("..") "\v" N_("..").
47941
47942 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
47943
47944         * config/srclist.txt: Undo latest change; the bug was fixed.
47945
47946 2006-09-09  Bruno Haible  <bruno@clisp.org>
47947
47948         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
47949         assignments if building a library without libtool.
47950         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
47951         in func_emit_lib_Makefile_am.
47952         (func_import): When building a static library libfoo.a, arrange to
47953         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
47954         (func_create_testdir): Likewise.
47955         * modules/gc (configure.ac, Makefile.am): If building statically,
47956         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
47957         * modules/iconvme (configure.ac, Makefile.am): Likewise.
47958         * modules/striconv (configure.ac, Makefile.am): Likewise.
47959         Based on a suggestion by Ralf Wildenhues.
47960
47961 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47962
47963         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
47964         Check for unistd.h too, since Autoconf doesn't assume POSIX.
47965         Also:
47966
47967         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47968         Add year_2050_test to catch glibc bug 2821
47969         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
47970
47971         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47972         Prefer #ifdef to #if.
47973
47974         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
47975         Return from 'main' instead of calling 'exit'.
47976
47977 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47978
47979         * lib/mktime.c (guess_time_tm): Fix bug where mktime
47980         returned the maximum time_t value rather than (time_t) -1.
47981         Problem originally reported by William Bardwell
47982         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
47983
47984         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
47985         Moved to here ...
47986         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
47987         ... from here.
47988
47989 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
47990
47991         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
47992         2821 is fixed.
47993
47994 2006-09-08  Jim Meyering  <jim@meyering.net>
47995
47996         Don't make generated files read-only.  That would bother too many
47997         people.  However, do retain the ability to work when targets are
47998         read-only: remove the destination and temporary files before writing
47999         them (when generated via sed or echo), or by using the -f option for
48000         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
48001         * modules/alloca-opt, modules/argz, modules/arpa_inet:
48002         * modules/byteswap, modules/configmake, modules/fcntl:
48003         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
48004         * modules/localcharset, modules/netinet_in, modules/poll:
48005         * modules/stdbool, modules/stdint, modules/sys_select:
48006         * modules/sys_socket, modules/sys_stat, modules/sysexits:
48007
48008 2006-09-08  Jim Meyering  <jim@meyering.net>
48009
48010         Avoid new build failure on FreeBSD 6.0.
48011         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
48012         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
48013         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
48014
48015 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48016
48017         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
48018
48019 2006-09-07  Jim Meyering  <jim@meyering.net>
48020
48021         Fix global typo in last change: use chmod u-w, not chmod u-x.
48022         Spotted by Paul Eggert and Bruce Korb.
48023         * modules/alloca-opt, modules/argz, modules/arpa_inet:
48024         * modules/byteswap, modules/configmake, modules/fcntl:
48025         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
48026         * modules/localcharset, modules/netinet_in, modules/poll:
48027         * modules/stdbool, modules/stdint, modules/sys_select:
48028         * modules/sys_socket, modules/sys_stat, modules/sysexits:
48029
48030 2006-09-06  Jim Meyering  <jim@meyering.net>
48031
48032         Make generated files be read-only.
48033         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
48034         Ensure that each generated file is now read-only.
48035         * modules/argz: Likewise.
48036         * modules/arpa_inet: Likewise.
48037         * modules/byteswap: Likewise.
48038         * modules/configmake: Likewise.
48039         * modules/fcntl: Likewise.
48040         * modules/fnmatch: Likewise.
48041         * modules/getopt: Likewise.
48042         * modules/glob: Likewise.
48043         * modules/inttypes: Likewise.
48044         * modules/netinet_in: Likewise.
48045         * modules/poll: Likewise.
48046         * modules/stdbool: Likewise.
48047         * modules/stdint: Likewise.
48048         * modules/sys_select: Likewise.
48049         * modules/sys_socket: Likewise.
48050         * modules/sys_stat: Likewise.
48051         * modules/sysexits: Likewise.
48052         * modules/localcharset: Same as above, but continue using temporary
48053         file named "t-$@" (why different?) rather than the "$@-t" used
48054         everywhere else.
48055
48056         * modules/sysexits (Makefile.am): Replace literal occurrences
48057         of "sysexit.h" more readable, and more consistent, "$@".
48058
48059 2006-09-06  Bruno Haible  <bruno@clisp.org>
48060
48061         * modules/striconv: New file.
48062         * modules/xstriconv: New file.
48063         * MODULES.html.sh (Internationalization functions): Add striconv,
48064         xstriconv.
48065
48066 2006-09-06  Bruno Haible  <bruno@clisp.org>
48067
48068         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
48069         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
48070         not using libtool correctly.
48071
48072 2006-09-06  Bruno Haible  <bruno@clisp.org>
48073
48074         * lib/striconv.h: New file.
48075         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
48076         iconvstring.c.
48077         * lib/xstriconv.h: New file.
48078         * lib/xstriconv.c: New file.
48079
48080 2006-09-06  Bruno Haible  <bruno@clisp.org>
48081
48082         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
48083         lib_..._LDFLAGS.
48084
48085 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48086
48087         * lib/argz_.h: Sync from Libtool.
48088
48089         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
48090                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
48091
48092         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
48093
48094 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
48095
48096         * modules/trim: New file.
48097
48098 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
48099
48100         * lib/trim.h: New file.
48101         * lib/trim.c: New file.
48102
48103 2006-09-05  Bruno Haible  <bruno@clisp.org>
48104
48105         * MODULES.html.sh (String handling): Add trim.
48106
48107 2006-09-04  Karl Berry  <karl@gnu.org>
48108
48109         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
48110         until next release.
48111
48112 2006-09-03  Bruno Haible  <bruno@clisp.org>
48113
48114         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
48115         correctly.
48116
48117 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48118
48119         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
48120         not gl_GETLOADAVG.  Omit unneeded semicolons.
48121         Problems reported by Ralf Wildenhues in
48122         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
48123         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
48124         at the end, which is the usual gnulib style.
48125
48126         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
48127         of doing all the work ourselves.
48128         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
48129         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
48130
48131 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48132
48133         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
48134         Problem reported by Ralf Wildenhues in
48135         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
48136
48137         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
48138         HAVE_STRUCT_STATFS_F_FSTYPENAME.
48139
48140 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
48141
48142         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
48143         yesterday's patch by changing test -n to test -z.
48144
48145 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48146
48147         * modules/getloadavg (Files): Add m4/getloadavg.m4.
48148         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
48149         the former is now obsolescent.
48150
48151         * modules/chdir-long (Depends-on): Add fcntl.
48152
48153 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48154
48155         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
48156         obsolescent, and programs should use gnulib instead.
48157         * m4/getloadavg.m4: New file, with contents taken from Autoconf
48158         but with prefixes changed.
48159
48160 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
48161
48162         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
48163         or stdbool.h, because they might not exist while configuring.
48164
48165         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
48166         Don't include unistd.h or limits.h; not needed, since chdir-long.h
48167         does that for us.
48168         (O_DIRECTORY): Remove.
48169
48170 2006-08-31  Eric Blake  <ebb9@byu.net>
48171
48172         * gnulib-tool: Don't let emacs change spaces to TAB.
48173
48174 2006-08-31  Bruno Haible  <bruno@clisp.org>
48175
48176         * gnulib-tool: When calling func_import more than once, do it in a
48177         subshell.
48178         Reported by Eric Blake <ebb9@byu.net>.
48179
48180 2006-08-31  Bruno Haible  <bruno@clisp.org>
48181
48182         * gnulib-tool (nl): Remove variable.
48183         (sed_transform_lib_file): Use more robust test for config-h module.
48184         (func_import): Fix typo in 2006-08-25 patch.
48185
48186 2006-08-31  Bruno Haible  <bruno@clisp.org>
48187
48188         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
48189         specified, augment Makefile.am variables instead of assigning them.
48190
48191 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48192
48193         Work around a bug in both the Linux and SunOS 64-bit kernels:
48194         nanosleep mishandles sleeps for longer than 2**31 seconds.
48195         Problem reported by Frank v Waveren in
48196         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
48197         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
48198         Check for nanosleep bug.
48199         (LIB_NANOSLEEP): Append clock_gettime library if needed.
48200
48201 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48202
48203         Work around a bug in both the Linux and SunOS 64-bit kernels:
48204         nanosleep mishandles sleeps for longer than 2**31 seconds.
48205         Problem reported by Frank v Waveren in
48206         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
48207         * lib/nanosleep.c (BILLION): New constant.
48208         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
48209         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
48210         implementation.
48211
48212 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48213
48214         * modules/nanosleep (Depends-on): Add gettime.
48215
48216 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
48217         and Simon Josefsson  <jas@extundo.com>
48218         and Oskar Liljeblad  <oskar@osk.mine.nu>
48219
48220         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
48221         * gnulib-tool (func_import): New license type 'unmodifiable license
48222         text'.
48223         * modules/fdl: Use it.  Longer description.
48224         * module/gpl, module/lgpl: New files.
48225
48226 2006-08-30  Jim Meyering  <jim@meyering.net>
48227
48228         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
48229         shadowing the parameter.
48230
48231 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48232
48233         Sync from Libtool:
48234
48235         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48236
48237         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
48238         sharing with gnulib.  Report by Eric Blake.
48239
48240 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
48241
48242         * modules/isapipe: New file.
48243         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
48244
48245 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
48246
48247         * modules/configmake (Makefile.am): Add a comment, and omit
48248         the CONFIGMAKE_ prefix from generated macro names.  Suggested
48249         by Bruno Haible.
48250
48251 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
48252
48253         * m4/isapipe.m4: New file.
48254
48255 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
48256
48257         * lib/isapipe.c, lib/isapipe.h: New files.
48258
48259 2006-08-29  Jim Meyering  <jim@meyering.net>
48260
48261         * modules/configmake (Makefile.am): Make configmake.h depend on
48262         Makefile.  Otherwise, a stale configmake.h could hang around.
48263
48264 2006-08-29  Eric Blake  <ebb9@byu.net>
48265
48266         * lib/error.c (error_at_line, print_errno_message): Match libc, after
48267         resolution of upstream bug 3044.
48268
48269 2006-08-29  Bruno Haible  <bruno@clisp.org>
48270
48271         * modules/localcharset (Depends-on): Add configmake.
48272         (Makefile.am): Remove setting of LIBDIR through DEFS.
48273
48274 2006-08-29  Bruno Haible  <bruno@clisp.org>
48275
48276         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
48277         defined.
48278
48279 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48280
48281         * modules/fcntl: New file.
48282         * modules/chdir-safer (Depends-on): Add fcntl.
48283         * modules/fts: Likewise.
48284         * modules/mkdir-p: Likewise.
48285
48286         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
48287         This undoes the most recent change, since we're now addressing the
48288         problem in a different way.
48289
48290         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
48291         into output, since the output might be called Makefile.am even
48292         if $makefile_name is something different.
48293         (func_import): Use $makefile_am rather than
48294         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
48295         empty.
48296
48297         * modules/inttypes (Files): Add m4/inttypes-h.m4.
48298
48299 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48300
48301         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
48302         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
48303         recent change to stdint.m4, since we're now addressing the problem in a
48304         different way.
48305
48306 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48307
48308         * m4/fcntl_h.m4: New file.
48309
48310 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
48311
48312         * lib/fcntl_.h: New file.
48313         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
48314         the fcntl module.
48315         * lib/dirchownmod.c: Likewise.
48316         * lib/fts.c: Likewise.
48317
48318         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
48319         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
48320         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
48321         just before including <inttypes.h>, to avoid circular inclusion.
48322
48323 2006-08-28  Jim Meyering  <jim@meyering.net>
48324
48325         * doc/visibility.texi: Actually read and correct the grammar of the
48326         sentence affected by yesterday's change.
48327
48328 2006-08-28  Eric Blake  <ebb9@byu.net>
48329
48330         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
48331         needs wrapper.
48332
48333 2006-08-28  Eric Blake  <ebb9@byu.net>
48334
48335         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
48336
48337 2006-08-28  Eric Blake  <ebb9@byu.net>
48338
48339         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
48340
48341 2006-08-28  Bruno Haible  <bruno@clisp.org>
48342
48343         * modules/c-strstr: New file, from GNU gettext.
48344         * MODULES.html.sh (String handling): Add c-strstr.
48345
48346 2006-08-28  Bruno Haible  <bruno@clisp.org>
48347
48348         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
48349         macros.
48350         Reported by Eric Blake.
48351
48352 2006-08-28  Bruno Haible  <bruno@clisp.org>
48353
48354         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
48355         (VASNPRINTF): Return a string of length > INT_MAX without failing.
48356         * lib/vasprintf.c: Include errno.h, limits.h.
48357         (EOVERFLOW): New fallback definition.
48358         (vasprintf): Test here whether the string length is > INT_MAX.
48359         * lib/vsnprintf.c: Include errno.h, limits.h.
48360         (EOVERFLOW): New fallback definition.
48361         (vsnprintf): Fix bug when generated string was too long for the buffer.
48362         Test here whether the string length is > INT_MAX.
48363
48364 2006-08-28  Bruno Haible  <bruno@clisp.org>
48365
48366         * lib/inttypes_.h (SCNX*): Remove definitions.
48367         Reported by Eric Blake.
48368
48369 2006-08-28  Bruno Haible  <bruno@clisp.org>
48370
48371         * lib/c-strstr.h: New file, from GNU gettext.
48372         * lib/c-strstr.c: New file, from GNU gettext.
48373
48374 2006-08-28  Bruno Haible  <bruno@clisp.org>
48375
48376         * gnulib-tool: Reorder some statements.
48377
48378 2006-08-28  Bruno Haible  <bruno@clisp.org>
48379
48380         * gnulib-tool: New option --makefile-name.
48381         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
48382         $makefile_name.
48383         (func_import): Write $makefile_name to the cache file, and read it from
48384         there unless explicitly specified. Use $makefile_name as file name
48385         instead of Makefile.am. Adjust the recommendations accordingly.
48386
48387 2006-08-28  Bruno Haible  <bruno@clisp.org>
48388
48389         * gnulib-tool (func_verify_module): Check against misapplying patch.
48390
48391 2006-08-28  Bruno Haible  <bruno@clisp.org>
48392
48393         * gnulib-tool (func_relativize, func_relconcat): New functions.
48394         Give an error if --local-dir is given with --update.
48395         Remove trailing slashes from $local_gnulib_dir.
48396         (func_import): Store the relativized $local_gnulib_dir in
48397         gnulib-cache.m4, and read it from there if not specified explicitly.
48398
48399 2006-08-28  Bruno Haible  <bruno@clisp.org>
48400
48401         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
48402         is the current directory. Respect also $local_gnulib_dir.
48403
48404 2006-08-28  Bruno Haible  <bruno@clisp.org>
48405             Simon Josefsson  <jas@extundo.com>
48406
48407         BeOS portability.
48408         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
48409
48410 2006-08-27  Jim Meyering  <jim@meyering.net>
48411
48412         * doc/visibility.texi: Remove duplicate word: "pointer".
48413
48414 2006-08-26  Bruno Haible  <bruno@clisp.org>
48415
48416         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
48417         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
48418         (Makefile.am): Create inttypes.h from inttypes_.h.
48419         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
48420
48421         * modules/imaxabs: New file.
48422
48423         * modules/imaxdiv: New file.
48424
48425 2006-08-26  Bruno Haible  <bruno@clisp.org>
48426
48427         * m4/inttypes.m4: New file.
48428         * m4/_inttypes_h.m4: Remove file.
48429         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
48430         PRI_MACROS_BROKEN.
48431         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
48432
48433         * m4/imaxabs.m4: New file.
48434
48435         * m4/imaxdiv.m4: New file.
48436
48437 2006-08-26  Bruno Haible  <bruno@clisp.org>
48438
48439         * lib/inttypes_.h: New file.
48440         * lib/inttypes.h: Remove file.
48441         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
48442
48443         * lib/imaxabs.c: New file.
48444
48445         * lib/imaxdiv.c: New file.
48446
48447 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48448
48449         New config-h module, so that "make" output needn't be cluttered
48450         by -DHAVE_CONFIG_H.
48451         * MODULES.html.sh (Support for building libraries and executables):
48452         Add config-h.
48453         * modules/config-h: New file.
48454         * gnulib-tool (nl, sed_transform_lib_file): New vars.
48455         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
48456         the config-h module is used.
48457
48458         New configmake module, so that "make" output needn't be cluttered
48459         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
48460         * MODULES.html.sh (Support for building libraries and executables):
48461         Add configmake.
48462         * modules/configmake: New file.
48463
48464 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
48465
48466         * m4/config-h.m4: New file.
48467
48468 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48469
48470         * config/srclist.txt: Add elisp-comp.
48471
48472 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
48473
48474         * MODULES.html.sh (Support for building libraries and executables):
48475         Add elisp-comp.
48476         * build-aux/elisp-comp: New file.
48477         * modules/elisp-comp: New file.
48478
48479 2006-08-24  Bruno Haible  <bruno@clisp.org>
48480
48481         * gnulib-tool (func_create_testdir): Use non-default values of
48482         sourcebase and m4base.
48483
48484 2006-08-24  Bruno Haible  <bruno@clisp.org>
48485
48486         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
48487         HTML structure.
48488
48489 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
48490
48491         * modules/openat (Depends-on): Add lchown.
48492
48493 2006-08-23  Bruno Haible  <bruno@clisp.org>
48494
48495         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
48496         of gl_LOCK_EARLY instead of gl_LOCK.
48497
48498 2006-08-23  Bruno Haible  <bruno@clisp.org>
48499
48500         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
48501         on OSF/1 to no.
48502         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
48503
48504 2006-08-23  Bruno Haible  <bruno@clisp.org>
48505
48506         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
48507         as unusable.
48508
48509         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
48510         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
48511         (gl_LOCK): New macro.
48512
48513 2006-08-22  Simon Josefsson  <jas@extundo.com>
48514
48515         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
48516         to md5 module.
48517
48518 2006-08-22  Simon Josefsson  <jas@extundo.com>
48519
48520         * MODULES.html.sh: Add "Support for maintaining and release
48521         projects".
48522
48523         * build-aux/gnupload: New file, from coreutils.
48524
48525 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48526
48527         Avoid the need for AC_LIBSOURCES in m4 macros.
48528         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
48529         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
48530         * modules/check-version (EXTRA_DIST): Add check-version.h.
48531         * modules/crc (EXTRA_DIST): Add crc.h.
48532         * modules/des (EXTRA_DIST): Add des.h.
48533         * modules/gc (EXTRA_DIST): Add gc.h.
48534         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
48535         * modules/getline (EXTRA_DIST): Add getline.h.
48536         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
48537         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
48538         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
48539         * modules/md2 (EXTRA_DIST): Add md2.h.
48540         * modules/md4 (EXTRA_DIST): Add md4.h.
48541         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
48542         * modules/read-file (EXTRA_DIST): Add read-file.h.
48543         * modules/readline (EXTRA_DIST): Add readline.h.
48544         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
48545         rijndael-api-fst.h.
48546
48547 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48548
48549         * m4/rijndael.m4 (gl_ARCFOUR):
48550         * m4/arctwo.m4 (gl_ARCTWO):
48551         * m4/check-version.m4 (gl_CHECK_VERSION):
48552         * m4/crc.m4 (gl_CRC):
48553         * m4/des.m4 (gl_DES):
48554         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
48555         * m4/gc.m4 (gl_GC):
48556         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
48557         * m4/getline.m4 (gl_FUNC_GETLINE):
48558         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
48559         * m4/hmac-md5.m4 (gl_HMAC_MD5):
48560         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
48561         * m4/md2.m4 (gl_MD2):
48562         * m4/md4.m4 (gl_MD4):
48563         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
48564         * m4/read-file.m4 (gl_FUNC_READ_FILE):
48565         * m4/readline.m4 (gl_FUNC_READLINE):
48566         * m4/rijndael.m4 (gl_RIJNDAEL):
48567         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
48568         to get the necessary .h files and whatnot.
48569
48570 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48571
48572         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
48573         gnulib rather than the other way around.
48574         * config/srclistvars.sh (COREUTILS): Remove.
48575
48576 2006-08-22  Jim Meyering  <jim@meyering.net>
48577
48578         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
48579
48580         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
48581
48582 2006-08-22  Eric Blake  <ebb9@byu.net>
48583
48584         * modules/regexprops-generic: New file.
48585         * MODULES.html.sh (Support for building documentation): List it.
48586
48587 2006-08-22  Eric Blake  <ebb9@byu.net>
48588
48589         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
48590         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
48591         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
48592         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
48593
48594 2006-08-22  Bruno Haible  <bruno@clisp.org>
48595
48596         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
48597         and lib_LTLIBRARIES like the other lib_* variables.
48598
48599 2006-08-22  Bruno Haible  <bruno@clisp.org>
48600
48601         * build-aux/x-to-1.in: New file, from GNU gettext.
48602
48603 2006-08-22  Bruno Haible  <bruno@clisp.org>
48604
48605         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
48606         <utmpx.h> exists.
48607
48608 2006-08-22  Bruno Haible  <bruno@clisp.org>
48609
48610         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
48611         <utmpx.h> exists.
48612
48613 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48614
48615         BeOS portability.
48616         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
48617         exist.
48618         Problem reported by Bruno Haible.
48619
48620 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48621
48622         Avoid the need for AC_LIBSOURCES in m4 macros.
48623         * modules/acl (EXTRA_DIST): Add acl.h.
48624         * modules/argmatch (Files): Add m4/argmatch.m4.
48625         (configure.ac): Add gl_ARGMATCH.
48626         (EXTRA_DIST): Renamed from lib_SOURCES, for
48627         consistency with the other modules.  Remove argmatch.c.
48628         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
48629         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
48630         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
48631         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
48632         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
48633         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
48634         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
48635         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
48636         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
48637         * modules/closeout (EXTRA_DIST): Add closeout.h.
48638         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
48639         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
48640         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
48641         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
48642         dirname.h; remove basename.c and stripslash.c.
48643         * modules/exclude (EXTRA_DIST): Add exclude.h.
48644         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
48645         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
48646         * modules/file-type (EXTRA_DIST): Add file-type.h.
48647         * modules/filemode (EXTRA_DIST): Add filemode.h.
48648         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
48649         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
48650         * modules/fpending (EXTRA_DIST): Add __fpending.h.
48651         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
48652         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
48653         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
48654         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
48655         * modules/getdate (EXTRA_DIST): Add getdate.c.
48656         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
48657         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
48658         * modules/getpass (EXTRA_DIST): Add getpass.h.
48659         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
48660         * modules/group-member (EXTRA_DIST): Add group-member.h.
48661         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
48662         * modules/hash (EXTRA_DIST): Add hash.h.
48663         * modules/human (EXTRA_DIST): Add human.h.
48664         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
48665         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
48666         * modules/lchown (EXTRA_DIST): Add lchown.h.
48667         * modules/long-options (EXTRA_DIST): Add long-options.h.
48668         * modules/lstat (EXTRA_DIST): Add lstat.h.
48669         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
48670         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
48671         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
48672         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
48673         * modules/memxor (EXTRA_DIST): Add memxor.h.
48674         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
48675         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
48676         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
48677         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
48678         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
48679         * modules/physmem (EXTRA_DIST): Add physmem.h.
48680         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
48681         * modules/posixver (EXTRA_DIST): Add posixver.h.
48682         * modules/quote (EXTRA_DIST): Add quote.h.
48683         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
48684         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
48685         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
48686         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
48687         regex_internal.h regexec.c.
48688         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
48689         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
48690         * modules/same (EXTRA_DIST): Add same.h.
48691         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
48692         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
48693         * modules/savedir (EXTRA_DIST): Add savedir.h.
48694         * modules/sha1 (EXTRA_DIST): Add sha1.h.
48695         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
48696         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
48697         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
48698         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
48699         * modules/strdup (EXTRA_DIST): Add strdup.h.
48700         * modules/strftime (EXTRA_DIST): Add strftime.h.
48701         * modules/strndup (EXTRA_DIST): Add strndup.h.
48702         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
48703         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
48704         * modules/time_r (EXTRA_DIST): Add time_r.h.
48705         * modules/timespec (EXTRA_DIST): Add timespec.h.
48706         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
48707         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
48708         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
48709         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
48710         * modules/userspec (EXTRA_DIST): Add userspec.h.
48711         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
48712         * modules/utimens (EXTRA_DIST): Add utimens.h.
48713         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
48714         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
48715         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
48716         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
48717         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
48718         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
48719         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
48720         * modules/yesno (EXTRA_DIST): Add yesno.h.
48721
48722 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48723
48724         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
48725
48726         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
48727         * m4/dev-ino.m4, same-inode.m4: Remove.
48728
48729         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
48730         * m4/acl.m4 (AC_FUNC_ACL):
48731         * m4/backupfile.m4 (gl_BACKUPFILE):
48732         * m4/c-strtod.m4 (gl_C99_STRTOLD):
48733         * m4/canon-host.m4 (gl_CANON_HOST):
48734         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
48735         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
48736         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
48737         * m4/cloexec.m4 (gl_CLOEXEC):
48738         * m4/close-stream.m4 (gl_CLOSE_STREAM):
48739         * m4/closeout.m4 (gl_CLOSEOUT):
48740         * m4/dirfd.m4 (gl_FUNC_DIRFD):
48741         * m4/dirname.m4 (gl_DIRNAME):
48742         * m4/exclude.m4 (gl_EXCLUDE):
48743         * m4/exitfail.m4 (gl_EXITFAIL):
48744         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
48745         * m4/file-type.m4 (gl_FILE_TYPE):
48746         * m4/filemode.m4 (gl_FILEMODE):
48747         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
48748         * m4/fpending.m4 (gl_FUNC_FPENDING):
48749         * m4/fprintftime.m4 (gl_FPRINTFTIME):
48750         * m4/fts.m4 (gl_FUNC_FTS):
48751         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
48752         * m4/getdate.m4 (gl_GETDATE):
48753         * m4/gethrxtime.m4 (gl_GETHRXTIME):
48754         * m4/getpagesize.m4 (gl_GETPAGESIZE):
48755         * m4/getpass.m4 (gl_FUNC_GETPASS):
48756         * m4/gettime.m4 (gl_GETTIME):
48757         * m4/getugroups.m4 (gl_GETUGROUPS):
48758         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
48759         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
48760         * m4/hard-locale.m4 (gl_HARD_LOCALE):
48761         * m4/hash.m4 (gl_HASH):
48762         * m4/idcache.m4 (gl_IDCACHE):
48763         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
48764         * m4/lchown.m4 (gl_FUNC_LCHOWN):
48765         * m4/long-options.m4 (gl_LONG_OPTIONS):
48766         * m4/lstat.m4 (gl_FUNC_LSTAT):
48767         * m4/md5.m4 (gl_MD5):
48768         * m4/memcasecmp.m4 (gl_MEMCASECMP):
48769         * m4/memcoll.m4 (gl_MEMCOLL):
48770         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
48771         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
48772         * m4/memxor.m4 (gl_MEMXOR):
48773         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
48774         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
48775         * m4/modechange.m4 (gl_MODECHANGE):
48776         * m4/mountlist.m4 (gl_MOUNTLIST):
48777         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
48778         * m4/openat.m4 (gl_FUNC_OPENAT):
48779         * m4/pathmax.m4 (gl_PATHMAX):
48780         * m4/physmem.m4 (gl_PHYSMEM):
48781         * m4/posixtm.m4 (gl_POSIXTM):
48782         * m4/posixver.m4 (gl_POSIXVER):
48783         * m4/quote.m4 (gl_QUOTE):
48784         * m4/quotearg.m4 (gl_QUOTEARG):
48785         * m4/readtokens.m4 (gl_READTOKENS):
48786         * m4/readutmp.m4 (gl_READUTMP):
48787         * m4/regex.m4 (gl_REGEX):
48788         * m4/safe-read.m4 (gl_SAFE_READ):
48789         * m4/safe-write.m4 (gl_SAFE_WRITE):
48790         * m4/same.m4 (gl_SAME):
48791         * m4/save-cwd.m4 (gl_SAVE_CWD):
48792         * m4/savedir.m4 (gl_SAVEDIR):
48793         * m4/settime.m4 (gl_SETTIME):
48794         * m4/sha1.m4 (gl_SHA1):
48795         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
48796         * m4/stat-macros.m4 (gl_STAT_MACROS):
48797         * m4/stat-time.m4 (gl_STAT_TIME):
48798         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
48799         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
48800         * m4/strdup.m4 (gl_FUNC_STRDUP):
48801         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
48802         * m4/strndup.m4 (gl_FUNC_STRNDUP):
48803         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
48804         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
48805         * m4/time_r.m4 (gl_TIME_R):
48806         * m4/timespec.m4 (gl_TIMESPEC):
48807         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
48808         * m4/unlinkdir.m4 (gl_UNLINKDIR):
48809         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
48810         * m4/userspec.m4 (gl_USERSPEC):
48811         * m4/utimecmp.m4 (gl_UTIMECMP):
48812         * m4/utimens.m4 (gl_UTIMENS):
48813         * m4/xalloc.m4 (gl_XALLOC):
48814         * m4/xgetcwd.m4 (gl_XGETCWD):
48815         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
48816         * m4/xreadlink.m4 (gl_XREADLINK):
48817         * m4/xstrtod.m4 (gl_XSTRTOD):
48818         * m4/yesno.m4 (gl_YESNO):
48819         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
48820         to get the necessary .h files and whatnot.
48821
48822 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
48823             Bruno Haible  <bruno@clisp.org>
48824
48825         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
48826         /bin/sh understanding of '!' conditional negation.
48827
48828 2006-08-21  Jim Meyering  <jim@meyering.net>
48829
48830         * modules/openat (Depends-on): Really alphabetize.
48831
48832         * modules/acl (Depends-on): Add error and quote.
48833
48834         * check-module (find_included_lib_files): Add at-func.c to the
48835         ok-to-include-more-than-once white list.
48836
48837         * modules/openat (Depends-on): Add lstat.  Alphabetize.
48838
48839 2006-08-21  Bruno Haible  <bruno@clisp.org>
48840
48841         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48842         Emit a pkgdata_DATA variable only if some snippets add contents to it.
48843         Reported by Martin Lambers <marlam@marlam.de>.
48844
48845 2006-08-21  Bruno Haible  <bruno@clisp.org>
48846
48847         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
48848         specify an installation location, don't emit a noinst_LIBRARIES or
48849         noinst_LTLIBRARIES assignment.
48850
48851 2006-08-21  Bruno Haible  <bruno@clisp.org>
48852
48853         BeOS portability.
48854         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
48855         BeOS has mbrtowc() but no <wctype.h>.
48856
48857 2006-08-21  Bruno Haible  <bruno@clisp.org>
48858
48859         BeOS portability.
48860         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
48861         exist.
48862
48863 2006-08-21  Bruno Haible  <bruno@clisp.org>
48864
48865         BeOS portability.
48866         * lib/mbchar.h: Include <wctype.h> only if it exists.
48867
48868 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48869
48870         Remove files that are no longer needed by their respective modules.
48871         * m4/obstack.m4: Remove.
48872         * m4/strerror_r.m4: Remove.
48873         * m4/uint32_t.m4: Remove.
48874         * m4/uintptr_t.m4: Remove.
48875         * m4/ullong_max.m4: Remove.
48876         * m4/xstrtoimax.m4: Remove.
48877         * m4/xstrtoumax.m4: Remove.
48878
48879         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
48880         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
48881         dependencies now capture this.
48882
48883         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
48884         Do not use AC_LIBSOURCES, since gnulib modules now do this.
48885         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
48886         * m4/human.m4 (gl_HUMAN): Likewise.
48887         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
48888         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
48889
48890         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
48891
48892         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
48893         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
48894         stdint.
48895         * m4/human.m4 (gl_HUMAN): Likewise.
48896         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
48897         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
48898         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
48899         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
48900         * m4/xstrtol (gl_XSTRTOL): Likewise.
48901
48902         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
48903         AC_TYPE_LONG_LONG_INT.
48904         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
48905         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
48906         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
48907         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
48908
48909         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
48910         on stdbool.
48911
48912         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
48913         (gl_PREREQ_XSTRTOUL): Remove.
48914
48915         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
48916
48917         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
48918         mode.
48919
48920 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48921
48922         Add and change modules to make it easier for coreutils to use
48923         gnulib-tool.
48924         * modules/backupfile (Files): Remove m4/d-ino.m4.
48925         (Depends-on): Add d-ino.
48926         * modules/cycle-check (Depends-on): Add stdint.
48927         (lib_SOURCES): Add cycle-check.h.
48928         * modules/d-ino: New module.
48929         * modules/d-type: New module.
48930         * modules/error (Files): Remove m4/strerror_r.m4.
48931         * modules/filemode (Files): Add m4/st_dm_mode.m4.
48932         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
48933         m4/inttypes_h.m4, m4/uintmax_t.m4.
48934         (Depends-on): Add stdint.
48935         (lib_SOURCES): Add fsusage.h.
48936         * modules/getcwd (Files): Remove d-ino.m4.
48937         (Depends-on): Add d-ino.
48938         * modules/getndelim2 (Depends-on): Add stdint.
48939         * modules/glob (Files): Remove m4/d-type.m4.
48940         (Depends-on): Add d-type.
48941         * modules/host-os: New module.
48942         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
48943         m4/inttypes_h.m4, m4/uintmax_t.m4.
48944         * Depends-on: Add stdint.
48945         (lib_SOURCES): Add human.h.
48946         * modules/inttostr (Files): Remove m4/intmax_t.m4,
48947         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
48948         m4/uintmax_t.m4, m4/ulonglong.m4.
48949         (Depends-on): Add stdint.
48950         (EXTRA_DIST): Add inttostr.h.
48951         * modules/lchmod: New module.
48952         * modules/link-follow: New module.
48953         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
48954         (Depends-on): Add lchmod.
48955         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
48956         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
48957         (Depends-on): Add stdint.
48958         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
48959         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
48960         (Depends-on): Add stdint.
48961         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
48962         * modules/perl: New module.
48963         * modules/regex (Depends-on): Add stdint.
48964         * modules/rmdir-errno: New module.
48965         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
48966         m4/intmax_t.m4.
48967         (Depends-on): Add stdint.
48968         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
48969         m4/uintmax_t.m4.
48970         (Depends-on): Add stdint.
48971         * modules/unlink-busy: New module.
48972         * modules/utimecmp (Depends-on): Add stdint.
48973         * modules/uptime: New module.
48974         * modules/winsz-ioctl: New module.
48975         * modules/winsz-termios: New module.
48976         * modules/xnanosleep (Depends-on): Add nanosleep.
48977         * modules/ullong_max: Remove.
48978         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
48979         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
48980         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
48981         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
48982         (Depends-on): Add inttypes.
48983         (lib_SOURCES): Add xstrtol.h.
48984         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
48985         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
48986         * MODULES.html.sh: Move 'assert' into the assert section.
48987         Move 'dummy' into the linking section.
48988         Remove ullong_max.
48989         Add section for compatibility checks for POSIX:2001 functions,
48990         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
48991         winsz-ioctl, and winsz-termios into it.
48992         Add lchmod.
48993         Add top-level Misc section and put host-os, perl, and uptime
48994         into it.
48995
48996 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
48997
48998         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
48999         now assume the stdint module.  Do not include inttypes.h.
49000         * lib/fsusage.h: Likewise.
49001         * lib/getndelim2.c: Likewise.
49002         * lib/human.h: Likewise.
49003         * lib/inttostr.h: Likewise.
49004         * lib/obstack.c: Likewise.
49005         * lib/regex_internal.h: Likewise.
49006         * lib/tempname.c: Likewise.
49007         * lib/utimecmp.c: Likewise.
49008         * lib/xstrtol.h: Likewise.
49009
49010         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
49011
49012         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
49013         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
49014         * lib/xtime.h: Likewise.
49015
49016 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49017
49018         * modules/openat (Files): Add lib/fchmodat.c.
49019         Fixes problem reported by Jay Youngman.
49020
49021 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
49022
49023         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
49024         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
49025
49026 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
49027             Bruno Haible  <bruno@clisp.org>
49028
49029         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
49030         and is a script that invokes bison. Tighten the code. Add comments.
49031
49032 2006-08-18  Jim Meyering  <jim@meyering.net>
49033
49034         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
49035         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
49036         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
49037         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
49038
49039 2006-08-18  Bruno Haible  <bruno@clisp.org>
49040
49041         * modules/bison-i18n: New file.
49042         * MODULES.html.sh (Internationalization functions): Add it.
49043
49044 2006-08-18  Bruno Haible  <bruno@clisp.org>
49045
49046         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
49047         sys/statvfs.h. When getmntinfo was found, check its declaration and
49048         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
49049
49050 2006-08-18  Bruno Haible  <bruno@clisp.org>
49051
49052         * m4/bison-i18n.m4: New file, from bison.
49053
49054 2006-08-18  Bruno Haible  <bruno@clisp.org>
49055
49056         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
49057         (ME_DUMMY): Treat "kernfs" as a dummy.
49058         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
49059
49060 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
49061
49062         Update from coreutils.
49063
49064         2006-08-15  Jim Meyering  <jim@meyering.net>
49065
49066         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
49067
49068         2006-01-17  Jim Meyering  <jim@meyering.net>
49069
49070         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
49071
49072         2006-01-11  Jim Meyering  <jim@meyering.net>
49073
49074         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
49075         Check for the lchmod function.
49076
49077 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
49078
49079         Update from coreutils.
49080
49081         * lib/__fpending.h: Add copyright notice.
49082         * lib/fprintftime.h: Likewise.
49083         * lib/savedir.c: Use (C) in copyright notice.
49084         * lib/savedir.h: Likewise.
49085
49086         2006-08-15  Jim Meyering  <jim@meyering.net>
49087
49088         * lib/at-func.c: New file, with the logic of all emulated at-functions.
49089         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
49090         in support of the EXPECTED_ERRNO macro.
49091         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
49092         definitions.  Instead, define the appropriate symbols and include
49093         "at-func.c".
49094         * lib/mkdirat.c (mkdirat): Likewise.
49095         * lib/fchmodat.c (fchmodat): Likewise.
49096         (ENOSYS): Remove definition.
49097         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
49098         it.  Don't include "unistd--.h" -- it wasn't ever used.
49099
49100         2006-01-17  Jim Meyering  <jim@meyering.net>
49101
49102         Rewrite fts.c not to change the current working directory,
49103         by using openat, fstatat, fdopendir, etc..
49104
49105         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
49106         (HAVE_OPENAT_SUPPORT): Define.
49107         [_LIBC] (fchdir): Don't undef or define; no longer used.
49108         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
49109         Now, this `function' always succeeds, and consumes its file descriptor
49110         parameter -- so callers must not close such FDs.  Update callers.
49111         (diropen_fd, opendirat, cwd_advance_fd): New functions.
49112         (diropen): Add parameter, SP.  Adjust all callers.
49113         Implement using diropen_fd, rather than open.
49114         (fts_open): Initialize new member, fts_cwd_fd.
49115         Remove fts_rft-setting code.
49116         (fts_close): Close fts_cwd_fd, if necessary.
49117         (__opendir2): Define in terms of opendir or opendirat,
49118         depending on whether the FST_NOCHDIR flag is set.
49119         (fts_build): Since fts_safe_changedir consumes its FD, and since
49120         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
49121         and close the dup'd file descriptor upon failure.
49122         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
49123         (fts_safe_changedir): Tweak semantics to reflect that this function
49124         now calls cwd_advance_fd and hence consumes its FD argument.
49125         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
49126         [struct FTS] (fts_rft): Remove now-unused member.
49127         [struct FTS] (fts_cycle.state): Improve comment.
49128
49129         * lib/openat.c (openat_needs_fchdir): New function.
49130         * lib/openat.h (openat_needs_fchdir): Declare it.
49131
49132 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
49133
49134         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
49135         Problem and fix reported by Pádraig Brady in
49136         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
49137
49138 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49139
49140         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
49141
49142 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49143
49144         * lib/memcoll.c (memcoll): Optimize for the common case where the
49145         arguments are bytewise equal.
49146
49147 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49148
49149         * doc/regexprops-generic.texi: Add a copyright notice.
49150
49151 2006-08-15  Bruno Haible  <bruno@clisp.org>
49152
49153         * modules/tmpdir (License): Change to LGPL.
49154
49155 2006-08-15  Bruno Haible  <bruno@clisp.org>
49156
49157         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
49158         module.
49159
49160 2006-08-14  Simon Josefsson  <jas@extundo.com>
49161
49162         * config/srclist.txt: Add gnupload.
49163
49164 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49165
49166         Change copyright notice from LGPL 2 to GPL 2, since that's the
49167         standard form used in the gnulib repository.
49168         * tests/test-lock.c: Likewise.
49169         * tests/test-stdint.c: Likewise.
49170         * tests/test-tls.c: Likewise.
49171
49172         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
49173         prelude-manager.  User shorter URLs for GNU projects, without '?'.
49174         Add copyright notice.
49175
49176         * check-module: Add copyright notice.  Output a copyright
49177         notice if "--version" is specified.
49178         * modules/COPYING: New file.
49179         * tests/test-getaddrinfo.c: Add copyright notice.
49180         * tests/test-verify.c: Likewise.
49181
49182 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49183
49184         Change copyright notice from LGPL 2 to GPL 2, since that's the
49185         standard form used in the gnulib repository.
49186         * lib/lock.c: LGPL -> GPL.
49187         * lib/lock.h: Likewise.
49188         * lib/strnlen1.c: Likewise.
49189         * lib/strnlen1.h: Likewise.
49190         * lib/tls.c: Likewise.
49191         * lib/tls.h: Likewise.
49192         * lib/tmpdir.c: Likewise.
49193
49194         * lib/TODO: Remove; this belongs only in coreutils.
49195
49196 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49197
49198         Add copyright notices to long-enough files that lack them, since
49199         otherwise the files aren't clearly free.  Use the same notice that
49200         getdate.texi already uses.
49201         * doc/alloca-opt.texi: Add copyright notice.
49202         * doc/alloca.texi: Likewise.
49203         * doc/ctime.texi: Likewise.
49204         * doc/functions.texi: Likewise.
49205         * doc/gcd.texi: Likewise.
49206         * doc/gnulib-tool.texi: Likewise.
49207         * doc/inet_ntoa.texi: Likewise.
49208         * doc/visibility.texi: Likewise.
49209
49210         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
49211         * doc/quote.texi: Add copyright notice.
49212
49213         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
49214         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
49215         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
49216         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
49217         is now obsolete, and give a pointer to the Sun list.
49218         Add copyright notice.
49219
49220 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
49221
49222         * config/srclistvars.sh: Add copyright notice.
49223
49224 2006-08-14  Eric Blake  <ebb9@byu.net>
49225
49226         Import the following change from libc:
49227
49228         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
49229
49230         Upstream bug 2997.
49231         * lib/misc/error.c: Add space between program name and message if file
49232         name is missing.
49233
49234 2006-08-12  Karl Berry  <karl@gnu.org>
49235
49236         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
49237         remove, these originate in gnulib now.
49238
49239 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49240
49241         * doc/Makefile (standards.info standards.html standards.dvi):
49242         Also depend on make-stds.texi.
49243
49244 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
49245
49246         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
49247         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
49248
49249         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
49250         in wchar_t.  Problem reported by Eric Blake.
49251
49252         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
49253         LEN is smaller than SIZE.  Suggested by Bruno Haible.
49254         Also, help the compiler to keep LEN in a register.
49255
49256 2006-08-11  Eric Blake  <ebb9@byu.net>
49257
49258         * users.txt: Sort.  Add tar.
49259
49260 2006-08-11  Bruno Haible  <bruno@clisp.org>
49261
49262         * users.txt: New file.
49263
49264 2006-08-11  Bruno Haible  <bruno@clisp.org>
49265
49266         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
49267         before <wchar.h>. Needed for OSF/1 and BSD/OS.
49268
49269 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49270
49271         * modules/snprintf (Depends-on): Remove minmax.
49272         (Maintainer): Add self and Bruno.
49273
49274 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
49275
49276         * lib/.cppi-disable: Add snprintf.h, socket_.h.
49277         * lib/snprintf.c: Include <errno.h> and <limits.h>.
49278         (EOVERFLOW): Define if the system does not.
49279         Do not include "minmax.h"; it wasn't used.
49280         (snprintf): Don't assume size_t promotes to an unsigned type.
49281         Fix bug when generated string was too long for the buffer: the
49282         buffer's contents are supposed to be the initial prefix of the
49283         output.  Don't assume vasnprintf returns EOVERFLOW if the size
49284         exceeds INT_MAX; do the check ourselves.
49285
49286         Import the following changes from libc:
49287
49288         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
49289
49290         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
49291         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
49292         set wc to the byte which couldn't be converted.
49293         (re_string_reconstruct): Don't clear valid_raw_len before calling
49294         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
49295         tip_context using re_string_context_at.
49296
49297         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
49298
49299         * lib/posix/regex.h: g++ still cannot handled [restrict].
49300
49301         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
49302
49303         * lib/posix/regex.h: Remove special handling for VMS.
49304
49305 2006-08-10  Jim Meyering  <jim@meyering.net>
49306
49307         * modules/same-inode: New module.
49308         * modules/dev-ino: New module.
49309         * modules/cycle-check: Depend on these modules, rather than simply
49310         including their .h files.
49311         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
49312         required via m4/cycle-check.m4.
49313         * modules/same: Depend on new same-inode module, rather than
49314         including same-inode.h.
49315         * modules/chdir-safer: New file.
49316
49317         * modules/chown (Depends-on): Add stat-macros.
49318
49319 2006-08-10  Jim Meyering  <jim@meyering.net>
49320
49321         * m4/cycle-check.m4: New file.
49322         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
49323         * m4/dev-ino.m4, m4/same-inode.m4: New files.
49324
49325 2006-08-10  Eric Blake  <ebb9@byu.net>
49326
49327         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
49328         in from original proposal.
49329
49330 2006-08-10  Eric Blake  <ebb9@byu.net>
49331         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
49332
49333         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
49334         namespace.
49335
49336 2006-08-10  Bruno Haible  <bruno@clisp.org>
49337
49338         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
49339         as well.
49340
49341 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49342
49343         Sync from coreutils.
49344
49345         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
49346
49347         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
49348         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
49349
49350 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49351
49352         * modules/restrict: Remove; no longer needed now that we assume
49353         Autoconf 2.59 or later.
49354         * MODULES.html.sh: Remove 'restrict'.
49355         * modules/argp (Depends-on): Remove 'restrict'.
49356         * modules/base64 (Depends-on): Likewise.
49357         * modules/gc (Depends-on): Likewise.
49358         * modules/getaddrinfo (Depends-on): Likewise.
49359         * modules/glob (Depends-on): Likewise.
49360         * modules/inet_ntop (Depends-on): Likewise.
49361         * modules/inet_pton (Depends-on): Likewise.
49362         * modules/memxor (Depends-on): Likewise.
49363         * modules/regex (Depends-on): Likewise.
49364         * modules/strtok_r (Depends-on): Likewise.
49365         * modules/time_r (Depends-on): Likewise.
49366
49367 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
49368
49369         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
49370         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
49371         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
49372         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
49373         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
49374         * m4/memxor.m4 (gl_MEMXOR): Likewise.
49375         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
49376         gl_C_RESTRICT replaced by AC_C_RESTRICT.
49377
49378         Merge from coreutils.
49379         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
49380         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
49381         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
49382         * m4/time_r.m4 (gl_TIME_R): Likewise.
49383
49384 2006-08-09  Karl Berry  <karl@gnu.org>
49385
49386         * config/srclist.txt: no more gettext-tools, per Bruno.
49387
49388 2006-08-08  Eric Blake  <ebb9@byu.net>
49389
49390         * modules/verror: New module.
49391         * MODULES.html.sh: Document it.
49392
49393 2006-08-08  Eric Blake  <ebb9@byu.net>
49394
49395         * lib/verror.h, lib/verror.c: New files.
49396
49397 2006-08-08  Eric Blake  <ebb9@byu.net>
49398
49399         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
49400         verror_at_line output complies with GNU Coding Standards even when
49401         file is NULL.
49402
49403 2006-08-07  Bruno Haible  <bruno@clisp.org>
49404
49405         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
49406         versions of AIX.
49407         Reported by Ralf Wildenhues.
49408
49409 2006-08-07  Bruno Haible  <bruno@clisp.org>
49410
49411         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
49412         in an AC_DEFUN. Needed so that the autoconf snippets can use
49413         AC_REQUIRE.
49414
49415 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49416
49417         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49418         Initialize pkgdata_DATA.
49419         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
49420         overriding it.
49421
49422 2006-08-06  Eric Blake  <ebb9@byu.net>
49423
49424         * lib/error.h: Fold in some upstream changes from glibc.
49425         * lib/error.c: Likewise.
49426
49427 2006-08-04  Bruno Haible  <bruno@clisp.org>
49428
49429         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49430         Make the mostlyclean-local rule depend on mostlyclean-generic.
49431         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
49432
49433 2006-07-31  Bruno Haible  <bruno@clisp.org>
49434
49435         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
49436         <stdlib.h>, <string.h>.
49437
49438 2006-07-30  Bruno Haible  <bruno@clisp.org>
49439
49440         * modules/readlink (License): Change to LGPL.
49441
49442 2006-07-30  Bruno Haible  <bruno@clisp.org>
49443
49444         * modules/javaversion (Makefile.am): Distribute javaversion.java and
49445         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
49446         set PKGDATADIR to point to it.
49447
49448 2006-07-30  Bruno Haible  <bruno@clisp.org>
49449
49450         * modules/csharpexec (configure.ac): Comment out macro invocation.
49451         * modules/javaexec (configure.ac): Likewise.
49452         * modules/javacomp-script (configure.ac): Likewise.
49453
49454         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
49455
49456 2006-07-30  Bruno Haible  <bruno@clisp.org>
49457
49458         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
49459         linked-list.
49460
49461 2006-07-30  Bruno Haible  <bruno@clisp.org>
49462
49463         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
49464
49465 2006-07-30  Bruno Haible  <bruno@clisp.org>
49466
49467         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
49468         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
49469         get removed.
49470
49471 2006-07-29  Bruno Haible  <bruno@clisp.org>
49472
49473         Make it possible for gnulib-tool to work with locally modified or
49474         augmented gnulib repositories.
49475         * gnulib-tool (func_usage): Document --local-dir option.
49476         (local_gnulib_dir): New variable.
49477         Handle --local-dir option.
49478         (func_lookup_file): New function.
49479         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
49480         (func_get_description, func_get_filelist, func_get_description,
49481         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
49482         func_get_automake_snippet, func_get_include_directive,
49483         func_get_license, func_get_maintainer): Use func_lookup_file.
49484         (func_import, func_create_testdir): Use func_lookup_file.
49485
49486 2006-07-29  Bruno Haible  <bruno@clisp.org>
49487
49488         * modules/setenv (Depends-on): Add unistd.
49489
49490 2006-07-29  Bruno Haible  <bruno@clisp.org>
49491
49492         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
49493
49494 2006-07-29  Bruno Haible  <bruno@clisp.org>
49495
49496         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
49497
49498 2006-07-29  Bruno Haible  <bruno@clisp.org>
49499
49500         * gnulib-tool (import, update): If there is no Makefile.am, look at
49501         aclocal.m4, instead of bailing out.
49502
49503 2006-07-29  Bruno Haible  <bruno@clisp.org>
49504
49505         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
49506         Categorize the options by when they are useful.
49507
49508 2006-07-29  Bruno Haible  <bruno@clisp.org>
49509
49510         * gnulib-tool (func_usage): Document option --no-libtool.
49511         Handle option --no-libtool.
49512         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
49513         for changed semantics of $libtool variable.
49514         (func_import): Likewise. If libtool is not used, show this through
49515         an option --no-libtool.
49516         (func_create_testdir): Update.
49517
49518 2006-07-29  Bruno Haible  <bruno@clisp.org>
49519
49520         * gnulib-tool (func_import): Extend error message about missing
49521         --doc-base.
49522
49523 2006-07-29  Bruno Haible  <bruno@clisp.org>
49524
49525         * gnulib-tool (func_import): Don't create the $docbase directory if
49526         there is no file to store there.
49527
49528 2006-07-29  Bruno Haible  <bruno@clisp.org>
49529
49530         * gnulib-tool (autoconf_minversion): If a --dir option is given and
49531         relevant, look for configure.ac there, not in the current directory.
49532         Also use a simple search for AC_PREREQ, not "autoconf --trace".
49533
49534 2006-07-29  Bruno Haible  <bruno@clisp.org>
49535
49536         * gnulib-tool (SORT): New variable.
49537         (func_usage): Undocument --assume-autoconf option.
49538         Remove --assume-autoconf option handling.
49539         (autoconf_minversion): Determine from the contents of configure.ac.
49540         (func_import): Remove autoconf_minversion handling.
49541         Suggested by Eric Blake.
49542
49543 2006-07-29  Bruno Haible  <bruno@clisp.org>
49544
49545         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
49546
49547 2006-07-29  Bruno Haible  <bruno@clisp.org>
49548
49549         * config/srclist.txt (*setenv.[ch]): Remove rules.
49550
49551 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49552
49553         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
49554
49555 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49556
49557         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
49558         arpa/inet.h.
49559
49560 2006-07-28  Simon Josefsson  <jas@extundo.com>
49561
49562         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
49563         * modules/inet_pton (Depends-on): Likewise.
49564
49565 2006-07-28  Simon Josefsson  <jas@extundo.com>
49566
49567         * m4/netinet_in_h.m4: New file.
49568
49569 2006-07-28  Simon Josefsson  <jas@extundo.com>
49570
49571         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
49572         #include's.
49573
49574 2006-07-28  Simon Josefsson  <jas@extundo.com>
49575
49576         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
49577         #include's.
49578
49579 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
49580
49581         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
49582         setgid on directories only if they set these bits.
49583         * lib/modechange.h: Remove obsolete comment about masks.
49584
49585 2006-07-28  Eric Blake  <ebb9@byu.net>
49586
49587         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
49588         macro expansion.
49589
49590 2006-07-28  Bruno Haible  <bruno@clisp.org>
49591
49592         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
49593
49594 2006-07-28  Bruno Haible  <bruno@clisp.org>
49595
49596         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
49597
49598 2006-07-28  Bruno Haible  <bruno@clisp.org>
49599
49600         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
49601         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
49602         Define fallbacks.
49603         Avoids link error on FreeBSD 4.x.
49604         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49605
49606         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
49607         encoding.
49608         * lib/mbswidth.c (iswcntrl): Likewise.
49609
49610 2006-07-27  Bruno Haible  <bruno@clisp.org>
49611
49612         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
49613         test.
49614
49615 2006-07-27  Bruno Haible  <bruno@clisp.org>
49616
49617         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
49618         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
49619         defined.
49620
49621 2006-07-26  Eric Blake  <ebb9@byu.net>
49622
49623         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
49624
49625 2006-07-26  Eric Blake  <ebb9@byu.net>
49626
49627         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
49628         like mingw that lack mkstemp.
49629         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
49630         avoid compilation warning on mingw.
49631
49632 2006-07-26  Bruno Haible  <bruno@clisp.org>
49633
49634         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
49635         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
49636         INT_FAST*_MIN, INTPTR_MIN.
49637
49638 2006-07-25  Bruno Haible  <bruno@clisp.org>
49639
49640         * modules/version-etc (Depends-on): Add stdarg.
49641
49642 2006-07-25  Bruno Haible  <bruno@clisp.org>
49643
49644         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
49645         complex commands.
49646
49647 2006-07-25  Bruno Haible  <bruno@clisp.org>
49648
49649         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
49650         defined in <stdarg.h> or config.h.
49651
49652 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49653
49654         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
49655         (gl_STDIO_SAFER): Remove.
49656
49657 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49658
49659         * MODULES.html.sh (File stream based Input/Output):
49660         Add fopen-safer, tmpfile-safer; remove stdio-safer.
49661         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
49662         * modules/fopen-safer, modules/tmpfile-safer: New files.
49663         * modules/stdio-safer: Remove.
49664
49665 2006-07-24  Bruno Haible  <bruno@clisp.org>
49666
49667         * modules/tmpdir: New file.
49668         * MODULES.html.sh (File system functions): Add it.
49669
49670 2006-07-24  Bruno Haible  <bruno@clisp.org>
49671
49672         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
49673         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
49674
49675 2006-07-24  Bruno Haible  <bruno@clisp.org>
49676
49677         * modules/clean-temp: New file.
49678
49679 2006-07-24  Bruno Haible  <bruno@clisp.org>
49680
49681         * m4/tmpdir.m4: New file, from GNU gettext.
49682
49683 2006-07-24  Bruno Haible  <bruno@clisp.org>
49684
49685         * lib/tmpdir.h: New file, from GNU gettext.
49686         * lib/tmpdir.c: New file, from GNU gettext.
49687
49688 2006-07-24  Bruno Haible  <bruno@clisp.org>
49689
49690         * lib/clean-temp.h: New file, from GNU gettext.
49691         * lib/clean-temp.c: New file, from GNU gettext.
49692
49693 2006-07-23  Eric Blake  <ebb9@byu.net>
49694
49695         * modules/stdio-safer (Files): Add tmpfile-safer.c.
49696         (Depends-on): Add binary-io.
49697
49698 2006-07-23  Eric Blake  <ebb9@byu.net>
49699
49700         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
49701
49702 2006-07-23  Eric Blake  <ebb9@byu.net>
49703
49704         * lib/tmpfile-safer.c: New file.
49705         * lib/stdio-safer.h (fopen_safer): Add prototype.
49706         * lib/stdio--.h (tmpfile): Make safer.
49707
49708 2006-07-23  Bruno Haible  <bruno@clisp.org>
49709
49710         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
49711         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
49712         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
49713         gl_linked_remove_at): Use it.
49714
49715 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49716         and Simon Josefsson <jas@extundo.com>
49717
49718         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
49719
49720         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
49721
49722 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49723
49724         * modules/close-stream: New file.
49725         * modules/closeout (Description): Make it clear that it exits
49726         with a diagnostic on error.
49727         (Depends-on): Add close-stream.  Remove fpending, stdbool.
49728         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
49729
49730 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49731
49732         * m4/close-stream.m4: New file.
49733
49734 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
49735
49736         * lib/close-stream.c, lib/close-stream.h: New files.
49737
49738 2006-07-22  Bruno Haible  <bruno@clisp.org>
49739
49740         Merge from GNU gettext 0.15.
49741
49742         2006-05-01  Bruno Haible  <bruno@clisp.org>
49743
49744                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
49745
49746         2006-07-22  Bruno Haible  <bruno@clisp.org>
49747
49748                 * modules/javaversion: New file.
49749                 * MODULES.html.sh (Java): Add javaversion.
49750
49751         2006-03-12  Bruno Haible  <bruno@clisp.org>
49752
49753                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
49754
49755         2005-12-04  Bruno Haible  <bruno@clisp.org>
49756
49757                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
49758                 (untested).
49759
49760         2006-06-21  Bruno Haible  <bruno@clisp.org>
49761
49762                 Avoid warnings from recent versions of mcs.
49763                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
49764                 -o, -L, -r any more. Use options documented since mcs-1.0
49765                 instead. Similarly for -g.
49766
49767         2005-12-04  Bruno Haible  <bruno@clisp.org>
49768
49769                 * build-aux/csharpcomp.sh.in: Suffix for resources is
49770                 .resources, not .resource.
49771
49772         2005-07-09  Bruno Haible  <bruno@clisp.org>
49773
49774                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
49775                 add a .dll suffix.
49776                 Reported by Mark Junker <mjscod@gmx.de>.
49777
49778         2006-07-22  Bruno Haible  <bruno@clisp.org>
49779
49780                 * modules/gettext: Upgrade to gettext-0.15.
49781                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
49782                 m4/visibility.m4.
49783                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
49784
49785 2006-07-22  Bruno Haible  <bruno@clisp.org>
49786
49787         Merge from GNU gettext 0.15.
49788
49789         2006-03-25  Bruno Haible  <bruno@clisp.org>
49790
49791                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
49792
49793         2006-07-21  Bruno Haible  <bruno@clisp.org>
49794
49795                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
49796                 "1.1".
49797
49798         2006-05-09  Bruno Haible  <bruno@clisp.org>
49799
49800                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
49801                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
49802                 for the conftestver execution.
49803
49804         2006-05-01  Bruno Haible  <bruno@clisp.org>
49805
49806                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
49807                 optional target-version argument. Verify that the compiler
49808                 groks source of the specified source-version, or add -source
49809                 option as necessary. Verify that the compiler produces
49810                 bytecode in the specified target-version, or add -target and
49811                 -source options as necessary. Make the result of the test
49812                 available as variable CONF_JAVAC. Also log error output in
49813                 config.log.
49814
49815         2006-03-11  Bruno Haible  <bruno@clisp.org>
49816
49817                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
49818
49819         2006-05-09  Bruno Haible  <bruno@clisp.org>
49820
49821                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
49822                 CLASSPATH_SEPARATOR to a semicolon.
49823
49824         2006-03-12  Bruno Haible  <bruno@clisp.org>
49825
49826                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
49827                 available as variable CONF_JAVA, for subsequent autoconf
49828                 tests. Also log error output in config.log.
49829
49830         2006-07-19  Bruno Haible  <bruno@clisp.org>
49831
49832                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
49833                 that getline works on glibc2 systems. Needed to avoid trouble
49834                 in relocatable.c.
49835                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
49836
49837         2005-12-04  Bruno Haible  <bruno@clisp.org>
49838
49839                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
49840                 launcher (untested).
49841
49842         2005-12-04  Bruno Haible  <bruno@clisp.org>
49843
49844                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
49845
49846         2006-07-22  Bruno Haible  <bruno@clisp.org>
49847
49848                 * gettext.m4: Update from GNU gettext-0.15.
49849                 * nls.m4: Likewise.
49850                 * po.m4: Likewise.
49851                 * inttypes-pri.m4: Likewise.
49852                 * inttypes-h.m4: Renamed from inttypes.m4.
49853                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
49854
49855 2006-07-22  Bruno Haible  <bruno@clisp.org>
49856
49857         Merge from GNU gettext 0.15.
49858
49859         2005-07-05  Bruno Haible  <bruno@clisp.org>
49860
49861                 * printf-args.c (printf_fetchargs): Work around broken
49862                 definition of wint_t on mingw.
49863
49864         2005-02-12  Bruno Haible  <bruno@clisp.org>
49865
49866                 * xallocsa.h: Add extern "C" for C++.
49867
49868         2006-05-17  Bruno Haible  <bruno@clisp.org>
49869
49870                 Cygwin portability.
49871                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
49872
49873         2006-04-30  Bruno Haible  <bruno@clisp.org>
49874
49875                 * progreloc.c: Include <mach-o/dyld.h> if available.
49876                 (find_executable): Use _NSGetExecutablePath when possible.
49877
49878         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
49879
49880                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
49881                 function.
49882
49883         2005-12-29  Bruno Haible  <bruno@clisp.org>
49884
49885                 * progreloc.c (set_program_name_and_installdir): Fix
49886                 compilation error.
49887
49888         2005-12-04  Bruno Haible  <bruno@clisp.org>
49889
49890                 Cygwin portability.
49891                 * progreloc.c: Include <windows.h> also on Cygwin.
49892                 (find_executable): Add support for Cygwin.
49893                 (set_program_name_and_installdir): Handle also platforms with
49894                 nonempty EXEEXT.
49895
49896         2006-07-11  Bruno Haible  <bruno@clisp.org>
49897
49898                 * javacomp.c: Fix a comment.
49899                 Reported by Jim Meyering.
49900
49901         2006-04-30  Bruno Haible  <bruno@clisp.org>
49902
49903                 * javacomp.h (compile_java_class): Add source_version,
49904                 target_version arguments.
49905                 * javacomp.c: Rewritten to choose only a compiler that
49906                 respects the specified source_version and target_version.
49907
49908         2006-06-27  Bruno Haible  <bruno@clisp.org>
49909
49910                 Assume correct S_ISDIR macro.
49911                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
49912
49913         2006-07-22  Bruno Haible  <bruno@clisp.org>
49914
49915                 * javaversion.h: New file, from GNU gettext.
49916                 * javaversion.c: New file, from GNU gettext.
49917                 * javaversion.java: New file, from GNU gettext.
49918                 * javaversion.class: New file, from GNU gettext.
49919
49920         2006-05-17  Bruno Haible  <bruno@clisp.org>
49921
49922                 Cygwin portability.
49923                 * javaexec.c (execute_java_class): Test for jview program
49924                 also on Cygwin.
49925
49926         2006-04-09  Bruno Haible  <bruno@clisp.org>
49927
49928                 * fatal-signal.c: Don't include string.h.
49929                 (at_fatal_signal): Use a copying loop instead of memcpy.
49930
49931         2005-12-04  Bruno Haible  <bruno@clisp.org>
49932
49933                 * csharpexec.c: Add support for 'clix' launcher (untested).
49934                 (execute_csharp_using_sscli): New function.
49935                 (execute_csharp_program): Call it.
49936
49937         2006-06-21  Bruno Haible  <bruno@clisp.org>
49938
49939                 Avoid warnings from recent versions of mcs.
49940                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
49941                 -o, -L, -r any more. Use options documented since mcs-1.0
49942                 instead. Similarly for -g.
49943
49944         2005-07-09  Bruno Haible  <bruno@clisp.org>
49945
49946                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
49947                 add a .dll suffix.
49948                 Reported by Mark Junker <mjscod@gmx.de>.
49949
49950         2006-06-17  Bruno Haible  <bruno@clisp.org>
49951
49952                 * config.charset: Update for NetBSD 3.0.
49953
49954         2006-05-17  Bruno Haible  <bruno@clisp.org>
49955
49956                 Cygwin portability.
49957                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
49958
49959         2006-05-16  Bruno Haible  <bruno@clisp.org>
49960
49961                 * localcharset.c [CYGWIN]: Include <windows.h>.
49962                 (get_charset_aliases): For Cygwin, return the same CPxxx
49963                 aliases list as under WIN32.
49964                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
49965                 the environment variables. Fall back to GetACP().
49966
49967         2006-04-05  Bruno Haible  <bruno@clisp.org>
49968
49969                 * config.charset: Update Juan Manuel Guerrero's address.
49970
49971         2005-02-12  Bruno Haible  <bruno@clisp.org>
49972
49973                 * allocsa.h: Add extern "C" for C++.
49974
49975         2005-02-10  Bruno Haible  <bruno@clisp.org>
49976
49977                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
49978                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
49979
49980         2006-07-22  Bruno Haible  <bruno@clisp.org>
49981
49982                 * gettext.h: Update to GNU gettext-0.15.
49983
49984 2006-07-22  Bruno Haible  <bruno@clisp.org>
49985
49986         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
49987         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
49988         lib-prefix.m4, longdouble.m4, ssize_t.m4.
49989
49990 2006-07-21  Eric Blake  <ebb9@byu.net>
49991
49992         * modules/stdlib-safer: New file.
49993         * MODULES.html.sh (File stream based Input/Output): Add
49994         stdlib-safer.
49995
49996 2006-07-21  Eric Blake  <ebb9@byu.net>
49997
49998         * lib/stdlib-safer.h: New file from coreutils, required by
49999         stdlib--.h.
50000
50001 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
50002
50003         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
50004
50005 2006-07-20  Bruno Haible  <bruno@clisp.org>
50006
50007         * gnulib-tool: Recognize new option --assume-autoconf.
50008         (autoconf_minversion): New variable.
50009         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
50010
50011 2006-07-20  Bruno Haible  <bruno@clisp.org>
50012
50013         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
50014
50015 2006-07-19  Derek R. Price  <derek@ximbiot.com>
50016
50017         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
50018         Reindent and repaginate.
50019
50020 2006-07-19  Derek Price  <derek@ximbiot.com>
50021
50022         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
50023         Correct grammar.
50024
50025 2006-07-17  Bruno Haible  <bruno@clisp.org>
50026
50027         * modules/list: New file.
50028         * modules/array-list: New file.
50029         * modules/carray-list, modules/carray-list-tests: New files.
50030         * modules/linked-list, modules/linked-list-tests: New files.
50031         * modules/avltree-list, modules/avltree-list-tests: New files.
50032         * modules/rbtree-list, modules/rbtree-list-tests: New files.
50033         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
50034         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
50035         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
50036         * modules/oset: New file.
50037         * modules/array-oset: New file.
50038         * modules/avltree-oset, modules/avltree-oset-tests: New files.
50039         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
50040         * tests/test-carray_list.c: New file.
50041         * tests/test-linked_list.c: New file.
50042         * tests/test-avltree_list.c: New file.
50043         * tests/test-rbtree_list.c: New file.
50044         * tests/test-linkedhash_list.c: New file.
50045         * tests/test-avltreehash_list.c: New file.
50046         * tests/test-rbtreehash_list.c: New file.
50047         * tests/test-avltree_oset.c: New file.
50048         * tests/test-rbtree_oset.c: New file.
50049         * MODULES.html.sh (Container data structures): New section.
50050
50051 2006-07-17  Bruno Haible  <bruno@clisp.org>
50052
50053         * m4/gl_list.m4: New file.
50054
50055 2006-07-17  Bruno Haible  <bruno@clisp.org>
50056
50057         * lib/gl_list.h: New file.
50058         * lib/gl_list.c: New file.
50059         * lib/gl_array_list.h: New file.
50060         * lib/gl_array_list.c: New file.
50061         * lib/gl_carray_list.h: New file.
50062         * lib/gl_carray_list.c: New file.
50063         * lib/gl_linked_list.h: New file.
50064         * lib/gl_linked_list.c: New file.
50065         * lib/gl_anylinked_list1.h: New file.
50066         * lib/gl_anylinked_list2.h: New file.
50067         * lib/gl_avltree_list.h: New file.
50068         * lib/gl_avltree_list.c: New file.
50069         * lib/gl_anyavltree_list1.h: New file.
50070         * lib/gl_anyavltree_list2.h: New file.
50071         * lib/gl_rbtree_list.h: New file.
50072         * lib/gl_rbtree_list.c: New file.
50073         * lib/gl_anyrbtree_list1.h: New file.
50074         * lib/gl_anyrbtree_list2.h: New file.
50075         * lib/gl_anytree_list1.h: New file.
50076         * lib/gl_anytree_list2.h: New file.
50077         * lib/gl_linkedhash_list.h: New file.
50078         * lib/gl_linkedhash_list.c: New file.
50079         * lib/gl_anyhash_list1.h: New file.
50080         * lib/gl_anyhash_list2.h: New file.
50081         * lib/gl_avltreehash_list.h: New file.
50082         * lib/gl_avltreehash_list.c: New file.
50083         * lib/gl_rbtreehash_list.h: New file.
50084         * lib/gl_rbtreehash_list.c: New file.
50085         * lib/gl_anytreehash_list1.h: New file.
50086         * lib/gl_anytreehash_list2.h: New file.
50087
50088         * lib/gl_oset.h: New file.
50089         * lib/gl_oset.c: New file.
50090         * lib/gl_array_oset.h: New file.
50091         * lib/gl_array_oset.c: New file.
50092         * lib/gl_avltree_oset.h: New file.
50093         * lib/gl_avltree_oset.c: New file.
50094         * lib/gl_rbtree_oset.h: New file.
50095         * lib/gl_rbtree_oset.c: New file.
50096         * lib/gl_anytree_oset.h: New file.
50097
50098 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
50099
50100         * m4/mkancesdirs.m4: New file.
50101         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
50102         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
50103         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
50104         it.
50105
50106 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
50107
50108         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
50109         * lib/mkancesdirs.h: New files.
50110         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
50111         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
50112         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
50113         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
50114         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
50115         callers changed.  Revamp internals significantly, by not
50116         attempting to create directories that are temporarily more
50117         permissive than the final results.  Do not attempt to use
50118         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
50119         This removes some race conditions, fixes some bugs, and simplifies
50120         things.  Use new dirchownmod function to do owner and mode changes.
50121         * lib/mkdir-p.h: Likewise.
50122         * lib/modechange.c (octal_to_mode): New function.
50123         (struct mode_change): New member mentioned.
50124         (make_node_op_equals): New arg mentioned.  All callers changed.
50125         (mode_compile): Keep track of which mode bits the user has explicitly
50126         mentioned.
50127         (mode_adjust): New arg DIR, so that we implement the X op correctly.
50128         New arg PMODE_BITS, to keep track of which mode bits the user
50129         mentioned; it treats S_ISUID and S_ISGID speciall.
50130         All callers changed.
50131         * lib/modechange.h: Likewise.
50132
50133 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
50134
50135         * MODULES.html.sh: Add mkancestors.
50136         * modules/mkancesdirs: New module.
50137         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
50138         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
50139         The chdir-safer and afs files are now orphans; I'll remove them
50140         unless someone speaks up.
50141         Add lib/dirchownmod.c, lib/dirchownmod.h.
50142         (Depends-on): Remove alloca, chown, save-cwd, dirname.
50143         Add lchown, mkancesdirs.
50144         (Maintainer): Add self.
50145
50146 2006-07-15  Karl Berry  <karl@gnu.org>
50147
50148         * gnulib-tool: help message wording/arrangement.
50149
50150 2006-07-14  Simon Josefsson  <jas@extundo.com>
50151
50152         * doc/gnulib.texi (Libtool and Windows): New section.
50153
50154 2006-07-12  Simon Josefsson  <jas@extundo.com>
50155
50156         * modules/gendocs (License): Fix license, approved by Karl.
50157
50158 2006-07-12  Eric Blake  <ebb9@byu.net>
50159
50160         * MODULES.html.sh: Add gendocs.
50161
50162 2006-07-11  Eric Blake  <ebb9@byu.net>
50163
50164         * modules/fdl: New module, to install doc/fdl.texi.
50165         * MODULES.html.sh: Add new section for documentation modules.
50166         * gnulib-tool: Avoid space-tab.
50167         (--doc-base): New option, to manage files from doc.
50168
50169 2006-07-11  Eric Blake  <ebb9@byu.net>
50170
50171         * m4/absolute-header.m4: Fix comments to match recent change.
50172
50173 2006-07-11  Eric Blake  <ebb9@byu.net>
50174
50175         * gnulib-tool: List --doc-base before --tests-base.
50176
50177 2006-07-11  Derek R. Price  <derek@ximbiot.com>
50178
50179         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
50180
50181 2006-07-11  Bruno Haible  <bruno@clisp.org>
50182
50183         * README: Mention where to put documentation.
50184
50185 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50186
50187         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
50188
50189 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
50190
50191         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
50192         to stdint.m4.
50193
50194 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
50195
50196         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
50197         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
50198         "no/such/file/stdint.h" when there is no such file, so that
50199         the resulting C code can be parsed by dodgy compilers.
50200         Problems reported by Bob Proulx.
50201
50202 2006-07-10  Derek R. Price  <derek@ximbiot.com>
50203
50204         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
50205         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
50206         macros into the GNU _D_EXACT_NAMLEN.
50207         * lib/savedir.c:  Likewise.
50208         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
50209
50210 2006-07-10  Derek R. Price  <derek@ximbiot.com>
50211         and Paul Eggert  <eggert@cs.ucla.edu>
50212
50213         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
50214         * m4/savedir.m4:
50215         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
50216         macros into the GNU _D_EXACT_NAMLEN.
50217
50218 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50219
50220         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
50221         around the absolute name, to work around a problem with the HP-UX
50222         11.23 native C compiler, reported by Bob Proulx.
50223
50224 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50225
50226         * doc/maintain.texi, make-stds.texi: Sync from
50227         <http://savannah.gnu.org/projects/gnustandards>.
50228
50229 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
50230
50231         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
50232
50233 2006-07-09  Jim Meyering  <jim@meyering.net>
50234
50235         * m4/glob.m4: Remove a doubled word in a comment.
50236
50237 2006-07-09  Jim Meyering  <jim@meyering.net>
50238
50239         * lib/argp-pv.c: Remove a doubled word in a comment.
50240         * lib/check-version.c (check_version): Likewise.
50241         * lib/javacomp.c (compile_java_class): Likewise.
50242
50243 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
50244
50245         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
50246         for the benefit of people using Autoconf 2.60.  If you want to
50247         support older Autoconf versions you can copy m4/onceonly_2_57.m4
50248         (or m4/onceonly.m4, if pre-2.57) manually.
50249
50250 2006-07-08  Jim Meyering  <jim@meyering.net>
50251
50252         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
50253         comment.
50254         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
50255         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
50256         comment.
50257
50258 2006-07-08  Jim Meyering  <jim@meyering.net>
50259
50260         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
50261
50262 2006-07-07  Simon Josefsson  <jas@extundo.com>
50263
50264         * tests/test-crc.c: Change expected crc value, the test vector
50265         were probably computed using the old broken crc.c?
50266
50267 2006-07-06  Simon Josefsson  <jas@extundo.com>
50268
50269         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
50270         now the canonical place for the M4 file).
50271
50272         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
50273         from the sys_socket dependency now.
50274
50275         * modules/inet_pton (Files): Ditto.
50276
50277         * modules/inet_ntop (Files): Ditto.
50278
50279 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
50280
50281         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
50282         not gl_PREREQ_GETUSERSHELL.
50283
50284 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50285
50286         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
50287         with only one argument, for Autoconf 2.60.
50288         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
50289         expand to nothing, so add a shell command to avoid syntax error.
50290         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
50291
50292 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50293
50294         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
50295
50296 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50297
50298         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
50299         no longer needed.  Check for isblank decl.
50300         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
50301         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
50302         of existence.
50303
50304 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50305
50306         * lib/getloadavg.c: Use __VMS, not VMS.
50307         * lib/getopt.c: Likewise.
50308         * lib/getpagesize.h: Likewise.
50309         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
50310         and probably does not work.
50311
50312 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50313
50314         * lib/.cppi-disable: Add wcwidth.
50315         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
50316         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
50317         (ISGRAPH): Remove.  All uses changed to isgraph.
50318         (FOLD) [!defined _LIBC]: Remove special case.
50319         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
50320         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
50321         HAVE_ISBLANK.
50322         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
50323         case.
50324
50325 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
50326
50327         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
50328         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
50329         brackets.  Other minor changes to suppress some compiler
50330         warnings.
50331
50332 2006-07-06  Derek R. Price  <derek@ximbiot.com>
50333         and Paul Eggert  <eggert@cs.ucla.edu>
50334
50335         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
50336         of invoking obsolescent AC_HEADER_DIRENT macro.
50337         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
50338         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
50339         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
50340         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
50341         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
50342         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
50343         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
50344         * m4/readdir.m4: Remove; no longer needed.
50345
50346 2006-07-06  Derek R. Price  <derek@ximbiot.com>
50347         and Paul Eggert  <eggert@cs.ucla.edu>
50348
50349         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
50350         Don't worry about this obsolete case any more.
50351         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
50352         directories.
50353         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
50354         worry about this obsolete case any more.
50355         * lib/fts.c: Likewise.
50356         * lib/getcwd.c: Likewise.
50357         * lib/glob.h: Likewise.
50358         * lib/savedir.c: Likewise.
50359
50360 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
50361
50362         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
50363         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
50364         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
50365         needed.
50366         All uses removed.
50367         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
50368         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
50369         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
50370         needed.
50371         * m4/getdate.m4 (gl_GETDATE): Likewise.
50372         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
50373         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
50374         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
50375         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
50376         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
50377         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
50378         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
50379         needed.
50380
50381 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
50382
50383         * lib/memcasecmp.c: Include <limits.h>.
50384         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
50385         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
50386         Don't assume isdigit succeeds only on '0' through '9'.
50387
50388 2006-07-05  Eric Blake  <ebb9@byu.net>
50389
50390         * modules/getaddrinfo (Depends-on): Add snprintf.
50391
50392 2006-07-05  Eric Blake  <ebb9@byu.net>
50393
50394         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
50395         to avoid 'header present but could not be compiled' on cygwin.
50396
50397 2006-07-05  Eric Blake  <ebb9@byu.net>
50398
50399         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
50400         missing from netdb.h.
50401         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
50402
50403 2006-07-05  Derek R. Price  <derek@ximbiot.com>
50404
50405         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
50406         no longer needed.
50407         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
50408         * m4/getdate.m4 (gl_GETDATE): Likewise.
50409         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
50410         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
50411         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
50412         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
50413         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
50414
50415 2006-07-05  Derek R. Price  <derek@ximbiot.com>
50416
50417         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
50418         All uses of is_space replaced by isspace.
50419         * lib/exit.h: Don't talk about STDC_HEADERS.
50420         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
50421         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
50422         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
50423         replaced by isprint etc.
50424         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
50425         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
50426         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
50427         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
50428         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
50429         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
50430
50431 2006-07-05  Bruno Haible  <bruno@clisp.org>
50432
50433         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
50434         the function exists, before testing against AIX.
50435         Reported by Martin Lambers <marlam@marlam.de>.
50436
50437 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
50438
50439         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
50440         From Mark D. Baushke.
50441
50442 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
50443
50444         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
50445         to the absolute name, not just one, to bypass Sun C 5.8's
50446         "warning: #include of /usr/include/... may be non-portable".
50447
50448 2006-07-04  Eric Blake  <ebb9@byu.net>
50449
50450         * modules/dirname-tests: New test module.
50451         * tests/test-dirname.c: New file, replacing dirname.c
50452         TEST_DIRNAME section that was recently deleted.
50453
50454 2006-07-04  Bruno Haible  <bruno@clisp.org>
50455
50456         Assume ANSI C header files and <ctype.h> functions.
50457         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
50458         (mbsnwidth): Use isprint, iscntrl instead.
50459
50460 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50461
50462         Merge from coreutils.
50463         * MODULES.html.sh: Add xstrtold.
50464         * modules/xstrtold: New file.
50465         * modules/cycle-check (Files): Add lib/same-inode.h.
50466         * modules/dirname (Files): Add m4/double-slash-root.m4.
50467         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
50468         * modules/mkdir-p (Files): Add lib/same-inode.h.
50469         * modules/same (Files): Add lib/same-inode.h.
50470
50471 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50472
50473         * m4/absolute-header.m4: Renamed from full-header-path.m4.
50474         This is to keep the terminology clean; POSIX talks about
50475         "absolute pathnames", not "full pathnames", but the GNU
50476         Coding Standards say to use "path" for something else;
50477         so use "absolute" to keep both sides happy.
50478         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
50479         Set gl_absolute_header, not gl_full_header_path.
50480         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
50481         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
50482         All uses changed.
50483
50484         Merge from coreutils.
50485
50486         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
50487
50488         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
50489         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
50490         want to require the building of c-strtod.o.
50491         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
50492         needs -lm directly.
50493         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
50494
50495         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
50496
50497         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
50498         --as-needed option if available.  Problem reported by Albert Chin in
50499         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
50500         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
50501         cc merely issues a bunch of annoying warnings for --as-needed
50502         (this problem was reported by Bob Proulx).  Also, try linking with
50503         -lm to detect a bug in binutils 2.16 (this problem was reported
50504         by Ralf Wildenhues).
50505
50506         2006-06-18  Jim Meyering  <jim@meyering.net>
50507
50508         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
50509         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
50510         macro.
50511         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
50512         also check for glibc-2.4's abort-inducing bug.
50513
50514         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
50515         Low-probability clean-up should be to use rmdir to get rid of
50516         the just-created directory, not unlink.
50517
50518         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
50519         configure fail, and request a bug report to inform us about it.
50520         Add a comment that, barring reports to the contrary, in 2007 we'll
50521         assume ftruncate is universally available.
50522
50523         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
50524
50525         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
50526
50527         2006-03-12  Jim Meyering  <jim@meyering.net>
50528
50529         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
50530         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
50531         * m4/same.m4 (gl_SAME): Likewise.
50532         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
50533
50534         2006-03-11  Eric Blake  <ebb9@byu.net>
50535
50536         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
50537         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
50538         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
50539         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
50540
50541 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
50542
50543         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
50544         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
50545         reported by Mark D. Baushke, one in
50546         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
50547
50548         Merge from coreutils.
50549
50550         * lib/.cppi-disable: Add stdint_.h.
50551         * lib/.cvsignore: Add stdint.h.
50552
50553         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
50554
50555         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
50556         both double and long double versions.
50557         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
50558         * lib/xstrtold.c: New file.
50559         * lib/xstrtod.h (xstrtold): New decl.
50560
50561         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
50562
50563         * lib/filemode.c (setst): Remove.
50564         (strmode): Rewrite to avoid setst.  This makes the code shorter,
50565         (arguably) clearer, and the generated code is a bit smaller on my
50566         Debian GNU/Linux stable x86 host.
50567
50568         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
50569
50570         * lib/filemode.c: Include "filemode.h" first, to test the interface.
50571         Assume that filemode.h includes sys/types.h and sys/stat.h.
50572         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
50573         (ftypelet): Reorder to put common cases first, for efficiency.
50574         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
50575         to do 'M'.
50576         (strmode): Renamed from mode_string, and now stores 12 bytes instead
50577         of 10, for compatibility with FreeBSD.  All callers changed.
50578         (filemodestring): Now stores 12 bytes instead of 10, and sets file
50579         types that can't be deduced solely from st_mode.  First arg is now a
50580         const pointer.
50581         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
50582         (strmode): Renamed from mode_string.
50583         (filemodestring): New decl.
50584         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
50585         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
50586         needed.
50587         (S_ISPORT, S_ISWHT): New macros, if not already defined.
50588
50589         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
50590
50591         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
50592         fsusage.h now does that.  Include fsusage.h first, to test interface.
50593         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
50594         at most one method (the old code could have generated decls that
50595         didn't conform to C89, not that this was ever exercised).
50596         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
50597
50598         2006-03-19  Jim Meyering  <jim@meyering.net>
50599
50600         Work even in a chroot where d_ino values for entries in "/"
50601         don't match the stat.st_ino values for the same names.
50602         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
50603         number, iterate through all entries again, using lstat instead.
50604         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
50605         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
50606
50607         * lib/getcwd.c (__getcwd): Clarify a comment.
50608         Use memcpy in place of a call to strcpy.
50609
50610         2006-03-12  Jim Meyering  <jim@meyering.net>
50611
50612         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
50613         matches that of the current directory (which we're about to chdir ".."
50614         out of), then save the dev-ino of the parent, instead.
50615
50616         * lib/same-inode.h (SAME_INODE): New file/macro.
50617         * lib/chdir-safer.c (SAME_INODE): Remove definition.
50618         Include "same-inode.h", instead.
50619         * lib/same.c: Likewise.
50620         * lib/cycle-check.h: Include "same-inode.h".
50621         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
50622         * lib/cycle-check.c (SAME_INODE): Remove definition.
50623         * lib/root-dev-ino.h: Include "same-inode.h".
50624
50625         2006-03-11  Eric Blake  <ebb9@byu.net>
50626
50627         * lib/same.c (same_name): s/base_name/last_component/
50628         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
50629         * lib/filenamecat.c (file_name_concat): Likewise.
50630
50631         2006-03-11  Eric Blake  <ebb9@byu.net>,
50632                     Paul Eggert  <eggert@cs.ucla.edu>
50633
50634         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
50635         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
50636         drive prefix.
50637         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
50638         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
50639         (last_component): New method.
50640         * lib/dirname.c (dir_len): Determine when drive letters need a
50641         subsequent slash.  Preserve // when it is special.
50642         (dir_name): Don't append dot when drive letter is absolute.
50643         [TEST_DIRNAME]: Move into a full-blown gnulib test.
50644         * lib/basename.c (base_name): New semantics - malloc the result.
50645         Preserve // when it is special.  Preserve relative files that look
50646         like drive letters.
50647         (base_len): Preserve // when it is special.
50648         (last_component): New method, similar to old base_name semantics.
50649         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
50650         base_name.  Strip redundant slashes from ///.
50651
50652 2006-07-03  Jim Meyering  <jim@meyering.net>
50653
50654         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
50655         macro is used before the first cycle_check call.
50656
50657 2006-07-03  Eric Blake  <ebb9@byu.net>
50658
50659         * modules/dirname (Depends-on): Add xstrndup.
50660
50661 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
50662
50663         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
50664         test cases, so that config.log is a bit easier to follow.
50665
50666 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
50667
50668         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
50669         both are 64 bits, since this seems to be the tradition, and this
50670         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
50671         we ever run into a host that prefers long long to long in this
50672         case, we'll need another configure-time test.  Problem reported by
50673         Jim Meyering.
50674
50675 2006-07-02  Eric Blake  <ebb9@byu.net>
50676
50677         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
50678
50679 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
50680
50681         * modules/inttypes (Depends-on): No longer depends on stdint.
50682         * modules/stdint (Description): Say more about assumptions.
50683         Say that the fast types might differ.  Say macros are used.
50684         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
50685         (Makefile.am): Revise list of substituted symbols to match
50686         new stdint.m4.
50687         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
50688         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
50689         * tests/test-stdint.c (verify_same_types)
50690         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
50691         the code conforms to C99/C89.
50692         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
50693         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
50694
50695 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
50696
50697         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
50698         but fix a bug, by requiring at least 64 bits.
50699         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
50700         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
50701         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
50702         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
50703
50704         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
50705         changes.  Make 2.59 a prerequisite.  Check and substitute for
50706         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
50707         inttypes.h.  Do not use special include files; just use the
50708         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
50709         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
50710         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
50711         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
50712         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
50713         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
50714         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
50715         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
50716         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
50717         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
50718         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
50719         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
50720         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
50721         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
50722         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
50723         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
50724         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
50725         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
50726         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
50727         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
50728         WINT_MAX.  Check for C99 conformance more strictly, by detecting
50729         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
50730         not check for things that C99 does not require, e.g., int8_t.  If
50731         a test isn't needed unless <stdint.h> isn't working, and is
50732         unlikely to be needed for any other reason, then don't do it
50733         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
50734         size_t, since we assume C89 freestanding at least.  Do not check
50735         for sig_atomic_t, wchar_t, or wint_t, since the code now does
50736         the right thing even if the types are not defined.  Instead use:
50737         (gl_STDINT_TYPE_PROPERTIES): New macro.
50738         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
50739         testing whether <sys/types.h> clashes, as Autoconf does this for
50740         us now.  All uses removed.
50741         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
50742         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
50743         (gl_CHECK_TYPE_SAME):
50744         Remove; no longer needed.
50745         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
50746         exists, since we'll return 0 anyway in that case.
50747         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
50748
50749 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
50750
50751         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
50752         possible collision with system files.
50753         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
50754         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
50755         WCHAR_MIN and WCHAR_MAX in this case.
50756         (<stddef.h>): Do not include; no longer needed.
50757         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
50758         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
50759         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
50760         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
50761         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
50762         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
50763         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
50764         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
50765         !defined(__c99))]: Include in this case too, since it's harmless
50766         now.
50767         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
50768         dangerous to do so.
50769         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
50770         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
50771         (_STDINT_MIN, _STDINT_MAX): New macros.
50772         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
50773         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
50774         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
50775         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
50776         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
50777         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
50778         macros, not typedefs; this simplifies things quite a bit.
50779         Use long int for all types narrower than int64_t.
50780         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
50781         Define in terms of long long int or int64_t or long int,
50782         not int64_t or int32_t.  This saves some compile-time testing.
50783         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
50784         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
50785         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
50786         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
50787         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
50788         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
50789         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
50790         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
50791         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
50792         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
50793         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
50794         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
50795         undef any previous version and define our own version, for
50796         simplicity and consistency with the new macros for types.
50797         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
50798         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
50799         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
50800         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
50801         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
50802         @WINT_T_SUFFIX@ to keep things simple here.
50803         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
50804         Simplify by assuming typical 8/16/32/64 host, since we're
50805         already doing that elsewhere anyway.
50806         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
50807         and assume long long int is 64 bits if available.  This
50808         speeds up 'configure'.
50809
50810 2006-07-01  Eric Blake  <ebb9@byu.net>
50811
50812         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
50813         Reported by Andreas Buening.
50814
50815 2006-07-01  Eric Blake  <ebb9@byu.net>
50816
50817         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
50818
50819 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
50820
50821         * lib/getaddrinfo.c: fixed typo
50822
50823 2006-06-29  Jim Meyering  <jim@meyering.net>
50824
50825         * modules/strftime (Maintainer): Add my name, since with the
50826         FPRINTFTIME changes strftime.c has forked from glibc.
50827
50828 2006-06-29  Eric Blake  <ebb9@byu.net>
50829
50830         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
50831
50832 2006-06-29  Eric Blake  <ebb9@byu.net>
50833
50834         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
50835
50836 2006-06-29  Eric Blake  <ebb9@byu.net>
50837
50838         * lib/stat_.h: New file.
50839
50840 2006-06-29  Eric Blake  <ebb9@byu.net>
50841
50842         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
50843         unused static function.
50844
50845 2006-06-29  Eric Blake  <ebb9@byu.net>
50846
50847         * doc/functions.texi (Function Portability): Document missing lstat
50848         on mingw.
50849
50850 2006-06-29  Eric Blake  <ebb9@byu.net>
50851
50852         * MODULES.html.sh: Add sys_stat.
50853         * modules/sys_stat: New module.
50854         * modules/mkstemp (Depends-on): Add sys_stat.
50855
50856 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50857
50858         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
50859
50860 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50861
50862         * m4/c-bs-a.m4: Removed.
50863
50864 2006-06-29  Derek R. Price  <derek@ximbiot.com>
50865
50866         * lib/strftime.c: Assume strftime() exists.
50867
50868 2006-06-29  Derek Price  <derek@ximbiot.com>
50869
50870         * modules/c-bs-a: Removed - \a is C89.
50871         * MODULES.html.sh: Remove c-bs-a.
50872
50873 2006-06-29  Bruno Haible  <bruno@clisp.org>
50874
50875         * modules/wcwidth (License): Change to LGPL.
50876
50877 2006-06-28  Simon Josefsson  <jas@extundo.com>
50878
50879         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
50880         on _WIN32.
50881
50882         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
50883         getnameinfo.
50884
50885 2006-06-28  Simon Josefsson  <jas@extundo.com>
50886
50887         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
50888
50889 2006-06-28  Simon Josefsson  <jas@extundo.com>
50890
50891         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
50892         functions there.  It will succeed on Windows XP, but on Windows
50893         2000 and (presumably) earlier, it will fail, and use the internal
50894         re-implementation.
50895         (use_win32_p): New function.
50896         (getaddrinfo): Use strtoul on servname, to support numeric ports.
50897         Support AI_NUMERICSERV to disable getservbyname.
50898         (getnameinfo): New function, only supports
50899         NI_NUMERICHOST|NI_NUMERICSERV for now.
50900
50901         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
50902         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
50903         getnameinfo.
50904
50905 2006-06-28  Eric Blake  <ebb9@byu.net>
50906
50907         * modules/wcwidth: New file.
50908         * modules/mbchar (Depends-on): Add wcwidth.
50909         * modules/mbswidth (Depends-on): Add wcwidth.
50910         * MODULES.html.sh: Add wcwidth.
50911
50912 2006-06-28  Eric Blake  <ebb9@byu.net>
50913
50914         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
50915         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
50916
50917 2006-06-28  Eric Blake  <ebb9@byu.net>
50918
50919         * lib/xvasprintf.h: Fix comments.
50920
50921 2006-06-28  Eric Blake  <ebb9@byu.net>
50922
50923         * lib/mbchar.h (wcwidth): Include wcwidth.h.
50924         * lib/mbswidth.c (wcwidth): Move from here...
50925         * lib/wcwidth.h: ...to this new file.
50926
50927 2006-06-28  Derek R. Price  <derek@ximbiot.com>
50928
50929         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
50930
50931         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
50932         it's obsolete.
50933         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
50934
50935 2006-06-28  Derek R. Price  <derek@ximbiot.com>
50936
50937         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
50938         Autoconf 2.60 says this stuff was obsolete.
50939
50940 2006-06-28  Bruno Haible  <bruno@clisp.org>
50941
50942         * modules/wcwidth (Files): Add m4/wchar_t.m4.
50943
50944 2006-06-28  Bruno Haible  <bruno@clisp.org>
50945
50946         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
50947         gt_TYPE_WCHAR_T.
50948
50949 2006-06-28  Bruno Haible  <bruno@clisp.org>
50950
50951         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
50952         declaration for wcwidth.
50953         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
50954
50955 2006-06-28  Bruno Haible  <bruno@clisp.org>
50956
50957         * lib/mkdtemp.c [MINGW]: Include <io.h>.
50958         (mkdir): Define using _mkdir.
50959
50960 2006-06-28  Bruno Haible  <bruno@clisp.org>
50961
50962         * lib/getaddrinfo.h: Fix POSIX URL.
50963         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
50964         _WIN32.
50965         (use_win32_p): Make static.
50966         (getaddrinfo): Reject service name if it is empty or does not consist
50967         solely of decimal digits, or if its value is > 65535.
50968         (getnameinfo): Remove useless casts.
50969
50970 2006-06-27  Simon Josefsson  <jas@extundo.com>
50971
50972         * modules/sys_select: New file, suggested by Bruno Haible, Paul
50973         Eggert and Martin Lambers.
50974
50975 2006-06-27  Simon Josefsson  <jas@extundo.com>
50976
50977         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
50978         Eggert and Martin Lambers.
50979
50980 2006-06-27  Bruno Haible  <bruno@clisp.org>
50981
50982         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
50983         result to 0, not to empty.
50984         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
50985
50986 2006-06-27  Bruno Haible  <bruno@clisp.org>
50987
50988         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
50989
50990 2006-06-26  Simon Josefsson  <jas@extundo.com>
50991
50992         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
50993         present.
50994
50995 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
50996
50997         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
50998         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
50999         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
51000
51001 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
51002
51003         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
51004
51005 2006-06-26  Bruno Haible  <bruno@clisp.org>
51006
51007         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
51008
51009 2006-06-26  Bruno Haible  <bruno@clisp.org>
51010
51011         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
51012
51013 2006-06-26  Bruno Haible  <bruno@clisp.org>
51014
51015         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
51016         SGI C compiler in pre-C99 mode.
51017         Suggested by Mark D. Baushke and Larry Jones.
51018
51019 2006-06-26  Bruno Haible  <bruno@clisp.org>
51020
51021         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
51022         WCHAR_MAX.
51023         Reported by Mark D. Baushke and Larry Jones.
51024
51025 2006-06-26  Bruno Haible  <bruno@clisp.org>
51026
51027         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
51028         in pre-C99 mode.
51029         Suggested by Mark D. Baushke and Larry Jones.
51030
51031 2006-06-23  Simon Josefsson  <jas@extundo.com>
51032             Bruno Haible  <bruno@clisp.org>
51033
51034         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
51035         Emit mostlyclean-local rule.
51036         (func_emit_tests_Makefile_am): Likewise.
51037         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
51038
51039 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
51040
51041         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
51042
51043 2006-06-23  Bruno Haible  <bruno@clisp.org>
51044
51045         * tests/test-stdint.c: Update to match ISO C 99 Technical
51046         Corrigendum 1.
51047
51048 2006-06-23  Bruno Haible  <bruno@clisp.org>
51049
51050         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
51051
51052 2006-06-23  Bruno Haible  <bruno@clisp.org>
51053
51054         * lib/stdint_.h: Treat IRIX like OpenBSD.
51055
51056 2006-06-23  Bruno Haible  <bruno@clisp.org>
51057
51058         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
51059         ISO C 99 Technical Corrigendum 1.
51060
51061 2006-06-22  Simon Josefsson  <jas@extundo.com>
51062
51063         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
51064         MinGW.
51065
51066 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
51067
51068         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
51069         needed.  Some compiler complained about some of them.  Problem reported
51070         by Larry Jones in
51071         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
51072
51073 2006-06-21  Simon Josefsson  <jas@extundo.com>
51074
51075         * tests/test-getaddrinfo.c: New file.
51076
51077         * modules/getaddrinfo-tests: New file.
51078
51079         * MODULES.html.sh: Add inet_pton.
51080
51081         * modules/inet_pton: New file.
51082
51083 2006-06-21  Simon Josefsson  <jas@extundo.com>
51084
51085         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
51086         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
51087         of using the (limited) gnulib implementation on Windows XP.
51088
51089         * m4/inet_pton.m4: New file.
51090
51091 2006-06-21  Simon Josefsson  <jas@extundo.com>
51092
51093         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
51094         variable.
51095
51096         * lib/socket_.h: Don't define WINVER.
51097
51098         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
51099         slightly modified to work in gnulib.
51100
51101 2006-06-21  Simon Josefsson  <jas@extundo.com>
51102
51103         * doc/gnulib.texi (Windows sockets): Add.
51104
51105 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
51106
51107         * lib/read-file.c (fread_file): Start with buffer allocation of
51108         0 bytes rather than 1 byte; this simplifies the code.
51109         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
51110         code to free buffer and save/restore errno.
51111         (internal_read_file): Remove unused local.
51112
51113 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
51114
51115         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
51116         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
51117         Problem reported by Denis Excoffier in
51118         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
51119
51120 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51121
51122         * modules/sys_socket, modules/socklen: Include sys/types since
51123         FreeBSD 4.x's sys/socket.h needs it.
51124
51125 2006-06-19  Simon Josefsson  <jas@extundo.com>
51126
51127         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
51128
51129 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
51130
51131         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
51132
51133 2006-06-19  Bruno Haible  <bruno@clisp.org>
51134
51135         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
51136         and FULL_PATH_INTTYPES_H in angle brackets.
51137         Reported by Mark D. Baushke <mdb@gnu.org>.
51138
51139 2006-06-17  Eric Blake  <ebb9@byu.net>
51140
51141         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
51142         errno.
51143
51144 2006-06-17  Bruno Haible  <bruno@clisp.org>
51145
51146         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
51147         <sys/inttypes.h>.
51148
51149 2006-06-17  Bruno Haible  <bruno@clisp.org>
51150
51151         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
51152         whether errno is declared. Assume <errno.h> declares errno.
51153
51154 2006-06-17  Bruno Haible  <bruno@clisp.org>
51155
51156         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
51157
51158 2006-06-17  Bruno Haible  <bruno@clisp.org>
51159
51160         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
51161         problem on Solaris 2.5.1.
51162
51163 2006-06-16  Eric Blake  <ebb9@byu.net>
51164
51165         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
51166         * lib/unicodeio.c [!defined errno]: Likewise.
51167         * lib/strtol.c [!defined errno]: Likewise.
51168         * lib/strtod.c [!defined errno]: Likewise.
51169
51170 2006-06-15  Eric Blake  <ebb9@byu.net>
51171
51172         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
51173
51174 2006-06-15  Eric Blake  <ebb9@byu.net>
51175
51176         * config/srclist.txt (ssize_t.m4): Lose sync.
51177
51178 2006-06-15  Bruno Haible  <bruno@clisp.org>
51179
51180         * modules/stdint (Files): Include m4/full-header-path.m4,
51181         m4/size_max.m4, m4/wchar_t.m4.
51182         (Makefile.am): Many more substitutions.
51183         * modules/stdint-tests: New file.
51184         * tests/test-stdint.c: New file.
51185
51186 2006-06-15  Bruno Haible  <bruno@clisp.org>
51187
51188         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
51189         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
51190         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
51191         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
51192         gl_CHECK_TYPE_SAME): New macros.
51193
51194 2006-06-15  Bruno Haible  <bruno@clisp.org>
51195
51196         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
51197
51198 2006-06-15  Bruno Haible  <bruno@clisp.org>
51199
51200         * lib/stdint_.h: Rewritten to be fully auto-configured.
51201         Fixes bug on HP-UX/IA64.
51202
51203 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
51204
51205         * lib/getdate.y (__attribute__): Don't define if already defined.
51206         Problem reported by Larry Jones.
51207         * lib/utimens.c (__attribute__): Likewise.
51208
51209 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
51210
51211         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
51212         reported by Andreas Schwab.
51213
51214 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51215             Bruno Haible  <bruno@clisp.org>
51216
51217         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
51218         check for the declaration of strnlen and a run test that exposes the
51219         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
51220         rpl_strndup.
51221
51222 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51223             Bruno Haible  <bruno@clisp.org>
51224
51225         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
51226
51227 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51228
51229         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
51230         compile test, for Tru64 4.0D.
51231
51232 2006-05-28  Karl Berry  <karl@gnu.org>
51233
51234         * config/srclist.txt (printf-args.c): lose sync.
51235
51236 2006-05-26  Martin Lambers  <marlam@marlam.de>
51237
51238         * lib/getpass.c: Updates the test for the native W32 API, and adds
51239         missing includes, thus fixing compilation warnings.
51240
51241 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
51242
51243         * lib/exclude.c (exclude_fnmatch): New function.
51244         (excluded_file_name): Call exclude_fnmatch.
51245         * lib/exclude.h (excluded_file_name): New prototype
51246
51247 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
51248
51249         * lib/tempname.c (small_open, large_open): New macros.
51250         (__open, __open64) [!_LIBC]: Remove.
51251         (__gen_tempname): Use small_open and large_open instead of __open
51252         and __open64.  This fixes a portability bug on HP-UX 11.11i
51253         reported by Simon Wing-Tang in
51254         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
51255
51256 2006-05-24  Bruno Haible  <bruno@clisp.org>
51257
51258         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
51259         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
51260         Reported by Thorsten Maerz <torte@netztorte.de> via
51261         Aaron Stone <aaron@serendipity.cx>.
51262
51263 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
51264
51265         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
51266         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
51267         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
51268         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
51269         not really conditional on the cache.
51270         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
51271
51272 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
51273
51274         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
51275         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
51276         (my_usleep): Don't mishandle maximum value.
51277
51278 2006-05-19  Jim Meyering  <jim@meyering.net>
51279
51280         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
51281
51282 2006-05-17  Bruno Haible  <bruno@clisp.org>
51283
51284         Cygwin portability.
51285         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
51286
51287 2006-05-17  Bruno Haible  <bruno@clisp.org>
51288
51289         * lib/stdint_.h: Fix recognition of Cygwin.
51290
51291 2006-05-15  Bruno Haible  <bruno@clisp.org>
51292
51293         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
51294         on libtool patch by Ralf Wildenhues.
51295
51296 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
51297
51298         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
51299         test for C99 conformance; (bool) 0.5 is an integer constant
51300         expression, but (bool) -0.5 is not.  Problem reported by Fedor
51301         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
51302
51303 2006-05-11  Simon Josefsson  <jas@extundo.com>
51304
51305         * m4/xvasprintf.m4: Fix obvious typo.
51306
51307 2006-05-11  Jim Meyering  <jim@meyering.net>
51308
51309         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
51310         James Lemley.
51311
51312 2006-05-10  Simon Josefsson  <jas@extundo.com>
51313
51314         * lib/md4.c: Typo fix, update copyright years.
51315         (K1, K2): Don't use L because it turn computations into 64-bit on
51316         64-bit platforms.
51317
51318 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
51319
51320         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
51321         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
51322         unwanted sign propagation, e.g., on hosts with 64-bit int.
51323         There still are some problems with reeelly weird theoretical hosts
51324         (e.g., 33-bit int) but it's not worth worrying about now.
51325         * lib/sha1.c (rol): Likewise.
51326         (K1, K2, K3, K4): Remove unnecessary L suffix.
51327
51328 2006-05-10  Bruno Haible  <bruno@clisp.org>
51329
51330         * lib/des.c: Cast to avoid warnings.
51331
51332 2006-05-09  Bruno Haible  <bruno@clisp.org>
51333
51334         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
51335         (Depends-on): Depend also on xsize, stdarg.
51336         (configure.ac): Add gl_XVASPRINTF.
51337
51338 2006-05-09  Bruno Haible  <bruno@clisp.org>
51339
51340         * m4/xvasprintf.m4: New file.
51341
51342 2006-05-09  Bruno Haible  <bruno@clisp.org>
51343
51344         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
51345         (EOVERFLOW): Define fallback value.
51346         (xstrcat): New function.
51347         (xvasprintf): Recognize the special case of a string concatenation.
51348
51349 2006-05-08  Eric Blake  <ebb9@byu.net>
51350
51351         * gnulib-tool (func_version): Base copyright year on CVS date.
51352         (func_emit_copyright_notice): New function.
51353         (func_emit_lib_Makefile_am): Use it.
51354         (func_emit_tests_Makefile_am): Likewise.
51355         (func_import): Likewise.
51356
51357 2006-05-08  Bruno Haible  <bruno@clisp.org>
51358
51359         * modules/stdarg: New file.
51360         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
51361
51362 2006-05-08  Bruno Haible  <bruno@clisp.org>
51363
51364         * m4/stdarg.m4: New file, from GNU gettext.
51365
51366 2006-05-08  Bruno Haible  <bruno@clisp.org>
51367
51368         * config/srclist.txt (build-aux/config.rpath): different from latest
51369         release.
51370
51371 2006-05-08  Bruno Haible  <bruno@clisp.org>
51372
51373         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
51374
51375 2006-05-05  Jim Meyering  <jim@meyering.net>
51376
51377         * m4/warning.m4: New file, derived from bison's file by the same name.
51378
51379 2006-05-03  Bruno Haible  <bruno@clisp.org>
51380
51381         * lib/stdint_.h: Shorter URL.
51382         * lib/inttypes.h: Likewise.
51383
51384 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
51385
51386         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
51387
51388 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
51389
51390         * lib/verify.h: Document the internals better.  Most of this change
51391         was written by Bruno Haible.
51392
51393 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
51394
51395         * doc/verify.texi: New file, partly based on a proposal by
51396         Bruno Haible.
51397
51398 2006-05-02  Bruno Haible  <bruno@clisp.org>
51399
51400         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
51401         test from here...
51402         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
51403
51404 2006-04-29  Bruno Haible  <bruno@clisp.org>
51405
51406         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
51407         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
51408
51409 2006-04-29  Bruno Haible  <bruno@clisp.org>
51410
51411         * gnulib-tool: Make --update option actually work.
51412
51413 2006-04-29  Bruno Haible  <bruno@clisp.org>
51414
51415         * doc/gcd.texi: New file.
51416         * doc/gnulib.texi: Include it.
51417
51418 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
51419
51420         * lib/getdate.y (get_date): When adding relative date, start with the
51421         initial time, not with the result of the first mktime call.
51422
51423 2006-04-25  Bruno Haible  <bruno@clisp.org>
51424
51425         * gnulib-tool (func_import): Output the include directives in three
51426         blocks, sorted separately.
51427         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51428
51429 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
51430
51431         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
51432         to define main with arguments, for C++.  Reported by Eric Blake.
51433         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
51434         Prefer 'int main ()' to 'int main (void)', for C++.
51435         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
51436         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
51437         for 'main', for C99 and C++.
51438
51439 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
51440
51441         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
51442         Don't assume that exit status -1 is valid.
51443         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
51444         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
51445         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
51446         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
51447         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
51448         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
51449         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
51450         functions can be used without declaring them, or that you can
51451         exit with status -1.
51452         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
51453
51454 2006-04-24  Karl Berry  <karl@gnu.org>
51455
51456         * config/srclist.txt (longdouble.m4): sync lost.
51457
51458 2006-04-24  Eric Blake  <ebb9@byu.net>
51459
51460         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
51461
51462 2006-04-24  Bruno Haible  <bruno@clisp.org>
51463
51464         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
51465         poll() implementation in AIX.
51466         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51467
51468 2006-04-24  Bruno Haible  <bruno@clisp.org>
51469
51470         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
51471         assigned exactly once.
51472
51473 2006-04-23  Claudio Fontana  <claudio@gnu.org>
51474             Bruno Haible  <bruno@clisp.org>
51475
51476         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
51477         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
51478         for AM_CPPFLAGS.
51479
51480 2006-04-23  Bruno Haible  <bruno@clisp.org>
51481
51482         * modules/copy-file: Depend on unistd.
51483         * modules/execute: Likewise.
51484         * modules/fatal-signal: Likewise.
51485         * modules/findprog: Likewise.
51486         * modules/mkdtemp : Likewise.
51487         * modules/pipe: Likewise.
51488         * modules/wait-process: Likewise.
51489
51490 2006-04-23  Bruno Haible  <bruno@clisp.org>
51491
51492         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
51493         condition was already detected.
51494         Reported by Ben Pfaff <blp@cs.stanford.edu>.
51495
51496 2006-04-23  Bruno Haible  <bruno@clisp.org>
51497
51498         * lib/copy-file.c: Include <unistd.h> unconditionally.
51499         * lib/execute.c: Likewise.
51500         * lib/fatal-signal.c: Likewise.
51501         * lib/findprog.c: Likewise.
51502         * lib/mkdtemp.c: Likewise.
51503         * lib/pipe.h: Likewise.
51504         * lib/pipe.c: Likewise.
51505         * lib/wait-process.h: Likewise.
51506
51507 2006-04-23  Bruno Haible  <bruno@clisp.org>
51508
51509         * gnulib-tool (func_usage): Fix --import description. Document
51510         --update.
51511         (func_import): Create temporary file in a temporary directory, if
51512         --dry-run is specified. Silence errors from 'grep' when there are no
51513         m4 files in $m4dir.
51514         (func_create_testdir): Silence errors from 'grep' when there are no
51515         m4 files in $m4dir.
51516         Reported by Karl Berry <karl@freefriends.org>.
51517
51518 2006-04-20  Bruno Haible  <bruno@clisp.org>
51519
51520         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
51521         one argument, so that the code will be portable to Autoconf 2.60.
51522         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
51523         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
51524         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
51525
51526 2006-04-19  Derek Price  <derek@ximbiot.com>
51527             Eric Blake  <ebb9@byu.net>
51528
51529         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
51530         rather than "/full/path.h".  Update comment to match.  Shorten &
51531         generalize m4_translit call via AS_TR_CPP.
51532
51533 2006-04-19  Derek Price  <derek@ximbiot.com>
51534             Eric Blake  <ebb9@byu.net>
51535
51536         * lib/inttypes.h: Correct grammar in comment.
51537
51538 2006-04-18  Derek Price  <derek@ximbiot.com>
51539             Paul Eggert  <eggert@cs.ucla.edu>
51540
51541         * modules/inttypes: New file.
51542         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
51543
51544 2006-04-18  Derek Price  <derek@ximbiot.com>
51545             Paul Eggert  <eggert@cs.ucla.edu>
51546
51547         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
51548         New files.
51549
51550 2006-04-18  Derek Price  <derek@ximbiot.com>
51551             Paul Eggert  <eggert@cs.ucla.edu>
51552
51553         * lib/inttypes.h: New file.
51554         * lib/strtoimax.c: Assume <inttypes.h>.
51555
51556 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
51557
51558         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
51559         isn't mounted.  Problem reported by Kir Kolyshkin.
51560
51561 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
51562
51563         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
51564         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
51565         Derek R. Price.
51566         * lib/regex.h (RE_DUP_MAX): Update comment to match current
51567         implementation.
51568
51569 2006-04-12  Eric Blake  <ebb9@byu.net>
51570
51571         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
51572         is now done automatically by the corresponding Autoconf macro.
51573
51574 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
51575
51576         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
51577         time_r.h.
51578
51579 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51580
51581         Merge regex changes from libc, removing some of our
51582         POSIX-conformance changes that were rejected and redoing them in a
51583         less-intrusive way.
51584
51585         * lib/regcomp.c (re_compile_internal, init_dfa):
51586         Length arg is now size_t, not Idx.  All uses changed.
51587         (peek_token): Forward decl now says internal_function.
51588         (__re_error_msgid, __re_error_msgid_idx):
51589         Now static rather than extern with attribute_hidden.
51590         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
51591         For some reason libc prefers K&R style defns for external functions.
51592         (regerror) [!defined _LIBC]: Likewise.
51593         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
51594         (seek_collating_symbol_entry, lookup_collation_sequence_value):
51595         (build_range_exp, build_collating_symbol):
51596         Use K&R-style defn.
51597         (re_compile_fastmap): Use '\0' to memset, not 0.
51598         (utf8_sb_map): Make the calculations more obvious.
51599         (init_dfa, parse_bracket_exp, build_charclass_op):
51600         Call calloc and cast result, as glibc does.
51601         (init_word_char, fetch_token, peek_token, peek_token_bracket):
51602         (build_range_exp, build_collating_symbol):
51603         Now internal functions.
51604
51605         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
51606
51607         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
51608         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
51609         Don't depend on VMS; depend on __VMS instead, for POSIX
51610         namespace cleanness.
51611         (regoff_t): Define to ssize_t, not long int.
51612
51613         Remove the REG_ macros named below.  Instead, make the old names
51614         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
51615         __USE_GNU_REGEX.
51616         (REG_BACKSLASH_ESCAPE_IN_LISTS):
51617         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
51618         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
51619         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
51620         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
51621         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
51622         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
51623         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
51624         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
51625         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
51626         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
51627         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
51628         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
51629         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
51630         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
51631         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
51632         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
51633         (REG_NREGS):
51634         Remove.  All uses replaced by the old RE_* names.
51635         (RE_BACKSLASH_ESCAPE_IN_LISTS):
51636         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
51637         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
51638         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
51639         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
51640         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
51641         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
51642         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
51643         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
51644         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
51645         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
51646         Don't bother having these macros be independent of each others'
51647         values, since they no longer exist in the POSIX name space.
51648
51649         Rename the following member names back to their old names,
51650         unless !__USE_GNU_REGEX.  All uses changed back.
51651         (buffer): Renamed from re_buffer.
51652         (allocated): Renamed from re_allocated.
51653         (used): Renamed from re_used.
51654         (syntax): Renamed from re_syntax.
51655         (fastmap): Renamed from re_fastmap.
51656         (translate): Renamed from re_translate.
51657         (can_be_null): Renamed from re_can_be_null.
51658         (regs_allocated): Renamed from re_regs_allocated.
51659         (fastmap_accurate): Renamed from re_fastmap_accurate.
51660         (no_sub): Renamed from re_no_sub.
51661         (not_bol): Renamed from re_not_bol.
51662         (not_eol): Renamed from re_not_eol.
51663         (newline_anchor): Renamed from re_newline_anchor.
51664         (num_regs): Renamed from rm_num_regs.
51665         (start): Renamed from rm_start.
51666         (end): Renamed from rm_end.
51667
51668         (free_state): Move up a bit.
51669
51670         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
51671         #define to be empty.
51672         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
51673         when that is what is intended.
51674         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
51675         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
51676         (MAX): New macro.
51677         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
51678         All uses changed back to re_malloc, etc.  It's now the caller's
51679         responsibility to check for overflow; all callers changed.
51680         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
51681         (re_x2nrealloc): Remove.
51682         (free_state): Remove decl.
51683
51684         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
51685         (re_set_registers, re_exec):
51686         Use K&R-style defn.
51687
51688         2006-01-31  Roland McGrath  <roland@redhat.com>
51689
51690         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
51691         Reported by Mike Frysinger <vapier@gentoo.org>.
51692
51693         2006-01-15  Andreas Jaeger  <aj@suse.de>
51694
51695         [BZ #1950]
51696         * lib/regex_internal.c (re_string_reconstruct): Adjust for
51697         build_wcs_upper_buffer change.
51698         (build_wcs_upper_buffer): Change return type.
51699
51700         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
51701
51702         * lib/regex_internal.h: Include <stdint.h> if available.
51703
51704         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
51705
51706         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
51707
51708         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
51709
51710         * lib/regcomp.c: Adjust for changed secondary hash function.
51711
51712         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
51713
51714         * lib/regex.h: Pretty printing.
51715         Clean up namespace a bit.
51716
51717         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
51718
51719         * lib/regexec.c (update_cur_sifted_state, check_arrival,
51720         check_arrival_add_next_nodes): Avoid using uninitialized variable.
51721
51722         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
51723                     Ulrich Drepper  <drepper@redhat.com>
51724
51725         [BZ #1302]
51726         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
51727         changed.
51728         (bitset_word_t): Renamed from bitset_word.  All uses changed.
51729
51730         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
51731
51732         [BZ #281]
51733         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
51734         * lib/regcomp.c: Remove unnecessary uses of
51735         unsigned RE_TRANSLATE_TYPE.
51736         * lib/regex_internal.h: Likewise.
51737         * lib/regex_internal.c: Likewise.
51738         * lib/regexec.c: Likewise.
51739         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
51740
51741         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
51742
51743         * lib/regexec.c (find_recover_state): Remove unnecessary
51744         initialization.
51745         (transit_state_bkref): Make DFA a const pointer.
51746         (get_subexp): Likewise.
51747         (check_arrival): Likewise.
51748         (update_cur_sifted_state): Likewise.
51749         (re_search_internal): Likewise.
51750         (prune_impossible_nodes): Likewise.
51751         (acquire_init_state_context): Likewise.
51752         (proceed_next_node): Likewise.
51753         (set_regs): Likewise.
51754         (free_fail_stack_return): Likewise.
51755         (check_arrival_expand_ecl): Mark DFA parameter as const.
51756         (check_arrival_expand_ecl_sub): Likewise.
51757         (check_subexp_limits): Likewise.
51758         (sub_epsilon_src_nodes):  Likewise.
51759         (add_epsilon_src_nodes):  Likewise.
51760         (merge_state_array): Likewise.
51761         (update_regs): Likewise.
51762         (build_trtable): Likewise.
51763         (sift_states_backward): Mark MCTX parameter as const.
51764         (build_sifted_states): Likewise.
51765         (update_cur_sifted_state): Likewise.
51766         (sift_states_mkref): Likewise.
51767         (check_arrival_expand_ecl): Mark eclosure as const.
51768         (check_dst_limits_calc_pos_1): Likewise.
51769         * lib/regex_internal.h (re_match_context_t): Make dfa a const
51770         pointer.
51771
51772         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
51773
51774         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
51775         (transit_state_sb): Likewise.
51776         (transit_state_mb): Likewise.
51777         (sift_states_iter_mb): Likewise.
51778         (check_arrival_add_next_nodes): Likewise.
51779         (check_node_accept_bytes): Change first parameter to pointer-to-const.
51780         [_LIBC] (re_search_2_stub): Use mempcpy.
51781
51782         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
51783         mbrtowc for very simple UTF-8 case.
51784
51785         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
51786         a pointer-to-const.
51787         (re_acquire_state_context): Likewise.
51788         * lib/regex_internal.h: Adjust prototypes.
51789
51790         * lib/regex.c: Prevent using C++ compilers.
51791
51792         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
51793         (re_acquire_state_context): Likewise.
51794
51795 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51796
51797         * modules/regex (Depends-on): Add ssize_t.
51798
51799 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51800
51801         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
51802         translation table.
51803
51804 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
51805
51806         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
51807
51808 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
51809             Bruno Haible  <bruno@clisp.org>
51810
51811         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
51812         <sys/types.h> and <inttypes.h>.
51813
51814 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51815
51816         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
51817         `__error_t_defined', so argp.h will not typedef the former.
51818
51819 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
51820
51821         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
51822         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
51823         glibc names.  Even if glibc is changed to conform to POSIX, the
51824         traditional names will be available anyway, since regex depends on
51825         the extensions module.  Also, fix a longstanding typo in the
51826         implementation of Spencer ERE test #75 from grep 2.3.  Problems
51827         reported by Emanuele Giaquinta.  Also, change sense of cached
51828         variable, so that the message makes sense.
51829
51830 2006-03-24  Simon Josefsson  <jas@extundo.com>
51831
51832         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
51833         including some doc fixes.
51834         (base64_encode_alloc): Fix +1 bug on allocation failures.
51835
51836 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51837
51838         * lib/base64.c (base64_encode): Do not read past end of array with
51839         unsanitized input on systems with CHAR_BIT > 8.
51840
51841 2006-03-24  Eric Blake  <ebb9@byu.net>
51842
51843         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
51844
51845 2006-03-22  Karl Berry  <karl@gnu.org>
51846
51847         * config/srclist.txt (*setenv.[ch]): get from coreutils.
51848         * config/srclistvars.sh (COREUTILS): new var.
51849
51850 2006-03-17  Jim Meyering  <jim@meyering.net>
51851
51852         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
51853         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
51854
51855 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
51856
51857         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
51858         no longer needs it.  Instead, check that regoff_t is as least
51859         as wide as ptrdiff_t.
51860
51861         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
51862         so that our regex.h stays compatible with the installed regex.
51863         This is helpful for installers who configure --without-included-regex.
51864         Problem reported by Emanuele Giaquinta.
51865
51866 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
51867
51868         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
51869         Typedef to long int, not to off_, as POSIX will likely change
51870         in that direction.
51871
51872 2006-03-15  Eric Blake  <ebb9@byu.net>
51873
51874         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
51875
51876 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
51877
51878         * lib/argp-help.c (validate_uparams): Fix typo
51879         * lib/argp-parse.c (argp_default_options): Consistently begin help
51880         messages with a lowercase letter.
51881
51882 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
51883
51884         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
51885         overrun buffers and shouldn't be used (much as gets shouldn't be
51886         used).
51887         * lib/time_r.c (asctime_r, ctime_r): Likewise.
51888
51889 2006-03-08  Simon Josefsson  <jas@extundo.com>
51890
51891         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
51892         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51893
51894 2006-03-08  Simon Josefsson  <jas@extundo.com>
51895
51896         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
51897         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51898
51899 2006-03-08  Simon Josefsson  <jas@extundo.com>
51900
51901         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
51902         signal that configure disabled the device.
51903
51904 2006-03-08  Simon Josefsson  <jas@extundo.com>
51905
51906         * build-aux/maint.mk: Fix refresh-po, to handle no translated
51907         languages.
51908
51909 2006-03-07  Simon Josefsson  <jas@extundo.com>
51910
51911         * modules/getopt (Depends-on): Add unistd.
51912
51913         * modules/unistd: New file.
51914
51915 2006-03-07  Simon Josefsson  <jas@extundo.com>
51916
51917         * modules/gc-random: New file.
51918
51919 2006-03-07  Simon Josefsson  <jas@extundo.com>
51920
51921         * m4/unistd_h.m4: New file.
51922
51923 2006-03-07  Simon Josefsson  <jas@extundo.com>
51924
51925         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
51926         test to be side-effect free by storing the result in the cache
51927         variable gl_cv_lib_readline, and moving the assignment of
51928         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
51929         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51930
51931 2006-03-07  Simon Josefsson  <jas@extundo.com>
51932
51933         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
51934         error on missing devices (the functions will return an error).
51935
51936         * m4/gc.m4: Move random stuff to gc-random.m4
51937
51938 2006-03-07  Simon Josefsson  <jas@extundo.com>
51939
51940         * lib/unistd_.h: New file.
51941
51942 2006-03-07  Simon Josefsson  <jas@extundo.com>
51943
51944         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
51945
51946 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51947
51948         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
51949         Problem reported by Juan Manuel Guerrero.
51950
51951 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51952
51953         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
51954         the unistd module.
51955         * lib/getlogin_r.c: Likewise.
51956         * lib/getlogin_r.h: Likewise.
51957         * lib/glob.c: Likewise.
51958         * lib/pagealign_alloc.c: Likewise.
51959         * lib/unistd_.h: Remove; no longer needed.
51960
51961 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
51962
51963         * MODULES.html.sh (Support for systems lacking POSIX:2001):
51964         Add unistd.
51965         * modules/c-stack (Depends-on): Add unistd.
51966         * modules/getlogin_r: Likewise.
51967         * modules/glob: Likewise.
51968         * modules/pagealign_alloc: Likewise.
51969         * modules/unistd (Files): Remove lib/unistd_.h.
51970         (EXTRA_DIST): Remove.
51971         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
51972         need unistd_.h.
51973         (MOSTLYCLEANFILES): Remove unistd.h-t.
51974
51975 2006-03-03  Simon Josefsson  <jas@extundo.com>
51976
51977         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
51978
51979 2006-03-03  Simon Josefsson  <jas@extundo.com>
51980
51981         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
51982         libidn and bison.
51983
51984 2006-03-03  Simon Josefsson  <jas@extundo.com>
51985
51986         * build-aux/maint.mk: Add indent target.
51987
51988 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
51989
51990         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
51991         our replacement poll.h in any case, to avoid a differing
51992         declaration from a system header.  Seen on AIX.
51993
51994 2006-03-01  Simon Josefsson  <jas@extundo.com>
51995
51996         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
51997         <kasal@ucw.cz>.
51998
51999 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
52000
52001         * modules/gettime (Depends-on): Add extensions module.
52002         * modules/nanosleep (Depends-on): Likewise.
52003         * modules/settime (Depends-on): Likewise.
52004
52005 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
52006
52007         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
52008         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
52009         pedantically.
52010         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
52011         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
52012
52013         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
52014         not "==".  Reported by Ralf Wildenhues.
52015
52016 2006-03-01  Karl Berry  <karl@gnu.org>
52017
52018         * doc/Copyright/request-*: new files, synced from gnuorg.
52019
52020 2006-03-01  Karl Berry  <karl@gnu.org>
52021
52022         * config/srclist.txt (Copyright/*): new entries.
52023
52024 2006-02-28  Simon Josefsson  <jas@extundo.com>
52025
52026         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
52027
52028 2006-02-27  Simon Josefsson  <jas@extundo.com>
52029
52030         * lib/base64.h: Indent #define's.  From Jim Meyering
52031         <jim@meyering.net>.
52032
52033 2006-02-27  Jim Meyering  <jim@meyering.net>
52034
52035         Revert the change of 2006-02-24, so these files can continue
52036         to be sync'd from gettext.
52037         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
52038         of `config.h'.
52039
52040 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
52041
52042         * modules/intprops: New file.
52043         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
52044         Add intprops.
52045         * modules/getloadavg (Files): Remove lib/intprops.h.
52046         (Depends-on): Add intprops.
52047         * modules/human: Likewise.
52048         * modules/inttostr: Likewise.
52049         * modules/openat: Likewise.
52050         * modules/sig2str: Likewise.
52051         * modules/userspec: Likewise.
52052         * modules/utimecmp: Likewise.
52053         * modules/xnanosleep: Likewise.
52054         * modules/xstrtol: Likewise.
52055
52056 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
52057
52058         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
52059         * modules/lock-tests (TESTS): Use $(EXEEXT).
52060         * modules/tls-tests: Likewise.
52061         * modules/argp-tests: Likewise.
52062         (check_PROGRAMS): New var, replacing...
52063         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
52064
52065 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52066
52067         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
52068         `config.h'.
52069
52070 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
52071
52072         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
52073
52074 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52075
52076         Sync from coreutils.
52077         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
52078         gl_CHDIR_SAFER.
52079
52080 2006-02-22  Jim Meyering  <jim@meyering.net>
52081
52082         Sync from coreutils.
52083         * m4/chdir-safer.m4: New file.
52084
52085 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
52086
52087         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
52088         AT_FDCWD exceeds INT_MAX.
52089         * lib/openat.h (AT_FDCWD): Likewise.
52090
52091 2006-02-17  Eric Blake  <address@hidden>
52092
52093         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
52094
52095 2006-02-16  Simon Josefsson  <jas@extundo.com>
52096
52097         * modules/getaddrinfo (Depends-on): Add sys_socket.
52098
52099 2006-02-15  Simon Josefsson  <jas@extundo.com>
52100
52101         * build-aux/maint.mk: Add dsyntax-check rule.
52102
52103 2006-02-15  Eric Blake  <ebb9@byu.net>
52104
52105         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
52106         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
52107         'present but cannot compile' warnings on cygwin.
52108         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
52109         use ws2tcpip.h if sys/socket.h works.
52110         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
52111         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
52112
52113 2006-02-14  Simon Josefsson  <jas@extundo.com>
52114
52115         * modules/maintainer-makefile (Files): Rename.
52116
52117         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
52118         and (the local) Makefile.cfg to maint-cfg.mk.
52119
52120         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
52121         to the latter.
52122
52123         * modules/maintainer-makefile: New module.
52124
52125         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
52126         severaly stripped to make it possible to build it up from scratch
52127         with reliable tests.
52128
52129         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
52130         fixes to permit overriding the default actions when configure and
52131         makefile are not available.
52132
52133 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
52134
52135         Sync from coreutils.
52136         * modules/lstat (Depends-on): Don't depend on xalloc.
52137         (License): Change from GPL to LGPL, since this is now simply a
52138         replacement for a libc function.
52139
52140 2006-02-14  Jim Meyering  <jim@meyering.net>
52141
52142         Sync from coreutils.
52143
52144         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
52145         failure on deficient systems, and simplify gnulib lgpl dependencies.
52146         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
52147         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
52148
52149         * lib/xalloc-die.c: Remove unused definition of N_.
52150
52151 2006-02-14  Jim Meyering  <jim@meyering.net>
52152
52153         Sync from coreutils.
52154         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
52155         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
52156         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
52157         double-quote uses of that variable, to accommodate the rare case in
52158         which getmntent is available in none of the libraries checked.  This
52159         happens at least on FreeBSD 5.0.
52160
52161 2006-02-13  Simon Josefsson  <jas@extundo.com>
52162
52163         * gnulib-tool (Usage): Fix --import, from
52164         karl@freefriends.org (Karl Berry).
52165
52166 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
52167
52168         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
52169
52170 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
52171
52172         * lib/argp-namefrob.h: Restore changes accidentally lost during the
52173         "autoupdate" on 2005-12-12.
52174
52175 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
52176
52177         * modules/closeout (Depends-on): Remove atexit.
52178
52179 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
52180
52181         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
52182         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
52183
52184 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
52185
52186         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
52187         __EXTENSIONS__ if this causes compilation to fail.  Problem
52188         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
52189         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
52190
52191 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
52192
52193         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
52194         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
52195         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
52196         All uses changed.
52197
52198 2006-01-26  Simon Josefsson  <jas@extundo.com>
52199
52200         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
52201         prototype is visible on mingw32.
52202
52203         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
52204         for mingw32.
52205
52206         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
52207         mingw32).
52208
52209 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
52210
52211         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
52212         attempt to open for write; this always fails, at least on POSIX
52213         hosts.  This reinstates the 2006-01-09 change, which was
52214         inadvertently removed.
52215
52216 2006-01-26  Bruno Haible  <bruno@clisp.org>
52217
52218         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
52219         Reported by Paul Eggert.
52220
52221 2006-01-26  Bruno Haible  <bruno@clisp.org>
52222             Paul Eggert  <eggert@cs.ucla.edu>
52223
52224         * lib/stdbool_.h (_Bool)
52225         [(! (defined __cplusplus || defined __BEOS__)
52226           && !defined __GNUC__
52227           && !(defined __HP_cc || defined __xlc__
52228                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
52229                || defined __sgi))]:
52230         #define to signed char in these cases too; this simplifies
52231         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
52232         etc., separately) and makes it more conservative.
52233
52234 2006-01-25  Simon Josefsson  <jas@extundo.com>
52235
52236         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
52237         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
52238         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
52239
52240 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
52241
52242         * lib/argp-namefrob.h: Bugfix. Remove stray #
52243
52244 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
52245
52246         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
52247         so that we test the test.
52248         Check for yet another HP-UX cc bug involving *bool |= bool.
52249
52250 2006-01-25  Karl Berry  <karl@gnu.org>
52251
52252         * config/srclist.txt (vasnprintf.c): sync lost.
52253
52254 2006-01-25  Jim Meyering  <jim@meyering.net>
52255
52256         Sync from the stable (b5) branch of coreutils:
52257
52258         * lib/fts.c (fts_children): Don't let close() clobber errno from
52259         failed fchdir().
52260
52261         * lib/fts.c (fts_stat): When following a symlink-to-directory,
52262         don't necessarily interpret stat-fails+lstat-succeeds as indicating
52263         a dangling symlink.  That can also happen at least for ELOOP.
52264         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
52265         FYI, this bug predates the inclusion of fts.c in coreutils.
52266
52267         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
52268         in their own block, so pre-c99 compilers don't object.
52269
52270         Avoid the double-free (first in fts_read, second in fts_close) that
52271         would occur when an `active' directory is made inaccessible (e.g.,
52272         via chmod a-x) during a traversal.
52273         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
52274         before returning.  Reproduce this failure by
52275         mkdir -p a/b; cd a; chmod a-x . b
52276         Reported by Stavros Passas.
52277
52278 2006-01-25  Jim Meyering  <jim@meyering.net>
52279
52280         * lib/fileblocks.c: Remove more useless parentheses.
52281         * lib/readutmp.h: Likewise.
52282
52283 2006-01-25  Bruno Haible  <bruno@clisp.org>
52284
52285         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
52286         warnings.
52287         Reported by Paul Eggert.
52288
52289 2006-01-25  Bruno Haible  <bruno@clisp.org>
52290
52291         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
52292         rid of a trap command. For Solaris sh.
52293         Reported by Mark D. Baushke <mdb@gnu.org>.
52294
52295 2006-01-24  Simon Josefsson  <jas@extundo.com>
52296
52297         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
52298         Bruno.
52299
52300 2006-01-24  Karl Berry  <karl@gnu.org>
52301
52302         * config/srclist.txt (argp-namefrob.h): sync lost.
52303
52304 2006-01-24  Jim Meyering  <jim@meyering.net>
52305
52306         * modules/openat (Files): Add lib/intprops.h.
52307         From Mark D. Baushke.
52308
52309 2006-01-24  Jim Meyering  <jim@meyering.net>
52310
52311         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
52312         Reported by Mark D. Baushke.
52313
52314 2006-01-24  Jim Meyering  <jim@meyering.net>
52315
52316         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
52317
52318 2006-01-24  Bruno Haible  <bruno@clisp.org>
52319
52320         * modules/strnlen (Maintainer): Change from glibc to all.
52321
52322 2006-01-24  Bruno Haible  <bruno@clisp.org>
52323
52324         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
52325         Patch by Paul Eggert.
52326
52327 2006-01-24  Bruno Haible  <bruno@clisp.org>
52328
52329         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
52330         already has it.
52331         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
52332         2005-11-26.
52333
52334         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
52335         'signed char' to avoid problems with the built-in _Bool type.
52336         Reported by Paul Eggert on 2005-11-26.
52337
52338 2006-01-24  Bruno Haible  <bruno@clisp.org>
52339
52340         * gnulib-tool (func_import): Avoid constructing complicated sed
52341         expressions inside backquote.
52342         Report and solution by Mark D. Baushke <mdb@gnu.org>.
52343
52344 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
52345
52346         These changes imported from libc.
52347         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
52348         test and two separate function calls.
52349         * lib/strndup.c (__strndup): Add libc_hidden_def.
52350
52351 2006-01-23  Simon Josefsson  <jas@extundo.com>
52352
52353         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
52354         Remove the test_*_SOURCES variable: automake infers it by default.
52355         * modules/tls-tests: Likewise.
52356
52357 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52358
52359         Work around porting bugs reported by Dieter in
52360         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
52361         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
52362         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
52363         Include "getopt.h" first, to check interface.
52364         (getenv): Declare only if defined HAVE_DECL_GETENV &&
52365         !HAVE_DECL_GETENV.
52366         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
52367         (__strndup): Revert to K&R-style function dfns, the glibc style.
52368         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
52369         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
52370         Include strnlen.h first, to get prototype properly.
52371         (strnlen): Renamed from __strnlen.
52372         Remove weak alias.
52373
52374 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52375
52376         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
52377
52378 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
52379
52380         * config/srclist.txt: Adjust to reflect glibc reorganization.
52381         This affects only comments.
52382
52383 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
52384
52385          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
52386          Reported by Bruce Korb <bkorb@gnu.org>.
52387
52388 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
52389
52390         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
52391         to pacify gcc -Wswitch-default.
52392
52393 2006-01-22  Bruno Haible  <bruno@clisp.org>
52394
52395         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
52396         temporary buffer for sprintf, take into account the precision also
52397         for 'd', 'i', 'u', 'o', 'x', 'X'.
52398
52399 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
52400
52401         * modules/argp-tests: New module
52402         * tests/test-argp.c: New file
52403         * tests/test-argp-2.sh: New file
52404
52405 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
52406
52407         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
52408         (__argp_base_name): Removed
52409         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
52410         typo.
52411         (__argp_base_name): Provide macro definition or extern declaration
52412         depending on the configuration
52413
52414 2006-01-20  Simon Josefsson  <jas@extundo.com>
52415
52416         * modules/inet_ntop (Depends-on): Depend on sys_socket.
52417
52418 2006-01-20  Simon Josefsson  <jas@extundo.com>
52419
52420         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
52421
52422 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
52423
52424         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
52425         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
52426         Suggested by Bruno Haible.
52427
52428 2006-01-20  Karl Berry  <karl@gnu.org>
52429
52430         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
52431         until changes propagate, I guess.
52432
52433 2006-01-19  Simon Josefsson  <jas@extundo.com>
52434
52435         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
52436
52437 2006-01-19  Simon Josefsson  <jas@extundo.com>
52438
52439         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
52440
52441 2006-01-19  Simon Josefsson  <jas@extundo.com>
52442
52443         * gnulib-tool: Set check_PROGRAMS.
52444
52445         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
52446         modules/des-tests, modules/gc-arcfour-tests,
52447         modules/gc-arctwo-tests, modules/gc-des-tests,
52448         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
52449         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
52450         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
52451         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
52452         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
52453         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
52454         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
52455         test_*_SOURCES.
52456
52457 2006-01-18  Simon Josefsson  <jas@extundo.com>
52458
52459         * modules/socklen (Depends-on): Depend on sys_socket.
52460
52461 2006-01-18  Simon Josefsson  <jas@extundo.com>
52462
52463         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
52464         modules/des-tests, modules/gc-arcfour-tests,
52465         modules/gc-arctwo-tests, modules/gc-des-tests,
52466         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
52467         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
52468         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
52469         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
52470         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
52471         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
52472         $(EXEEXT) to automake TESTS variable, for mingw32.
52473
52474 2006-01-17  Simon Josefsson  <jas@extundo.com>
52475
52476         * modules/socklen (Include): Need sys/socket.h.
52477
52478 2006-01-17  Bruno Haible  <bruno@clisp.org>
52479
52480         * modules/ssize_t (Include): Add <sys/types.h>.
52481
52482 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
52483
52484         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
52485         it's not portable and it doesn't work with cross-compiles.
52486         Problem reported by Bruno Haible.  Fix missing-$ typo in
52487         'test "gl_cv_ignore_unused_libraries" ...' that prevented
52488         -zignore from being used with Sun's C compiler.
52489
52490 2006-01-12  Simon Josefsson  <jas@extundo.com>
52491
52492         * lib/base64.c: Fix warning, reported by Bruno Haible
52493         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
52494
52495 2006-01-12  Bruno Haible  <bruno@clisp.org>
52496
52497         * modules/ldd: New file.
52498         * build-aux/ldd.sh.in: New file.
52499         * MODULES.html.sh (Support for building libraries and executables): Add
52500         ldd.
52501
52502 2006-01-12  Bruno Haible  <bruno@clisp.org>
52503
52504         * m4/ldd.m4: New file.
52505
52506 2006-01-12  Bruno Haible  <bruno@clisp.org>
52507
52508         * gnulib-tool (func_import, func_create_testdir): Don't go into an
52509         endless loop while replacing $auxdir with build-aux.
52510
52511 2006-01-11  Simon Josefsson  <jas@extundo.com>
52512
52513         * lib/stdint_.h (SIZE_MAX): Add missing (.
52514
52515 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
52516
52517         Sync from coreutils.
52518         * lib/md5.c: Fix commentary typos.
52519         (alignof, UNALIGNED_P): No need for a GCC-specific version.
52520         * lib/md5.h (__attribute__): Remove; unused.
52521         * lib/sha1.c: Fix commentary to match md5 better.
52522         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
52523         so that we don't need to worry about alignment.  All uses changed.
52524         This merges the 2005-10-28 md5 change into sha1.
52525
52526 2006-01-11  Jim Meyering  <jim@meyering.net>
52527
52528         Sync from coreutils.
52529         * lib/md5.c (OP): Fix spacing.
52530
52531 2006-01-11  Bruno Haible  <bruno@clisp.org>
52532
52533         Ensure automatic ordering between gl_LOCK and gl_ARGP.
52534         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
52535         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
52536
52537 2006-01-11  Bruno Haible  <bruno@clisp.org>
52538
52539         Ensure automatic ordering between gl_LOCK and gl_ARGP.
52540         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
52541         the "early" section as well.
52542
52543 2006-01-11  Bruno Haible  <bruno@clisp.org>
52544
52545         Avoid "ar: no archive members specified" error on MacOS X.
52546         * gnulib-tool (func_modules_add_dummy): New function.
52547         (func_import, func_create_testdir): Invoke it.
52548
52549 2006-01-11  Bruno Haible  <bruno@clisp.org>
52550
52551         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
52552         with $auxdir in AC_CONFIG_FILES statements.
52553
52554 2006-01-11  Bruno Haible  <bruno@clisp.org>
52555
52556         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52557         Initialize also noinst_HEADERS to empty.
52558
52559 2006-01-11  Bruno Haible  <bruno@clisp.org>
52560
52561         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
52562         variables.
52563         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
52564         autoreconf.
52565
52566 2006-01-11  Bruno Haible  <bruno@clisp.org>
52567
52568         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
52569         overridable by the user.
52570         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
52571
52572 2006-01-10  Simon Josefsson  <jas@extundo.com>
52573
52574         * modules/sys_socket: New file.
52575
52576 2006-01-10  Simon Josefsson  <jas@extundo.com>
52577
52578         * m4/sys_socket_h.m4: New file.
52579
52580 2006-01-10  Simon Josefsson  <jas@extundo.com>
52581
52582         * lib/socket_.h: New file.
52583
52584 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52585
52586         * modules/readutmp (Maintainer): Add myself.
52587
52588 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52589
52590         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
52591         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
52592         People who are still concerned with buggy memcmp implementations
52593         can invoke gl_FUNC_MEMCMP themselves.
52594
52595 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
52596
52597         * lib/regex_internal.h (BITSET_WORD_BITS):
52598         Work around a bug in 64-bit PGC (before version 6.1-2), where the
52599         preprocessor mishandles large unsigned values as if they were signed.
52600         Problem reported by Claudio Fontana in
52601         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
52602
52603 2006-01-10  Jim Meyering  <jim@meyering.net>
52604
52605         Avoid the double-free (first in fts_read, second in fts_close) that
52606         would occur when an `active' directory is made inaccessible (e.g.,
52607         via chmod a-x) during a traversal.
52608         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
52609         before returning.  Reproduce this failure by
52610         mkdir -p a/b; cd a; chmod a-x . b
52611         Reported by Stavros Passas.
52612
52613         Sync from coreutils.
52614         * lib/sha1.c: Tweak grammar in a comment.
52615
52616 2006-01-10  Jim Meyering  <jim@meyering.net>
52617
52618         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
52619         Patch by Joerg Sonnenberger.
52620
52621 2006-01-10  Bruno Haible  <bruno@clisp.org>
52622
52623         * modules/readutmp: Depend on module free.
52624         * modules/strtok_r: Depend on module restrict.
52625
52626 2006-01-10  Bruno Haible  <bruno@clisp.org>
52627
52628         * modules/gettext (configure.ac): Add an invocation of
52629         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
52630
52631 2006-01-10  Bruno Haible  <bruno@clisp.org>
52632
52633         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
52634         Reported by Werner Lemberg <wl@gnu.org>.
52635
52636 2006-01-10  Bruno Haible  <bruno@clisp.org>
52637
52638         * lib/localcharset.c: Update from GNU gettext.
52639
52640 2006-01-10  Bruno Haible  <bruno@clisp.org>
52641
52642         * lib/argp.h (__const): Remove macro. Use const instead.
52643         * lib/argp-fmtstream.h (__const): Likewise.
52644         * lib/glob_.h (__const): Remove macro.
52645         * lib/glob-libc.h: Use const instead of __const.
52646
52647 2006-01-10  Bruno Haible  <bruno@clisp.org>
52648
52649         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
52650         variable.
52651         Needed to avoid an automake error regarding the 'gettext' module.
52652
52653 2006-01-09  Simon Josefsson  <jas@extundo.com>
52654
52655         * modules/inet_ntop (Depends-on): Add restrict.
52656
52657 2006-01-09  Simon Josefsson  <jas@extundo.com>
52658
52659         * modules/gc-rijndael-tests (License): Put under LGPL.
52660
52661         * modules/gc-des-tests (License): Likewise.
52662
52663         * modules/gc-arcfour-tests (License): Likewise.
52664
52665         * modules/gc-arctwo-tests (License): Likewise.
52666
52667         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
52668
52669         * modules/gc-hmac-sha1-tests (Files): Likewise.
52670
52671         * modules/gc-hmac-md5-tests (License): Likewise.
52672
52673         * modules/gc-sha1-tests (License): Likewise.
52674
52675         * modules/gc-md5-tests (License): Likewise.
52676
52677         * modules/gc-md4-tests (License): Likewise.
52678
52679         * modules/gc-md2-tests (License): Likewise.
52680
52681         * modules/gc-tests (License): Likewise.
52682
52683         * modules/des-tests (License): Likewise.
52684
52685         * modules/md4-tests (License): Likewise.
52686
52687         * modules/md2-tests (License): Likewise.
52688
52689 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52690
52691         Sync from coreutils:
52692
52693         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
52694         * modules/lib-ignore: New file.
52695         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
52696         chdir-safer.m4, lchmod.m4.
52697         * modules/openat: Add mkdirat.c, openat-priv.h.
52698
52699 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52700
52701         Sync from coreutils.
52702         * m4/lib-ignore.m4: New file.
52703         * m4/lchmod.m4: New file.
52704
52705 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52706
52707         Sync from coreutils.
52708         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
52709         for write access: POSIX says that must fail.
52710         * lib/fts.c (diropen): Likewise.
52711         * lib/save-cwd.c (save_cwd): Likewise.
52712         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
52713         well, for minor improvements on hosts that lack O_DIRECTORY.
52714         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
52715         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
52716         Fall back on chown if open failed with EACCES.
52717
52718         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
52719         Report an error at compile-time if only a 1-second nominal clock
52720         resolution is found.
52721
52722         * lib/lchmod.h: New file.
52723         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
52724         (make_dir_parents): Use lchown rather than chown, and
52725         lchmod rather than chmod.
52726
52727         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
52728         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
52729         "proc" reported by n0dalus.
52730
52731         * lib/mountlist.c: Include <limits.h>.
52732         (dev_from_mount_options)
52733         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
52734         New function.  It no longer assumes "dev=" has the System V meaning
52735         on Linux (since it doesn't).  It also parses "dev=" more carefully.
52736         (read_file_system_list)
52737         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
52738         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
52739         dev= in that case.
52740
52741         * lib/posixtm.h (PDS_PRE_2000): New macro.
52742         * lib/posixtm.c (year): Arg is now syntax_bits rather than
52743         allow_century.  All usages changed.  Reject dates outside the range
52744         1969-1999 if PDS_PRE_2000 is used.
52745
52746 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
52747
52748         Sync from coreutils.
52749         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
52750         (Time of day items): Mention the possibility of leap seconds.
52751         Problem reported by Dr. David Alan Gilbert.
52752
52753 2006-01-09  Jim Meyering  <jim@meyering.net>
52754
52755         Sync from coreutils.
52756
52757         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
52758
52759         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
52760
52761         * lib/modechange.c (mode_compile): Reject an invalid mode string
52762         that starts with an octal digit.  From Andreas Gruenbacher.
52763
52764         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
52765         and dup to open_safer and dup_safer, respectively.
52766         (openat_permissive): Fix typo in comment.
52767
52768         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
52769         "gettext.h"; either no longer needed or are guaranteed by openat.h.
52770         (_): Remove; no longer needed.
52771         (openat): Renamed from rpl_openat; no need for rpl_openat
52772         since openat.h renames openat for us.
52773         Replace most of the body with a call to openat_permissive,
52774         to avoid duplicate code.
52775         Port to (probably hypothetical) environments were mode_t is
52776         wider than int.
52777         (openat_permissive): Require mode arg, so that we can check
52778         types better.  Put it just after flags.  Change cwd failure
52779         indicator from pointer-to-bool to pointer-to-errno-value.
52780         All callers changed.
52781         Invoke openat_save_fail and/or openat_restore_fail if
52782         cwd_errno is null, so that openat can call us.
52783         (openat_permissive, fdopendir, fstatat, unlinkat):
52784         Simplify errno handling to avoid some duplicate code,
52785         as it's OK to set errno on success.
52786         * lib/openat.h: Revamp code so that function macros depend on
52787         __OPENAT_PREFIX only, not also on AT_FDCWD.
52788         (openat_ro): Remove.  Caller changed to use openat_permissive.
52789         (openat_permissive): Now a macro, if not a function.
52790         (openat_restore_fail, openat_save_fail): Now always functions,
52791         since mkdirat needs them even if __OPENAT_PREFIX is defined.
52792
52793         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
52794         and openat.c.
52795         * lib/mkdirat.c: Include openat-priv.h.
52796         Remove definitions of macros defined therein.
52797         * lib/openat.c: Likewise.
52798
52799         * lib/mkdirat.c (mkdirat): New file and function.
52800         * lib/openat.h (mkdirat): Declare.
52801
52802         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
52803
52804         * lib/openat.h (openat_permissive): Declare.
52805         (openat_ro): Define.
52806
52807         * lib/openat.c (EXPECTED_ERRNO): New macro.
52808         (openat_permissive): New function -- used in remove.c rewrite.
52809         (all functions): Set errno just before returning, only if there
52810         was an actual failure.
52811         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
52812
52813         Emulate openat-family functions using Linux's procfs, if possible.
52814         Idea and some code based on Ulrich Drepper's glibc changes.
52815
52816         * lib/openat.c: (BUILD_PROC_NAME): New macro.
52817         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
52818         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
52819         before falling back on save_cwd and restore_cwd.
52820         (fdopendir, fstatat, unlinkat): Likewise.
52821
52822         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
52823         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
52824
52825         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
52826         as second argument to va_arg.  Otherwise, some versions of gcc
52827         warn that `if this code is reached, the program will abort'.
52828
52829 2006-01-09  Jim Meyering  <jim@meyering.net>
52830
52831         Sync from coreutils.
52832         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
52833         Require openat-priv.h.
52834
52835 2006-01-09  Bruno Haible  <bruno@clisp.org>
52836
52837         * modules/strnlen (Include): Use strnlen.h.
52838
52839 2006-01-09  Bruno Haible  <bruno@clisp.org>
52840
52841         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
52842
52843 2006-01-09  Bruno Haible  <bruno@clisp.org>
52844
52845         * lib/sysexit_.h (EX_OK): New macro.
52846         Suggested by Martin Lambers <marlam@marlam.de>.
52847
52848 2006-01-09  Bruno Haible  <bruno@clisp.org>
52849
52850         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
52851         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
52852
52853 2006-01-09  Bruno Haible  <bruno@clisp.org>
52854
52855         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
52856         numbers.
52857
52858 2006-01-09  Bruno Haible  <bruno@clisp.org>
52859
52860         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
52861         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
52862         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
52863         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
52864
52865 2006-01-09  Bruno Haible  <bruno@clisp.org>
52866
52867         * build-aux/javacomp.sh.in: New file, moved from lib/.
52868         * modules/javacomp-script (Files): Update.
52869         (configure.ac): Add AC_CONFIG_FILES invocation.
52870         (EXTRA_DIST): Remove variable.
52871
52872         * build-aux/javaexec.sh.in: New file, moved from lib/.
52873         * modules/javaexec (Files): Update.
52874         (configure.ac): Add AC_CONFIG_FILES invocation.
52875         (EXTRA_DIST): Remove javaexec.sh.in.
52876
52877         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
52878         * modules/csharpcomp-script (Files): Update.
52879         (configure.ac): Add AC_CONFIG_FILES invocation.
52880         (EXTRA_DIST): Remove variable.
52881
52882         * build-aux/csharpexec.sh.in: New file, moved from lib/.
52883         * modules/csharpexec (Files): Update.
52884         (configure.ac): Add AC_CONFIG_FILES invocation.
52885         (EXTRA_DIST): Remove csharpexec.sh.in.
52886
52887 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
52888
52889         Sync from coreutils.
52890
52891         Add POSIX ACL support
52892         * lib/acl.h (copy_acl, set_acl): Add declarations.
52893         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
52894         systems other than Linux.
52895         (chmod_or_fchmod): New function: use fchmod when possible,
52896         and chmod otherwise.
52897         (file_has_acl): Add a POSIX ACL implementation, with a
52898         Linux-specific subcase.
52899         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
52900         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
52901         acls are unsupported.
52902         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
52903         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
52904         are unsupported.
52905
52906 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
52907
52908         Sync from coreutils.
52909         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
52910
52911 2006-01-07  Bruno Haible  <bruno@clisp.org>
52912
52913         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
52914         gl_EARLY.
52915
52916 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52917
52918         * lib/strftime.c (tzname): Don't declare if it is already #defined.
52919         Problem reported for Mingw by Mark Junker.
52920
52921 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
52922
52923         * README: Gnulib normally doesn't generate a tarball.
52924
52925 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
52926
52927         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
52928         long int, not int, for nanosecond counts, so that people who are
52929         used to POSIX struct timespec won't be surprised.  Reported by Jim
52930         Meyering.
52931
52932 2005-12-28  Bruno Haible  <bruno@clisp.org>
52933
52934         * build-aux/config.rpath: Update from GNU gettext.
52935
52936 2005-12-16  Jim Meyering  <jim@meyering.net>
52937
52938         * modules/fprintftime: New module.
52939         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
52940
52941 2005-12-16  Jim Meyering  <jim@meyering.net>
52942
52943         * m4/fprintftime.m4: New file.
52944
52945 2005-12-16  Jim Meyering  <jim@meyering.net>
52946
52947         * lib/fprintftime.c, lib/fprintftime.h: New files.
52948
52949 2005-12-15  Simon Josefsson  <jas@extundo.com>
52950
52951         * modules/socklen (configure.ac): Fix M4 macro name, to align with
52952         new m4/socklen.m4.
52953
52954 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52955
52956         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
52957         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
52958
52959 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52960
52961         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
52962         * lib/argp-help.c (fill_in_uparams): Check if the constructed
52963         struct uparams is valid. Fall back to the default values if it is
52964         not.
52965
52966 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52967
52968         * modules/argp (Files): Add argp-pin.c
52969         (Depends-on): dirname
52970         (lib_SOURCES): Add argp-pin.c
52971
52972 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52973
52974         * m4/argp.m4:  Check if program_invocation_name and
52975         program_invocation_short_name are declared and define appropriate
52976         macros if they are not.
52977
52978 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52979
52980         * lib/argp-help.c (__argp_base_name): New function
52981         (__argp_short_program_name): Rewrite using __argp_base_name
52982         * lib/argp-namefrob.h: Define program_invocation_name and
52983         program_invocation_short_name if requested
52984         (__argp_base_name): Add prototype
52985         * lib/argp-parse.c (argp_def): Use gettext wrappers
52986         (argp_default_parser): Use __argp_base_name
52987         * lib/argp-pin.c: New file. Defines program_invocation_name and
52988         program_invocation_short_name on systems that lack them.
52989
52990 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52991
52992         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
52993         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
52994         porting problem reported by Georg Schwarz in
52995         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
52996
52997 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
52998
52999         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
53000         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
53001         porting problem reported by Georg Schwarz in
53002         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
53003
53004 2005-12-05  Bruno Haible  <bruno@clisp.org>
53005
53006         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
53007         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
53008         Reported by Mark Junker <mjscod@gmx.de>.
53009
53010 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
53011
53012         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
53013         Use implementation from Albert Chin, with some
53014         comments/corrections by Stepan Kasal and myself.
53015
53016 2005-12-02  Bruno Haible  <bruno@clisp.org>
53017
53018         * gnulib-tool (func_import): Accept GPLed build tool modules when
53019         --lgpl is given.
53020         * modules/csharpcomp-script: New file.
53021         * modules/csharpcomp: Depend on it.
53022         * modules/javacomp-script: New file.
53023         * modules/javacomp: Depend on it.
53024         Suggested by Simon Josefsson.
53025
53026 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
53027
53028         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
53029         statement, to work around an HP-UX 10.20 compiler bug reported by
53030         Peter O'Gorman.
53031
53032 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
53033
53034         * modules/savedir (Depends-on): Add openat.
53035
53036 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
53037
53038         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
53039         (uintmax_t) [defined uintmax_t]: Do not declare.
53040         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
53041         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
53042         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
53043         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
53044         sake of portability to weird hosts that C allows (though we don't
53045         know of any practical examples).
53046
53047         * lib/savedir.h (fdsavedir): New decl.
53048         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
53049         contains most of the former guts of savedir.
53050         (savedir): Use savedirstream.
53051         Include "openat.h".
53052
53053 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
53054
53055         * modules/obstack (Files): Add m4/ulonglong.m4.
53056         Problem reported by Davide Angelocola.
53057
53058 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
53059
53060         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
53061         coreutils no longer futzes with rounding modes.
53062
53063 2005-11-14  Jim Meyering  <jim@meyering.net>
53064
53065         * lib/mkstemp-safer.c: Include <config.h>, required for possible
53066         replacement of mkstemp.
53067
53068 2005-11-10  Simon Josefsson  <jas@extundo.com>
53069
53070         * lib/readline.c: Remove EOL.
53071
53072 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
53073
53074         * modules/gethrxtime (Depends-on): Add gettime.
53075
53076 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
53077
53078         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
53079         or gettimeofday; no longer needed.
53080
53081 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
53082
53083         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
53084         time business.
53085         (gethrxtime) [! (HAVE_NANOUPTIME
53086         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
53087         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
53088         our own approximation.
53089
53090 2005-11-08  Eric Blake  <ebb9@byu.net>
53091
53092         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
53093
53094 2005-11-08  Eric Blake  <ebb9@byu.net>
53095
53096         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
53097
53098 2005-11-04  Bruno Haible  <bruno@clisp.org>
53099
53100         * gnulib-tool: Implement --update mode.
53101
53102 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
53103
53104         Fix porting problem reported by Theodoros V. Kalamatianos.
53105         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
53106         Don't assume that futimes failing means we must fail.
53107
53108 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
53109
53110         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
53111         variables to suggest the intended function of the PATH_MAX check.
53112
53113 2005-10-30  Kean Johnston  <jkj@sco.com>
53114
53115         Trivial changes to support SCO systems.
53116         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
53117         as PATH_MAX.
53118         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
53119         where __ptr is null when no I/O is pending.
53120
53121 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
53122
53123         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
53124         leave errno alone.  Problem reported by Dmitry V. Levin.
53125
53126 2005-10-28  Simon Josefsson  <jas@extundo.com>
53127
53128         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
53129         Test more.
53130
53131         * tests/test-gc-md2.c, tests/test-md2.c: New files.
53132
53133         * modules/md2, modules/md2-tests: New files.
53134
53135 2005-10-28  Simon Josefsson  <jas@extundo.com>
53136
53137         * m4/inet_ntop.m4: More tests.
53138
53139         * m4/gc-md2.m4, md2.m4: New file.
53140
53141 2005-10-28  Simon Josefsson  <jas@extundo.com>
53142
53143         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
53144         "restrict" keywords, as per POSIX.  Protect the function
53145         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
53146         Don't use K&R prototypes.  Check the sprintf return values.
53147         Re-define EAFNOSUPPORT if not present.  Indent.
53148
53149         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
53150         suggested by Bruno Haible <bruno@clisp.org>.
53151
53152         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
53153
53154         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
53155
53156         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
53157         libgcrypt).
53158
53159         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
53160
53161         * lib/md2.h, lib/md2.c: New files.
53162
53163 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
53164
53165         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
53166         errno alone.  Problem reported by Frederic Jolliton.
53167
53168 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
53169
53170         * modules/verify (License): Change from GPL to LGPL.  This is a
53171         tiny module and there are apparently near-equivalents that are
53172         under the BSD license.
53173
53174 2005-10-24  Simon Josefsson  <jas@extundo.com>
53175
53176         * modules/sha1: Relicense to LGPL.
53177
53178 2005-10-24  Simon Josefsson  <jas@extundo.com>
53179
53180         * lib/md4.h: Shrink buffer size, now that we changed the type.
53181
53182 2005-10-23  Simon Josefsson  <jas@extundo.com>
53183
53184         * gnulib-tool (func_import): Fix --tests-base.
53185
53186 2005-10-22  Simon Josefsson  <jas@extundo.com>
53187
53188         * modules/arcfour (Depends-on): Need stdint.
53189
53190 2005-10-22  Simon Josefsson  <jas@extundo.com>
53191
53192         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
53193         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
53194
53195 2005-10-22  Simon Josefsson  <jas@extundo.com>
53196
53197         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
53198         suggested by Bruno Haible <bruno@clisp.org>.
53199
53200 2005-10-22  Simon Josefsson  <jas@extundo.com>
53201
53202         * lib/crc.h: Include stddef.h, for size_t.
53203
53204 2005-10-22  Simon Josefsson  <jas@extundo.com>
53205
53206         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
53207         arcfour_context struct (simplify test vector testing in GNU
53208         Shishi).
53209
53210 2005-10-21  Simon Josefsson  <jas@extundo.com>
53211
53212         * modules/des, modules/des-tests: New files.
53213
53214         * modules/gc-des, modules/gc-des-tests: New files.
53215
53216         * tests/test-des.c, tests/test-gc-des.c: New file.
53217
53218 2005-10-21  Simon Josefsson  <jas@extundo.com>
53219
53220         * modules/arctwo, modules/arctwo-tests: New files.
53221
53222         * tests/test-arctwo.c: New file.
53223
53224         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
53225
53226         * tests/test-gc-arctwo.c: New file.
53227
53228 2005-10-21  Simon Josefsson  <jas@extundo.com>
53229
53230         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
53231         Bruno Haible <bruno@clisp.org>.
53232
53233         * m4/gc-des.m4: New file.
53234
53235 2005-10-21  Simon Josefsson  <jas@extundo.com>
53236
53237         * m4/arctwo.m4: New file.
53238
53239         * m4/gc-arctwo.m4: New file.
53240
53241 2005-10-21  Simon Josefsson  <jas@extundo.com>
53242
53243         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
53244         block.
53245
53246 2005-10-21  Simon Josefsson  <jas@extundo.com>
53247
53248         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
53249         <bruno@clisp.org>.
53250
53251         * lib/hmac-sha1.c (hmac_sha1): Likewise.
53252
53253         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
53254         Bruno Haible <bruno@clisp.org>.
53255
53256         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
53257         <bruno@clisp.org>.
53258
53259 2005-10-21  Simon Josefsson  <jas@extundo.com>
53260
53261         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
53262
53263 2005-10-21  Simon Josefsson  <jas@extundo.com>
53264
53265         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
53266
53267 2005-10-21  Simon Josefsson  <jas@extundo.com>
53268
53269         * lib/des.h, lib/des.c: New files.
53270
53271         * lib/gc-gnulib.c: Support DES.c
53272
53273 2005-10-21  Simon Josefsson  <jas@extundo.com>
53274
53275         * lib/arctwo.h, lib/arctwo.c: New files.
53276
53277         * lib/gc-gnulib.c: Support ARCTWO.
53278
53279 2005-10-21  Simon Josefsson  <jas@extundo.com>
53280
53281         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
53282         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53283
53284 2005-10-21  Simon Josefsson  <jas@extundo.com>
53285
53286         * gnulib-tool (func_import, func_create_testdir): Define automake
53287         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
53288         Makefile.am snippet),
53289         suggested by Bruno Haible <bruno@clisp.org>.
53290
53291         * modules/gc (Makefile.am): Use it.
53292
53293 2005-10-21  Bruno Haible  <bruno@clisp.org>
53294
53295         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
53296         patch.
53297
53298 2005-10-19  Simon Josefsson  <jas@extundo.com>
53299
53300         * tests/test-gc-rijndael.c: New file.
53301
53302         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
53303
53304 2005-10-19  Simon Josefsson  <jas@extundo.com>
53305
53306         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
53307         interface too.
53308
53309 2005-10-19  Simon Josefsson  <jas@extundo.com>
53310
53311         * tests/test-gc-arcfour.c: New file.
53312
53313         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
53314
53315 2005-10-19  Simon Josefsson  <jas@extundo.com>
53316
53317         * modules/gc-md4, modules/gc-md4-tests: New file.
53318
53319         * tests/test-gc-md4.c: New file.
53320
53321 2005-10-19  Simon Josefsson  <jas@extundo.com>
53322
53323         * m4/gc-md4.m4: New file.
53324
53325 2005-10-19  Simon Josefsson  <jas@extundo.com>
53326
53327         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
53328         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
53329         <kasal@ucw.cz>.
53330
53331 2005-10-19  Simon Josefsson  <jas@extundo.com>
53332
53333         * m4/gc-arcfour.m4: New file.
53334
53335         * m4/gc-rijndael.m4: New file.
53336
53337 2005-10-19  Simon Josefsson  <jas@extundo.com>
53338
53339         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
53340
53341 2005-10-19  Simon Josefsson  <jas@extundo.com>
53342
53343         * lib/gc-gnulib.c: Support ARCFOUR.
53344
53345 2005-10-19  Simon Josefsson  <jas@extundo.com>
53346
53347         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
53348         support.
53349
53350         * lib/gc.h: Add ECB enum type.
53351
53352         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
53353
53354 2005-10-18  Simon Josefsson  <jas@extundo.com>
53355
53356         * tests/test-md5.c: New file.
53357
53358         * modules/md5-tests: New file.
53359
53360 2005-10-18  Simon Josefsson  <jas@extundo.com>
53361
53362         * tests/test-md4.c: New file.
53363
53364         * modules/md4, modules/md4-tests: New files.
53365
53366 2005-10-18  Simon Josefsson  <jas@extundo.com>
53367
53368         * m4/md4.m4: New file.
53369
53370 2005-10-18  Simon Josefsson  <jas@extundo.com>
53371
53372         * lib/md4.h, lib/md4.c: New files, based on md5.?.
53373
53374 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
53375
53376         * gnulib-tool (func_create_testdir): Omit the second check whether
53377         BUILT_SOURCES in nonempty.
53378
53379 2005-10-17  Simon Josefsson  <jas@extundo.com>
53380
53381         * tests/test-rijndael.c: New file.
53382
53383 2005-10-17  Simon Josefsson  <jas@extundo.com>
53384
53385         * modules/sha1: Depend on stdint instead of md5.
53386
53387         * modules/md5: Depend on stdint, remove uint32_t.
53388
53389 2005-10-17  Simon Josefsson  <jas@extundo.com>
53390
53391         * modules/gc-sha1-tests: New file.
53392
53393         * tests/test-gc-sha1.c: New file.
53394
53395 2005-10-17  Simon Josefsson  <jas@extundo.com>
53396
53397         * m4/md5.m4: Remove call to uint32_t.m4.
53398
53399 2005-10-17  Simon Josefsson  <jas@extundo.com>
53400
53401         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
53402
53403         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
53404         md5.h.
53405
53406         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
53407
53408         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
53409
53410 2005-10-17  Simon Josefsson  <jas@extundo.com>
53411
53412         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
53413
53414 2005-10-17  Simon Josefsson  <jas@extundo.com>
53415
53416         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
53417
53418 2005-10-17  Simon Josefsson  <jas@extundo.com>
53419
53420         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
53421
53422         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
53423
53424 2005-10-17  Bruno Haible  <bruno@clisp.org>
53425
53426         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
53427         that it can also be used in a test.
53428
53429 2005-10-16  Bruno Haible  <bruno@clisp.org>
53430
53431         * gnulib-tool (func_emit_tests_Makefile_am): Also define
53432         TESTS_ENVIRONMENT, so that individual tests can augment it.
53433
53434         * gnulib-tool (func_create_testdir): Use an intermediate target for
53435         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
53436         macros, like $(ALLOCA_H), which cannot be passed through the command
53437         line.
53438
53439 2005-10-15  Simon Josefsson  <jas@extundo.com>
53440
53441         * modules/rijndael-tests: New file.
53442
53443         * modules/rijndael: New file.
53444
53445 2005-10-15  Simon Josefsson  <jas@extundo.com>
53446
53447         * m4/rijndael.m4: New file.
53448
53449 2005-10-15  Simon Josefsson  <jas@extundo.com>
53450
53451         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
53452
53453         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
53454
53455 2005-10-14  Simon Josefsson  <jas@extundo.com>
53456
53457         * tests/test-arcfour.c: New file.
53458
53459         * modules/arcfour, modules/arcfour-tests: New files.
53460
53461 2005-10-14  Simon Josefsson  <jas@extundo.com>
53462
53463         * m4/arcfour.m4: New file.
53464
53465 2005-10-14  Simon Josefsson  <jas@extundo.com>
53466
53467         * lib/arcfour.h, lib/arcfour.c: New files.
53468
53469 2005-10-14  Roland McGrath  <roland@redhat.com>
53470
53471         Import from libc.  [BZ #1331]
53472         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
53473         macro argument.
53474         Reported by Matej Vela <vela@debian.org>.
53475
53476 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
53477
53478         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
53479         include <wchar.h>; no longer needed.
53480
53481 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
53482
53483         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
53484
53485 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
53486         and  Ulrich Drepper  <drepper@redhat.com>
53487
53488         Import from libc.
53489         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
53490         instead of inline stream orientation test and two separate
53491         function calls.  Pay no attention to USE_IN_LIBIO.
53492
53493 2005-10-13  Simon Josefsson  <jas@extundo.com>
53494
53495         * modules/gc-hmac-md5-tests: New file.
53496
53497         * tests/test-gc-hmac-sha1.c: New file.
53498
53499         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
53500
53501         * modules/gc-hmac-md5-tests: New file.
53502
53503         * tests/test-gc-md5.c: New file.
53504
53505         * modules/gc-md5-tests: New file.
53506
53507 2005-10-13  Simon Josefsson  <jas@extundo.com>
53508
53509         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
53510         Move memory allocation outside of loop.
53511
53512 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
53513
53514         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
53515         intermediate directory is in a read-only file system.  Problem
53516         reported by Eric Blake.
53517
53518 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
53519
53520         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
53521
53522 2005-10-12  Simon Josefsson  <jas@extundo.com>
53523
53524         * tests/test-hmac-sha1.c: New file.
53525
53526         * modules/hmac-sha1-tests: New file.
53527
53528         * modules/hmac-sha1: New file.
53529
53530 2005-10-12  Simon Josefsson  <jas@extundo.com>
53531
53532         * modules/gc-sha1: New file.
53533
53534 2005-10-12  Simon Josefsson  <jas@extundo.com>
53535
53536         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
53537
53538         * tests/test-gc-pbkdf2-sha1.c: New file.
53539
53540 2005-10-12  Simon Josefsson  <jas@extundo.com>
53541
53542         * modules/gc-md5, modules/gc-hmac-md5: New files.
53543
53544         * modules/gc (Files): Remove md5, memxor and hmac files.
53545
53546 2005-10-12  Simon Josefsson  <jas@extundo.com>
53547
53548         * m4/gc-pbkdf2-sha1.m4: New file.
53549
53550         * m4/gc-hmac-sha1.m4: New file.
53551
53552         * m4/gc-sha1: New file.
53553
53554         * m4/hmac-sha1.m4: New file.
53555
53556 2005-10-12  Simon Josefsson  <jas@extundo.com>
53557
53558         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
53559
53560         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
53561
53562 2005-10-12  Simon Josefsson  <jas@extundo.com>
53563
53564         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
53565         suggested by Bruno Haible <bruno@clisp.org>.
53566
53567 2005-10-12  Simon Josefsson  <jas@extundo.com>
53568
53569         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
53570
53571 2005-10-12  Simon Josefsson  <jas@extundo.com>
53572
53573         * lib/gc-pbkdf2-sha1.c: New file.
53574
53575         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
53576
53577 2005-10-12  Simon Josefsson  <jas@extundo.com>
53578
53579         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
53580
53581         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
53582
53583 2005-10-12  Simon Josefsson  <jas@extundo.com>
53584
53585         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
53586         GC_USE_HMAC_MD5, respectively.
53587
53588         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
53589         (gc_md5): Fix typo.
53590
53591         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
53592
53593         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
53594
53595         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
53596
53597 2005-10-12  Bruno Haible  <bruno@clisp.org>
53598
53599         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
53600         Reported by Stepan Kasal <kasal@ucw.cz>.
53601
53602 2005-10-11  Simon Josefsson  <jas@extundo.com>
53603
53604         * tests/test-crc.c: New file.
53605
53606         * modules/crc, modules/crc-tests: New files.
53607
53608 2005-10-11  Simon Josefsson  <jas@extundo.com>
53609
53610         * m4/crc.m4: New file.
53611
53612 2005-10-11  Simon Josefsson  <jas@extundo.com>
53613
53614         * lib/gc.h: Add gc_hash and gc_hash_buffer.
53615
53616         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
53617
53618         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
53619
53620 2005-10-11  Simon Josefsson  <jas@extundo.com>
53621
53622         * lib/crc.h, lib/crc.c: New files.
53623
53624         * lib/gc.h (gc_hash_buffer): Add doc.
53625
53626 2005-10-11  Bruno Haible  <bruno@clisp.org>
53627
53628         * modules/c-strcasestr: New file.
53629         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
53630
53631 2005-10-11  Bruno Haible  <bruno@clisp.org>
53632
53633         * modules/c-strcase: New file.
53634         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
53635
53636 2005-10-11  Bruno Haible  <bruno@clisp.org>
53637
53638         * lib/strcasecmp.c: Include limits.h.
53639         (strcasecmp): Avoid integer overflow on exotic platforms.
53640         * lib/strncasecmp.c: Include limits.h.
53641         (strncasecmp): Avoid integer overflow on exotic platforms.
53642         Reported by Paul Eggert.
53643
53644 2005-10-11  Bruno Haible  <bruno@clisp.org>
53645
53646         * lib/c-strcasestr.h: New file, from GNU gettext.
53647         * lib/c-strcasestr.c: New file, from GNU gettext.
53648
53649 2005-10-11  Bruno Haible  <bruno@clisp.org>
53650
53651         * lib/c-strcase.h: New file, from GNU gettext.
53652         * lib/c-strcasecmp.c: New file, from GNU gettext.
53653         * lib/c-strncasecmp.c: New file, from GNU gettext.
53654
53655 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
53656
53657         * modules/mempcpy (License): GPL -> LGPL.
53658         * modules/strchrnul (License): Likewise.
53659         * modules/sysexits (License): Likewise.
53660
53661 2005-10-08  Simon Josefsson  <jas@extundo.com>
53662
53663         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
53664
53665 2005-10-07  Simon Josefsson  <jas@extundo.com>
53666
53667         * m4/memxor.m4: Remove gl_C_RESTRICT call.
53668
53669 2005-10-06  Simon Josefsson  <jas@extundo.com>
53670
53671         * tests/test-hmac-md5.c: New file.
53672
53673         * modules/hmac-md5-tests: New file.
53674
53675         * modules/hmac-md5: New file.
53676
53677 2005-10-06  Simon Josefsson  <jas@extundo.com>
53678
53679         * m4/hmac-md5.m4: New file.
53680
53681         * m4/memxor.m4: Require gl_C_RESTRICT.
53682
53683 2005-10-06  Simon Josefsson  <jas@extundo.com>
53684
53685         * lib/memxor.c (memxor): Avoid casts and warnings.
53686
53687 2005-10-06  Simon Josefsson  <jas@extundo.com>
53688
53689         * lib/hmac-md5.c: New file.
53690
53691         * lib/hmac.h: New file.
53692
53693 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
53694
53695         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
53696         promotes to int, not unsigned int, to catch the AIX 5.3
53697         compiler bug.
53698
53699 2005-10-05  Simon Josefsson  <jas@extundo.com>
53700
53701         * modules/memxor: New file.
53702
53703         * modules/iconv (Files): Move config.rpath to havelib, it is used
53704         there.
53705
53706         * modules/havelib (Files): Add config.rpath.
53707
53708 2005-10-05  Simon Josefsson  <jas@extundo.com>
53709
53710         * m4/memxor.m4: New file.
53711
53712 2005-10-05  Simon Josefsson  <jas@extundo.com>
53713
53714         * lib/memxor.c (memxor): Fix compiler error.
53715
53716         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
53717         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
53718
53719         * lib/memxor.h, lib/memxor.c: New files.
53720
53721         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
53722         we assume all systems have it, suggested by Jim Meyering
53723         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
53724         any systems lack sys/socket.h; mingw32 is known to lack it, but we
53725         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
53726         same reasons.
53727
53728 2005-10-05  Simon Josefsson  <jas@extundo.com>
53729
53730         * config/srclist.txt: Add glibc bug 1423 for md5.h.
53731
53732 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
53733
53734         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
53735         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
53736         needed, since the source code now assumes these .h files.
53737
53738 2005-10-05  Derek Price  <derek@ximbiot.com>
53739
53740         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
53741
53742 2005-10-05  Bruno Haible  <bruno@clisp.org>
53743
53744         * modules/stdint (License): Change to LGPL.
53745
53746 2005-10-04  Simon Josefsson  <jas@extundo.com>
53747
53748         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
53749         D. Baushke" <mdb@gnu.org>.
53750
53751 2005-10-04  Bruno Haible  <bruno@clisp.org>
53752
53753         * lib/verify.h (verify_true): Provide alternative definition for C++.
53754
53755 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
53756
53757         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
53758         (SSIZE_MAX): New macro, if not already defined.
53759         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
53760         than 2 GiB.
53761
53762 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
53763
53764         Sync from coreutils.
53765         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
53766         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
53767         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
53768         ULLONG_MAX doesn't work with 2.7.2.1.
53769
53770 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
53771
53772         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
53773         From Ben Pfaff.
53774
53775         * modules/exclude (Depends-on): Depend on verify.
53776         * modules/strtoimax (Depends-on): Likewise.
53777         * modules/utimecmp (Depends-on): Likewise.
53778
53779 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
53780
53781         * lib/exclude.c: Include verify.h.
53782         (verify): Remove.  All callers changed to use verify.h's version.
53783         * lib/strtoimax.c: Likewise.
53784         * lib/utimecmp.c: Likewis.e
53785
53786         Sync from coreutils.
53787         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
53788         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
53789         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
53790         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
53791         bother returning ENOSYS if settimeofday or stime fails; just let
53792         them return whatever errno they want to return.
53793         * lib/utimens.c: Include unistd.h, for dup2.
53794         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
53795         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
53796
53797 2005-10-02  Jim Meyering  <jim@meyering.net>
53798
53799         Sync from coreutils.
53800         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
53801         from glibc-2.2.5 that fails for read-only files.
53802
53803 2005-10-02  Jim Meyering  <jim@meyering.net>
53804
53805         Sync from coreutils.
53806         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
53807         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
53808         `#if HAVE_CONFIG_H'.
53809         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
53810         Remove AT_FDCWD test.
53811         Do not consume the fd unless successful.
53812         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
53813         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
53814         block, so that we don't even try to compile it if settimeofday is
53815         available.  This works around a compilation failure on OSF1 V5.1,
53816         due to stime requiring a `long int*' while tv_sec is `int'.
53817
53818 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
53819
53820         Sync from coreutils.
53821         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
53822         against `yes', rather than just testing for nonempty.
53823
53824 2005-10-01  Simon Josefsson  <jas@extundo.com>
53825
53826         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
53827         and Darwin.
53828
53829         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
53830         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
53831         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
53832         freeaddrinfo and gai_strerror are declared by the POSIX headers.
53833         Check if struct addrinfo is declared.
53834
53835 2005-10-01  Simon Josefsson  <jas@extundo.com>
53836
53837         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
53838         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
53839         AI_* and EAI_* definitions.  Protect function declarations.
53840
53841 2005-10-01  Jim Meyering  <jim@meyering.net>
53842
53843         Sync from coreutils.
53844
53845         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
53846         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
53847         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
53848         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
53849         in the inet and nsl libraries.  Required on Solaris 5.7.
53850
53851 2005-10-01  Jim Meyering  <jim@meyering.net>
53852
53853         Sync from coreutils.
53854         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
53855         in the inet and nsl libraries.  Required on Solaris 5.7.
53856
53857 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
53858
53859         * lib/getdelim.c (getdelim): Remove unused variables.
53860
53861 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
53862
53863         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
53864         so that the code works even with ancient cpp.  Portability problem
53865         with GCC 2.7.2.1 reported by Thomas M.Ott.
53866
53867 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
53868
53869         * modules/regex (Depends-on): Add strcase.
53870
53871         * modules/gethostname (Licence): Change from GPL to LGPL, since
53872         gethostname.c is a trivial implementation of a standard library
53873         function.
53874         * modules/poll (License): Change from GPL to LGPL, since it's
53875         derived from LGPL code.
53876
53877 2005-09-27  Jim Meyering  <jim@meyering.net>
53878
53879         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
53880         HAVE_CONFIG_H.
53881
53882         * lib/intprops.h (signed_type_or_expr__): Define.
53883         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
53884         for unsigned types.
53885
53886 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
53887
53888         * lib/verify.h (verify_expr): Remove, replacing with:
53889         (verify_true): New macro that returns true instead of void.
53890         (verify_type__): Remove.
53891         (verify): Use verify_true rather than verify_type__.
53892
53893 2005-09-26  Bruno Haible  <bruno@clisp.org>
53894
53895         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
53896         is necessary.
53897         (lib_SOURCES): Remove mbchar.c.
53898         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
53899         (Files): Add m4/mbrtowc.m4.
53900         * modules/mbiter: Likewise.
53901         * modules/mbuiter: Likewise.
53902
53903 2005-09-26  Bruno Haible  <bruno@clisp.org>
53904
53905         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
53906         compile mbchar.c if they are not both present.
53907         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
53908         * m4/mbiter.m4 (gl_MBITER): Likewise.
53909         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
53910         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
53911         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
53912
53913 2005-09-25  Jim Meyering  <jim@meyering.net>
53914
53915         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
53916         also uses socklen_t.
53917
53918 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
53919
53920         * lib/utimens.c (ENOSYS): Define if not already defined.
53921         (futimens): Support having a null PATH if the file descriptor
53922         is nonnegative.
53923
53924         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
53925         Remove.
53926         (__attribute): Define to empty unless GCC 3.1 or later.
53927         This works around a core dump on OpenBSD 3.4, which has GCC
53928         2.95.3, which dumps core when given __attribute__(()).  It also
53929         simplifies other tests, since we really don't want to bother with
53930         worrying about which ancient version of GCC supported what.
53931         Original problem reported by Yoann Vandoorselaere, with part of
53932         the fix suggested by Derek Price.
53933
53934 2005-09-24  Jim Meyering  <jim@meyering.net>
53935
53936         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
53937         so we can once again use a positive bitfield width of 1 -- now we
53938         don't have to explain why we were using a bitfield width of 2.
53939
53940 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
53941
53942         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
53943         and similarly for the other external symbols.  Problem reported
53944         by James Gallager.
53945
53946         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
53947         bug reported by Jim Meyering.
53948
53949         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
53950         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
53951         not needed, since socklen is a prerequisite module.
53952
53953 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
53954
53955         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
53956         Problem reported by Eric Blake.
53957         (getaddrinfo): Initialize se so that it's not garbage.
53958         Redo internal storage allocation so that it doesn't make unportable
53959         assumptions about alignment.
53960         Fix a memory leak.
53961
53962         * lib/utimens.c (futimens): Use futimesat if available.
53963         Prefer it to futimes since it doesn't have the futimes bug.
53964
53965         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
53966         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
53967         Instead, declare a function that returns a pointer to an array,
53968         and use verify_type__ to declare the size of the array.
53969         Problem and germ of a solution reported by Bruno Haible.
53970         (verify_type__): Use 2, not 1, for bitfield size, to avoid
53971         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
53972
53973 2005-09-23  Jim Meyering  <jim@meyering.net>
53974
53975         Sync from coreutils.
53976         Correct build failure (socklen_t not defined) on at least
53977         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
53978         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
53979
53980 2005-09-23  Jim Meyering  <jim@meyering.net>
53981
53982         * modules/getaddrinfo (Depends-on): Add socklen.
53983
53984 2005-09-23  Bruno Haible  <bruno@clisp.org>
53985
53986         * tests/test-verify.c: New file.
53987
53988 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
53989
53990         Sync from coreutils.
53991
53992         * modules/argmatch (Depends-on): Add verify.
53993         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
53994         unistd-safer.
53995         * modules/save-cwd (Depends-on): Likewise.
53996
53997         * modules/openat (Files): Add lib/openat-die.c.
53998         (Depends-on): Remove error, exitfail.
53999         Add dirname.
54000
54001         * modules/verify: New file.
54002         * MODULES.html.sh (Diagnostics <assert.h>): New section,
54003         with "verify" module.
54004
54005 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
54006
54007         Sync from coreutils.
54008
54009         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
54010         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
54011         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
54012         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
54013         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
54014         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
54015         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
54016         Don't bother checking for string.h, stdlib.h, unistd.h.
54017         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
54018         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
54019         module's job.
54020         * m4/jm-macros.m4 (gl_MACROS): Likewise.
54021         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
54022
54023         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
54024         (gl_GETDATE): Use it.
54025
54026         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
54027
54028 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
54029
54030         Sync from coreutils.
54031
54032         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
54033         stat-time.h.
54034         * lib/argmatch.h: Include verify.h
54035         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
54036         (ARGMATCH_ASSERT): Remove; unused.
54037         * lib/canonicalize.c: Assume STDC_HEADERS.
54038         * lib/exclude.c: Include "strcase.h".
54039         * lib/regex_internal.h [!defined _LIBC]: Likewise.
54040         * lib/getusershell.c: Include stdio--.h rather than stdio.h
54041         and stdio-safer.h.
54042         (getusershell): Call fopen, not fopen_safer.
54043         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
54044         Do not include unistd-safer.h.
54045         (save_cwd): Don't call fd_safer; no longer needed
54046         now that we include fcntl--.h.
54047
54048         * lib/getdate.y (relative_time): New type.
54049         (RELATIVE_TIME_0): New constant.
54050         (parser_control): Use relative_time instead of doing it ourselves.
54051         (%union): Add new relative_time rel member.
54052         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
54053         Now typeless.
54054         (relunit, relunit_snumber): Now of type rel.
54055         (zone, rel, relunit, get_date): Adjust to above changes.
54056
54057         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
54058         Do not include unistd-safer.h.
54059         (getloadavg): Don't call fd_safer; no longer needed
54060         now that we include fcntl--.h.
54061
54062         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
54063         (make_dir_parents): Treat ENOSYS like EEXIST.
54064
54065         Improve quality of diagnostics on restore_cwd failure.
54066         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
54067         (make_dir_parents): Last arg is now int * (for errno), not bool *.
54068         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
54069         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
54070         each time through the loop.  Do not diagnose restore_cwd failure;
54071         that is the caller's job (and perhaps the caller does not care).
54072
54073         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
54074         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
54075         If the file already exists but is not a directory, don't bother
54076         to try to make its parents.
54077         Close potential file descriptor leak if we can't chdir("/") (!).
54078         Don't always return true if chdir($PWD) fails; return true only
54079         if the requested action was done successfully (except for the
54080         chdir($PWD)).
54081         Don't log final directory unless we actually made it.
54082         Refactor to avoid duplicate code to fix up permissions.
54083         Don't attempt to fix up parent permissions if chdir($PWD) fails.
54084
54085         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
54086         to make it a bit faster and (I hope) clearer.
54087         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
54088         Fix bug in formats like %2N.
54089
54090         * lib/verify.h: New file.
54091
54092 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
54093
54094         Sync from coreutils.
54095         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
54096
54097 2005-09-22  Jim Meyering  <jim@meyering.net>
54098
54099         Sync from coreutils.
54100
54101         * m4/lstat.m4 (gl_FUNC_LSTAT):
54102         Use AC_LIBSOURCES to require lstat.c and lstat.h.
54103         Remove obsolete comment.
54104         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
54105         * m4/xstrtod.m4: Likewise.
54106
54107         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
54108
54109 2005-09-22  Jim Meyering  <jim@meyering.net>
54110
54111         Sync from coreutils.
54112
54113         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
54114
54115         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
54116         the .tm_year member, since otherwise gcc-4.0 would now warn about
54117         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
54118
54119         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
54120         order to avoid an unsuppressible warning from gcc on 64-bit systems.
54121
54122         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
54123         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
54124         when run in a time zone for which daylight savings time is in effect
54125         for the starting date.
54126
54127         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
54128         stop us from restricting permissions of just-created absolute-named
54129         directories.
54130         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
54131         to restore initial working directory.
54132         * lib/mkdir-p.c (make_dir_parents): New parameter:
54133         different_working_dir, to tell caller if/when we change the working
54134         directory and are unable to return to the initial one.
54135         * lib/mkdir-p.h (make_dir_parents): Update prototype.
54136         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
54137         `return false'.  This fixes a bug introduced on 2004-07-30.
54138
54139         * lib/openat.c (fdopendir): Be sure to close the supplied
54140         file descriptor before returning.  This makes our replacement
54141         implementation a little closer to Solaris's, where fdopendir
54142         ties the file descriptor to the returned DIR* pointer.
54143         * lib/openat.c (unlinkat): New function.
54144         * lib/openat.h (unlinkat): Add prototype.
54145         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
54146         (openat_restore_fail): Rename from openat_restore_die.
54147         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
54148
54149         Provide an alternative to exiting immediately upon save_cwd or
54150         restore_cwd failure.  Now, an application can arrange e.g.,
54151         to perform a longjump in that case.
54152         * lib/openat.c: Include dirname.h.
54153         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
54154         (rpl_openat, fdopendir, fstatat): Call openat_save_die
54155         and openat_restore_die rather than calling error directly.
54156         Don't include "error.h" or "exitfail.h"; they're no longer needed.
54157
54158         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
54159         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
54160         define.
54161
54162         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
54163         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
54164                             int utc, int nanoseconds);
54165         Background:
54166         date should not have to allocate a megabyte of virtual memory to
54167         handle a format argument like +%1048575T.  When implemented with
54168         strftime, it must allocate such a buffer, use strftime to fill it
54169         in, print it, then free it.
54170         With fprintftime, it simply prints everything and exits.
54171         With no need for memory allocation, that's one fewer way to fail.
54172         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
54173         optional field width, not before, so we accept %9:z, not %:9z.
54174         (my_strftime): Be sure to use L_('x') for literals.
54175
54176         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
54177         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
54178         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
54179         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
54180         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
54181         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
54182         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
54183         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
54184         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
54185         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
54186         * lib/xgethostname.c, lib/xreadlink.c:
54187         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
54188
54189         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
54190         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
54191         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
54192         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
54193         and don't include <sys/file.h>).
54194
54195 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
54196
54197         Sync from coreutils.
54198
54199         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
54200         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
54201         [!LDAV_DONE]: Avoid unused variable warning.
54202
54203 2005-09-21  Bruno Haible  <bruno@clisp.org>
54204
54205         * lib/unicodeio.h (unicode_to_mb): New declaration.
54206
54207 2005-09-20  Derek Price  <derek@ximbiot.com>
54208
54209         * lib/getaddrinfo.c: Don't include <netdb.h> included from
54210         getaddrinfo.h.
54211
54212 2005-09-20  Bruno Haible  <bruno@clisp.org>
54213
54214         * gnulib-tool: Remove trailing slashes from the values specified for
54215         --source-base, --m4-base, --tests-base, --aux-dir.
54216         Suggested by Simon Josefsson <jas@extundo.com>.
54217
54218 2005-09-20  Bruno Haible  <bruno@clisp.org>
54219
54220         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
54221         func_modules_to_filelist, func_import, func_create_testdir): Make all
54222         sorting results locale-independent, so that gnulib-cache.m4 doesn't
54223         change when gnulib-tool is invoked in a different locale.
54224
54225 2005-09-19  Simon Josefsson  <jas@extundo.com>
54226
54227         * m4/socklen.m4: Fix typo.
54228
54229 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54230
54231         Use a consistent style for including <config.h>.
54232         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
54233         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
54234         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
54235         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
54236         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
54237         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
54238         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
54239         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
54240         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
54241         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
54242         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
54243         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
54244         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
54245         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
54246         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
54247         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
54248         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
54249         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
54250         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
54251         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
54252         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
54253         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
54254         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
54255         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
54256         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
54257         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
54258         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
54259         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
54260         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
54261         lib/xstrtoumax.c, lib/yesno.c:
54262         Standardize inclusion of config.h.
54263         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
54264         lib/inttostr.h:  Removed inclusion of config.h from header files.
54265         * lib/inttostr.c:  Adjusted in-tree users.
54266         * lib/timespec.h: Remove superfluous warning to include config.h.
54267         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
54268         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
54269         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
54270         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
54271         config.h with HAVE_CONFIG_H.
54272
54273 2005-09-19  Jim Meyering  <jim@meyering.net>
54274
54275         * modules/pathmax (License): Change to LGPL.
54276
54277 2005-09-19  Derek Price  <derek@ximbiot.com>
54278
54279         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
54280
54281 2005-09-19  Bruno Haible  <bruno@clisp.org>
54282
54283         * gnulib-tool (import): Provide default for --tests-base.
54284
54285 2005-09-19  Bruno Haible  <bruno@clisp.org>
54286
54287         * doc/quote.texi: New file, extracted from gnulib.texi.
54288         * doc/ctime.texi: New file, extracted from gnulib.texi.
54289         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
54290         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
54291         * doc/gnulib.texi: Include them.
54292
54293 2005-09-18  Bruno Haible  <bruno@clisp.org>
54294
54295         Portability fix.
54296         * gnulib-tool (func_readlink): New function.
54297         (func_ln_if_changed): Use it.
54298
54299 2005-09-18  Bruno Haible  <bruno@clisp.org>
54300
54301         * gnulib-tool: Support --with-tests also with --import.
54302         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
54303         (func_import): Use variables $testsbase and $inctests. Emit a
54304         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
54305         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
54306         SUBDIRS += $testsdir.
54307         (func_create_testdir): Update.
54308
54309 2005-09-18  Bruno Haible  <bruno@clisp.org>
54310
54311         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
54312         instead of $dry_run.
54313         (func_cp_if_changed, func_mv_if_changed): Remove functions.
54314         (func_ln_if_changed): Don't handle dry-run here.
54315         (func_import): In dry-run mode, detect more precisely which actions
54316         would be performed, and don't use "...ing" verbs.
54317
54318 2005-09-18  Bruno Haible  <bruno@clisp.org>
54319
54320         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
54321         (func_import): Use join on two temporary files instead of three nested
54322         loops, in order to determine which files are new or old.
54323
54324 2005-09-18  Bruno Haible  <bruno@clisp.org>
54325
54326         * gnulib-tool (func_import): Comment out code that spits out the
54327         new files with --dry-run.
54328
54329 2005-09-18  Bruno Haible  <bruno@clisp.org>
54330
54331         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
54332
54333 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
54334
54335         * lib/stat-time.h: New file.
54336         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
54337         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
54338         in a different way.
54339         (timespec_cmp): New function.
54340         * lib/utimecmp.c: Include stat-time.h.
54341         (SYSCALL_RESOLUTION): Depend on whether various struct stat
54342         members exist, not on the obsolescent ST_MTIM_NSEC.
54343         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
54344
54345 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
54346
54347         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
54348
54349 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
54350
54351         * MODULES.html.sh (File system functions): Add stat-time.
54352         * modules/stat-time: New file.
54353         * modules/timespec (Files): Remove m4/st_mtim.m4; this
54354         is now done in a different way, by the stat-time module.
54355         * modules/utimecmp (Depends-on): Add stat-time.
54356
54357 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
54358
54359         * m4/st_mtim.m4: Remove.  Superseded by...
54360         * m4/stat-time.m4: New file.
54361         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
54362         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
54363
54364 2005-09-15  Derek Price  <derek@ximbiot.com>
54365
54366         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
54367
54368 2005-09-15  Derek Price  <derek@ximbiot.com>
54369
54370         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
54371         * lib/regex_internal.c: Ditto, using this...
54372         (__GNUC_PREREQ): ...new macro.
54373         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
54374         using...
54375         (__GNUC_PREREQ): ...this new macro.
54376
54377         * lib/strstr.h: Include string.h. Define strstr as a macro here.
54378
54379 2005-09-15  Derek Price  <derek@ximbiot.com>
54380             Paul Eggert  <eggert@cs.ucla.edu>
54381
54382         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
54383         changes, consolidating in...
54384         * lib/regex_internal.h: ...this file.
54385
54386 2005-09-13  Jim Meyering  <jim@meyering.net>
54387
54388         * lib/canon-host.c: Filter through gnu indent and reword comments
54389         slightly.
54390         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
54391
54392 2005-09-13  Derek Price  <derek@ximbiot.com>
54393
54394         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
54395         failure.
54396         Reported by Jim Meyering  <jim@meyering.net>.
54397
54398 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
54399
54400         * lib/base64.c: Typo.
54401         (base64_encode): Put b64str in initialized data section.
54402
54403 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
54404
54405         Merge glibc and coreutils changes into gnulib, plus a few
54406         extra fixes.
54407         * lib/md5.c: Use #error rather than a string.
54408         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
54409         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
54410         (__attribute__): Define to empty for non recent-GCC.
54411         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
54412         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
54413         Renamed from their non-__ counterparts, with new macros replacing
54414         them if not _LIBC.  Add __THROW attribute.
54415         (rol): Remove.
54416         (struct md5_ctx): Align buffer if using GCC.
54417         * lib/sha1.h (struct sha1_ctx): Likewise.
54418         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
54419         The old name was backwards.
54420         (NOTSWAP): Remove; not used.
54421         (rol): New macro, moved here from md5.h.
54422         (sha1_process_block): Remove a FIXME that doesn't make sense.
54423
54424 2005-09-12  Derek Price  <derek@ximbiot.com>
54425
54426         Return usable errors from canon-host.
54427         * lib/canon-host.h: New file.
54428         * lib/canon-host.c (canon_host): Wrap...
54429         (canon_host_r): ...this new function, which now relies exclusively on
54430         getaddrinfo.
54431         (ch_strerror): New function.
54432         (last_cherror): New global.
54433         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
54434         interface.
54435         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
54436         void *.
54437         (freeaddrinfo): Free ai->ai_canonname when set.
54438
54439 2005-09-12  Derek Price  <derek@ximbiot.com>
54440
54441         Make canon-host require getaddrinfo.
54442         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
54443         AC_LIBSOURCE canon-host.h.  Call...
54444         (gl_PREREQ_CANON_HOST): ...this new function, which requires
54445         gl_GETADDRINFO.
54446         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
54447
54448 2005-09-12  Derek Price  <derek@ximbiot.com>
54449
54450         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
54451         LGPL.
54452         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
54453
54454 2005-09-12  Derek Price  <derek@ximbiot.com>
54455
54456         * lib/gai_strerror.c: Include config.h when available.  Include
54457         getaddrinfo.h before other headers to test interface.
54458         Reported by Larry Jones <lawrence.jones@ugs.com>.
54459
54460 2005-09-12  Derek Price  <derek@ximbiot.com>
54461             Paul Eggert  <eggert@cs.ucla.edu>
54462
54463         * modules/glob (Files): Add glob-libc.h.
54464
54465 2005-09-12  Derek Price  <derek@ximbiot.com>
54466             Paul Eggert  <eggert@cs.ucla.edu>
54467
54468         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
54469         glob_.h, glob-libc.h.
54470         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
54471
54472 2005-09-12  Derek Price  <derek@ximbiot.com>
54473             Paul Eggert  <eggert@cs.ucla.edu>
54474
54475         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
54476         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
54477         protecting things that should be done only in gnulib contexts.
54478         * lib/glob_.h: New file, containing only the glob things needed for
54479         gnulib.
54480         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
54481         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
54482         (glob, globfree, glob_pattern_p): Now defined simply in terms of
54483         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
54484         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
54485         and to respect the namespace rules better.
54486
54487 2005-09-08  Simon Josefsson  <jas@extundo.com>
54488
54489         * modules/socklen: New file.
54490
54491 2005-09-08  Simon Josefsson  <jas@extundo.com>
54492
54493         * m4/socklen.m4: New file.
54494
54495 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54496
54497         * modules/utimens (Files): Add m4/utimbuf.m4, since
54498         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
54499         Reported by Sergey Poznyakoff.
54500
54501 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54502
54503         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
54504         definitions, since that's the preferred style in glibc.
54505         Fix a minor spacing issue, and update copyright notice to match
54506         glibc's.
54507
54508 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
54509
54510         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
54511
54512 2005-09-06  Simon Josefsson  <jas@extundo.com>
54513
54514         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
54515         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
54516
54517 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
54518
54519         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
54520         warning.
54521
54522 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
54523
54524         * config/srclist.txt: Add glibc bug 1302.
54525
54526 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
54527
54528         Change bitset word type from unsigned int to unsigned long int,
54529         as this has better performance on typical 64-bit hosts.
54530         Port bitset code to hosts with unusual word sizes.
54531         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
54532         (build_collating_symbol):
54533         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
54534         argument is a bitset.  This is merely a style issue, but it makes
54535         it clearer that an entire array is expected.
54536         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
54537         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
54538         Port to the case where bitset_word is not the same as unsigned int.
54539         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
54540         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
54541         Likewise.
54542         * lib/regexec.c (check_dst_limits_calc_pos_1,
54543         check_subexp_matching_top):
54544         (build_trtable, group_nodes_into_DFAstates):
54545         Likewise.
54546         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
54547         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
54548         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
54549         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
54550         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
54551         * lib/regcomp.c (optimize_subexps, lower_subexp):
54552         Work even if bitset_word has holes in its bitwise representation.
54553         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
54554         * lib/regexec.c (check_dst_limits_calc_pos_1,
54555         check_subexp_matching_top):
54556         Likewise.
54557         * lib/regex_internal.c (re_string_reconstruct):
54558         Don't assume UCHAR_MAX == 255.
54559         * lib/regex_internal.h (bitset_set_all): Likewise.
54560         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
54561         All uses changed.
54562         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
54563         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
54564         All uses changed.
54565         (BITSET_WORD_MAX): New macro.
54566         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
54567         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
54568         (bitset_empty, bitset_copy):
54569         Prefer sizeof (bitset) to multiplying it out ourselves.
54570         (bitset_not_merge): Remove; unused.
54571         (bitset_contain): Return bool, not unsigned int with one bit on.
54572         All callers changed.
54573         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
54574         alignment than re_node_set; do this by defining a new internal
54575         type struct dests_alloc and using it to allocate memory.
54576
54577 2005-09-05  Bruno Haible  <bruno@clisp.org>
54578
54579         * gnulib-tool (func_import): Fix comparison in handling of symbolic
54580         links.
54581
54582 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
54583
54584         * modules/size_max (Makefile.am): Add size_max.h
54585
54586 2005-09-04  Derek Price  <derek@ximbiot.com>
54587
54588         * gnulib-tool (func_import): Fix reversed $symbolic logic.
54589
54590 2005-09-03  Simon Josefsson  <jas@extundo.com>
54591
54592         * gnulib-tool: Fix typo.
54593
54594 2005-09-03  Simon Josefsson  <jas@extundo.com>
54595
54596         * config/srclist.txt: Add glibc bug 1293.
54597
54598 2005-09-03  Derek Price  <derek@ximbiot.com>
54599
54600         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
54601         From Larry Jones <lawrence.jones@ugs.com>.
54602
54603 2005-09-02  Simon Josefsson  <jas@extundo.com>
54604
54605         * modules/socklen: New file.
54606
54607 2005-09-02  Simon Josefsson  <jas@extundo.com>
54608
54609         * modules/havelib: New module.
54610
54611         * modules/gettext, modules/iconv, modules/lock, modules/readline:
54612         Use havelib.
54613
54614 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
54615
54616         Check for arithmetic overflow when calculating sizes, to prevent
54617         some buffer-overflow issues.  These patches are conservative, in the
54618         sense that when I couldn't determine whether an overflow was possible,
54619         I inserted a run-time check.
54620         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
54621         macros.
54622         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
54623         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
54624         (re_xnrealloc, re_x2nrealloc): New inline functions.
54625         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
54626         parse_bracket_exp):
54627         (build_equiv_class, build_charclass): Check for arithmetic overflow
54628         in size expression calculations.
54629         * lib/regex_internal.c (re_string_realloc_buffers):
54630         (build_wcs_upper_buffer, re_node_set_add_intersect):
54631         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
54632         (re_dfa_add_node, register_state): Likewise.
54633         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
54634         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
54635         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
54636         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
54637
54638 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
54639
54640         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
54641         m4/ulonglong.m4.  Problem reported by Martin Lambers.
54642
54643 2005-09-02  Bruno Haible  <bruno@clisp.org>
54644
54645         Support for lib vs. lib64 distinction on biarch platforms.
54646         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
54647         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
54648         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
54649
54650 2005-09-02  Bruno Haible  <bruno@clisp.org>
54651
54652         * gnulib-tool (import): In the other first-use case, provide defaults
54653         as well.
54654
54655 2005-09-02  Bruno Haible  <bruno@clisp.org>
54656
54657         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
54658         patches not yet found in the latest gettext release.
54659
54660 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54661
54662         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
54663         to avoid a collision with bits/local_lim.h in glibc.
54664         All uses changed.  Problem reported by Dmitry V. Levin in
54665         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
54666
54667         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
54668         bugs in int versus size_t comparisons.
54669         (re_string_context_at): Fix bug where the code assumed that
54670         Idx is signed.
54671
54672         Use bool where appropriate.
54673         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
54674         All callers changed.
54675         (calc_eclosure_iter): Likewise, for ROOT arg.
54676         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
54677         (build_charclass_op): Likewise, for NON_MATCH arg.
54678         * lib/regex_internal.c (re_string_allocate, re_string_construct):
54679         (re_string_construct_common): Likewise, for ICASE arg.
54680         * lib/regexec.c (re_search_2_stub, re_search_stub):
54681         Likewise, for RET_LEN arg.
54682         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
54683         (set_regs): Likewise, for FL_BACKTRACK arg.
54684         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
54685         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
54686         (calc_eclosure_iter, parse_bracket_exp):
54687         Use bool for internal variables that are booleans.
54688         * lib/regexec.c (re_search_internal, check_matching,
54689         proceed_next_node):
54690         (set_regs, build_sifted_states, sift_states_bkref):
54691         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
54692         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
54693         (find_collation_sequence_value):
54694         Likewise.
54695         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
54696         (re_node_set_compare):
54697         Return bool, not int. All callers changed.
54698         * lib/regexec.c (check_halt_node_context, check_dst_limits):
54699         (build_trtable, check_node_accept): Likewise.
54700         * lib/regex_internal.h: Include stdbool.h.
54701
54702         Fix bugs uncovered when converting to bool.
54703         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
54704         failure instead of charging ahead blindly.
54705         * lib/regex_internal.c (register_state): Likewise.
54706         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
54707         for freeing internal storage.
54708         (group_nodes_into_DFA_states): Use unsigned int, not int, for
54709         bitset pieces used as boolean, to avoid undefined behavior
54710         on hosts that do int overflow checking.
54711
54712 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
54713
54714         * config/srclist.txt: Add glibc bugs 1285-1287.
54715
54716 2005-09-01  Jim Meyering  <jim@meyering.net>
54717
54718         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
54719         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
54720         Require gl_STAT_MACROS, too.
54721
54722 2005-09-01  Bruno Haible  <bruno@clisp.org>
54723
54724         * gnulib-tool (import): In the first-use case, provide defaults.
54725
54726 2005-09-01  Bruno Haible  <bruno@clisp.org>
54727
54728         * gnulib-tool (func_import): Remove the .tmp files.
54729
54730 2005-09-01  Bruno Haible  <bruno@clisp.org>
54731
54732         * gnulib-tool (func_import): Fix handling of symbolic links.
54733
54734 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54735
54736         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
54737         old glibc regex code mishandles strings longer than 2**31 bytes.
54738         This patch fixes this when the regex code is used in gnulib
54739         (i.e., outside glibc).
54740
54741         This patch should not affect the use of the regex code inside
54742         glibc.  No doubt this problem also needs to be handled for glibc
54743         as well, but the result will be an incompatible change to the
54744         glibc ABI, and the old ABI will have to be supported too.  That
54745         can be the the subject for another patch.
54746
54747         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
54748         governing whether the rest of this patch is active.  By default,
54749         the macro is disabled and the patch has no effect.
54750         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
54751         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
54752         (struct re_pattern_buffer, re_search, re_search_2, re_match):
54753         (re_match_2, re_set_registers): Use the new types.
54754         * lib/regex_internal.h (Idx, re_hashval_t): New types.
54755         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
54756         New macros.
54757         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
54758         (re_string_context_at, bin_tree_t, re_dfastate_t):
54759         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
54760         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
54761         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
54762         (re_string_char_size_at, re_string_wchar_at):
54763         (re_string_elem_size_at):
54764         Use the new types and macros to port to 64-bit hosts.
54765         Use unsigned types for internal values, so that the code
54766         mostly works even for arrays larger than SSIZE_MAX.
54767         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
54768         (search_duplicated_node, calc_eclosure_iter, fetch_number):
54769         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
54770         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
54771         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
54772         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
54773         (calc_inveclosure, parse_dup_op, build_range_exp):
54774         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
54775         (fetch_number, create_token_tree, mark_opt_subexp):
54776         Likewise.
54777         * lib/regex_internal.c (re_string_construct_common,
54778         create_ci_newstate):
54779         (create_cd_newstate, re_string_allocate, re_string_construct):
54780         (re_string_realloc_buffers, build_wcs_upper_buffer):
54781         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
54782         (re_string_reconstruct, re_string_peek_byte_case):
54783         (re_string_fetch_byte_case, re_string_context_at):
54784         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
54785         (re_node_set_init_copy, re_node_set_add_intersect):
54786         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
54787         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
54788         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
54789         (re_acquire_state, re_acquire_state_context, register_state):
54790         Likewise.
54791         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
54792         search_cur_bkref_entry):
54793         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
54794         (re_search_internal, re_search_2_stub, re_search_stub)
54795         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
54796         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
54797         (update_cur_sifted_state, check_dst_limits):
54798         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
54799         (check_subexp_limits, sift_states_bkref, merge_state_array):
54800         (check_subexp_matching_top, get_subexp, get_subexp_sub):
54801         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
54802         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
54803         (expand_bkref_cache, check_node_accept_bytes):
54804         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
54805         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
54806         (acquire_init_state_context, check_halt_node_context):
54807         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
54808         (sift_states_backward, clean_state_log_if_needed):
54809         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
54810         (find_recover_state, transit_state_sb, transit_state_mb):
54811         (transit_state_bkref, build_trtable, match_ctx_clean):
54812         Likewise.
54813         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
54814         to work around an assumption that REG_MISSING is negative.
54815
54816         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
54817         (seek_collating_symbol_entry) [defined _LIBC]:
54818         (lookup_collation_sequence_value) [defined _LIBC]:
54819         (build_range_exp, build_collating_symbol) [defined _LIBC]:
54820         Use prototypes rather than old-style function definitions.
54821         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
54822         (transit_state_sb) [0]:
54823         (find_collation_sequence_value) [defined _LIBC]: Likewise.
54824
54825         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
54826         rm_eo.
54827
54828         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
54829         (optimize_subexps, lower_subexp):
54830         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
54831         since the signed shift might overflow.  Use 1u<<31 instead.
54832         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
54833         Likewise.
54834         * lib/regexec.c (check_dst_limits_calc_pos_1,
54835         check_subexp_matching_top): Likewise.
54836
54837         * lib/regcomp.c (optimize_subexps, lower_subexp):
54838         Use CHAR_BIT rather than 8, for clarity.
54839         * lib/regexec.c (check_dst_limits_calc_pos_1):
54840         (check_subexp_matching_top): Likewise.
54841         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
54842         have to worry about portability issues when shifting it left.
54843         Remove no-longer-needed test for table_size > 0.
54844         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
54845         in a word, as the resulting behavior is undefined.
54846         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
54847         in one case, a <= should have been an <, and in another case the
54848         whole test was missing.
54849         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
54850         the standard name CHAR_BIT.
54851         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
54852         this is not true on one's complement and signed-magnitude hosts.
54853
54854         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
54855         next_last_offset.
54856         (struct re_dfa_t): Remove unused member states_alloc.
54857         * lib/regcomp.c (init_dfa): Don't initialize unused members.
54858
54859 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54860
54861         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
54862         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
54863         and large-file glibc and in 32-bit large-file Solaris.
54864
54865 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54866
54867         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
54868         lengths fit in regoff_t; this isn't true if regoff_t is the same
54869         width as size_t.
54870         * lib/regex.c (re_search_internal): 5th arg is LAST_START
54871         (= START + RANGE) instead of RANGE.  This avoids overflow
54872         problems when regoff_t is the same width as size_t.
54873         All callers changed.
54874         (re_search_2_stub): Check for overflow when adding the
54875         sizes of the two strings.
54876         (re_search_stub): Check for overflow when adding START
54877         to RANGE; if it occurs, substitute the extreme value.
54878
54879 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
54880
54881         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
54882
54883 2005-08-31  Jim Meyering  <jim@meyering.net>
54884
54885         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
54886         a pointer-to-const.
54887         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
54888         (register_state): Likewise.
54889         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
54890         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
54891         (group_nodes_into_DFAstates): Likewise.
54892
54893 2005-08-31  Jim Meyering  <jim@meyering.net>
54894
54895         * check-module: Add a FIXME comment.
54896
54897 2005-08-31  Eric Blake  <ebb9@byu.net>
54898
54899         * modules/unistd-safer (Files): Add unistd--.h.
54900         * modules/stdio-safer (Files): Add stdio--.h.
54901
54902 2005-08-31  Derek Price  <derek@ximbiot.com>
54903
54904         * lib/getdelim.c (getdelim): Return EOF on EOF.
54905         Reported by Larry Jones <lawrence.jones@ugs.com>.
54906
54907 2005-08-31  Bruno Haible  <bruno@clisp.org>
54908
54909         Avoid unnecessary diffs in the generated lib/Makefile.am.
54910         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
54911         the generated files.
54912         (func_import): Don't set cmd.
54913
54914 2005-08-31  Bruno Haible  <bruno@clisp.org>
54915
54916         * lib/strstr.c: Include <stddef.h>, for NULL.
54917         * lib/strcasestr.c: Likewise.
54918         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54919
54920 2005-08-31  Bruno Haible  <bruno@clisp.org>
54921
54922         * gnulib-tool: New option --macro-prefix.
54923         (func_import): Use macro_prefix.
54924         (import): Handle option --macro-prefix.
54925
54926 2005-08-31  Bruno Haible  <bruno@clisp.org>
54927
54928         * gnulib-tool (import): Rename most ac_* variables to cached_*.
54929         Also use new variables cached_lgpl, cached_libtool.
54930
54931 2005-08-31  Bruno Haible  <bruno@clisp.org>
54932
54933         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
54934         always instantiating them.
54935
54936 2005-08-31  Bruno Haible  <bruno@clisp.org>
54937
54938         * gnulib-tool (func_import): Read the previous cached settings
54939         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
54940         earlier added by gnulib but are now dropped. Warn when a gnulib file
54941         overwrites a non-gnulib file.
54942
54943 2005-08-31  Bruno Haible  <bruno@clisp.org>
54944
54945         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
54946         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
54947         projects that don't keep autogenerated files in CVS. Put into
54948         actioncmd only the specified modules, not the transitive closure.
54949
54950 2005-08-31  Bruno Haible  <bruno@clisp.org>
54951
54952         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
54953         Create directories that shall be filled.
54954         (import): Don't look for gl_* macros in configure.ac. Recurse across
54955         all directories containing a gnulib-cache.m4 files, if meaningful.
54956
54957 2005-08-31  Bruno Haible  <bruno@clisp.org>
54958
54959         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
54960         (import): Set seen_libtool when we see gl_LIBTOOL.
54961
54962 2005-08-31  Bruno Haible  <bruno@clisp.org>
54963
54964         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
54965         declaration macro definitions from generated gnulib.m4.
54966
54967 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
54968
54969         * lib/iconvme.h: Add prototype for iconv_alloc.
54970
54971 2005-08-29  Simon Josefsson  <jas@extundo.com>
54972
54973         * lib/iconvme.c: Fix errno.
54974
54975 2005-08-29  Bruno Haible  <bruno@clisp.org>
54976
54977         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
54978         that it works when the directory contains spaces.
54979
54980 2005-08-29  Bruno Haible  <bruno@clisp.org>
54981
54982         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
54983
54984 2005-08-29  Bruno Haible  <bruno@clisp.org>
54985
54986         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
54987         Emit more advice.
54988
54989 2005-08-29  Bruno Haible  <bruno@clisp.org>
54990         and Stepan Kasal  <kasal@ucw.cz>
54991
54992         * check-module: If more parameters are given, check each of them
54993         separately; add more exceptions, as noted by Jim Meyering.
54994         (check_module): New procedure.
54995         (%exempt_header): Now contains all exceptions.
54996
54997 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
54998
54999         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
55000
55001 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
55002
55003         * lib/iconvme.c: Split iconv_string into iconv_alloc.
55004
55005 2005-08-28  Bruno Haible  <bruno@clisp.org>
55006
55007         * m4/gnulib-tool.m4: New file.
55008
55009 2005-08-27  Jim Meyering  <jim@meyering.net>
55010
55011         * modules/unistd-safer (Files): Add pipe-safer.c.
55012         * modules/fcntl-safer (Files): Add creat-safer.c.
55013
55014 2005-08-27  Jim Meyering  <jim@meyering.net>
55015
55016         * m4/stdlib-safer.m4: New file.  From coreutils.
55017         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
55018         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
55019         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
55020         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
55021         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
55022
55023 2005-08-27  Jim Meyering  <jim@meyering.net>
55024
55025         * lib/fopen-safer.c: Merge minor changes from coreutils.
55026         * lib/dup-safer.c: Likewise.
55027         * lib/fd-safer.c: Likewise.
55028
55029         Merge from coreutils.
55030         * lib/stdio--.h: New file.
55031         * lib/stdlib--.h: New file.
55032         * lib/mkstemp-safer.c: New file.
55033
55034         GNU tar needs these.
55035         * lib/pipe-safer.c: New file.
55036         * lib/creat-safer.c: New file.
55037         * lib/fcntl--.h (creat): Define to creat_safer.
55038         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
55039         * lib/unistd--.h (pipe): Define to pipe_safer.
55040         * lib/unistd-safer.h: Declare pipe_safer.
55041
55042 2005-08-26  Simon Josefsson  <jas@extundo.com>
55043
55044         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
55045         Haible <bruno@clisp.org>.
55046
55047 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
55048
55049         * lib/regex_internal.h: Remove all references to
55050         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
55051         or better.
55052         (bitset_not, bitset_merge, bitset_not_merge):
55053         (bitset_mask, re_string_allocate, re_string_construct):
55054         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
55055         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
55056         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
55057         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
55058         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
55059         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
55060         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
55061         (re_acquire_state_context):
55062         Remove unnecessary forward decls.
55063         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
55064         Put __attribute at function definition,
55065         now that the function decl has been removed.
55066         * lib/regex_internal.c (re_string_peek_byte_case):
55067         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
55068         Likewise.
55069
55070 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
55071
55072         * m4/regex.m4: Add AC_PREREQ(2.50).
55073         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
55074
55075 2005-08-25  Simon Josefsson  <jas@extundo.com>
55076
55077         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
55078         __fsetlocking.
55079
55080 2005-08-25  Simon Josefsson  <jas@extundo.com>
55081
55082         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
55083         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
55084         GLIBC specific code.
55085
55086 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
55087
55088         Make regex safe for g++.  This fixes one real bug (an "err"
55089         that should have been "*err").  g++ problem reported by
55090         Sam Steingold.
55091         * lib/regex_internal.h (re_calloc): New macro, consistent with
55092         re_malloc etc.  All callers of calloc changed to use re_calloc.
55093         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
55094         not int.  All callers changed.
55095         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
55096         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
55097         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
55098         (find_recover_state): Change "err" to "*err"; this fixes what
55099         appears to be a real bug.
55100         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
55101         versus int.
55102
55103 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
55104
55105         * modules/regex (Depends-on): Add malloc, since the code
55106         assumes that !malloc(0) means failure.
55107
55108 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
55109
55110         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
55111
55112         alloca modernization/simplification for regex.
55113         * lib/regex.c: Remove portability cruft for alloca.  This no longer
55114         needs to be at the start of the file, and can be moved into
55115         regex_internal.h and simplified.
55116         * lib/regex_internal.h: Include <alloca.h>.
55117         (__libc_use_alloca) [!defined _LIBC]: New macro.
55118         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
55119         now works outside glibc.
55120
55121 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
55122
55123         * config/srclist.txt: Add glibc bugs 1241, 1245.
55124
55125 2005-08-25  Jim Meyering  <jim@meyering.net>
55126
55127         * lib/open-safer.c: Include <config.h>.
55128         Otherwise, we'd lose LARGEFILE support in any file using
55129         e.g. "fcntl--.h"
55130
55131 2005-08-25  Bruno Haible  <bruno@clisp.org>
55132
55133         * m4/minmax.m4: Require autoconf 2.52.
55134         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
55135         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
55136         alternatives of translit over the alphabet.
55137         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
55138
55139 2005-08-24  Simon Josefsson  <jas@extundo.com>
55140
55141         * tests/test-getpass.c: New file.
55142
55143 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
55144
55145         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
55146         for GNU regex features.
55147
55148 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
55149
55150         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
55151         * lib/regex.h (regerror): Likewise.
55152
55153         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
55154         requires this.  (The code never needed it.)
55155
55156         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
55157         All uses of recently-renamed identifiers changed to use the new,
55158         POSIX-compliant names.  The code will build and run just fine
55159         without these changes, but it's better to eat our own dog food
55160         and use the standard-conforming names.
55161
55162         * lib/regex.h: Fix a multitude of POSIX name space violations.
55163         These changes have an effect only for programs that define
55164         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
55165         do not change anything for programs compiled in the normal way.
55166         Also, there is no effect on the ABI.
55167
55168         (_REGEX_SOURCE): New macro.
55169         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
55170         defined and _GNU_SOURCE is not; this fixes a name space violation.
55171
55172         Rename the following macros to obey POSIX requirements.
55173         The old names are still visible as macros if _REGEX_SOURCE is defined.
55174         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
55175         RE_BACKSLASH_ESCAPE_IN_LISTS.
55176         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
55177         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
55178         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
55179         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
55180         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
55181         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
55182         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
55183         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
55184         (REG_INTERVALS): renamed from RE_INTERVALS.
55185         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
55186         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
55187         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
55188         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
55189         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
55190         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
55191         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
55192         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
55193         RE_UNMATCHED_RIGHT_PAREN_ORD.
55194         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
55195         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
55196         (REG_DEBUG): renamed from RE_DEBUG.
55197         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
55198         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
55199         unusual, since we can't clash with the POSIX REG_ICASE.
55200         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
55201         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
55202         (REG_NO_SUB): renamed from RE_NO_SUB.
55203         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
55204         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
55205         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
55206         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
55207         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
55208         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
55209         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
55210         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
55211         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
55212         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
55213         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
55214         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
55215         RE_SYNTAX_POSIX_MINIMAL_BASIC.
55216         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
55217         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
55218         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
55219         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
55220         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
55221         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
55222         (REG_FIXED): Renamed from REGS_FIXED.
55223         (REG_NREGS): Renamed from RE_NREGS.
55224
55225         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
55226         of other REG_* macros, since POSIX says the user is allowed to
55227         #undef these macros selectively.
55228
55229         (reg_errcode_t): Update comment stating what other tables need
55230         to be consistent.
55231
55232         Rename the following enum values to obey POSIX requirements.
55233         The old names are still visible as macros.
55234         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
55235         is not defined, since GNU is supposed to be a superset of POSIX as
55236         much as possible, and since we want reg_errcode_t to be a signed
55237         type for implementation consistency.
55238         (_REG_NOERROR): Renamed from REG_NOERROR.
55239         (_REG_NOMATCH): Renamed from REG_NOMATCH.
55240         (_REG_BADPAT): Renamed from REG_BADPAT.
55241         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
55242         (_REG_ECTYPE): Renamed from REG_ECTYPE.
55243         (_REG_EESCAPE): Renamed from REG_EESCAPE.
55244         (_REG_ESUBREG): Renamed from REG_ESUBREG.
55245         (_REG_EBRACK): Renamed from REG_EBRACK.
55246         (_REG_EPAREN): Renamed from REG_EPAREN.
55247         (_REG_EBRACE): Renamed from REG_EBRACE.
55248         (_REG_BADBR): Renamed from REG_BADBR.
55249         (_REG_ERANGE): Renamed from REG_ERANGE.
55250         (_REG_ESPACE): Renamed from REG_ESPACE.
55251         (_REG_BADRPT): Renamed from REG_BADRPT.
55252         (_REG_EEND): Renamed from REG_EEND.
55253         (_REG_ESIZE): Renamed from REG_ESIZE.
55254         (_REG_ERPAREN): Renamed from REG_ERPAREN.
55255         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
55256         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
55257         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
55258         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
55259
55260         (_REG_RE_NAME, _REG_RM_NAME): New macros.
55261         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
55262         changed.  But support the old name if the new one is not defined
55263         and if _REGEX_SOURCE.
55264
55265         Change the following member names in struct re_pattern_buffer.
55266         The old names are still supported if !_REGEX_SOURCE.
55267         The new names are always supported, regardless of _REGEX_SOURCE.
55268         (re_buffer): Renamed from buffer.
55269         (re_allocated): Renamed from allocated.
55270         (re_used): Renamed from used.
55271         (re_syntax): Renamed from syntax.
55272         (re_fastmap): Renamed from fastmap.
55273         (re_translate): Renamed from translate.
55274         (re_can_be_null): Renamed from can_be_null.
55275         (re_regs_allocated): Renamed from regs_allocated.
55276         (re_fastmap_accurate): Renamed from fastmap_accurate.
55277         (re_no_sub): Renamed from no_sub.
55278         (re_not_bol): Renamed from not_bol.
55279         (re_not_eol): Renamed from not_eol.
55280         (re_newline_anchor): Renamed from newline_anchor.
55281
55282         Change the following member names in struct re_registers.
55283         The old names are still supported if !_REGEX_SOURCE.
55284         The new names are always supported, regardless of _REGEX_SOURCE.
55285         (rm_num_regs): Renamed from num_regs.
55286         (rm_start): Renamed from start.
55287         (rm_end): Renamed from end.
55288
55289         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
55290         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
55291         Prepend __ to parameter names.
55292
55293         Undo yesterday's changes.
55294
55295 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
55296
55297         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
55298         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
55299         lib/regex.c.
55300
55301 2005-08-24  Jim Meyering  <jim@meyering.net>
55302
55303         Sync from coreutils.
55304         * m4/fcntl-safer.m4: New file.
55305
55306         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
55307         and object files for this module.
55308
55309 2005-08-24  Jim Meyering  <jim@meyering.net>
55310
55311         Sync from coreutils.
55312         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
55313
55314 2005-08-24  Jim Meyering  <jim@meyering.net>
55315
55316         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
55317         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
55318
55319 2005-08-24  Jim Meyering  <jim@meyering.net>
55320
55321         * modules/fcntl-safer: New module.
55322         * modules/fts (Depends-on): Add fcntl-safer.
55323         * MODULES.html.sh (File descriptor based Input/Output):
55324         Add fcntl-safer.
55325
55326 2005-08-24  Bruno Haible  <bruno@clisp.org>
55327
55328         Support for unit test modules.
55329         * modules/README: Mention tests modules.
55330         * modules/TEMPLATE-TESTS: New file.
55331         * gnulib-tool: New options --extract-tests-module, --with-tests and
55332         --tests-base (unused for the moment).
55333         (testsbase, inctests): New variables.
55334         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
55335         (func_verify_module): Exclude TEMPLATE-TESTS.
55336         (func_verify_nontests_module, func_verify_tests_module): New functions.
55337         (func_get_dependencies): Add implicit dependency for tests modules.
55338         (func_get_tests_module): New function.
55339         (func_modules_transitive_closure): When --with-tests was specified,
55340         include the unit tests as well, unless explicitly avoided.
55341         (func_emit_lib_Makefile_am): Ignore the tests modules here.
55342         (func_emit_tests_Makefile_am): New function.
55343         (func_create_testdir): When --with-tests was specified, emit a
55344         tests/ directory.
55345         * MODULES.html.sh (Future developments): Update.
55346
55347 2005-08-24  Bruno Haible  <bruno@clisp.org>
55348
55349         * modules/tls-tests: New file.
55350         * tests/test-tls.c: New file, from GNU gettext.
55351
55352 2005-08-24  Bruno Haible  <bruno@clisp.org>
55353
55354         * modules/lock-tests: New file.
55355         * tests/test-lock.c: New file, from GNU gettext.
55356
55357 2005-08-24  Bruno Haible  <bruno@clisp.org>
55358
55359         * lib/lock.h: Add multiple inclusion guard.
55360         * lib/tls.h: Add multiple inclusion guard.
55361
55362 2005-08-24  Bruno Haible  <bruno@clisp.org>
55363
55364         * gnulib-tool: Add support for the --aux-dir option to
55365         --create-testdir, --create-megatestdir, --test, --megatest.
55366         (func_create_testdir, func_create_megatestdir): Optionally emit a
55367         AC_CONFIG_AUX_DIR directive.
55368         (create-testdir, create-megatestdir, test, megatest): Provide a
55369         default value for $auxdir.
55370
55371 2005-08-24  Bruno Haible  <bruno@clisp.org>
55372
55373         * gnulib-tool (import): Use compound statement instead of subshell
55374         where possible.
55375
55376 2005-08-24  Bruno Haible  <bruno@clisp.org>
55377
55378         * gnulib-tool (import): Change --aux-dir default to "build-aux".
55379
55380 2005-08-24  Bruno Haible  <bruno@clisp.org>
55381
55382         * gnulib-tool (func_version): Update.
55383
55384 2005-08-24  Bruno Haible  <bruno@clisp.org>
55385
55386         * gnulib-tool (func_import, func_create_testdir,
55387         func_create_megatestdir): Quote all autoconf macro arguments.
55388
55389 2005-08-24  Bruno Haible  <bruno@clisp.org>
55390
55391         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
55392         option --force, because --force causes the aclocal.m4 of each
55393         subdirectory to be newer than the corresponding config.h.in.
55394
55395 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
55396
55397         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
55398         All contents moved to gl_REGEX.
55399         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
55400         assume that it does.
55401
55402 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
55403
55404         * lib/regex.h (REG_NOSYS)
55405         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
55406         Define, since POSIX requires it as of 2001.
55407         (_REG_ENOSYS)
55408         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
55409         New private symbol, used to keep the enum signed in all cases.
55410         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
55411         Youngman in
55412         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
55413
55414         * lib/regex_internal.c (re_string_skip_chars, register_state):
55415         (calc_state_hash):
55416         Remove forward decls; no longer needed now that we use prototypes.
55417         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
55418         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
55419         (clean_state_log_if_needed): Likewise.
55420
55421 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
55422
55423         * config/srclist.txt: Add glibc bugs 1231-1233.
55424
55425 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55426
55427         Fix problems reported by Sam Steingold in
55428         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
55429         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
55430         assumed that reg_errcode_t is a signed type, which is not
55431         necessarily true if _XOPEN_SOURCE is not defined.
55432         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
55433         since some compilers warn about it otherwise.
55434
55435 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55436
55437         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
55438         (init_word_char, create_initial_state, duplicate_node_closure):
55439         (fetch_token, peek_token_bracket, build_range_exp):
55440         (build_collating_symbol): Remove forward decls; no longer needed
55441         now that we use prototypes.
55442
55443         * lib/regcomp.c:
55444         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
55445         (re_compile_fastmap_iter, regcomp, regerror, regfree):
55446         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
55447         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
55448         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
55449         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
55450         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
55451         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
55452         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
55453         (build_range_exp, build_collating_symbol, parse_bracket_exp):
55454         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
55455         (build_charclass, build_charclass_op, fetch_number, create_tree):
55456         (create_token_tree, mark_opt_subexp, duplicate_tree):
55457         Use prototypes rather than old-style definitions.
55458
55459         * lib/regex_internal.c:
55460         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
55461         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
55462         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
55463         (re_string_reconstruct, re_string_peek_byte_case):
55464         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
55465         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
55466         (re_node_set_init_copy, re_node_set_add_intersect):
55467         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
55468         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
55469         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
55470         (re_acquire_state, re_acquire_state_context, register_state):
55471         (create_ci_newstate, create_cd_newstate, free_state):
55472         Likewise.
55473         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
55474         re_search_2):
55475         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
55476         (re_search_internal, prune_impossible_nodes):
55477         (acquire_init_state_context, check_matching, static):
55478         (check_halt_node_context, check_halt_state_context, proceed_next_node):
55479         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
55480         (update_regs, sift_states_backward, build_sifted_states):
55481         (clean_state_log_if_needed, merge_state_array):
55482         (update_cur_sifted_state, add_epsilon_src_nodes):
55483         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
55484         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
55485         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
55486         (find_recover_state, check_subexp_matching_top, transit_state_mb):
55487         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
55488         (check_arrival, check_arrival_add_next_nodes):
55489         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
55490         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
55491         (check_node_accept_bytes, check_node_accept, extend_buffers):
55492         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
55493         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
55494         (sift_ctx_init):
55495         Likewise.
55496
55497         * lib/regex_internal.h:
55498         (re_string_allocate, re_string_construct, re_string_reconstruct):
55499         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
55500         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
55501         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
55502         (re_string_context_at, re_string_peek_byte_case):
55503         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
55504         is defined, since we now use prototypes always.
55505
55506         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
55507         C89 or better.  All uses removed.
55508
55509 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
55510
55511         * config/srclist.txt: Add glibc bugs 1220-1227.
55512
55513 2005-08-20  Jim Meyering  <jim@meyering.net>
55514
55515         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
55516         of unused local, dfa.
55517
55518 2005-08-20  Bruno Haible  <bruno@clisp.org>
55519
55520         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
55521
55522 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55523
55524         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
55525         (re_node_set_insert_last, re_dfa_add_node):
55526         Rename local variables to avoid GCC shadowing warnings.
55527
55528 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55529
55530         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
55531         [defined lint]: Suppress bogus uninitialized-variable warnings.
55532
55533         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
55534         and let the caller return REG_ESPACE if out of space.  This
55535         removes an uninitialied-variable warning with GCC 4.0.1, and also
55536         avoids taking the address of a local variable.  All callers
55537         changed.
55538
55539 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
55540
55541         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
55542         $LIBCSRC/posix/regexec.c.
55543         Add glibc bug 1217 for regcomp.c.
55544
55545 2005-08-19  Jim Meyering  <jim@meyering.net>
55546
55547         * lib/regexec.c (proceed_next_node): Redo local variables to
55548         avoid GCC shadowing warnings.
55549
55550 2005-08-18  Bruno Haible  <bruno@clisp.org>
55551
55552         * lib/strstr.c (strstr): Fix return value in multibyte case.
55553         * lib/strcasestr.c (strcasestr): Likewise.
55554
55555 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
55556
55557         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
55558
55559 2005-08-17  Jim Meyering  <jim@meyering.net>
55560
55561         Make the %s format (seconds since the epoch) work for a negative
55562         number and when used with a zero-padded field width, e.g. %015s.
55563
55564         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
55565         label so that it precedes the code to set `digits'.  Otherwise,
55566         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
55567         print `00-22'.  Now, it prints `-0022', as it should.
55568
55569 2005-08-17  Bruno Haible  <bruno@clisp.org>
55570
55571         * modules/strstr (Files): Add m4/mbrtowc.m4.
55572         (Depends-on): Add mbuiter.
55573
55574 2005-08-17  Bruno Haible  <bruno@clisp.org>
55575
55576         * modules/strcasestr: New file.
55577         * MODULES.html.sh (String handling, based on ANSI C 89): Add
55578         strcasestr.
55579
55580 2005-08-17  Bruno Haible  <bruno@clisp.org>
55581
55582         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
55583
55584 2005-08-17  Bruno Haible  <bruno@clisp.org>
55585
55586         * modules/mbuiter: New file.
55587         * MODULES.html.sh (Extended multibyte and wide character utilities):
55588         Add mbuiter.
55589
55590 2005-08-17  Bruno Haible  <bruno@clisp.org>
55591
55592         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
55593         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
55594
55595 2005-08-17  Bruno Haible  <bruno@clisp.org>
55596
55597         * m4/strcasestr.m4: New file.
55598
55599 2005-08-17  Bruno Haible  <bruno@clisp.org>
55600
55601         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
55602         * lib/strstr.c: Completely rewritten, with multibyte locale support.
55603
55604 2005-08-17  Bruno Haible  <bruno@clisp.org>
55605
55606         * lib/strcasestr.h: New file.
55607         * lib/strcasestr.c: New file.
55608
55609 2005-08-17  Bruno Haible  <bruno@clisp.org>
55610
55611         * lib/strcasecmp.c: Use mbuiter.h.
55612
55613 2005-08-17  Bruno Haible  <bruno@clisp.org>
55614
55615         * lib/mbuiter.h: New file.
55616
55617 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
55618
55619         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
55620         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
55621         and gl_GETOPT are both invoked via different paths (as happens
55622         with GNU tar CVS because it uses both argp and getopt), the former
55623         wins.
55624
55625 2005-08-16  Bruno Haible  <bruno@clisp.org>
55626
55627         * modules/tls: New file.
55628         * MODULES.html.sh (Multithreading): Add tls.
55629
55630 2005-08-16  Bruno Haible  <bruno@clisp.org>
55631
55632         * modules/strnlen1: New file.
55633         * MODULES.html.sh (String handling): Add strnlen1.
55634
55635 2005-08-16  Bruno Haible  <bruno@clisp.org>
55636
55637         * modules/strcase (Files): Add m4/mbrtowc.m4.
55638         (Depends-on): Add strnlen1, mbchar.
55639
55640 2005-08-16  Bruno Haible  <bruno@clisp.org>
55641
55642         * modules/mbiter: New file.
55643         * MODULES.html.sh (Extended multibyte and wide character utilities):
55644         Add mbiter.
55645
55646 2005-08-16  Bruno Haible  <bruno@clisp.org>
55647
55648         * modules/mbfile: New file.
55649         * MODULES.html.sh (Extended multibyte and wide character utilities):
55650         Add mbfile.
55651
55652 2005-08-16  Bruno Haible  <bruno@clisp.org>
55653
55654         * modules/mbchar: New file.
55655         * MODULES.html.sh (Extended multibyte and wide character utilities):
55656         New section.
55657
55658 2005-08-16  Bruno Haible  <bruno@clisp.org>
55659
55660         * m4/tls.m4: New file, from GNU gettext.
55661
55662 2005-08-16  Bruno Haible  <bruno@clisp.org>
55663
55664         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
55665         always.
55666         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
55667
55668 2005-08-16  Bruno Haible  <bruno@clisp.org>
55669
55670         * m4/mbiter.m4: New file.
55671
55672 2005-08-16  Bruno Haible  <bruno@clisp.org>
55673
55674         * m4/mbfile.m4: New file.
55675
55676 2005-08-16  Bruno Haible  <bruno@clisp.org>
55677
55678         * m4/mbchar.m4: New file.
55679
55680 2005-08-16  Bruno Haible  <bruno@clisp.org>
55681
55682         * lib/tls.h: New file, from GNU gettext.
55683         * lib/tls.c: New file, from GNU gettext.
55684
55685 2005-08-16  Bruno Haible  <bruno@clisp.org>
55686
55687         * lib/strnlen1.h: New file.
55688         * lib/strnlen1.c: New file.
55689
55690 2005-08-16  Bruno Haible  <bruno@clisp.org>
55691
55692         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
55693         (mbi_init): Update.
55694         (mbi_avail, mbi_advance): Let the iteration end before the terminating
55695         NUL byte, not after it.
55696
55697 2005-08-16  Bruno Haible  <bruno@clisp.org>
55698
55699         * lib/strcase.h (strcasecmp): Add note in comments.
55700         * lib/strncasecmp.c: Use code from strcasecmp.c.
55701         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
55702         (strcasecmp): Work correctly in multibyte locales.
55703
55704 2005-08-16  Bruno Haible  <bruno@clisp.org>
55705
55706         * lib/mbiter.h: New file.
55707
55708 2005-08-16  Bruno Haible  <bruno@clisp.org>
55709
55710         * lib/mbfile.h: New file.
55711
55712 2005-08-16  Bruno Haible  <bruno@clisp.org>
55713
55714         * lib/mbchar.h: New file.
55715         * lib/mbchar.c: New file.
55716
55717 2005-08-16  Bruno Haible  <bruno@clisp.org>
55718
55719         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
55720         the valid ones. Makes the comparison operations transitive:
55721         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
55722         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
55723
55724 2005-08-15  Simon Josefsson  <jas@extundo.com>
55725
55726         * modules/ssize_t (License): Change to 'unlimited'.
55727
55728         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
55729
55730 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
55731
55732         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
55733         Add comments for each pending glibc patch.
55734
55735 2005-08-15  Bruno Haible  <bruno@clisp.org>
55736
55737         * lib/regex.h (__restrict_arr): Don't define to __restrict if
55738         __cplusplus is defined.
55739
55740 2005-08-14  Jim Meyering  <jim@meyering.net>
55741
55742         Sync from coreutils.
55743
55744         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
55745         Use the hash-table-based cycle-detection code not just when
55746         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
55747         Reported by James Youngman in
55748         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
55749         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
55750         FTS_TIGHT_CYCLE_CHECK.
55751         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
55752         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
55753         once again.
55754         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
55755         * lib/fts.c (fd_safer): Remove decl.
55756         Include fcntl--.h rather than unistd-safer.h
55757         (fts_safe_changedir): Don't call fd_safer; no longer needed
55758         now that we include fcntl--.h.
55759
55760 2005-08-12  Simon Josefsson  <jas@extundo.com>
55761
55762         * modules/getndelim2: Use ssize_t module.
55763         * modules/getnline: Likewise.
55764         * modules/safe-read: Likewise.
55765         * modules/xreadlink: Likewise.
55766
55767         * modules/ssize_t: New file.
55768
55769 2005-08-12  Simon Josefsson  <jas@extundo.com>
55770
55771         * m4/readline.m4: Look for termcap, curses or ncurses if required.
55772
55773 2005-08-12  Simon Josefsson  <jas@extundo.com>
55774
55775         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55776         ssize_t.
55777
55778 2005-08-12  Simon Josefsson  <jas@extundo.com>
55779
55780         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
55781         readline, getdelim and check_version.
55782         (Support for systems lacking ISO C 99: Sizes of integer types):
55783         Add size_max.
55784
55785 2005-08-12  Bruno Haible  <bruno@clisp.org>
55786
55787         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
55788
55789 2005-08-11  Simon Josefsson  <jas@extundo.com>
55790
55791         * modules/readline: New file.
55792
55793         * modules/strnlen (Files): Add strnlen.h.
55794
55795 2005-08-11  Simon Josefsson  <jas@extundo.com>
55796
55797         * m4/readline.m4: New file.
55798
55799 2005-08-11  Simon Josefsson  <jas@extundo.com>
55800
55801         * lib/readline.h, readline.c: New file.
55802
55803 2005-08-11  Simon Josefsson  <jas@extundo.com>
55804
55805         * doc/gnulib.texi (Initial import, Finishing touches): Mention
55806         gl_AVOID.
55807
55808 2005-08-11  Bruno Haible  <bruno@clisp.org>
55809
55810         * lib/strnlen.h (strnlen): Change parameter name to match comment.
55811
55812 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
55813
55814         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
55815
55816 2005-08-10  Simon Josefsson  <jas@extundo.com>
55817
55818         * tests/test-iconvme.c: New file.
55819
55820 2005-08-10  Simon Josefsson  <jas@extundo.com>
55821
55822         * m4/strnlen.m4: New file.
55823
55824         * m4/strndup.m4: Don't check for strnlen declaration, done in
55825         strnlen.m4.
55826
55827 2005-08-10  Simon Josefsson  <jas@extundo.com>
55828
55829         * lib/strndup.c: Use strnlen.h.
55830
55831         * lib/strnlen.h: New file.
55832
55833 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
55834
55835         * README: Typos.
55836
55837 2005-08-02  Simon Josefsson  <jas@extundo.com>
55838
55839         * modules/readline: New file.
55840
55841 2005-08-02  Simon Josefsson  <jas@extundo.com>
55842
55843         * modules/getdelim: New file.
55844
55845         * modules/getline: Rewrite, don't use getndelim2.
55846
55847 2005-08-02  Simon Josefsson  <jas@extundo.com>
55848
55849         * m4/getline.m4: Separate out getdelim stuff into separate module.
55850
55851         * m4/getdelim.m4: New file.
55852
55853 2005-08-02  Simon Josefsson  <jas@extundo.com>
55854
55855         * lib/getline.h, getline.c: Rewrite.
55856
55857         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
55858
55859 2005-07-31  Bruno Haible  <bruno@clisp.org>
55860
55861         * lib/lock.h (gl_lock_initializer): New macro.
55862         (gl_lock_define_initialized): Use it.
55863         (gl_rwlock_initializer): New macro.
55864         (gl_rwlock_define_initialized): Use it.
55865         (gl_recursive_lock_initializer): New macro.
55866         (gl_recursive_lock_define_initialized): Use it.
55867
55868 2005-07-30  Karl Berry  <karl@gnu.org>
55869
55870         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
55871         Report from Ben Pfaff, regarding getopt.
55872
55873 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
55874
55875         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
55876         normal way.
55877         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
55878         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
55879         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
55880         (gl_GETOPT): Use the new macros.  Most of the implementation
55881         is moved to the new macros.  This is for programs like Emacs
55882         that don't want all the functionality of gl_GETOPT.
55883
55884 2005-07-26  Bruno Haible  <bruno@clisp.org>
55885
55886         * m4/lock.m4: Update from GNU gettext.
55887
55888 2005-07-26  Bruno Haible  <bruno@clisp.org>
55889
55890         * lib/lock.h: Update from GNU gettext.
55891         * lib/lock.c: Update from GNU gettext.
55892
55893 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
55894
55895         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
55896         obsolescent AC_TRY_RUN.  Include the default includes files, for
55897         'exit'.
55898
55899 2005-07-24  Bruno Haible  <bruno@clisp.org>
55900
55901         * modules/visibility: New file.
55902         * MODULES.html.sh (Misc): Add visibility.
55903
55904 2005-07-24  Bruno Haible  <bruno@clisp.org>
55905
55906         * m4/visibility.m4: New file.
55907
55908 2005-07-24  Bruno Haible  <bruno@clisp.org>
55909
55910         * doc/visibility.texi: New file.
55911
55912 2005-07-22  Bruno Haible  <bruno@clisp.org>
55913
55914         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
55915         $(ALLOCA_H), redundant through BUILT_SOURCES.
55916         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
55917         redundant through BUILT_SOURCES.
55918         * modules/byteswap (Makefile.am): Remove explicit dependency on
55919         $(BYTESWAP_H), redundant through BUILT_SOURCES.
55920         * modules/fnmatch (Makefile.am): Remove explicit dependency on
55921         $(FNMATCH_H), redundant through BUILT_SOURCES.
55922         * modules/getopt (Makefile.am): Remove explicit dependency on
55923         $(GETOPT_H), redundant through BUILT_SOURCES.
55924         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
55925         redundant through BUILT_SOURCES.
55926         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
55927         redundant through BUILT_SOURCES.
55928         * modules/stdbool (Makefile.am): Remove explicit dependency on
55929         $(STDBOOL_H), redundant through BUILT_SOURCES.
55930         * modules/stdint (Makefile.am): Remove explicit dependency on
55931         $(STDINT_H), redundant through BUILT_SOURCES.
55932         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
55933         Remove explicit dependency on $(SYSEXITS_H).
55934         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
55935
55936 2005-07-18  Simon Josefsson  <jas@extundo.com>
55937
55938         * lib/check-version.c (check_version): Accept identical versions too.
55939
55940 2005-07-18  Bruno Haible  <bruno@clisp.org>
55941
55942         * modules/lock: New file.
55943         * MODULES.html.sh (Multithreading): New section.
55944
55945 2005-07-18  Bruno Haible  <bruno@clisp.org>
55946
55947         * m4/lock.m4: New file, from GNU gettext.
55948
55949 2005-07-18  Bruno Haible  <bruno@clisp.org>
55950
55951         * lib/lock.h: New file, from GNU gettext.
55952         * lib/lock.c: New file, from GNU gettext.
55953
55954 2005-07-18  Bruno Haible  <bruno@clisp.org>
55955
55956         * lib/lock.h (gl_once_t): New type.
55957         (gl_once_define, gl_once): New macros.
55958         * lib/lock.c (fresh_once): New variable.
55959         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
55960         functions.
55961
55962 2005-07-16  Simon Josefsson  <jas@extundo.com>
55963
55964         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
55965         workaround, suggested by Bruno.
55966
55967 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
55968
55969         * modules/xalloc (Depends-on): Add xalloc-die.
55970         * modules/xvasprintf (Depends-on): Add xalloc-die.
55971
55972 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
55973
55974         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
55975         with a minor change.
55976
55977 2005-07-15  Bruno Haible  <bruno@clisp.org>
55978
55979         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
55980         When using lib/poll.c, define poll as rpl_poll.
55981
55982 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
55983
55984         * modules/argp (Depends-on): Remove unlocked-io.
55985
55986 2005-07-14  Derek Price  <derek@ximbiot.com>
55987
55988         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
55989         for glob symlink bug.
55990
55991 2005-07-14  Bruno Haible  <bruno@clisp.org>
55992
55993         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
55994         Instead, test for *_unlocked function declarations directly.
55995
55996 2005-07-11  Simon Josefsson  <jas@extundo.com>
55997
55998         * modules/size_max: New file.
55999
56000         * modules/xsize: Depend on size_max module for size_max.m4.
56001
56002 2005-07-11  Simon Josefsson  <jas@extundo.com>
56003
56004         * lib/size_max.h: New file.
56005
56006 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
56007
56008         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
56009         copyright symbol and the year.
56010         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
56011         (version_etc_va): Use parameterized copyright notice.
56012         Reword to conform to the current GNU coding standards.
56013
56014 2005-07-11  Karl Berry  <karl@gnu.org>
56015
56016         * doc/gnulib.texi (Quoting): new node.
56017         (Initial import): more info, from Patrice.
56018
56019 2005-07-11  Bruno Haible  <bruno@clisp.org>
56020
56021         * gnulib-tool (func_usage): Document option --avoid.
56022         (Command line options): Handle --avoid.
56023         (func_acceptable): New function.
56024         (func_modules_transitive_closure): Use it.
56025
56026 2005-07-11  Bruno Haible  <bruno@clisp.org>
56027
56028         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
56029         Reported by Jim Meyering.
56030
56031 2005-07-10  Bruno Haible  <bruno@clisp.org>
56032
56033         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
56034         Needed when size_t is smaller than 'unsigned int'.
56035         Reported by Paul Eggert.
56036
56037 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56038
56039         * modules/argp (Depends-on): Add unlocked-io
56040
56041 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
56042
56043         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
56044         block of defines.
56045
56046 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
56047
56048         * config/srclist.txt: Comment out regcomp.c, since we have a porting
56049         fix now.
56050
56051 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
56052         and Paul Eggert  <eggert@cs.ucla.edu>
56053
56054         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
56055         in wint_t, not wchar_t.  Remove now-unnecessary cast.
56056
56057 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
56058
56059         * modules/regex (Files): Add lib/regex_internal.c,
56060         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
56061         (Depends-on): Add extensions.
56062         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
56063
56064 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
56065
56066         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
56067         pathconf.
56068         * m4/same.m4 (gl_SAME): Likewise.
56069         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
56070
56071         * m4/regex.m4: Adjust to new libc regex implementation.
56072         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
56073         all the .c and .h parts of (the new) regex.
56074         Quote the m4 stuff better.
56075         Check for RE_ICASE bug of old gnulib.
56076         Check for REG_STARTEND of recent libc.
56077         Rename local variables from jm_* to gl_*.
56078         Quote operand of "test -f".
56079         Say "recent enough" version of libc, not "version 2".
56080         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
56081         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
56082         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
56083         Remove check for btowc, isascii.
56084         Require AM_LANGINFO_CODESET.
56085
56086 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
56087
56088         * lib/regex.c, regex.h: Sync from libc.
56089         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
56090         * lib/regexec.c:
56091         New files, synced from libc, except that regex_internal.h
56092         currently has a small porting fix.
56093
56094 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
56095
56096         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
56097         regex_internal.c, regexec.c.
56098         Add regex_internal.h too, but as a comment, since the libc version
56099         is currently broken in gnulib mode.
56100
56101 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
56102
56103         Support programs like Emacs that use gnulib but not gettext.
56104         * MODULES.html.sh (Internationalization functions): Add gettext-h.
56105         * modules/gettext-h: New file.
56106         * modules/gettext (Files): Remove lib/gettext.h.
56107         (Depends-on): Add gettext-h.
56108         (Makefile.am): Remove lib_SOURCES.
56109         * modules/argmatch, modules/c-stack, modules/closeout:
56110         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
56111         * modules/execute, modules/file-type, modules/getaddrinfo:
56112         * modules/getopt, modules/human, modules/javacomp:
56113         * modules/javaexec, modules/mkdir-p, modules/obstack:
56114         * modules/openat, modules/pagealign_alloc, modules/pipe:
56115         * modules/quotearg, modules/regex, modules/rpmatch:
56116         * modules/unicodeio, modules/userspec, modules/version-etc:
56117         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
56118         * modules/xsetenv:
56119         Depend on gettext-h, not gettext.
56120
56121 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
56122
56123         * gnulib-tool (func_import): Add support for 'public domain' license.
56124         * modules/alloca, modules/atexit, modules/memmove:
56125         Now public domain, not GPL.
56126         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
56127         * modules/realloc, modules/strerror, modules/strtod:
56128         Now LGPL, not GPL.
56129
56130 2005-07-05  Bruno Haible  <bruno@clisp.org>
56131
56132         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
56133         autoconf CVS. Needed for mingw.
56134
56135 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56136
56137         Remove the dependency of the strftime module on the tzset module.
56138         * modules/strftime (Depends-on): Remove dependency on tzset.
56139
56140 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56141
56142         Remove the dependency of the strftime module on the tzset module.
56143         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
56144         gl_FUNC_TZSET_CLOBBER.
56145
56146 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
56147
56148         Remove the dependency of the strftime module on the tzset module.
56149         * lib/strftime.c (my_strftime)
56150         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
56151         Copy the input structure, to work around some of the bug with
56152         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
56153         Solaris releases, you should also use the tzset module, but we won't
56154         require it as a dependency any more since we don't want LGPLed code
56155         to depend on GPLed code.
56156
56157 2005-07-02  Jim Meyering  <jim@meyering.net>
56158
56159         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
56160         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
56161         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
56162         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
56163
56164 2005-07-02  Jim Meyering  <jim@meyering.net>
56165
56166         * lib/backupfile.c (backup_args): Change a `0' to NULL.
56167
56168 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
56169
56170         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
56171         declares only 'struct timespec;' (!).
56172
56173 2005-07-01  Jim Meyering  <jim@meyering.net>
56174
56175         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
56176         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
56177         * lib/save-cwd.c, tempname.c:
56178         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
56179         and don't include <sys/file.h>).
56180
56181 2005-06-29  Jim Meyering  <jim@meyering.net>
56182
56183         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
56184         type name.  Use the variable name instead.
56185         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
56186         Likewise.
56187
56188 2005-06-28  Simon Josefsson  <jas@extundo.com>
56189
56190         * modules/check-version (Files): Add check-version.m4.
56191
56192 2005-06-28  Simon Josefsson  <jas@extundo.com>
56193
56194         * m4/check-version.m4: New file, suggested by Jim Meyering
56195         <jim@meyering.net>.
56196
56197 2005-06-28  Simon Josefsson  <jas@extundo.com>
56198
56199         * lib/check-version.h, lib/check-version.c: New files.
56200
56201 2005-06-28  Simon Josefsson  <jas@extundo.com>
56202
56203         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
56204         collision with global variable.  Better indentation.  Don't
56205         increment buffer pointer beyond buffer end.  Based on comments
56206         from Paul Eggert <eggert@cs.ucla.edu>.
56207
56208         * lib/base64.h: Indent.
56209
56210 2005-06-28  Simon Josefsson  <jas@extundo.com>
56211
56212         * doc/gnulib.texi (Library version handling): New section.
56213
56214 2005-06-28  Jim Meyering  <jim@meyering.net>
56215
56216         * check-module (find_included_lib_files): Hard-code another
56217         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
56218         but modules/fts-lgpl (correctly) does not list those files.
56219
56220         * modules/canonicalize (Files): Add lib/pathmax.h.
56221
56222 2005-06-25  Simon Josefsson  <jas@extundo.com>
56223
56224         * modules/check-version: New file.
56225
56226 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
56227
56228         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
56229         initializer of struct addrinfo, as an indication that we don't
56230         care how many members the structure has.
56231
56232 2005-06-24  Derek Price  <derek@ximbiot.com>
56233         and Bruno Haible  <bruno@clisp.org>
56234
56235         Remove stat module & update lstat.
56236         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
56237         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56238         * m4/stat.m4: Remove this file.
56239
56240 2005-06-24  Derek Price  <derek@ximbiot.com>
56241         and Bruno Haible  <bruno@clisp.org>
56242
56243         Remove stat module & update lstat.
56244         * lib/stat.c: Remove this file...
56245         (slash_aware_lstat): ...moving this content and its support...
56246         * lib/lstat.c (rpl_lstat): ...into here.
56247         * lib/lstat.h: New file.
56248
56249 2005-06-24  Derek Price  <derek@ximbiot.com>
56250         and Bruno Haible  <bruno@clisp.org>
56251
56252         Remove stat module & update lstat.
56253         * config/srclist.txt (libc sources): Remove stat.
56254
56255 2005-06-24  Derek Price  <derek@ximbiot.com>
56256         and Bruno Haible  <bruno@clisp.org>
56257
56258         Remove stat module & update lstat.
56259         * MODULES.html.sh (stat): Remove.
56260         * MODULES.html: Regenerated.
56261         * modules/lstat (Description): Correct function name.
56262         (Files): Add "lstat.h".
56263         (Depends-on): Remove stat, add xalloc, stat-macros.
56264         * modules/stat: Remove this file.
56265         (Include): Add "lstat.h", remove <sys/stat.h>.
56266
56267 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
56268
56269         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
56270         (ranged_convert): Don't save conversion in a temporary struct.
56271         This causes a warning with GCC 4.0.0, and anyway in the typical
56272         case it's not worth the extra 100 bytes or so of code.
56273         (ranged_convert, __mktime_internal): When calling a function via a
56274         pointer P, use P () rather than (*P) (), as we now assume C89 or
56275         better.
56276
56277 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
56278
56279         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
56280         "who -r" failed to give output.  Problem reported by Tim Waugh.
56281
56282         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
56283         (xcalloc): Use it to avoid needless tests.
56284         Problem reported by Jim Meyering.
56285
56286 2005-06-20  Derek Price  <derek@ximbiot.com>
56287
56288         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
56289         unnecessary for Autoconfs > 2.59c.
56290
56291 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56292
56293         * lib/argp.h (__option_is_short): Check upper limit of
56294         __key. Isprint() requires its argument to have the value
56295         of an unsigned char or EOF.
56296
56297 2005-06-16  Jim Meyering  <jim@meyering.net>
56298
56299         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
56300         when either N or S is zero.
56301
56302 2005-06-16  Derek Price  <derek@ximbiot.com>
56303
56304         * m4/bison.m4: Declare YACC & YFLAGS precious.
56305
56306 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
56307
56308         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
56309         multibyte string or pattern, fall back on unibyte matching.
56310         Problem reported by James Youngman.
56311
56312 2005-06-08  Bruno Haible  <bruno@clisp.org>
56313
56314         * modules/csharpcomp: New file.
56315         * MODULES.html.sh (C#): Add csharpcomp.
56316
56317 2005-06-08  Bruno Haible  <bruno@clisp.org>
56318
56319         * m4/csharpcomp.m4: New file, from GNU gettext.
56320
56321 2005-06-08  Bruno Haible  <bruno@clisp.org>
56322
56323         * lib/csharpcomp.h: New file, from GNU gettext.
56324         * lib/csharpcomp.c: New file, from GNU gettext.
56325         * lib/csharpcomp.sh.in: New file, from GNU gettext.
56326
56327 2005-06-08  Bruno Haible  <bruno@clisp.org>
56328
56329         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
56330         warning on mingw.
56331
56332 2005-06-07  Derek Price  <derek@ximbiot.com>
56333
56334         Sync from CVS.
56335         * lib/glob_.h: Indent nested #ifdef.
56336
56337 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
56338
56339         Sync from coreutils.
56340         Use "file name" when talking about file names, instead of "filename"
56341         or "path", as per the GNU coding standards.
56342         * lib/mkdir-p.c: Renamed from makepath.c.
56343         (make_dir_parents): Renamed from make_path.  All callers changed.
56344         * lib/mkdir-p.h: Likewise.  All includers changed.
56345         * lib/filenamecat.c: Renamed from path-concat.c.
56346         (file_name_concat): Renamed from path_concat.  All callers changed.
56347         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
56348         * lib/filenamecat.h: Likewise.  All includers changed.
56349         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
56350         in comments or local variable names.
56351         * lib/basename.c: Likewise.
56352         * lib/canonicalize.c, canonicalize.h: Likewise.
56353         * lib/dirname.c, dirname.h: Likewise.
56354         * lib/euidaccess.c: Likewise.
56355         * lib/exclude.c: Likewise
56356         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
56357         * lib/fsusage.c, fsuage.h: Likewise.
56358         * lib/fts.c, fts_.h: Likewise.
56359         * lib/getcwd.c: Likewise.
56360         * lib/getloadavg.c: Likewise.
56361         * lib/mkstemp.c: Likewise.
56362         * lib/mountlist.c, mountlist.h: Likewise.
56363         * lib/openat.c, openat.h: Likewise.
56364         * lib/readlink-stub.c: Likewise.
56365         * lib/readutmp.c, readutmp.h: Likewise.
56366         * lib/rename.c: Likewise.
56367         * lib/rmdir.c: Likewise.
56368         * lib/same.c: Likewise.
56369         * lib/savedir.c: Likewise.
56370         * lib/stripslash.c: Likewise.
56371         * lib/tempname.c: Likewise.
56372         * lib/xreadlink.c: Likewise.
56373         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
56374         All uses changed.
56375         * lib/exclude.h: Likewise.
56376
56377         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
56378         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
56379         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
56380         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
56381         * lib/pathmax.h: Include <limits.h> unconditionally, since other
56382         files have been getting away with it for years (MORE/BSD 4.3
56383         is extinct now).
56384         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
56385         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
56386
56387         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
56388         Define to 256, not 255, as per modern POSIX.
56389
56390 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
56391
56392         Sync from coreutils.
56393         Use "file name" when talking about file names, instead of "filename"
56394         or "path", as per the GNU coding standards.
56395         * MODULES.html.sh: mkdir-p renamed from makepath.
56396         filenamecat renamed from path-concat.
56397         * modules/filenamecat: Renamed from modules/path-concat.
56398         (Files): filenamecat.h and filenamecat.c renamed from
56399         path-concat.h and path-concat.c.
56400         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
56401         (Include): filenamecat.h, not path-concat.h.
56402         * modules/mkdir-p: Renamed from modules/makepath.
56403         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
56404         makepath.c.
56405         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
56406         (Include): mkdir-p.h, not makepath.h.
56407
56408 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
56409
56410         Sync from coreutils.
56411         * m4/mkdir-p.m4: Renamed from makepath.m4.
56412         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
56413         Rename files from makepath.c to mkdir-p.c, and from
56414         makepath.h to mkdir-p.h.
56415         * m4/filenamecat.m4: Renamed from path-concat.m4.
56416         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
56417         Rename files from path-concat.c to filenamecat.c,
56418         and from path-concat.h to filenamecat.h.
56419         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
56420         "file name" in local variables or comments.
56421         * m4/rename.m4: Likewise.
56422
56423 2005-06-01  Bruno Haible  <bruno@clisp.org>
56424
56425         * modules/csharpexec: New file.
56426         * MODULES.html.sh (C#): New section.
56427
56428 2005-06-01  Bruno Haible  <bruno@clisp.org>
56429
56430         * m4/csharp.m4: New file, from GNU gettext.
56431         * m4/csharpexec.m4: New file, from GNU gettext.
56432
56433 2005-06-01  Bruno Haible  <bruno@clisp.org>
56434
56435         * lib/csharpexec.h: New file, from GNU gettext.
56436         * lib/csharpexec.c: New file, from GNU gettext.
56437         * lib/csharpexec.sh.in: New file, from GNU gettext.
56438
56439 2005-05-31  Derek Price  <derek@ximbiot.com>
56440             Paul Eggert  <eggert@cs.ucla.edu>
56441
56442         Sync from cvs.
56443         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
56444
56445 2005-05-31  Derek Price  <derek@ximbiot.com>
56446             Paul Eggert  <eggert@cs.ucla.edu>
56447
56448         Sync from cvs.
56449         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
56450
56451 2005-05-29  Derek Price  <derek@ximbiot.com>
56452
56453         * config/srclist.txt (glob_.h, glob.c): Add these files.
56454
56455 2005-05-29  Derek Price  <derek@ximbiot.com>
56456
56457         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
56458         * modules/glob: New file.
56459         * modules/getlogin_r: Add link to POSIX spec in description.
56460
56461 2005-05-29  Derek Price  <derek@ximbiot.com>
56462             Paul Eggert  <eggert@cs.ucla.edu>
56463
56464         * m4/glob.m4: New file.
56465
56466 2005-05-29  Derek Price  <derek@ximbiot.com>
56467             Paul Eggert  <eggert@cs.ucla.edu>
56468
56469         * lib/glob_.h, lib/glob.c: New files.
56470
56471 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
56472
56473         * modules/fts (Files): Remove m4/inttypes-pri.m4.
56474         * modules/fts-lgpl (Depends-on): Remove gettext.
56475
56476 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
56477
56478         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
56479         and don't require gt_INTTYPES_PRI.
56480
56481 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
56482
56483         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
56484
56485         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
56486         the configuration hassle isn't worth it.
56487         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
56488         (LONGEST_MODIFIER, PRIuMAX): Remove.
56489
56490 2005-05-27  Bruno Haible  <bruno@clisp.org>
56491
56492         * lib/getlogin_r.h: Remove second include of <stddef.h>.
56493
56494 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
56495
56496         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
56497         _POSIX_PTHREAD_SEMANTICS for Solaris.
56498
56499 2005-05-25  Derek Price  <derek@ximbiot.com>
56500
56501         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
56502
56503 2005-05-25  Derek Price  <derek@ximbiot.com>
56504             Paul Eggert  <eggert@cs.ucla.edu>
56505
56506         * modules/getlogin_r, m4/getlogin_r.m4: New files.
56507         * lib/getlogin_r.c, getlogin_r.h: New files.
56508
56509 2005-05-25  Bruno Haible  <bruno@clisp.org>
56510             Derek Price  <derek@ximbiot.com>
56511
56512         * lib/getlogin_r.h: Simplify API documentation.
56513
56514 2005-05-23  Derek Price  <derek@ximbiot.com>
56515
56516         * modules/minmax (Files): Add m4/minmax.m4.
56517         (configure.ac): Add gl_MINMAX.
56518
56519 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
56520
56521         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
56522         so that unistd-safer.h (GPL'ed code) need not be included.
56523
56524 2005-05-22  Bruno Haible  <bruno@clisp.org>
56525
56526         * m4/minmax.m4: New file.
56527         Based on a patch by Derek Price <derek@ximbiot.com>.
56528
56529 2005-05-22  Bruno Haible  <bruno@clisp.org>
56530
56531         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
56532         (INT64_MIN): Fix definition.
56533         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
56534
56535         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
56536         NEED_SIGNED_INT_TYPES.
56537
56538         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
56539         HAVE_SYSTEM_INTTYPES.
56540
56541 2005-05-22  Bruno Haible  <bruno@clisp.org>
56542
56543         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
56544         Also include <sys/param.h> if it defines MIN, MAX.
56545         Based on a patch by Derek Price <derek@ximbiot.com>.
56546
56547 2005-05-21  Jim Meyering  <jim@meyering.net>
56548
56549         * modules/fts (Files): Add m4/inttypes-pri.m4.
56550         (Depends-on): Add lstat and remove gettext.  Alphabetize.
56551
56552 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56553
56554         New fts module.
56555         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
56556         (setup_dir, free_dir): New functions.
56557         (enter_dir, leave_dir): Define trivial
56558         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
56559         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
56560         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
56561         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
56562         Move to fts-cycle.c.
56563         (fts_open): Use setup_dir.
56564         (fts_close): Use free_dir.
56565         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
56566         This adds a label and some gotos, but the alternatives were messier.
56567         Check for memory allocation failure when entering a dir.
56568         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
56569         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
56570         (FTS): New member fts_cycle, that is a union that contains the
56571         old active_dir_ht and cycle_state.  All uses changed to mention
56572         fts_cycle.ht and fts_cycle.state.
56573         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
56574         fts.c, with the following changes:
56575         (setup_dir, free_dir): New functions.
56576         (enter_dir): Now returns bool.  Return true if successful, false
56577         if memory exhausted.  All callers changed.
56578         Do not bother partly cleaning up on
56579         memory allocation failure; that is free_dir's job.
56580         However, free ad if hash_insert fails, to avoid memory leak.
56581         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
56582         fts->fts_options to see which union member to use.
56583
56584 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56585
56586         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
56587         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
56588
56589 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
56590
56591         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
56592
56593 2005-05-20  Jim Meyering  <jim@meyering.net>
56594
56595         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
56596         Now a macro, to pacify GCC.
56597
56598 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
56599
56600         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
56601         of -1.
56602
56603 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
56604
56605         * lib/chown.c (rpl_chown): Return -1 on failure.
56606
56607 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
56608
56609         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
56610         Don't check for stddef.h.
56611         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
56612         don't use its results.
56613         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
56614         since we include them unconditionally.  Don't require
56615         AM_STDBOOL_H, since stdbool is a prerequisite.
56616         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
56617         since we assume C89 or better.
56618         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
56619         as we don't use their results.
56620         Don't check for fchdir, memmove, memset, strrchr, as we use
56621         them unconditionally.
56622         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
56623         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
56624
56625 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
56626
56627         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
56628         Include <stddef.h> unconditionally, since we assume C89 now.
56629         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
56630         * lib/fts.c: Include fts_.h first, to check interface.
56631         Do not include intprops.h; no longer needed.
56632         Include cycle-check.h and hash.h, since fts_.h no longer does.
56633         Remove unnecessary casts of closedir to void.
56634         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
56635         decide whether to decrement nlinks.
56636         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
56637         (FTS): Use struct hash_table * instead of Hash_table, so that
56638         we no longer need to include hash.h here.
56639
56640 2005-05-18  Jim Meyering  <jim@meyering.net>
56641
56642         * modules/dirfd (License): Change to LGPL.  Most of the code
56643         is already in the public domain.
56644
56645 2005-05-18  Jim Meyering  <jim@meyering.net>
56646
56647         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
56648         Reported by Yoann Vandoorselaere.
56649
56650 2005-05-17  Jim Meyering  <jim@meyering.net>
56651
56652         * m4/fts.m4: New file, from coreutils.
56653
56654 2005-05-17  Jim Meyering  <jim@meyering.net>
56655
56656         * lib/fts.c, lib/fts_.h: New files, from coreutils.
56657
56658 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
56659
56660         Sync from coreutils.
56661         * m4/unlinkdir.m4: New file.
56662
56663 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
56664
56665         Sync from coreutils.
56666         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
56667         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
56668         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
56669         White space changes only.
56670         * lib/makepath.c (make_path): Port to hosts where leading "//" is
56671         special.
56672         * lib/yesno.c: Include getline.h, not ctype.h.
56673         (yesno): Don't remove leading white space; POSIX doesn't allow it.
56674         Use getline to remove arbitrary restriction on response length.
56675
56676 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
56677
56678         * config/srclist-update: Spell out "Street" in FSF postal
56679         mail address; this is the style the FSF seems to prefer.
56680
56681         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
56682         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
56683         this updates FSF postal mail address.
56684
56685         Sync from coreutils.
56686         * modules/unlinkdir: New file.
56687         * modules/yesno (Depends-on): Add getline.
56688         * MODULES.html.sh (File system functions): Add unlinkdir.
56689
56690 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56691
56692         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
56693         lib/strsep.h:
56694         Change the initial comment to refer to GPL, not LGPL.
56695         gnulib-tool will change it to LGPL as needed.
56696
56697         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
56698         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
56699         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
56700         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
56701         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
56702         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
56703         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
56704         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
56705         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
56706         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
56707         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
56708         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
56709         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
56710         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
56711         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
56712         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
56713         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
56714         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
56715         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
56716         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
56717         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
56718         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
56719         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
56720         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
56721         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
56722         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
56723         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
56724         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
56725         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
56726         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
56727         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
56728         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
56729         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
56730         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
56731         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
56732         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
56733         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
56734         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
56735         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
56736         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
56737         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
56738         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
56739         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
56740         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
56741         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
56742         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
56743         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
56744         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
56745         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
56746         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
56747         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
56748         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
56749         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
56750         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
56751         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
56752         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
56753         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
56754         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
56755         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
56756         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
56757         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
56758         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
56759         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
56760         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
56761         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
56762         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
56763         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
56764         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
56765         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
56766         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
56767         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
56768         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
56769         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
56770         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
56771         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
56772         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
56773         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
56774         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
56775         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
56776         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
56777         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
56778         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
56779         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
56780         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
56781         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
56782         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
56783         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
56784         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
56785         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
56786         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
56787         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
56788         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
56789         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
56790         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
56791         lib/yesno.c, lib/yesno.h:
56792         Update FSF postal mail address.
56793
56794 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
56795
56796         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
56797         tests/test-memmem.c, tests/test-stpncpy.c:
56798         Update FSF postal mail address.
56799
56800 2005-05-13  Bruno Haible  <bruno@clisp.org>
56801
56802         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
56803         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
56804         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
56805         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
56806         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
56807         Add support for 64-bit integers in the MSVC compiler.
56808
56809 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
56810
56811         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
56812
56813 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
56814
56815         * gnulib-tool (func_import): Sort and uniquify recommended includes.
56816
56817 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
56818
56819         * doc/getdate.texi (General date syntax): Don't say that date
56820         date --iso-8601=ns generates acceptable dates; it doesn't yet.
56821         Problem reported by Nic Ferrier.
56822
56823 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56824
56825         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
56826         specified in ai_socktype. Fix invalid ai_protocol
56827         check. ai_protocol is usually set to 0 or depending on
56828         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
56829         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
56830         ai_socktype / ai_protocol in the returned addrinfo structure.
56831
56832 2005-05-10  Simon Josefsson  <jas@extundo.com>
56833
56834         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
56835         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56836
56837 2005-05-10  Karl Berry  <karl@gnu.org>
56838
56839         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
56840         (from http://www.gnu.org/licenses).
56841         * doc/COPYING.LIB: also rename to COPYING.LESSER.
56842         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
56843         fdl.texi suffices.
56844
56845 2005-05-10  Karl Berry  <karl@gnu.org>
56846
56847         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
56848         (COPYING.DOC): remove.
56849
56850         * config/srclist-update: new FSF address.
56851
56852 2005-05-10  Derek Price  <derek@ximbiot.com>
56853
56854         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
56855         possible.
56856
56857 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56858             Bruno Haible  <bruno@clisp.org>
56859
56860         * modules/inet_ntop: New file.
56861         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56862         inet_ntop.
56863
56864 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56865             Bruno Haible  <bruno@clisp.org>
56866
56867         * m4/inet_ntop.m4: New file.
56868
56869 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56870             Bruno Haible  <bruno@clisp.org>
56871
56872         * lib/inet_ntop.h: New file.
56873         * lib/inet_ntop.c: New file, from glibc with modifications.
56874
56875 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
56876
56877         * modules/time_r (License): Change to LGPL.
56878         * modules/extensions (License): Change to LGPL.  Actually,
56879         the license is more permissive than that, but currently gnulib-tool
56880         doesn't know how to handle more-permissive licenses.
56881
56882         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
56883         Problem reported by Dave Love.
56884
56885 2005-05-08  Jim Meyering  <jim@meyering.net>
56886
56887         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
56888         blank.
56889
56890 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
56891
56892         * modules/argmatch (Depends-on): Add stdbool.
56893         * modules/backupfile (Depends-on): Likewise.
56894         * modules/chdir-long (Depends-on): Likewise.
56895         * modules/closeout (Depends-on): Likewise.
56896         * modules/cycle-check (Depends-on): Likewise.
56897         * modules/dirname (Depends-on): Likewise.
56898         * modules/fnmatch (Depends-on): Likewise.
56899         * modules/fsusage (Depends-on): Likewise.
56900         * modules/fwriteerror (Depends-on): Likewise.
56901         * modules/getcwd (Depends-on): Likewise.
56902         * modules/getloadavg (Depends-on): Likewise.
56903         * modules/hard-locale (Depends-on): Likewise.
56904         * modules/makepath (Depends-on): Likewise.
56905         * modules/mountlist (Depends-on): Likewise.
56906         * modules/nanosleep (Depends-on): Likewise.
56907         * modules/posixtm (Depends-on): Likewise.
56908         * modules/quotearg (Depends-on): Likewise.
56909         * modules/readtokens (Depends-on): Likewise.
56910         * modules/readtokens0 (Depends-on): Likewise.
56911         * modules/readutmp (Depends-on): Likewise.
56912         * modules/save-cwd (Depends-on): Likewise.
56913         * modules/strftime (Depends-on): Likewise.
56914         * modules/userspec (Depends-on): Likewise.
56915         * modules/utimecmp (Depends-on): Likewise.
56916         * modules/xgetcwd (Depends-on): Likewise.
56917         * modules/xnanosleep (Depends-on): Likewise.
56918         * modules/xstrtod (Depends-on): Likewise.
56919         * modules/yesno (Depends-on): Likewise.
56920
56921 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
56922
56923         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
56924         needless checks.
56925
56926 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
56927
56928         Merge from coreutils.  Among other things,
56929         add bulletproofing for cases where stdin, stdout, or stderr are closed.
56930         * lib/fd-safer.c: New file.
56931         * lib/fcntl-safer.h, open-safer.c: Remove.
56932         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
56933         * lib/dup-safer.c: Include unistd-safer.h first.
56934         Don't include errno.h.
56935         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
56936         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
56937         * lib/file-type.c: Rely on file-type.h change.
56938         * lib/getloadavg.c: Include unistd-safer.h.
56939         (getloadavg): Use safer open.
56940         * lib/getusershell.c: Include "stdio-safer.h".
56941         (getusershell): Use safer fopen.
56942         * lib/long-options.c (long_options): Use NULL rather than 0.
56943         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
56944         'free'.
56945         * lib/modechange.c: Likewise.
56946         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
56947         (MODE_DONE): New constant.
56948         (struct mode_change): Remove 'next' member.
56949         (make_node_op_equals): New function; like the old one of the
56950         same name, except it allocates an array.
56951         (mode_compile, mode_create_from_ref): Use it.
56952         (mode_compile): Allocate result as an array, not a linked list.
56953         Parse octal string ourself, so that we catch mistakes like "+0".
56954         (mode_adjust): Arg is an array, not a linked list.
56955         * lib/modechange.c: Include stat-macros.h, xalloc.h.
56956         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
56957         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
56958         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
56959         Remove.  This is now stat-macros.h's job.
56960         (talloc): Remove.  All callers replaced by xalloc, so that
56961         our invokers don't have to worry about reporting memory failures.
56962         (make_node_op_equals): Remove.
56963         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
56964         New constants.
56965         (struct mode_change): Moved here from modechange.h.
56966         (mode_append_entry): Remove.
56967         (mode_compile): Remove MASKED_OPS arg, since it encouraged
56968         apps to have incorrect behavior.  Use simpler algorithm for head
56969         and tail.  Don't futz with umask; that's now the job of mode_adjust.
56970         Detect more invalid usages rather than having somewhat-random behavior.
56971         Don't insert an "a=" action, as that leads to incorrect behavior.
56972         (mode_compile, mode_create_from_ref): Return NULL on error instead
56973         of an enum, since now there's only one way to have an error.  All
56974         callers changed.
56975         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
56976         at the correct time.  Simplify calculation of "+u" and its ilk.
56977         Don't mishandle "+X".
56978         (mode_free): Remove "register" and localize decls.
56979         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
56980         (struct mode_change): Move to modechange.c; callers don't
56981         need to see this stuff.
56982         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
56983         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
56984         (mode_change, mode_adjust): Reflect the new signatures noted above.
56985         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
56986         that might redefine system include files.
56987         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
56988         (my_usleep): Use NULL rather than (void *) 0.
56989         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
56990         Use siginterrupt to specify that system calls should be interrupted.
56991         (rpl_nanosleep): Move initialization of suspended closer to call of
56992         my_usleep.
56993         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
56994         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
56995         (desirable_utmp_entry): New function.
56996         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
56997         using x2nrealloc, to simplify logic.
56998         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
56999         size calculation.  Do not assume utmp file is a regular file.
57000         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
57001         (READ_UTMP_CHECK_PIDS): New constant.
57002         * lib/save-cwd.c: Include unistd-safer.h.
57003         (save_cwd): Use fd_safer.
57004         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
57005         [!_LIBC] Include "stat-macros.h" instead.
57006         * lib/unistd-safer.h (fd_safer): New decl.
57007
57008 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
57009
57010         * modules/getloadavg (Depends-on): Add unistd-safer.
57011         * modules/getusershell (Depends-on): Add stdio-safer.
57012         * modules/lstat (Depends-on): Remove xalloc.
57013         * modules/mkstemp (Depends-on): Add stat-macros.
57014         * modules/modechange (Depends-on): Remove xstrtol.
57015         Add stat-macros, xalloc.
57016         * modules/save-cwd (Depends-on): Add unistd-safer.
57017         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
57018         * modules/unistd-safer (Files): Add lib/fd-safer.c
57019         (Makefile.am): Remove lib_SOURCES.
57020
57021         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
57022         Remove fcntl-safer; unistd-safer supersedes it.
57023
57024 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
57025
57026         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
57027         AC_HEADER_STAT.
57028         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
57029         (gl_PREREQ_CHOWN): Remove.
57030         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
57031         it.  Don't require AC_HEADER_STAT.
57032         (gl_PREREQ_LSTAT): Remove.
57033         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
57034         Don't require AC_HEADER_STAT.
57035         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
57036         (gl_PREREQ_RMDIR): Remove.
57037         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
57038         mention stat-macros.h or AC_HEADER_STAT, since we'll make
57039         the stat-macros module a prerequisite.
57040         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
57041         * m4/filemode.m4 (gl_FILEMODE): Likewise.
57042         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
57043         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
57044         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
57045         variable names.
57046         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
57047         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
57048         variable prefixes.
57049         * m4/fcntl-safer.m4: Remove.
57050         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
57051         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
57052         Invoke gl_PREREQ_FD_SAFER.
57053         (gl_PREREQ_FD_SAFER): New macro.
57054         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
57055         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
57056         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
57057         Remove duplicate call to AC_LIBOBJ(readutmp).
57058         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
57059
57060         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
57061         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
57062
57063 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
57064
57065         * MODULES.html.sh (Misc): Add byteswap.
57066
57067 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
57068
57069         * modules/getcwd (Depends-on): Add extensions.
57070         * modules/openat (Depends-on): Likewise.
57071
57072 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
57073
57074         * modules/byteswap: New file.
57075
57076 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
57077
57078         * m4/byteswap.m4: New file.
57079
57080 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
57081
57082         * lib/byteswap_.h: New file.
57083
57084 2005-04-25  Karl Berry  <karl@gnu.org>
57085
57086         * m4/gettext.m4: Update from GNU gettext 0.14.4.
57087
57088 2005-04-25  Albert Chin  <china@thewrittenword.com>
57089
57090         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
57091         Toolkit C bug.
57092
57093 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
57094
57095         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
57096         (func_ln_if_changed) Remove forcibly for no error message
57097         in case file does not exist.
57098
57099 2005-04-19  Simon Josefsson  <jas@extundo.com>
57100
57101         * gnulib-tool (Options): Make --symlink mean --symbolic.
57102
57103 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
57104
57105         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
57106
57107 2005-04-16  Simon Josefsson  <jas@extundo.com>
57108
57109         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
57110
57111 2005-04-15  Simon Josefsson  <jas@extundo.com>
57112
57113         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
57114
57115 2005-04-15  Simon Josefsson  <jas@extundo.com>
57116
57117         * gnulib-tool: Rename --symlink to --symbolic.
57118
57119 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
57120
57121         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
57122         symbolic links to files instead of copying/moving.  Add --aux-dir,
57123         specifying directory relative --dir where auxiliary build tools
57124         are placed.
57125
57126 2005-04-14  Bruno Haible  <bruno@clisp.org>
57127
57128         * modules/allocsa (License): Change to LGPL.
57129         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57130
57131 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
57132
57133         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
57134         that "UTC +1 second" continues to work.  Problem reported
57135         by Dmitry V. Levin.
57136         (relunit_snumber): New rule.
57137         (relunit): Use it.
57138
57139 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
57140
57141         * lib/getdate.y (universal_time_zone_table): New constant.
57142         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
57143         universal_time_zone_table.
57144         (lookup_zone): Prefer universal_time_zone_table to
57145         local_time_zone_table, so that "GMT" time stamps are allowed in
57146         London during the summer.  Problem reported by Ian Abbott.
57147
57148 2005-04-12  Jim Meyering  <jim@meyering.net>
57149
57150         * lib/human.c (humblock): Set *options even when returning due to
57151         xstrtoumax conversion failure.  Thanks to a used-uninitialized
57152         warning from gcc-4.
57153
57154 2005-04-09  Jim Meyering  <jim@meyering.net>
57155
57156         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
57157         -Wuninitialized: initialize tm0.tm_year.
57158
57159 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
57160
57161         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
57162         count, since there's no maximum.  All uses changed.
57163         Add member dsts_seen.
57164         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
57165         not being INT_MAX.
57166         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
57167         Use pc_rels_seen to decide whther a date is absolute.
57168
57169         * lib/getdate.y (number): Don't overwrite year.
57170         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
57171         check.
57172
57173 2005-04-02  Simon Josefsson  <jas@extundo.com>
57174
57175         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
57176         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
57177
57178 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
57179
57180         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
57181         where no absolute path name can be longer than PATH_MAX.
57182
57183 2005-03-27  Jim Meyering  <jim@meyering.net>
57184
57185         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
57186
57187 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
57188
57189         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
57190         "one's complement" -> "ones' complement" in comment, as per Knuth.
57191         "value of type" -> "type or expression" in comment.
57192         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
57193
57194 2005-03-26  Jim Meyering  <jim@meyering.net>
57195
57196         Comment nits.
57197         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
57198         Correct typos: s/or/of/.
57199
57200 2005-03-26  Jim Meyering  <jim@meyering.net>
57201
57202         * modules/check-include-files: Move to ../ and rename to...
57203         * check-module: ...this.
57204
57205 2005-03-25  Jim Meyering  <jim@meyering.net>
57206
57207         * modules/xvasprintf (Files): Add xalloc.h.
57208
57209 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
57210
57211         * modules/gettext (Files): config/config.rpath ->
57212         build-aux/config.rpath
57213         * modules/iconv (Files): Likewise.
57214         Problem reported by Oskar Liljeblad.
57215
57216 2005-03-23  Jim Meyering  <jim@meyering.net>
57217
57218         * modules/check-include-files: New script to check for
57219         missing dependencies, multiple includes, etc.
57220
57221         * modules/c-strtold (Depends-on): Add xalloc.
57222         * modules/c-strtod (Depends-on): Add xalloc.
57223         * modules/hash (Depends-on): Add xalloc.
57224         (Files): Remove lib/xalloc.h.
57225
57226         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
57227         * modules/userspec (Files): Add lib/inttostr.h.
57228
57229 2005-03-23  Jim Meyering  <jim@meyering.net>
57230
57231         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
57232
57233 2005-03-22  Jim Meyering  <jim@meyering.net>
57234
57235         * modules/stat-macros: New module.
57236         * modules/canonicalize, modules/euidaccess, modules/file-type,
57237         * modules/filemode, modules/lchown, modules/makepath,
57238         * modules/rmdir, modules/stat: Depend on new stat-macros module
57239         rather than listing lib/stat-macros.h manually.
57240         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
57241
57242 2005-03-22  Jim Meyering  <jim@meyering.net>
57243
57244         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
57245
57246 2005-03-22  Bruno Haible  <bruno@clisp.org>
57247
57248         * config/srclist.txt: Replace target directory 'config' with
57249         'build-aux'.
57250         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
57251         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
57252         ../build-aux/.
57253
57254 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
57255
57256         * modules/chdir-long (Depends-on): Add mempcpy.
57257
57258         * modules/acl, modules/backupfile, modules/c-strtod,
57259         modules/c-strtold, modules/canon-host, modules/canonicalize,
57260         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
57261         modules/exclude, modules/exitfail, modules/file-type,
57262         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
57263         modules/getdate, modules/getline, modules/getpagesize,
57264         modules/getpass, modules/getugroups, modules/group-member,
57265         modules/hard-locale, modules/hash, modules/human, modules/idcache,
57266         modules/inttostr, modules/long-options, modules/makepath,
57267         modules/md5, modules/memcasecmp, modules/memcoll,
57268         modules/modechange, modules/mountlist, modules/path-concat,
57269         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
57270         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
57271         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
57272         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
57273         modules/strftime, modules/strndup, modules/strverscmp,
57274         modules/timespec, modules/unlocked-io, modules/userspec,
57275         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
57276         modules/yesno:
57277         Remove lib_SOURCES line from Makefile.am section, as this is now
57278         done automatically by the corresponding Autoconf macro.
57279
57280 2005-03-21  Jim Meyering  <jim@meyering.net>
57281
57282         Changes imported from coreutils.
57283
57284         * lib/cycle-check.c: Don't include xalloc.h.
57285
57286         * lib/path-concat.c: Don't include assert.h.
57287         (path_concat): Remove assertion that would have triggered
57288         for ABASE starting with more than one slash.
57289         Reported by Andreas Schwab.
57290
57291         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
57292         properly when ABASE is an absolute file name.
57293         Correct the description of this function.
57294         Include <assert.h>.
57295         Add an assertion and a test driver.
57296         This fixes a bug introduced on 2004-07-02.
57297         Andreas Schwab reported the resulting failure of cp --parents:
57298         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
57299
57300 2005-03-21  Jim Meyering  <jim@meyering.net>
57301
57302         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
57303         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
57304
57305 2005-03-21  Jim Meyering  <jim@meyering.net>
57306         and  Paul Eggert  <eggert@cs.ucla.edu>
57307
57308         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
57309         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
57310         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
57311         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
57312         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
57313         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
57314         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
57315         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
57316         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
57317         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
57318         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
57319         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
57320         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
57321         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
57322         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
57323         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
57324         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
57325         for these modules.
57326
57327 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
57328
57329         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
57330         (which shouldn't happen), generate nothing instead of returning 0
57331         immediately, so that nstrftime (NULL, ...) doesn't return 0.
57332
57333 2005-03-16  Bruno Haible  <bruno@clisp.org>
57334
57335         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
57336         HAVE_LONGLONG_64BIT.
57337
57338 2005-03-16  Bruno Haible  <bruno@clisp.org>
57339
57340         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
57341         HAVE_LONGLONG_64BIT.
57342
57343 2005-03-16  Bruno Haible  <bruno@clisp.org>
57344
57345         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
57346         HAVE_LONGLONG_64BIT.
57347
57348 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
57349
57350         * lib/strftime.c (my_strftime): Prepend space to format so that we can
57351         reliably distinguish strftime failure from empty output on POSIX
57352         hosts.
57353
57354 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
57355
57356         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
57357         (iconv_string): Don't guess a size-zero buffer, as that might cause
57358         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
57359         result would be 'too large', where 'too large' is (heuristically)
57360         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
57361         overflow concerns.  This will prevent some unwanted malloc failures
57362         when the inputs are very large.
57363
57364 2005-03-15  Karl Berry  <karl@gnu.org>
57365
57366         * config/srclist.txt (config.rpath): from gettext.
57367         * config/config.rpath: update.
57368
57369 2005-03-15  Bruno Haible  <bruno@clisp.org>
57370
57371         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
57372         to 'negate'.
57373
57374         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
57375         variable.
57376
57377         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
57378         results.
57379
57380 2005-03-14  Simon Josefsson  <jas@extundo.com>
57381
57382         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
57383         <fx@gnu.org>.
57384
57385 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
57386
57387         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
57388         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
57389         intprops.h.
57390         * lib/strtol.c: Likewise.
57391
57392 2005-03-14  Jim Meyering  <jim@meyering.net>
57393
57394         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
57395         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
57396         to be nonzero so that we (and caller) can detect the difference
57397         between a valid zero-length expansion and an error return, even
57398         when the underlying strftime fails before writing anything into
57399         that location.
57400
57401 2005-03-14  Bruno Haible  <bruno@clisp.org>
57402
57403         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
57404         Update from GNU gettext 0.14.3.
57405
57406 2005-03-10  Jim Meyering  <jim@meyering.net>
57407
57408         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
57409
57410 2005-03-10  Jim Meyering  <jim@meyering.net>
57411
57412         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
57413         so that this module works on systems without fchdir.
57414
57415 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
57416
57417         Factor int-properties macros into a single file, except for
57418         glibc-related files.
57419         * lib/intprops.h: New file.
57420         * lib/getloadavg.c: Include it instead of limits.h.
57421         (INT_STRLEN_BOUND): Remove.
57422         * lib/human.c: Include intprops.h.
57423         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
57424         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
57425         302/1000.
57426         * lib/inttostr.h: Include intprops.h instead of limits.h.
57427         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
57428         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
57429         for consistency with intprops.h.
57430         (time_t_is_integer, twos_complement_arithmetic): Use them.
57431         * lib/sig2str.h: Include <signal.h>, intprops.h.
57432         (INT_STRLEN_BOUND): Remove.
57433         * lib/strftime.c (TYPE_SIGNED): Remove.
57434         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
57435         * lib/strtol.c: Adjust comments to match intprops.h.
57436         * lib/userspec.c: Include intprops.h.
57437         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
57438         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
57439         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
57440         instead of rolling our own expressions.
57441         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
57442
57443         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
57444         instead of int.
57445         (my_strftime): Do not mishandle years close to INT_MAX, by doing
57446         the right thing even if adding 1900 would overflow.  Similarly
57447         for tm_mon + 1 and tm_yday + 1.
57448         Make %Y always equivalent to %C%y, and similarly for %G and %g.
57449         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
57450         (DO_SIGNED_NUMBER): New macro.
57451         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
57452
57453 2005-03-07  Bruno Haible  <bruno@clisp.org>
57454
57455         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
57456
57457 2005-03-07  Bruno Haible  <bruno@clisp.org>
57458
57459         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
57460
57461 2005-03-04  Derek R. Price  <derek@ximbiot.com>
57462
57463         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
57464         (func_import): Only replace files via --import when they have actually
57465         changed.
57466
57467 2005-03-03  Derek R. Price  <derek@ximbiot.com>
57468
57469         * m4/mmap-anon.m4: New file.
57470         * m4/pagealign_alloc.m4: New file.
57471
57472 2005-03-03  Derek R. Price  <derek@ximbiot.com>
57473             Bruno Haible  <bruno@clisp.org>
57474
57475         * modules/pagealign_alloc: New file.
57476         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
57477
57478 2005-03-03  Derek R. Price  <derek@ximbiot.com>
57479             Bruno Haible  <bruno@clisp.org>
57480
57481         * lib/pagealign_alloc.h: New file.
57482         * lib/pagealign_alloc.c: New file.
57483
57484 2005-03-03  Bruno Haible  <bruno@clisp.org>
57485
57486         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
57487         Use an all-permissive copyright notice, recommended by RMS.
57488
57489 2005-03-02  Bruno Haible  <bruno@clisp.org>
57490
57491         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
57492         of AIX, the replacement has to be done only after <string.h> is
57493         included, therefore not in config.h. stpncpy.h does the replacement,
57494         and stpncpy.c uses it.
57495
57496 2005-03-02  Bruno Haible  <bruno@clisp.org>
57497
57498         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
57499         stpncpy.c uses it.
57500
57501 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57502
57503         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
57504         The workaround isn't strictly needed for POSIX conformance, and
57505         it's too much of a pain to configure and maintain.  We'll ask
57506         people to fix their kernels instead.
57507         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
57508         (NANOSLEEP_BUG_WORKAROUND): Remove.
57509         (xnanosleep): Remove the workaround.
57510
57511 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57512
57513         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
57514         Reported by Derek Price.
57515         (Include): Add "timespec.h".
57516
57517         * modules/xnanosleep (Depends-on): Remove gethrxtime.
57518
57519 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
57520
57521         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
57522         to detect nanosleep bug.
57523
57524 2005-03-01  Bruno Haible  <bruno@clisp.org>
57525
57526         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
57527
57528 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
57529
57530         * modules/gethrxtime: New file.
57531         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
57532         (Depends-on): Add gethrxtime.
57533         (configure.ac): Add gl_XNANOSLEEP.
57534         (Makefile.am): Remove lib_SOURCES line.
57535
57536 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57537
57538         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
57539         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
57540
57541 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
57542
57543         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
57544         * lib/timespec.h (gettime): Return void, since it always
57545         succeeds now.  All uses changed.
57546         * lib/gettime.c (gettime) Likewise.
57547         [HAVE_NANOTIME]: Prefer nanotime.
57548         Assume gettimeofday succeeds, as POSIX requires.
57549         Assime time () succeeds, since other code already does.
57550         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
57551         (timespec_subtract): Remove.
57552         (NANOSLEEP_BUG_WORKAROUND): New constant.
57553         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
57554         things considerably.  Use it only on GNU/Linux hosts, since the
57555         workaround shouldn't be needed elsewhere.
57556
57557 2005-02-24  Bruno Haible  <bruno@clisp.org>
57558
57559         * modules/gettext (Files): Add m4/glibc2.m4.
57560
57561 2005-02-24  Bruno Haible  <bruno@clisp.org>
57562
57563         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
57564         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
57565         * m4/progtest.m4:
57566         Update from GNU gettext 0.14.2.
57567         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
57568
57569 2005-02-24  Bruno Haible  <bruno@clisp.org>
57570
57571         * lib/localcharset.c: Update from GNU gettext 0.14.2.
57572         * lib/config.charset: Update from GNU gettext 0.14.2.
57573
57574 2005-02-24  Bruno Haible  <bruno@clisp.org>
57575
57576         * lib/gettext.h: Update from GNU gettext 0.14.2.
57577
57578 2005-02-23  Simon Josefsson  <jas@extundo.com>
57579
57580         * m4/iconvme.m4: New file.
57581
57582 2005-02-23  Jim Meyering  <jim@meyering.net>
57583
57584         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
57585         change.
57586         Thanks to Bruno Haible for catching it.
57587
57588 2005-02-22  Simon Josefsson  <jas@extundo.com>
57589
57590         * modules/iconvme: New file.
57591
57592         * MODULES.html.sh: Add iconvme.
57593
57594 2005-02-22  Simon Josefsson  <jas@extundo.com>
57595
57596         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
57597
57598 2005-02-22  Simon Josefsson  <jas@extundo.com>
57599
57600         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
57601
57602 2005-02-22  Jim Meyering  <jim@meyering.net>
57603
57604         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
57605         s/ifndef/ifdef/.
57606
57607 2005-02-20  Neil Conway  <neilc@samurai.com>
57608
57609         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
57610         returned by OSX/Darwin if the specified buffer is not large
57611         enough for the hostname.
57612
57613 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57614
57615         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
57616         pass it to _help, otherwise the latter coredumps trying to
57617         dereference state.root_argp.
57618
57619 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57620
57621         * modules/chdir-long (Depends-on): Add memrchr.
57622         * modules/memrchr (Files): Add lib/memrchr.h.
57623         (Include): "memrchr.h".
57624
57625 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57626
57627         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
57628
57629 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
57630
57631         * lib/memrchr.h: New file.
57632         * lib/chdir-long.c: Include it.
57633         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
57634         Don't bother including stddef.h.
57635
57636 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
57637
57638         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
57639         inclusion.
57640         Include <sys/types.h>, for dev_t.
57641         (ME_DUMMY, ME_REMOTE): Move from here....
57642         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
57643         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
57644         Dmitry V. Levin.
57645         Include mountlist.h first, to test the interface.
57646
57647 2005-01-29  Bruno Haible  <bruno@clisp.org>
57648
57649         * lib/progname.c (program_name): Initialize.
57650         Needed when linking statically on MacOS X.
57651
57652 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
57653
57654         Sync from coreutils.
57655         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
57656         (Depends-on): Add c-strtod.
57657         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
57658
57659 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
57660
57661         Sync from coreutils.
57662         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
57663
57664         Remove files that are specific to coreutils.
57665         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
57666
57667 2005-01-28  Bruno Haible  <bruno@clisp.org>
57668
57669         * modules/javacomp: New file.
57670         * MODULES.html.sh (Java): Add javacomp.
57671
57672 2005-01-28  Bruno Haible  <bruno@clisp.org>
57673
57674         * m4/javacomp.m4: New file, from GNU gettext.
57675
57676 2005-01-28  Bruno Haible  <bruno@clisp.org>
57677
57678         * lib/javacomp.sh.in: New file, from GNU gettext.
57679         * lib/javacomp.h: New file, from GNU gettext.
57680         * lib/javacomp.c: New file, from GNU gettext.
57681
57682 2005-01-26  Simon Josefsson  <jas@extundo.com>
57683
57684         * lib/gai_strerror.c: Use GPL in header.
57685
57686 2005-01-26  Bruno Haible  <bruno@clisp.org>
57687
57688         * modules/javaexec: New file.
57689         * MODULES.html.sh (Java): Add javaexec.
57690
57691 2005-01-26  Bruno Haible  <bruno@clisp.org>
57692
57693         * m4/javaexec.m4: New file, from GNU gettext.
57694
57695 2005-01-26  Bruno Haible  <bruno@clisp.org>
57696
57697         * lib/javaexec.sh.in: New file, from GNU gettext.
57698         * lib/javaexec.h: New file, from GNU gettext.
57699         * lib/javaexec.c: New file, from GNU gettext.
57700
57701 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57702
57703         * modules/lchown (Depends-on): Remove lchown.h
57704
57705 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57706
57707         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
57708         must be defined if the header file was not found, in order
57709         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
57710
57711 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57712
57713         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
57714         initializers for struct pentry_state.
57715         (__argp_error): Check return value of __asprintf
57716         (__argp_failure): Translate error message
57717
57718         * lib/argp-parse.c: Removed braces around the expansion of N_()
57719
57720 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
57721
57722         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
57723         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
57724         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
57725         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
57726         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
57727         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
57728         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
57729         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
57730         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
57731         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
57732         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
57733         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
57734         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
57735         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
57736         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
57737         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
57738         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
57739         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
57740         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
57741         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
57742         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
57743         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
57744         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
57745         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
57746         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
57747         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
57748         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
57749         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
57750         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
57751         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
57752         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
57753         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
57754         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
57755         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
57756         xstrtol.m4, xstrtoumax.m4, yesno.m4:
57757         Use an all-permissive copyright notice, recommended by RMS.
57758
57759 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
57760
57761         * modules/chdir-long (Depends-on): Remove mempcpy.
57762
57763 2005-01-21  Jim Meyering  <jim@meyering.net>
57764
57765         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
57766         same value as for Solaris 9.
57767
57768         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
57769         component length.  This included changing the parameter to be
57770         of type `char *' rather than `char const *'.
57771         * lib/chdir-long.h (chdir_long): Update prototype.
57772
57773         * lib/openat.c (fdopendir, fstatat): New functions.
57774         * lib/openat.h: Include headers required for use of DIR and struct
57775         stat.
57776         [AT_SYMLINK_NOFOLLOW]: Define.
57777         (fdopendir, fstatat): Add prototypes.
57778
57779 2005-01-21  Bruno Haible  <bruno@clisp.org>
57780
57781         * modules/classpath: New file.
57782         * MODULES.html.sh (Java): Add classpath.
57783
57784 2005-01-21  Bruno Haible  <bruno@clisp.org>
57785
57786         * lib/classpath.h: New file, from GNU gettext.
57787         * lib/classpath.c: New file, from GNU gettext.
57788
57789 2005-01-20  Simon Josefsson  <jas@extundo.com>
57790
57791         * modules/version-etc-fsf: New file.
57792
57793 2005-01-20  Simon Josefsson  <jas@extundo.com>
57794
57795         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
57796         * lib/version-etc.c: Remove version_etc_copyright.
57797         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
57798         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
57799
57800 2005-01-20  Simon Josefsson  <jas@extundo.com>
57801
57802         * lib/base64.h (isbase64): Add.
57803
57804         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
57805         using a unsigned prototype, don't inline.
57806         (base64_decode): Use it.
57807
57808 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57809
57810         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
57811         it.
57812
57813 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57814
57815         * lib/save-cwd.c (save_cwd): Remove code to support the case
57816         where fchdir is missing or flaky.
57817
57818 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
57819
57820         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
57821
57822 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
57823
57824         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
57825         AC_LIBSOURCES now does this.
57826         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
57827         with new ullong_max module.
57828
57829 2005-01-19  Bruno Haible  <bruno@clisp.org>
57830
57831         * modules/sh-quote: New file.
57832         * MODULES.html.sh (Executing programs): Add sh-quote.
57833
57834 2005-01-19  Bruno Haible  <bruno@clisp.org>
57835
57836         * lib/sh-quote.h: New file, from GNU gettext.
57837         * lib/sh-quote.c: New file, from GNU gettext.
57838
57839 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57840
57841         Merge from coreutils.
57842         * m4/ullong_max.m4: New file.
57843         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
57844         (gl_MACROS): Assume localeconv exists.
57845
57846 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57847
57848         Merge changes from coreutils, as described below in several
57849         changelogs dated today.
57850
57851         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
57852         (O_DIRECTORY): Remove; not needed here, since "." must be
57853         a directory.  All uses removed.
57854         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
57855         universal on Suns, and we also need to test for IRIX.
57856         Revamp code to use 'if' rather than '#if'.
57857         Avoid unnecessary comparison of cwd->desc to 0.
57858
57859         * lib/utimens.c (futimens): Robustify the previous patch, by checking
57860         for known valid error numbers rather than observed invalid ones.
57861
57862 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
57863
57864         * modules/ullong_max: New file.
57865
57866         * modules/chdir-long, modules/openat: New files.
57867         * modules/save-cwd (Depends-on): Depend on chdir-long.
57868         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
57869
57870 2005-01-18  Jim Meyering  <jim@meyering.net>
57871
57872         Merge from coreutils.
57873         * m4/chdir-long.m4, m4/openat.m4: New files.
57874         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
57875         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
57876         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
57877         is sane and DOES follow symlinks.  Besides, testing 20 different
57878         systems found no broken chown implementations.
57879         Prompted by a change in rsync's copy of this macro.
57880         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
57881
57882         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
57883
57884         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
57885         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
57886         NULL-means-set-to-current-time semantics.
57887         Remove temporary file immediately, rather than waiting
57888         for configure's at-exit trap code to do it.
57889
57890 2005-01-18  Jim Meyering  <jim@meyering.net>
57891
57892         * lib/version-etc.c (version_etc_copyright): Update copyright date.
57893
57894         * lib/utimens.c (futimens): Account for the fact that futimes
57895         can also fail with errno == ENOSYS or errno == ENOENT.
57896         Patch from Dmitry V. Levin.
57897
57898         Change the name of the robust chdir function from chdir to chdir_long.
57899         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
57900         (restore_cwd): Use chdir_long, not chdir.
57901         * lib/chdir-long.c: Renamed from chdir.c.
57902         * lib/chdir-long.h: Renamed from chdir.h.
57903         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
57904         Hurd.
57905
57906 2005-01-18  Bruno Haible  <bruno@clisp.org>
57907
57908         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
57909         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
57910         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
57911         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
57912         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
57913         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
57914         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
57915         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
57916         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
57917         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
57918         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
57919         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
57920         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
57921         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
57922         Use an all-permissive copyright notice, recommended by RMS.
57923
57924 2005-01-18  Bob Proulx  <bob@proulx.com>
57925
57926         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
57927         simplify offsetof() macro construct to avoid compile failure with
57928         native HP-UX 11.0 ANSI C compiler.
57929
57930 2005-01-17  Bruno Haible  <bruno@clisp.org>
57931
57932         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
57933         redundant because stpncpy.m4 takes care of it.
57934
57935 2005-01-17  Bruno Haible  <bruno@clisp.org>
57936
57937         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
57938
57939 2005-01-17  Bruno Haible  <bruno@clisp.org>
57940
57941         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
57942         used.
57943
57944 2005-01-17  Bruno Haible  <bruno@clisp.org>
57945
57946         * lib/fwriteerror.h (fwriteerror): Change specification to include
57947         fclose.
57948         * lib/fwriteerror.c: Include <stdbool.h>.
57949         (fwriteerror): At the end, close the file stream. Record whether
57950         stdout was already closed.
57951
57952 2005-01-17  Bruno Haible  <bruno@clisp.org>
57953
57954         * lib/execute.c (environ): Declare if needed.
57955         * lib/pipe.c (environ): Likewise.
57956         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
57957
57958 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57959
57960         * modules/argp: Depend on vsnprintf
57961
57962 2005-01-10  Jim Meyering  <jim@meyering.net>
57963
57964         * modules/closeout (Depends-on): Add atexit.
57965
57966 2005-01-06  Bruno Haible  <bruno@clisp.org>
57967
57968         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
57969
57970 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57971
57972         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
57973         definitions to be after all include files, to avoid collisions.
57974         Problem reported by Bob Proulx.
57975
57976 2005-01-04  Jim Meyering  <jim@meyering.net>
57977
57978         Changes imported from coreutils.
57979         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
57980         as the mkstemp template, use a temporary directory and an
57981         8.3-friendly template to avoid trouble on systems like DJGPP.
57982         Reported by Juan M. Guerrero via Stepan Kasal.
57983         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
57984         close. Remove the temporary directory right away, rather than waiting
57985         for configure's at-exit trap code to do it.
57986         Suggestion from Stepan Kasal.
57987
57988 2005-01-01  Simon Josefsson  <jas@extundo.com>
57989
57990         * gnulib-tool: Print #include directives when --import'ing.
57991
57992 2004-12-28  Simon Josefsson  <jas@extundo.com>
57993
57994         * tests/test-base64.c: Include required header files.  Remove
57995         unused variables.
57996
57997 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
57998
57999         * modules/error (Depends-on): Remove gettext.
58000
58001 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
58002
58003         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
58004         not needed.  This removes a dependency on the gettext module.
58005         [defined _LIBC]: Do not include <libintl.h>; not needed.
58006
58007 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
58008
58009         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
58010         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
58011
58012 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
58013
58014         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
58015         HAVE_DECL_STRTOLD.
58016
58017 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
58018
58019         * modules/getdate (Depends-on): Remove alloca-opt.
58020
58021 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
58022
58023         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
58024
58025 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
58026
58027         * lib/argp-parse.c: Include <stddef.h>.
58028         (alignof, alignto): New macros.
58029         (parser_init): Don't assume that void * is aligned sufficiently
58030         for struct option.
58031
58032         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
58033         need to extend the stack.
58034         (YYINITDEPTH): New macro, so that the initial stack isn't overly
58035         large.
58036
58037 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58038
58039         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
58040
58041 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
58042
58043         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
58044         (2004-10-24) change.  Apparently this was a false alarm.
58045
58046         * modules/getdate: Depend on alloca-opt, not alloca.
58047
58048 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
58049
58050         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
58051         Remove now-obsolete comment about AIX.
58052         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
58053         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
58054         (YYMAXDEPTH): New macro.
58055
58056 2004-12-18  Simon Josefsson  <jas@extundo.com>
58057
58058         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
58059
58060 2004-12-18  Bruno Haible  <bruno@clisp.org>
58061
58062         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
58063
58064 2004-12-18  Bruno Haible  <bruno@clisp.org>
58065
58066         * lib/fatal-signal.c (fatal_signals): Make non-const.
58067         (init_fatal_signals): New function.
58068         (uninstall_handlers, install_handlers): Ignore signals that were set to
58069         SIG_IGN.
58070         (at_fatal_signal): Call init_fatal_signals.
58071         (init_fatal_signal_set): Likewise. Ignore signals that were set to
58072         SIG_IGN.
58073         Reported by Paul Eggert.
58074
58075 2004-12-18  Bruno Haible  <bruno@clisp.org>
58076
58077         * doc/alloca.texi: New file.
58078         * doc/alloca-opt.texi: New file.
58079
58080 2004-12-17  Jim Meyering  <jim@meyering.net>
58081
58082         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
58083         Otherwise, install-sh could exit with improper exit status when
58084         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
58085
58086 2004-12-16  Simon Josefsson  <jas@extundo.com>
58087
58088         * tests/test-base64.c: Add license.
58089
58090 2004-12-15  Stepan Kasal  <address@hidden>
58091
58092         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
58093
58094 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
58095
58096         * modules/getcwd (Files): Add m4/d-ino.m4.
58097         Suggested by Mark D. Baushke.
58098
58099 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
58100
58101         * lib/getdate.y (textint): New member "negative".
58102         (time_zone_hhmm): New function.
58103         Expect 14 shift-reduce conflicts, not 13.
58104         (o_colon_minutes): New rule.
58105         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
58106         (yylex): Set the "negative" member of signed numbers.
58107
58108 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
58109
58110         * doc/getdate.texi (Time of day items, Time zone items):
58111         Describe new formats +00:00, UTC+00:00.
58112
58113 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
58114
58115         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
58116         spurious "-l"s.  Problem reported by Stepan Kasal.
58117
58118 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
58119
58120         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
58121         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
58122
58123 2004-12-04  Simon Josefsson  <jas@extundo.com>
58124
58125         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
58126         Vandoorselaere <yoann@prelude-ids.org>.
58127
58128 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
58129
58130         Changes imported from coreutils.
58131         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
58132         exist.
58133         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
58134
58135 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
58136
58137         Changes imported from coreutils.
58138         * lib/hard-locale.c: Assume <locale.h> exists.
58139         Include "strdup.h".
58140         (GLIBC_VERSION): New macro.
58141         (hard_locale): Assume setlocale exists.
58142         Rewrite to avoid #ifdef.
58143         Use strdup rather than malloc + strcpy.
58144         * lib/human.c: Assume <locale.h> exists.
58145         (human_readable): Assume localeconv exists.
58146
58147 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
58148
58149         * modules/hard-locale (Depends-on): Add strdup.
58150
58151 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
58152
58153         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
58154         convert T2, not T.  (Imported from libc.)
58155
58156 2004-11-30  Simon Josefsson  <jas@extundo.com>
58157
58158         * modules/restrict (License): Change to LGPL.
58159
58160 2004-11-30  Simon Josefsson  <jas@extundo.com>
58161
58162         * m4/restrict.m4: Add copyright and copying conditions.
58163
58164 2004-11-30  Simon Josefsson  <jas@extundo.com>
58165
58166         * m4/base64.m4: New file.
58167
58168 2004-11-30  Simon Josefsson  <jas@extundo.com>
58169
58170         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
58171         base64.
58172
58173         * tests/test-base64.c: New file.
58174
58175         * modules/base64: New file.
58176
58177 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
58178
58179         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
58180         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
58181
58182         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
58183
58184 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
58185
58186         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
58187         (__getcwd.c): Don't restore errno; glibc doesn't.
58188         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
58189         first, falling back to our code only if its results look suspicious.
58190         Ensure that the resulting buffer is only as large as necessary.
58191
58192         * lib/readutmp.c: Include readutmp.h first.
58193         Include <errno.h>, since readutmp.h no longer does that.
58194         * lib/readutmp.h: Don't include <errno.h>,
58195         <sys/param.h>, <time.h>; not needed to establish interface.
58196         (errno): Remove decl.
58197         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
58198         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
58199         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
58200
58201 2004-11-28  Simon Josefsson  <jas@extundo.com>
58202
58203         * lib/base64.h, base64.c: New file.
58204
58205 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
58206
58207         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
58208
58209 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
58210
58211         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
58212         (Depends-on): Remove pathmax, same.  Add mempcpy.
58213         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
58214         (Makefile.am): Append getcwd.h to lib_SOURCES.
58215         (Include): Add getcwd.h.
58216         (Maintainer): Change from Jim Meyering to "all, glibc",
58217         since getdate now uses intended-for-glibc code.
58218         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
58219         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
58220
58221 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
58222
58223         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
58224         HP's ANSI C compiler.
58225         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
58226         Declaring int functions causes warnings on some modern systems and
58227         shouldn't be needed to compile on ancient ones.
58228         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
58229         defined.
58230
58231         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
58232         with the following changes.
58233         (__set_errno): Parenthesize properly.
58234         Include <stdbool.h>.
58235         (MIN, MAX, MATCHING_INO): New macros.
58236         (__getcwd): Define with prototype, not K&R form.
58237         Use heuristics to allocate default buffer on stack if possible.
58238         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
58239         behavior, and to avoid the PATH_MAX limit when computing
58240         ../../../../...
58241         Use MATCHING_INO to compare inode number to file.
58242         Check for arithmetic overflow in size calculations.
58243         Fix bug in reallocation of dot array that caused getcwd to fail
58244         on directories nested deeper than 75.
58245         Be more careful about saving errno on error.
58246         Do not use realloc; use only free+malloc, as this is a bit
58247         more flexible and avoids a needless copy operation.
58248         Do not inspect st_dev and st_ino for symbolic links; POSIX
58249         doesn't specify the latter.
58250         Check for closedir errors.
58251         Avoid needless casts.
58252         Use "#ifdef weak_alias" around weak_alias, to be like other
58253         glibc code.
58254         The following changes to getcwd.c have effect only when used in
58255         gnulib; they have no effect inside glibc proper.
58256         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
58257         as alloca isn't used.
58258         (alloca, __alloca): Likewise.
58259         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
58260         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
58261         unconditionally, as gnulib assumes C89 or better.
58262         Do not include <sys/param.h>.
58263         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
58264         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
58265         better.
58266         (NULL) [!defined NULL]: Remove; we assume C89 or better.
58267         Include <dirent.h> in a way that is compatible with modern Autoconf.
58268         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
58269         New macros, if not already defined.
58270         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
58271         Use "_LIBC", not "defined _LIBC", for consistency.
58272         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
58273         a mempcpy module.
58274         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
58275         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
58276         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
58277         credit only to Jim Meyering and adjust the copyright dates.
58278         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
58279         <stdlib.h>, <unistd.h>, "pathmax.h".
58280         Instead, include "xgetcwd.h" (first) and "getcwd.h".
58281         (INITIAL_BUFFER_SIZE): Remove.
58282         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
58283
58284 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
58285
58286         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
58287         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
58288         Use the _ONCE methods, for efficiency.
58289         Check for fcntl.h.  In test program, include <errno.h>
58290         and <fcntl.h> if available.  Remove old K&R cruft from
58291         test program.  Check for common errors in GNU/Linux,
58292         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
58293         don't do AC_LIBOBJ, as that's getcwd.m4's job.
58294         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
58295         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
58296         name accordingly.
58297         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
58298         accommodate new getcwd.c.
58299         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
58300         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
58301         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
58302         that's all we need now.
58303
58304 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58305
58306         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
58307         argp-parse.c depends on getopt internals, that means we should
58308         always use our getopt, to be on the safe side.
58309         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
58310         order not to spoil the result of an eventual previous invocation
58311         of gl_GETOPT_SUBSTITUTE.
58312
58313 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58314
58315         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
58316         redefinition warnings. To avoid them, include the defines
58317         in `#if !defined __need_getopt ... #endif'. The only place
58318         where __getopt_argv_const is used is in definitions
58319         of getopt_long and getopt_long_only below, which are as well
58320         protected by `#ifndef __need_getopt'.
58321         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
58322         __need_getopt after including <stdio.h> and <unistd.h> These
58323         headers might have defined it.
58324
58325 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
58326
58327         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
58328
58329 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
58330
58331         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
58332         (futimens): New function, which uses futimes if available.
58333         (futimens, utimens): Support timespec==NULL, with same semantics
58334         as utime and utimens.
58335         * lib/utimens.h (futimens): New decl.
58336
58337 2004-11-23  Jim Meyering  <jim@meyering.net>
58338
58339         * lib/getopt_.h: Remove trailing blanks.
58340
58341 2004-11-23  Jim Meyering  <jim@meyering.net>
58342
58343         * lib/__fpending.c: Add comment.
58344
58345 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
58346
58347         * modules/canonicalize (Depends-on): Add xreadlink.
58348         Problem reported by James Youngman.
58349
58350 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
58351
58352         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
58353         New macros.
58354         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
58355         optopt): Use them instead of invoking ## directly; otherwise, the
58356         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
58357
58358 2004-11-19  Bruno Haible  <bruno@clisp.org>
58359
58360         * lib/strtok_r.c: Move comments from here...
58361         * lib/strtok_r.h: ... to here.
58362
58363 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
58364
58365         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
58366         implementations that mishandle size_t overflow.
58367
58368 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
58369
58370         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
58371         might fail.  Problem reported by Yoann Vandoorselaere.
58372         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
58373         implementations that mishandle size_t overflow.
58374
58375 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58376
58377         * modules/canon-host (Depends-on): Add strdup.
58378
58379 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58380
58381         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
58382
58383 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58384
58385         * lib/canon-host.c: Include "strdup.h".
58386         (canon_host): Use getaddrinfo if available, so that IPv6 works.
58387         Use strdup instead of malloc/strcpy to duplicate strings.
58388
58389         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
58390         (human_space_before_unit): New constant.
58391         * lib/human.c (human_readable): Support it.
58392
58393         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
58394         (xgetcwd): Set errno correctly when failing.
58395         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
58396         the failure is actually due to a PATH_MAX problem.
58397
58398         Further getopt changes to make it more likely that glibc will
58399         buy the changes back.
58400         * lib/getopt.c (POSIXLY_CORRECT): New constant.
58401         (getopt): Use it, so to preserve glibc semantic
58402         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
58403         when compiling for libc.
58404         * lib/getopt_.h (__getopt_argv_const): Bring it back.
58405         (getopt_long, getopt_long_only): Use it.
58406
58407         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
58408         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
58409         (getopt): Argv is now char * const *, as per standard.
58410         (_getopt_internal_r, _getopt_internal): Argv is now char **,
58411         not char *__getopt_argv_const *.
58412         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
58413         _getopt_long_only_r): Likewise.
58414         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
58415         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
58416         _getopt_long_r, _getopt_long_only_r): Likewise.
58417         * lib/getopt_.h (__getopt_argv_const): Remove.
58418         (getopt): Argv is now char * const *, as per standard.
58419
58420         * lib/getdate.y (tORDINAL): New token.
58421         (day, relunit): Allow it for relative times.
58422         (relative_time_table): Use tORDINAL for ordinals.
58423
58424 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
58425
58426         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
58427         Document that "second" isn't allowed as an ordinal number.
58428
58429 2004-11-16  Jim Meyering  <jim@meyering.net>
58430
58431         * modules/closeout (Depends-on): Add fpending.
58432
58433 2004-11-15  Jim Meyering  <jim@meyering.net>
58434
58435         * lib/closeout.c: Include "__fpending.h" once again.
58436         Include <stdbool.h>.
58437         (close_stdout): Don't fail just because stdout was closed initially,
58438         since some programs don't write to stdout in the normal course of
58439         operation (other than --version and --help), and we don't want this
58440         function to make e.g. `touch file >&-' fail.
58441         But do fail if it was closed and someone has tried to write to it.
58442         E.g., `printf foo >&-' must fail.
58443
58444 2004-11-13  Jim Meyering  <jim@meyering.net>
58445
58446         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
58447
58448 2004-11-12  Simon Josefsson  <jas@extundo.com>
58449
58450         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
58451         small doc fix is still pending.
58452
58453 2004-11-11  Simon Josefsson  <jas@extundo.com>
58454
58455         * modules/strtok_r: New file.
58456
58457         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58458         strtok_r.
58459
58460 2004-11-11  Simon Josefsson  <jas@extundo.com>
58461
58462         * m4/strtok_r.m4: New file.
58463
58464         * m4/getopt.m4: Replace opterr.
58465
58466 2004-11-11  Simon Josefsson  <jas@extundo.com>
58467
58468         * lib/strtok_r.h, strtok_r.c: New file.
58469
58470 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
58471
58472         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
58473         of replacing opterr, getopt, etc.  This should handle the
58474         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
58475
58476 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
58477
58478         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
58479         we can stop lying to compilers about the constness of argv when we
58480         are compiled outside glibc.
58481         (getopt, getopt_long, getopt_long_only): Use it.
58482         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
58483         _getopt_internal, getopt): Likewise.
58484         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
58485         _getopt_long_only_r): Likewise.
58486         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
58487         _getopt_long_r, _getopt_long_only_r): Likewise.
58488
58489         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
58490         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
58491         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
58492         the other external symbols.
58493         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
58494         declaration, since the above renaming now works around collisions.
58495
58496 2004-11-11  Jim Meyering  <jim@meyering.net>
58497
58498         * lib/linebreak.c: Remove trailing blanks.
58499         * lib/alloca_.h: Likewise.
58500         * lib/acosl.c: Likewise.
58501         * lib/euidaccess.c: Likewise.
58502         * lib/allocsa.h: Likewise.
58503
58504 2004-11-10  Simon Josefsson  <jas@extundo.com>
58505
58506         * m4/getaddrinfo.m4: New file.
58507
58508 2004-11-10  Simon Josefsson  <jas@extundo.com>
58509
58510         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
58511
58512 2004-11-10  Simon Josefsson  <jas@extundo.com>
58513
58514         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58515         getaddrinfo.
58516
58517         * modules/getaddrinfo: New file.
58518
58519 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
58520
58521         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
58522
58523 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
58524
58525         * lib/mktime.c (SHR): New macro, which is a portable
58526         substitute for >> that should work even on Crays.
58527         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
58528         Problem reported by Mark D. Baushke in
58529         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
58530         * lib/getdate.y (SHR): Likewise.
58531         (tm_diff): Use it.
58532         * lib/strftime.c (SHR): Likewise.
58533         (tm_diff): Use it.
58534         * lib/quotearg.c (struct quoting_options): Use unsigned int for
58535         quote_these_too, so that right shifts are well defined.  All uses
58536         changed.
58537
58538 2004-11-10  Jim Meyering  <jim@meyering.net>
58539
58540         Ensure that no close failure goes unreported.
58541         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
58542         return early when it seems there's nothing to flush.
58543         Don't include __fpending.h.
58544
58545 2004-11-10  Jim Meyering  <jim@meyering.net>
58546
58547         * modules/closeout (Depends-on): Remove fpending.
58548
58549 2004-11-10  Jim Meyering  <jim@meyering.net>
58550
58551         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
58552
58553 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58554
58555         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
58556         gl_FUNC_STRFTIME.
58557         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
58558         and AC_REQUIRE when possible, to avoid duplicate checks.
58559         Check for <wchar.h>.
58560
58561 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
58562
58563         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
58564
58565 2004-11-09  Bruno Haible  <bruno@clisp.org>
58566
58567         * m4/sockpfaf.m4: New file.
58568
58569 2004-11-05  Bruno Haible  <bruno@clisp.org>
58570
58571         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
58572         Reported by Mark D. Baushke <mdb@cvshome.org>.
58573
58574 2004-11-04  Bruno Haible  <bruno@clisp.org>
58575
58576         2004-09-11  Bruno Haible  <bruno@clisp.org>
58577                 * allocsa.valgrind: New file.
58578         2004-02-06  Bruno Haible  <bruno@clisp.org>
58579                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
58580                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
58581                 Reported by Christopher Seip <chris.seip@hp.com>.
58582
58583 2004-11-04  Bruno Haible  <bruno@clisp.org>
58584
58585         * modules/allocsa (Files): Add lib/allocsa.valgrind.
58586         (Makefile.am): Distribute it.
58587
58588 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
58589
58590         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
58591         with errno == ERANGE if the buffer is too small.
58592         Problem reported by Mark D. Baushke.
58593
58594 2004-11-03  Albert Chin  <china@thewrittenword.com>
58595             Paul Eggert  <eggert@cs.ucla.edu>
58596
58597         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
58598         equivalent, substitute $ac_type for equivalent type rather than
58599         blindly using uint32_t *always* which won't work if uint32_t is not
58600         available.  Define _UINT32_T to work around typedef of uint32_t if
58601         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
58602         2.5.1.
58603
58604 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
58605
58606         * m4/jm-macros.m4: Sync from coreutils.
58607         (gl_MACROS): Check for mbrlen, for pathchk.
58608         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
58609
58610 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
58611
58612         * lib/xreadlink.c (MAXSIZE): New macro.
58613         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
58614         size does not exceed MAXSIZE.  Avoid cast.
58615         As suggested by Mark D. Baushke in
58616         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
58617         if readlink fails with buffer size just under MAXSIZE, try again
58618         with MAXSIZE.
58619
58620 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
58621
58622         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
58623
58624 2004-11-02  Derek R. Price  <derek@ximbiot.com>
58625         and  Paul Eggert  <eggert@cs.ucla.edu>
58626
58627         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
58628         (get_date): Overparenthesize to avoid GCC warning.
58629
58630 2004-11-02  Bruno Haible  <bruno@clisp.org>
58631
58632         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
58633         returns void.
58634
58635 2004-11-02  Bruno Haible  <bruno@clisp.org>
58636
58637         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
58638         function returns void.
58639
58640 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58641
58642         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
58643         fflush_unlocked, flockfile, funlockfile, funlockfile,
58644         fputs_unlocked, putc_unlocked.
58645
58646 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58647
58648         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
58649         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
58650         already declared.
58651
58652 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
58653
58654         * modules/getdate (Files): Add doc/getdate.texi.
58655         (Depends-on): Add setenv, xalloc.
58656
58657 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
58658
58659         * lib/getdate.y: Add support for TZ="foo" within a date string.
58660         Fix some bugs near time_t boundaries.  Reject dates with
58661         out-of-range components, e.g., "Sept 31".
58662         Include <stdlib.h>, "setenv.h", "xalloc.h".
58663         (ISDIGIT_LOCALE): Remove; unused.
58664         Note that the TZ and time functions used here are not reentrant.
58665         (mktime_ok, get_tz): New functions.
58666         (TZBUFSIZE): New constant.
58667         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
58668         This requires that we sometimes generate our own TZ="XXX..." setting.
58669
58670 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
58671
58672         * doc/getdate.texi: New file, from coreutils with modifications for
58673         the new TZ parsing.
58674
58675 2004-10-27  Derek R. Price  <derek@ximbiot.com>
58676
58677         * lib/mktime.c (not_equal_tm): Remove redundant check.
58678
58679 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58680
58681         * modules/regex (lib_SOURCES): Add regex.c.
58682         Reported by James Youngman in
58683         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
58684
58685 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58686
58687         * lib/getdate.y: Use Bison 1.875 features, and some minor
58688         code cleanups.  This change does not affect semantics.
58689         Don't include <stdlib.h>; no longer needed.
58690         Don't include unlocked-io.h; only the "#if TEST" code uses
58691         stdio, and performance isn't crucial there.
58692         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
58693         Bison 1.875 features as described below.
58694         All uses of "PC." replaced by "pc->".
58695         (YYSTYPE): Add a forward declaration.
58696         (yylex, yyerror): Use full prototypes in forward decls.
58697         Use "%pure-parser" rather than obsolescent "%pure_parser".
58698         Use %parse-param and %lex-param instead of obsolescent
58699         YYPARSE_PARAM and YYLEX_PARAM.
58700         (meridian_table, month_and_day_table, time_units_table,
58701         relative_time_table, time_zone_table, military_table,
58702         lookup_zone, lookup_word, get_date):
58703         Use NULL instead of 0 where appropriate.
58704         (to_hour): Avoid abort (), to avoid a dependency on
58705         stdlib.h.
58706         (yyerror, yylex): Now accepts parser_control * arg.
58707         (main) [TEST]: Use '\0' rather than 0 for char.
58708
58709 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58710
58711         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
58712
58713 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58714
58715         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
58716         It's now the caller's responsibility to handle the case where
58717         !HAVE_GETPAGESIZE && !defined getpagesize.
58718
58719         * lib/mktime.c (leapyear): Arg is long int, not int.
58720
58721 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
58722
58723         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
58724
58725 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
58726
58727         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
58728         missing.  Problem reported by James Youngman.
58729
58730 2004-10-16  Simon Josefsson  <jas@extundo.com>
58731
58732         * gnulib-tool: Fix comments.  Fix parse problem.
58733         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
58734
58735 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
58736
58737         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
58738         implementation of getopt_long.  Problem reported by Alexander Taler in:
58739         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
58740
58741 2004-10-15  Bruno Haible  <bruno@clisp.org>
58742
58743         * gnulib-tool: Untabify. Initialize supplied_libname.
58744         (func_usage): More homogenous output.
58745         (func_modules_transitive_closure, func_modules_to_filelist,
58746         func_emit_lib_Makefile_am): New functions.
58747         (func_import): New function, extracted from big case statement. Use
58748         func_get_license, func_modules_transitive_closure,
58749         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
58750         opt_lgpl. Don't use test -a, as it's not portable.
58751         (func_create_testdir): Use func_modules_transitive_closure,
58752         func_modules_to_filelist, func_emit_lib_Makefile_am.
58753
58754 2004-10-15  Bruno Haible  <bruno@clisp.org>
58755
58756         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
58757
58758 2004-10-15  Bruno Haible  <bruno@clisp.org>
58759
58760         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
58761         the portions belonging to each module.
58762         Suggested by Derek Robert Price <derek@ximbiot.com>.
58763
58764 2004-10-12  Simon Josefsson  <jas@extundo.com>
58765
58766         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
58767         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
58768         to real functions.
58769
58770 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58771
58772         * modules/vsnprintf: New file.
58773
58774 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58775
58776         * m4/vsnprintf.m4: New file.
58777
58778 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58779
58780         * lib/vsnprintf.h: New file.
58781         * lib/vsnprintf.c: New file.
58782
58783 2004-10-11  Bruno Haible  <bruno@clisp.org>
58784
58785         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
58786         vsnprintf.
58787
58788 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
58789
58790         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
58791
58792 2004-10-07  Bruno Haible  <bruno@clisp.org>
58793
58794         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
58795         fits into the provided buffer.
58796
58797 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
58798
58799         * lib/diacrit.c, diacrit.h: Add GPL notice.
58800
58801         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
58802         notice.
58803         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
58804         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
58805         This avoids a potential constant-folding bug.
58806
58807 2004-10-05  Bruno Haible  <bruno@clisp.org>
58808
58809         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
58810         for the declaration of strsep.
58811
58812 2004-10-05  Bruno Haible  <bruno@clisp.org>
58813
58814         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
58815
58816 2004-10-04  Simon Josefsson  <jas@extundo.com>
58817
58818         * modules/memmem: New file.
58819         * tests/test-memmem.c: New file.
58820         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
58821
58822 2004-10-04  Simon Josefsson  <jas@extundo.com>
58823
58824         * m4/memmem.m4: New file.
58825
58826 2004-10-04  Simon Josefsson  <jas@extundo.com>
58827
58828         * lib/memmem.h: New file.
58829         * lib/memmem.c: New file, taken from glibc.
58830
58831 2004-10-04  Simon Josefsson  <jas@extundo.com>
58832
58833         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
58834         '#ifdef USE_UNLOCKED_IO'.
58835
58836 2004-10-04  Simon Josefsson  <jas@extundo.com>
58837
58838         * config/srclist.txt: Add memmem from glibc.
58839
58840 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58841
58842         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
58843
58844         * modules/argmatch, modules/argp, modules/closeout, modules/error,
58845         modules/exclude, modules/getdate, modules/getline,
58846         modules/getndelim2, modules/getpass, modules/getpass-gnu,
58847         modules/getusershell, modules/linebuffer, modules/md5,
58848         modules/mountlist, modules/posixtm, modules/readtokens,
58849         modules/readutmp, modules/regex, modules/sha1,
58850         modules/version-etc, modules/yesno:
58851         Remove dependency on unlocked-io.
58852
58853 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58854
58855         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
58856
58857         * m4/unlocked-io.m4: Add copyright notice.
58858         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
58859
58860 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58861
58862         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
58863         * lib/xmalloc.c (xmemdup): Likewise.
58864         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
58865         XFREE): Remove these long-obsolescent macros.
58866         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
58867         * lib/xstrdup.c: Remove.
58868
58869         * lib/regex.c (re_comp): Cast gettext return value to char *,
58870         Problem reported by Martin Neitzel via Mark D. Baushke.
58871
58872 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
58873
58874         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
58875         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
58876         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
58877         regex.c, sha1.c, version-etc.c, yesno.c:
58878         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
58879         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
58880         the includer's responsibility.
58881
58882         Sync from coreutils.
58883
58884         * lib/modechange.c (mode_compile): Don't decrement a pointer that
58885         points to the start of a string, as the C Standard says the
58886         resulting behavior is undefined.
58887
58888         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
58889         simple -> simple_backups, numbered_existing ->
58890         numbered_existing_backups, numbered -> numbered_backups
58891         to avoid shadowing problems.  All uses changed.
58892         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
58893         * lib/backupfile.c (check_extension, numbered_backup):
58894         Rename locals to avoid shadowing 'basename'.
58895         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
58896         once.
58897
58898         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
58899         * lib/.cvsignore: Add getopt.h.
58900
58901 2004-10-04  Bruno Haible  <bruno@clisp.org>
58902
58903         * modules/README: New file.
58904         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
58905         not a module.
58906
58907 2004-10-02  Jim Meyering  <jim@meyering.net>
58908
58909         * lib/dirfd.h, getpagesize.h: Add copyright notice.
58910
58911 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58912
58913         * modules/strsep: New file.
58914
58915 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58916
58917         * m4/strsep.m4: New file.
58918
58919 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
58920
58921         * lib/strsep.h: New file.
58922         * lib/strsep.c: New file.
58923
58924 2004-10-01  Simon Josefsson  <jas@extundo.com>
58925
58926         * lib/snprintf.c (snprintf): Handle size==0.
58927
58928 2004-10-01  Simon Josefsson  <jas@extundo.com>
58929             Bruno Haible  <bruno@clisp.org>
58930
58931         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
58932         (snprintf): Declare 'args'.
58933
58934 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
58935
58936         * lib/snprintf.c: Remove comments as to why each header is needed.
58937
58938 2004-10-01  Bruno Haible  <bruno@clisp.org>
58939
58940         * MODULES.html.sh: Add strsep.
58941
58942 2004-09-30  Simon Josefsson  <jas@extundo.com>
58943
58944         * modules/snprintf: New file.
58945
58946 2004-09-30  Simon Josefsson  <jas@extundo.com>
58947
58948         * m4/snprintf.m4: New file.
58949
58950 2004-09-30  Simon Josefsson  <jas@extundo.com>
58951
58952         * lib/snprintf.h, lib/snprintf.c: New files.
58953
58954 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58955
58956         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
58957         (hol_entry_help): Never translate an empty string.
58958         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
58959         * lib/argp.h (OPTION_NO_TRANS): New option.
58960
58961 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58962
58963         * modules/argp (Maintainer): Replace Simon Josefsson
58964         by Sergey Poznyakoff.
58965
58966 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58967
58968         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
58969         changes merged back into glibc.
58970
58971 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
58972
58973         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
58974
58975 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
58976
58977         * lib/xvasprintf.c: Include xalloc.h.
58978         (xvasprintf): Use xalloc_die, not xmalloc_die.
58979
58980 2004-09-29  Bruno Haible  <bruno@clisp.org>
58981
58982         * modules/alloca-opt: New file, derived from modules/alloca.
58983         * modules/allocsa: Depend on alloca-opt instead of alloca.
58984         * modules/setenv: Likewise.
58985         * modules/vasnprintf: Likewise.
58986         * MODULES.html.sh: Add alloca-opt.
58987
58988 2004-09-28  Simon Josefsson  <jas@extundo.com>
58989
58990         * gnulib-tool: New parameter --lgpl, to asseert that modules are
58991         LGPL, and to replace license template from GPL to LGPL.
58992
58993 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
58994
58995         * modules/dummy: Change license to LGPL.
58996
58997 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
58998
58999         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
59000
59001 2004-09-24  Simon Josefsson  <jas@extundo.com>
59002
59003         * modules/minmax (License): Change from GPL to LGPL.
59004
59005 2004-09-23  Simon Josefsson  <jas@extundo.com>
59006
59007         * gnulib-tool (--import): Typo.
59008
59009 2004-09-23  Simon Josefsson  <jas@extundo.com>
59010
59011         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
59012
59013 2004-09-22  Bruno Haible  <bruno@clisp.org>
59014
59015         * modules/*: Add 'License' field.
59016         * gnulib-tool: Accept --extract-license option.
59017         (func_get_license): New function.
59018
59019 2004-09-21  Bruno Haible  <bruno@clisp.org>
59020
59021         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
59022         Reported by Simon Josefsson.
59023
59024 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
59025
59026         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
59027         gl_AC_TYPE_LONG_LONG.
59028
59029 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
59030
59031         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
59032
59033 2004-09-18  Simon Josefsson  <jas@extundo.com>
59034         and  Paul Eggert  <eggert@cs.ucla.edu>
59035
59036         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
59037         calls with autoreconf.  Define GL_LIB.
59038
59039 2004-09-14  Karl Berry  <karl@gnu.org>
59040
59041         * config/srclist.txt: unsync setenv.c, sigh.
59042
59043 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
59044
59045         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
59046         Problem reported by Bruno Haible in:
59047         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
59048
59049 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
59050
59051         * config/srclist.txt: Comment out argp-pvh.c.
59052
59053 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
59054
59055         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
59056         in case some system header has #define'd it.  Problem reported by
59057         Soeren D. Schulze in
59058         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
59059
59060 2004-09-09  Karl Berry  <karl@gnu.org>
59061
59062         * regex.[ch]: delete from the root.  These were supposed to be
59063                 synced with emacs cvs, but this has not happened for about
59064                 a year, and anyway nothing else uses emacs regex.[ch].
59065                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
59066                 lib/regex[.ch] is untouched.
59067
59068 2004-09-09  Bruno Haible  <bruno@clisp.org>
59069
59070         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
59071
59072 2004-09-09  Bruno Haible  <bruno@clisp.org>
59073
59074         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
59075         modifications.
59076         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
59077
59078 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
59079
59080         * modules/xvasprintf: New file.
59081         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
59082
59083 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
59084
59085         * lib/xvasprintf.h: New file.
59086         * lib/xvasprintf.c: New file.
59087         * lib/xasprintf.c: New file.
59088
59089 2004-09-08  Bruno Haible  <bruno@clisp.org>
59090
59091         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
59092
59093 2004-09-08  Bruno Haible  <bruno@clisp.org>
59094
59095         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
59096         length is > INT_MAX.
59097         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
59098         more.
59099
59100 2004-09-08  Bruno Haible  <bruno@clisp.org>
59101
59102         * lib/stdint_.h: New file, taken from GNU clisp.
59103
59104 2004-09-08  Bruno Haible  <bruno@clisp.org>
59105             Oskar Liljeblad  <oskar@osk.mine.nu>
59106
59107         * modules/stdint: New file.
59108         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
59109
59110 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59111
59112         Import from coreutils.
59113         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
59114         strings on unbounded length.  alloca's performance benefits aren't
59115         that important here.
59116         (V_STRDUP): Remove.
59117         (parse_with_separator): New function, with most of the internals
59118         of the old parse_user_spec.  Allow user to omit both user and group,
59119         for compatibility with FreeBSD.
59120         Clone only the user name, not the entire spec.
59121         Do not set *uid, *gid unless entirely successful.
59122         Avoid memory leak in some failing cases.
59123         Fix regression for USER.GROUP reported by Dmitry V. Levin in
59124         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
59125         (parse_user_spec): Rewrite to use parse_with_separator.
59126
59127 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59128
59129         * modules/userspec: Don't depend on alloca.
59130
59131 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59132
59133         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
59134
59135 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59136
59137         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
59138         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
59139         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
59140
59141 2004-08-16  Simon Josefsson  <jas@extundo.com>
59142
59143         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
59144         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
59145         Add --dry-run for --import.
59146         Let user provided command line parameters override configure.ac
59147         settings.
59148
59149 2004-08-12  Simon Josefsson  <jas@extundo.com>
59150
59151         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
59152         as discussed with Paul Eggert in threads rooted at
59153         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
59154         and
59155         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
59156         Before, the test was empty, and relied on ELIDE_CODE in source
59157         code.)
59158         (gl_PREREQ_GETOPT): New macro.
59159         (gl_GETOPT): Use them.
59160
59161 2004-08-12  Simon Josefsson  <jas@extundo.com>
59162
59163         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
59164         * lib/getopt_.h: Renamed from getopt.h.
59165
59166 2004-08-12  Simon Josefsson  <jas@extundo.com>
59167
59168         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
59169         Change default library name from libfoo to libgnu.
59170         Now, if you have a configure.ac that says:
59171                 gl_SOURCE_BASE(gl)
59172                 gl_M4_BASE(gl/m4)
59173                 gl_MODULES(error getopt etcetera)
59174                 gl_INIT
59175         you can import all you need by running:
59176                 ../gnulib/gnulib-tool --import
59177
59178         * modules/getopt (Files): Rename getopt.h to getopt_.h.
59179         (Makefile.am): Rewrite, use logic from argz.
59180         (Include): Use <getopt.h> instead of "getopt.h".
59181
59182 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59183
59184         * modules/argp (Files): Add m4/unlocked-io.m4.
59185         (Depends-on): Add extensions.
59186
59187 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59188
59189         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
59190         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
59191         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
59192         Check for program_invocation_name, program_invocation_short_name,
59193         flockfile, funlockfile, features.h, _getopt_long_only_r.
59194
59195 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59196
59197         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
59198         its complicated substitute.
59199         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
59200         and program_invocation_name.
59201         (__argp_basename) [!_LIBC]: Remove; the only use was
59202         replaced by its body.
59203         (__argp_short_program_name): Change condition from
59204         !defined __argp_short_program_name to
59205         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
59206         to match argp-namefrob.h.
59207         (__argp_failure): Don't assume strerror_r returns char *.
59208         * lib/argp-parse.c (N_): Define unconditionally.
59209         (argp_default_options): Fill out initializers with 0 to avoid
59210         gcc warnings.
59211
59212 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
59213
59214         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
59215         getopt1.c.
59216
59217 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59218
59219         Merge from coreutils.
59220
59221         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
59222
59223         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
59224         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
59225
59226 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59227
59228         Merge from coreutils.
59229
59230         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
59231         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
59232         for Reliant Unix 5.43.
59233
59234         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
59235         (union fooround): Use uintmax_t, not long int.
59236         The rest is a merge from libc:
59237         [defined _LIBC]: Include <shlib-compat.h>.
59238         (_obstack) [defined _LIBC]: Remove after 2.3.4.
59239
59240         * lib/settime.c (settime): Recode to avoid warning with
59241         Sun Forte C 6U2.
59242
59243         * lib/strverscmp.c: Convert to UTF-8.
59244
59245 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59246
59247         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
59248         m4/uintmax_t.m4.
59249
59250 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59251
59252         * modules/xalloc-die: New file.
59253         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
59254
59255         * modules/md5 (Files): Add m4/uint32_t.m4.
59256         * modules/sha1: Renamed from modules/sha.
59257         (Files):
59258         Rename lib/sha.h to lib/sha1.h.
59259         Rename lib/sha.c to lib/sha1.c.
59260         Rename m4/sha.m4 to m4/sha1.m4.
59261         (lib_SOURCES): Likewise.
59262         (configure.ac): Rename gl_SHA to gl_SHA1.
59263         (Include): sha.h -> sha1.h.
59264
59265 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59266
59267         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
59268         * m4/sha1.m4: Renamed from sha.m4.
59269         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
59270
59271 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59272
59273         * lib/obstack.h (obstack_empty_p):
59274         Don't assume that chunk->contents is suitably aligned.
59275         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
59276         Likewise. Problem reported by Benno in
59277         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
59278
59279         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
59280         readable.  This could be improved further but it'd take some work.
59281
59282 2004-08-08  Simon Josefsson  <jas@extundo.com>
59283
59284         * modules/xgethostname (Depends-on): Remove exit and error (not
59285         used).
59286
59287         * modules/getpass-gnu: Add getpass.h.
59288         (Depends-on): Add stdbool.
59289         * modules/getpass: Add getpass.h.
59290
59291 2004-08-08  Simon Josefsson  <jas@extundo.com>
59292
59293         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
59294         Check getpass declaration.
59295
59296 2004-08-08  Simon Josefsson  <jas@extundo.com>
59297
59298         * lib/xgethostname.c: Don't include error.h (not used).
59299
59300         * lib/getpass.h: Add.
59301         * lib/getpass.c: Include getpass.h first.
59302
59303 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
59304
59305         * lib/xalloc-die.c: New file.
59306         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
59307         All uses removed.
59308         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
59309         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
59310         xalloc-die.c.
59311         (_, N_, xalloc_die): Move to xalloc-die.c.
59312         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
59313         so that we needn't mess with xalloc_msg_memory_exhausted.
59314
59315         * lib/sha1.h: Renamed from sha.h.
59316         (SHA1_H): Renamed from _SHA_H.
59317         (sha1_ctx): Renamed from sha_ctx.
59318         (sha1_init_ctx): Renamed from sha_init_ctx.
59319         (sha1_process_block): Renamed from sha_process_block.
59320         (sha1_process_bytes): Renamed from sha_process_bytes.
59321         (sha1_finish_ctx): Renamed from sha_finish_ctx.
59322         (sha1_read_ctx): Renamed from sha_read_ctx.
59323         (sha1_stream): Renamed from sha_stream.
59324         (sha1_buffer): Renamed from sha_buffer.
59325         * lib/sha1.c: Likewise; renamed from sha.c.
59326         Do not include <sys/types.h>.
59327         Include <stddef.h> rather than <stdlib.h>.
59328
59329 2004-08-08  Bruno Haible  <bruno@clisp.org>
59330
59331         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
59332         FILESYSTEM_PREFIX_LEN.
59333         * lib/progreloc.c: Likewise.
59334         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
59335
59336 2004-08-06  Simon Josefsson  <jas@extundo.com>
59337
59338         * modules/progname (Depends-on): Don't depend on stdbool.
59339
59340 2004-08-06  Simon Josefsson  <jas@extundo.com>
59341
59342         * modules/getsubopt: New file.
59343         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59344         getsubopt.
59345
59346 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59347
59348         More merge from coreutils.
59349
59350         * m4/utimens.m4, m4/utimecmp.m4: New files.
59351         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
59352         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
59353         prereq.m4, sha.m4: Import changes from coreutils.
59354
59355 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59356
59357         More merge from coreutils.
59358         * modules/raise, modules/readtokens0, modules/utimens:
59359         * modules/utimecmp, module/xnanosleep: New files.
59360         * modules/strftime: Add lib/strftime.h.
59361         Change include from <time.h> to "strftime.h".
59362         * modules/yesno: Add lib/yesno.h.
59363         * modules/backupfile: Remove lib/addext.c.
59364         * modules/euidaccess: Add stat-macros.h.
59365         * modules/canonicalize, modules/euidaccess,
59366         modules/filemode, modules/lchown, modules/makepath,
59367         modules/rmdir, modules/stat: Likewise.
59368
59369 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
59370
59371         Merge from tar.
59372         * lib/argp-help.c (make_hol, hol_append): Don't assume that
59373         SIZE_MAX is a valid preprocessor constant.
59374         (__argp_basename): Change from "#ifndef _LIBC"
59375         to "#ifndef __argp_short_program_name", so that
59376         we don't compile these functions for tar.
59377
59378         More merges from coreutils.
59379         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
59380         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
59381         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
59382         * lib/addext.c: Remove; no longer needed.
59383         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
59384         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
59385         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
59386         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
59387         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
59388         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
59389         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
59390         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
59391         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
59392         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
59393         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
59394         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
59395         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
59396         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
59397         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
59398         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
59399         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
59400         Import changes from coreutils.
59401
59402 2004-08-05  Simon Josefsson  <jas@extundo.com>
59403
59404         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
59405
59406 2004-08-05  Simon Josefsson  <jas@extundo.com>
59407
59408         * m4/getsubopt.m4: New file.
59409
59410 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59411
59412         Merge from coreutils.
59413
59414         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
59415         * m4/getcwd-path-max.m4: New files.
59416
59417         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
59418         FILESYSTEM_PREFIX_LEN ->
59419         FILE_SYSTEM_PREFIX_LEN.
59420         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
59421         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
59422         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
59423         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
59424
59425         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
59426         prerequisite modules now handle the DOS stuff.
59427         Don't check for unistd.h.
59428
59429 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59430
59431         Merge from coreutils.
59432
59433         * lib/.gdb-history: Remove; this doesn't belong here.
59434
59435         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
59436         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
59437         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
59438         * lib/getcwd.c: New files.
59439
59440         * lib/dirname.h: Include <stdbool.h>.
59441         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
59442         for consistency with POSIX terminology.  All uses changed.
59443         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
59444         (strip_trailing_slashes): Use bool for booleans.
59445         * lib/stripslash.c (strip_trailing_slashes): Likewise.
59446
59447         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
59448         sometimes returns a positive errno value even when it succeeds.
59449         (print_errno_message) [!LIBC]: Fall back on strerror if
59450         __strerror_r fails.
59451
59452         * lib/path-concat.c (mempcpy): Don't define if a system header defines
59453         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
59454         (longest_relative_suffix): New function.
59455         (path_concat): Use it.  Assume first argument is not NULL.
59456         Port to DOS.  Omit redundant separators.
59457         Report an error instead of returning NULL.
59458         Use mempcpy instead of memcpy.
59459         (xpath_concat): Remove: not declared or used.
59460
59461         * lib/same.h: Include <stdbool.h>
59462         (same_name): Return bool, not int.
59463         * lib/same.c (same_name): Likewise.
59464         (errno): Don't declare; we assume C89 or better now.
59465
59466         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
59467         if not already defined.
59468
59469         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
59470         * lib/dup-safer.c (errno): Likewise.
59471
59472 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
59473
59474         Merge from coreutils.
59475         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
59476         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
59477         * modules/path-concat: Don't depend on strdup.
59478
59479 2004-08-03  Simon Josefsson  <jas@extundo.com>
59480
59481         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
59482         * lib/progname.h: Don't include stdbool.h.
59483
59484 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
59485
59486         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
59487         * MODULES.html.sh (func_all_modules): Remove fatal.
59488
59489 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
59490
59491         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
59492
59493 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
59494
59495         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
59496         working.
59497
59498 2004-08-02  Simon Josefsson  <jas@extundo.com>
59499
59500         * lib/getsubopt.h: New file, with comments from Bruno Haible.
59501         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
59502         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
59503
59504 2004-08-01  Simon Josefsson  <jas@extundo.com>
59505
59506         * lib/xgetdomainname.c: Include stdlib.h, for free().
59507
59508 2004-07-19  Bruno Haible  <bruno@clisp.org>
59509
59510         * MODULES.html.sh (func_all_modules): Add dummy.
59511
59512 2004-07-16  Simon Josefsson  <jas@extundo.com>
59513
59514         * modules/dummy: New file.
59515
59516 2004-07-16  Simon Josefsson  <jas@extundo.com>
59517
59518         * lib/dummy.c: New file.
59519
59520 2004-07-16  Bruno Haible  <bruno@clisp.org>
59521
59522         * lib/backupfile.h: Add extern "C" for C++.
59523         * lib/closeout.h: Likewise.
59524         * lib/copy-file.h: Likewise.
59525         * lib/findprog.h: Likewise.
59526         * lib/full-write.h: Likewise.
59527         * lib/pathname.h: Likewise.
59528         * lib/progname.h: Likewise.
59529         * lib/stpcpy.h: Likewise.
59530         * lib/stpncpy.h: Likewise.
59531         * lib/strcase.h: Likewise.
59532         * lib/strstr.h: Likewise.
59533         * lib/xalloc.h: Likewise.
59534
59535         * lib/mbswidth.h: Add extern "C" for C++.
59536         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
59537
59538 2004-07-13  Robert Millan  <robertmh@gnu.org>
59539
59540         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
59541
59542 2004-07-09  Simon Josefsson  <jas@extundo.com>
59543
59544         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
59545         failed without this.)
59546
59547 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59548
59549         * modules/chown (Files): Add lib/fchown-stub.c, since
59550         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
59551
59552 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
59553
59554         * lib/fchown-stub.c: New file.
59555
59556 2004-06-24  Jim Meyering  <jim@meyering.net>
59557
59558         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
59559
59560 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59561
59562         * modules/argz: Omit "#include".
59563
59564         * MODULES.html.sh (func_all_modules): Add calloc, to match
59565         2004-06-01 addition of calloc module.
59566
59567 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59568
59569         * m4/argz.m4: New file, which is autoupdated from libtool.
59570
59571 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59572
59573         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
59574         libtool.
59575
59576 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
59577
59578         * config/srclist-update: Don't insist on "USA." before the
59579         close-comment, as libtool omits the period and puts the */ on a
59580         separate line.
59581         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
59582         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
59583
59584 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
59585
59586         * modules/argz: New file.
59587         * MODULES.html.sh (func_all_modules): Add argz.
59588
59589 2004-06-12  Jim Meyering  <jim@meyering.net>
59590         and  Paul Eggert  <eggert@cs.ucla.edu>
59591
59592         * modules/hash (Files): Add lib/xalloc.h.
59593         * modules/pipe (Depends-on): Add wait-process.
59594         * modules/stat (Depends-on): Add xalloc.
59595         * modules/userspec (Files): Add lib/userspec.h.
59596         * modules/xstrto
59597
59598         Upgrade from gettext-0.13.
59599         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
59600         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
59601         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
59602
59603 2004-06-10  Jim Meyering  <jim@meyering.net>
59604
59605         * lib/calloc.c: New file.
59606
59607 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
59608
59609         * lib/getdate.y (yylex): Allow space between sign and number.
59610         Problem reported by Dan Jacobson.
59611
59612 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
59613
59614         Merge from coreutils CVS.
59615
59616         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
59617         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
59618         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
59619         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
59620         xstrtol.m4: Fix copyright date and/or serial number.
59621
59622         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
59623         See if we need an fchown replacement.
59624         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
59625         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
59626         and use the replacement function if we detect either defect.
59627
59628         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
59629         gl_UTIMECMP.
59630
59631 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
59632         and  Jim Meyering  <jim@meyering.net>
59633
59634         Merge from coreutils CVS.
59635
59636         * lib/stat-macros.h: New file, with contents from file-type.h
59637         and coreutils' system.h.
59638         * lib/file-type.c: Include "stat-macros.h".
59639         * lib/file-type.h (file_type): Move all macro definitions to new file,
59640         stat-macros.h.
59641
59642         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
59643         Wrap old code with this conditional.
59644         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
59645         function that does not dereference symlinks.
59646         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
59647
59648         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
59649         dependency problems.
59650         (xreadlink): Accept new arg SIZE, for efficiency.
59651         All decls and uses changed.
59652         * lib/xreadlink.h: Include <stddef.h>, for size_t.
59653
59654         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
59655         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
59656
59657         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
59658         sysexits.h.
59659
59660 2004-06-01  Jim Meyering  <jim@meyering.net>
59661
59662         * m4/calloc.m4: New file.
59663
59664 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
59665
59666         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
59667         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
59668         Also, fix a typo in a diagnostic.
59669
59670 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
59671
59672         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
59673         or AC_FUNC_REALLOC.
59674
59675 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
59676
59677         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
59678         macros to be defined.
59679         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
59680         the allocator returns NULL because the requested size is zero.
59681
59682 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
59683
59684         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
59685         var.  Add comment explaining why libc still defines it.  This
59686         merges the following patch from glibc:
59687         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
59688
59689 2004-05-20  Andreas Schwab  <schwab@suse.de>
59690
59691         * m4/free.m4: Replace free if it not known to work, not the other
59692         way round.
59693
59694 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
59695
59696         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
59697         present in glibc since revision 1.1 of this file.
59698         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
59699         obstack_alignment_mask, obstack_alloc, obstack_base,
59700         obstack_blank, obstack_blank_fast, obstack_chunk_size,
59701         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
59702         obstack_grow0, obstack_init, obstack_int_grow,
59703         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
59704         obstack_next_free, obstack_object_size, obstack_ptr_grow,
59705         obstack_ptr_grow_fast, obstack_room): Remove declarations of
59706         nonexistent functions.
59707
59708 2004-05-18  Karl Berry  <karl@gnu.org>
59709
59710         * config/srclist.txt: break link for vasnprintf.c.
59711
59712 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59713
59714         Port obstack to the AS/400, where pointers are 16 bytes wide and
59715         you cannot cast an integer to a valid pointer.  This patch is
59716         currently waiting to be integrated into glibc; see
59717         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
59718
59719         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
59720         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
59721         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
59722         (struct obstack): temp member is now a union of a pointer and
59723         an integer, instead of an integer.  All integer uses changed.
59724         This does not affect the physical layout of struct obstack,
59725         except on hosts (like the AS/400) where the size or alignment of
59726         void * is greater than that of ptrdiff_t.
59727         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
59728         __STDC__)]: Store temporary in pointer member of union, not
59729         integer member.
59730         * lib/obstack.c: Include <stddef.h>, for offsetof.
59731         (struct fooalign): Remove; it doesn't need a name.
59732         (union fooround): Change double to long double, and add void *.
59733         (DEFAULT_ALIGNMENT): Use offsetof to compute.
59734         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
59735         not a macro.  Hence the values are always int; so remove all
59736         casts-to-int in uses.
59737
59738 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
59739
59740         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
59741         we can get this patch merged into glibc.
59742
59743 2004-05-17  Derek R. Price  <derek@ximbiot.com>
59744             Paul Eggert  <eggert@cs.ucla.edu>
59745
59746         * m4/argp: Depend on alloca.
59747
59748 2004-05-17  Derek R. Price  <derek@ximbiot.com>
59749             Paul Eggert  <eggert@cs.ucla.edu>
59750
59751         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
59752         freecoding.
59753
59754 2004-05-17  Bruno Haible  <bruno@clisp.org>
59755
59756         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
59757         precision that consists of a '.' followed by an empty digit string.
59758         Patch by Tor Lillqvist <tml@iki.fi>.
59759
59760 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59761
59762         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
59763         for backward compatibility with older code.  We need our own
59764         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
59765         it under some other name, and our alloca.h will define it.
59766
59767 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
59768             Derek Price  <derek@ximbiot.com>
59769
59770         * lib/alloca.c: Include <alloca.h>, to get our interface.
59771         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
59772         include <alloca.h> first.  Use C89 prototype for alloca; this
59773         requires including <stddef.h> for size_t.  Use extern "C" if C++.
59774         Use #elif for simplicity, since we can assume C89 now.
59775         Don't try to source the system alloca.h since it will not be found
59776         and to prevent recursively including its replacement.
59777         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
59778         * lib/regex.c: Likewise.
59779
59780 2004-05-16  Derek Price  <derek@ximbiot.com>
59781             Paul Eggert  <eggert@cs.ucla.edu>
59782
59783         getline cleanup.  This changes the getndelim2 API: both order of
59784         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
59785         no delimiter).
59786
59787         * lib/getline.c: Don't include stddef.h or stdio.h, since our
59788         interface does that.
59789         (getline): Always use getdelim, so that we don't have two
59790         copies of this code.
59791         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
59792         if available.
59793         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
59794         (GETNDELIM2_MAXIMUM): New macro.
59795         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
59796         instead of the old practice of delim2==0.  All callers changed.
59797         Return -1 on overflow, instead of returning junk.
59798         Do not set *linesize unless allocation succeeds.
59799         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
59800         that we include sys/types.h.
59801         * lib/getnline.h: Likewise.
59802         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
59803         (getndelim2): Reorder arguments.
59804         * lib/getnline.c (getnline, getndelim):
59805         Don't discard the NMAX argument.
59806         (getnline): Invoke getndelim, to avoid code duplication.
59807         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
59808         of (size_t) -1 by callers of the getnline family.
59809
59810 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
59811
59812         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
59813         Check for gettimeofday.
59814         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
59815         Check for settimeofday, stime.
59816
59817 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
59818
59819         * lib/nanosleep.c (suspended): Change its type from int to
59820         sig_atomic_t volatile.
59821         (first_call): Make it private to rpl_nanosleep, and have it
59822         be zero initially as that's a bit faster.
59823         (my_usleep): Round up fractional times instead of truncating them,
59824         as this is the usual meaning for 'sleep'.
59825
59826         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
59827         doesn't work.
59828         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
59829         (ENOSYS): Define if not defined.
59830         (settime): Fall back on stime if it exists and settimeofday fails.
59831         But don't bother with fallbacks if a method fails with errno == EPERM.
59832
59833 2004-05-11  Jim Meyering  <jim@meyering.net>
59834
59835         Prior to this change, the save_cwd caller required read access to the
59836         current directory on most systems (ones with the fchdir function).
59837
59838         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
59839         fails, try write-only, and finally, resort to using xgetcwd.
59840
59841 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
59842
59843         * lib/obstack.c, obstack.h: Import changes from libc.
59844
59845 2004-04-28  Bruno Haible  <bruno@clisp.org>
59846
59847         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
59848         also implicitly appends .exe to executables.
59849         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
59850         accepts Windows pathnames.
59851         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
59852         Treat Cygwin like Windows, since it now accepts Windows pathnames.
59853         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
59854         Treat Cygwin like Windows, since it now accepts Windows pathnames.
59855         Reported by Derek Robert Price <derek@ximbiot.com>.
59856
59857 2004-04-21  Karl Berry  <karl@gnu.org>
59858
59859         * config/srclist.txt (localcharset.c): break sync.
59860
59861 2004-04-20  Paul Eggert  <eggert@twinsun.com>
59862
59863         * m4/host-os.m4: Add a copyright notice.
59864
59865 2004-04-20  Jim Meyering  <jim@meyering.net>
59866
59867         Change UTILS_ to gl_ in AC_DEFINE'd names.
59868         Change utils_- and jm_-prefixed variables, too.
59869         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
59870         UTILS_FUNC_MKDIR_TRAILING_SLASH.
59871         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
59872
59873         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
59874         Don't emit trailing blanks.
59875         Also rename jm_-prefixed variables to have gl_ prefix.
59876
59877         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
59878         Also rename jm_-prefixed variables to have gl_ prefix.
59879
59880         * m4/jm-macros.m4: Reflect the renamings.
59881         * m4/prereq.m4: Likewise.
59882
59883 2004-04-20  Jim Meyering  <jim@meyering.net>
59884
59885         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
59886         memory.
59887
59888 2004-04-20  Jim Meyering  <jim@meyering.net>
59889             Bruno Haible  <bruno@clisp.org>
59890
59891         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
59892         memory when realloc fails.
59893
59894 2004-04-19  Jim Meyering  <jim@meyering.net>
59895
59896         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
59897         now that readutmp.c may call `free (0)'.
59898
59899 2004-04-19  Bruno Haible  <bruno@clisp.org>
59900
59901         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
59902         * m4/inttypes_h.m4: Likewise.
59903         * m4/stdint_h.m4: Likewise.
59904         * m4/intmax_t.m4: Likewise.
59905         * m4/uintmax_t.m4: Likewise.
59906
59907 2004-04-18  Jim Meyering  <jim@meyering.net>
59908
59909         * m4/prereq.m4: Don't forbid jm_ prefix.
59910
59911         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
59912         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
59913         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
59914         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
59915         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
59916         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
59917         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
59918         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
59919         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
59920         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
59921         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
59922         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
59923         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
59924         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
59925         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
59926         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
59927         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
59928         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
59929         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
59930
59931 2004-04-18  Jim Meyering  <jim@meyering.net>
59932
59933         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
59934         failure, don't leak memory and do call END_UTMP_ENT.
59935
59936 2004-04-16  Jim Meyering  <jim@meyering.net>
59937
59938         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
59939         coreutils' stat program.
59940         (gl_PREREQ): Don't require jm_PREREQ_STAT.
59941
59942 2004-04-11  Paul Eggert  <eggert@twinsun.com>
59943
59944         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
59945         C89.
59946         (CHAR_BIT): Remove, since we assume C89.
59947         Include <stdint.h> if available, as per current Autoconf CVS advice.
59948
59949 2004-03-31  Jim Meyering  <jim@meyering.net>
59950
59951         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
59952         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
59953         * m4/xalloc.m4: Likewise.
59954
59955 2004-03-30  Paul Eggert  <eggert@twinsun.com>
59956
59957         Merge from coreutils.
59958
59959         * m4/inttostr.m4: New file.
59960         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
59961         Require AM_STDBOOL_H and gl_TIMESPEC instead.
59962         Require gl_CLOCK_TIME.
59963         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
59964
59965 2004-03-30  Paul Eggert  <eggert@twinsun.com>
59966
59967         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
59968         not bool, to be more consistent with Unix conventions.
59969         Suggested by Bruno Haible.
59970
59971         Merge from coreutils.
59972
59973         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
59974         * lib/umaxtostr.c: New files.
59975
59976         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
59977         the usual <time.h> dance.
59978         (get_date): Change signature to support fractional time stamps.
59979         All callers changed.
59980         * lib/getdate.y: Include "getdate.h" first, as we can now
59981         assume C89 and don't need to worry about 'const'.
59982         Similarly, include "unlocked-io.h" near start, not in middle.
59983         Include <limits.h>.
59984         (textint.value): Use long int rather than int.
59985         (textint.digits): Use size_t rather than int.
59986         (BILLION, LOG10_BILLION): New constants.
59987         (parser_control): New member rel_ns.  Members day_ordinal,
59988         time_zone, month, day, hour, minutes, rel_year, rel_month,
59989         rel_day, rel_hour, rel_minutes, rel_seconds
59990         are now long int, not int.  Member seconds is now struct timespec,
59991         not int.  New member timespec_seen.  Members dates_seen, days_seen,
59992         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
59993         not int.
59994         (%union.intval): Now long int, not int.
59995         New member timespec.
59996         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
59997         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
59998         (spec): Now is a timespec or an item list.
59999         (timespec, items): New nonterminals.
60000         (time, rel, relunit, number, get_date):
60001         Add support for fractional seconds.
60002         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
60003         (gmtime, localtime, mktime): Remove decls; not needed with C89.
60004         (to_hour): First arg is now long int, not int.
60005         (to_year): Returns long int, not int.
60006         Don't treat year -70 like 70.
60007         (tm_diff): Returns long int, not int.
60008         (lookup_word): Use bool instead of int when appropriate.
60009         (yylex): Use size_t for count, not int.
60010         Detect overflow when parsing large integer constants.
60011         Add support for fractions.
60012         (get_date): Make pointers 'const' if possible.
60013         Use more-portable code to detect integer overflow.
60014         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
60015         Don't use ctime; it's not reliable if the year has >4 digits.
60016
60017         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
60018         This is for compatibility with BSD.
60019
60020         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
60021         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
60022         From coreutils' system.h.
60023
60024         * lib/userspec.c: Don't include "posixver.h".
60025         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
60026         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
60027         compatible extension.  Simplify code by removing a boolean int
60028         that was always nonzero if a string was nonnull.
60029
60030 2004-03-30  Jim Meyering  <jim@meyering.net>
60031
60032         Merge from coreutils.
60033
60034         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
60035         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
60036         on some systems one must include <grp.h> before it.
60037         Reported by Christian Krackowizer.
60038
60039 2004-03-30  Jim Meyering  <jim@meyering.net>
60040
60041         Merge from coreutils.
60042
60043         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
60044
60045         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
60046         an empty input stream.
60047
60048         * lib/readtokens.c: Include <stdbool.h>.
60049         (readtoken): Use `size_t' rather than int/long.
60050         All callers adjusted.
60051         Use `bool' rather than `int' where appropriate.
60052         Use memset rather than an explicit loop.
60053         Use x2nrealloc rather than xrealloc.
60054         Allow the use of `\0' as a delimiter.
60055         (readtokens): Likewise.
60056         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
60057
60058 2004-03-30  Jim Meyering  <jim@meyering.net>
60059
60060         * m4/realloc.m4: Remove file, since now it does no more than
60061         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
60062         the `configure.ac' section of module/realloc.
60063         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
60064
60065 2004-03-30  Bruno Haible  <bruno@clisp.org>
60066
60067         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
60068         nonnull.
60069
60070 2004-03-29  Paul Eggert  <eggert@twinsun.com>
60071
60072         Merge changes to getloadavg.c from coreutils and Emacs.
60073
60074         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
60075         Define to an expression, not to the empty string.
60076         Include cloexec.h and xalloc.h.
60077         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
60078         Use set_cloexec_flag rather than rolling our own.
60079         * lib/cloexec.c, lib/cloexec.h: New files.
60080
60081 2004-03-29  Paul Eggert  <eggert@twinsun.com>
60082
60083         * m4/cloexec.m4: New file.
60084
60085 2004-03-18  Paul Eggert  <eggert@twinsun.com>
60086
60087         * lib/getopt.h: Sync with libc CVS.
60088
60089 2004-03-18  Paul Eggert  <eggert@twinsun.com>
60090             Bruno Haible  <bruno@clisp.org>
60091
60092         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
60093         mbswidth.
60094
60095 2004-03-18  Paul Eggert  <eggert@twinsun.com>
60096             Bruno Haible  <bruno@clisp.org>
60097
60098         * lib/mbswidth.h: Include <wchar.h> only if
60099         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
60100         <wchar.h>.
60101         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
60102
60103 2004-03-09  Paul Eggert  <eggert@twinsun.com>
60104
60105         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
60106         Sync with libc CVS.
60107         * lib/getopt_int.h: New file, also synced from libc.
60108
60109 2004-03-09  Paul Eggert  <eggert@twinsun.com>
60110
60111         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
60112         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
60113         Bring back getopt.c, getopt.h, getopt1.c.
60114
60115 2004-03-07  Paul Eggert  <eggert@twinsun.com>
60116
60117         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
60118         All uses changed.  Check for sa_sigaction member; this fixes
60119         a bug first reported by Jason Andrade in
60120         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
60121
60122 2004-03-07  Paul Eggert  <eggert@twinsun.com>
60123
60124         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
60125         '#if' expressions.  Unlike the code it replaces, it does not
60126         depend on (defined _SC_PAGESIZE).  However, it does depend on
60127         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
60128         first reported by Jason Andrade in
60129         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
60130
60131 2004-02-25  Simon Josefsson  <jas@extundo.com>
60132
60133         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
60134
60135 2004-02-25  Simon Josefsson  <jas@extundo.com>
60136
60137         * lib/strdup.h: New file.
60138         * lib/strdup.c: Include it.
60139         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
60140         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
60141
60142 2004-02-23  Karl Berry  <karl@gnu.org>
60143
60144         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
60145         (from fencepost.gnu.org:/gd/gnuorg).
60146
60147 2004-02-23  Karl Berry  <karl@gnu.org>
60148
60149         * config/srclistvars.sh (GNUORG) [karl]: redefine.
60150         * config/srclist.txt: add maintain/standards documents.
60151
60152 2004-02-18  Bruno Haible  <bruno@clisp.org>
60153
60154         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
60155         Reported by Derek Robert Price <derek@ximbiot.com>.
60156
60157 2004-02-16  Karl Berry  <karl@gnu.org>
60158
60159         * config/mkinstalldirs, install-sh: update from automake.
60160
60161 2004-02-06  Karl Berry  <karl@gnu.org>
60162
60163         * m4/po.m4: update from gettext 0.14.1.
60164
60165 2004-02-06  Karl Berry  <karl@gnu.org>
60166
60167         * lib/config.charset: update from gettext 0.14.1.
60168
60169 2004-02-05  Paul Eggert  <eggert@twinsun.com>
60170
60171         Add comments and code, prompted by suggestions from Bruno Haible
60172         for sh-quote.
60173         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
60174         describing the enum quoting_style values.
60175         * lib/quotearg.c (quotearg_alloc): New function.
60176         (quotearg_buffer_restyled): Treat lone { and } as special.
60177         Treat = as special.  Work around bug with older shells
60178         that "see" a '\' that is really the 2nd byte of a multibyte char.
60179         Quote empty string with shell_quoting_style.
60180
60181 2004-02-03  Bruno Haible  <bruno@clisp.org>
60182
60183         * m4/pipe.m4: New file, from GNU gettext.
60184
60185 2004-02-03  Bruno Haible  <bruno@clisp.org>
60186
60187         * lib/pipe.h: New file, from GNU gettext.
60188         * lib/pipe.c: New file, from GNU gettext.
60189
60190 2004-01-27  Bruno Haible  <bruno@clisp.org>
60191
60192         * m4/execute.m4: New file, from GNU gettext.
60193
60194 2004-01-27  Bruno Haible  <bruno@clisp.org>
60195
60196         * lib/execute.h: New file, from GNU gettext.
60197         * lib/execute.c: New file, from GNU gettext.
60198         * lib/w32spawn.h: New file, from GNU gettext.
60199
60200 2004-01-24  Paul Eggert  <eggert@twinsun.com>
60201
60202         Merge from diffutils.
60203
60204         * lib/file-type.c (file_type): Add typed memory objects.
60205         * lib/file-type.h (S_TYPEISTMO): New macro.
60206
60207         * lib/c-stack.h (c_stack_action): Remove argv argument.
60208         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
60209         (die): Don't calculate message unless segv_action returns.
60210         (get_stack_location, min_address_from_argv, max_address_from_argv,
60211         volatile stack_base, volatile_stack_size): Remove.
60212         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
60213         that every segmentation violation is a stack overflow.  (Ouch!)
60214         See Debian bug 136249 (still outstanding) for more info about why
60215         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
60216
60217 2004-01-24  Paul Eggert  <eggert@twinsun.com>
60218
60219         Exit-status fix from coreutils.
60220
60221         Use exit_failure consistently in place of EXIT_FAILURE,
60222         so that program exit statuses are consistent on failure.
60223
60224         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
60225         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
60226         * lib/argmatch.h: Comment fix to match the above.
60227         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
60228         Now a macro referring to exit_failure, instead of a separate
60229         variable.  Include "exitfail.h" to get it.
60230         * lib/xstrtol.h: Include "exitfail.h".
60231         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
60232
60233         * lib/long-options.c (parse_long_options): Use prototype
60234         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
60235         for clarity.
60236
60237 2004-01-21  Jim Meyering  <jim@meyering.net>
60238
60239         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
60240         so as not to conflict with a different-sized __mktime_internal
60241         function in GNU libc.
60242         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
60243         Problem building statically-linked `ls' reported by Michael Brunnbauer.
60244
60245 2004-01-20  Karl Berry  <karl@gnu.org>
60246
60247         * config/config.guess: update from config.
60248
60249         * config/srclistvars.sh: GNUWWWLICENSES for karl.
60250
60251 2004-01-20  Bruno Haible  <bruno@clisp.org>
60252
60253         Safer stack allocation.
60254         * lib/setenv.c: Include allocsa.h.
60255         (alloca): Remove fallback definition.
60256         (freea): Remove macro.
60257         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
60258         instead of freea.
60259
60260 2004-01-20  Bruno Haible  <bruno@clisp.org>
60261
60262         * m4/eealloc.m4: New file, from GNU gettext.
60263
60264 2004-01-20  Bruno Haible  <bruno@clisp.org>
60265
60266         * m4/allocsa.m4: New file, from GNU gettext.
60267
60268 2004-01-20  Bruno Haible  <bruno@clisp.org>
60269
60270         * lib/xallocsa.h: New file, from GNU gettext.
60271         * lib/xallocsa.c: New file, from GNU gettext.
60272
60273 2004-01-20  Bruno Haible  <bruno@clisp.org>
60274
60275         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
60276
60277 2004-01-20  Bruno Haible  <bruno@clisp.org>
60278
60279         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
60280         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
60281         specially.
60282
60283 2004-01-20  Bruno Haible  <bruno@clisp.org>
60284
60285         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
60286         patch.
60287
60288 2004-01-20  Bruno Haible  <bruno@clisp.org>
60289
60290         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
60291
60292 2004-01-20  Bruno Haible  <bruno@clisp.org>
60293
60294         * lib/eealloc.h: New file.
60295
60296 2004-01-20  Bruno Haible  <bruno@clisp.org>
60297
60298         * lib/binary-io.h: Avoid warnings on Cygwin.
60299
60300 2004-01-20  Bruno Haible  <bruno@clisp.org>
60301
60302         * lib/allocsa.h: New file, from GNU gettext.
60303         * lib/allocsa.c: New file, from GNU gettext.
60304
60305 2004-01-18  Karl Berry  <karl@gnu.org>
60306
60307         * doc/gpl.texi, doc/lgpl.texi: new files.
60308
60309 2004-01-18  Karl Berry  <karl@gnu.org>
60310
60311         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
60312         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
60313
60314 2004-01-15  Paul Eggert  <eggert@twinsun.com>
60315
60316         Merge from coreutils.
60317
60318         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
60319         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
60320         (gl_DEFAULT_POSIX2_VERSION): Move
60321         the documentation from 'configure' into 'config.hin',
60322         so that 'configure --help' isn't burdened by it and
60323         we don't have to worry about its formatting there.
60324         Reword the documentation so that it's more succinct
60325         and can be run together into a single paragraph.
60326         * m4/same.m4 (gl_SAME): Check for pathconf.
60327
60328 2004-01-15  Paul Eggert  <eggert@twinsun.com>
60329
60330         Merge from coreutils.
60331
60332         * lib/posixver.c: Include posixver.h.
60333
60334         * lib/same.c: Include <stdbool.h>, <limits.h>.
60335         (_POSIX_NAME_MAX): Define if not defined.
60336         (MIN): New macro.
60337         (same_name): If file names are silently truncated, report
60338         that the file names are the same if they are the same after
60339         the silent truncation.
60340
60341         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
60342         conversion function.
60343         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
60344         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
60345         longer needed.
60346
60347 2004-01-15  Jim Meyering  <jim@meyering.net>
60348
60349         Merge from coreutils.
60350
60351         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
60352         if no library is required.
60353         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
60354         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
60355         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
60356         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
60357         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
60358         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
60359         value, $ac_cv_search_crypt, if it's "none required".
60360         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
60361         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
60362         not gl_FUNC_GETLOADAVG.
60363         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
60364         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
60365
60366 2004-01-15  Jim Meyering  <jim@meyering.net>
60367
60368         Merge from coreutils.
60369
60370         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
60371         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
60372         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
60373
60374         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
60375         optional configure-time default.
60376
60377         * lib/version-etc.c (version_etc_copyright): Update copyright date.
60378
60379         * lib/xreadlink.c (xreadlink): Correct outdated comment.
60380
60381 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
60382
60383         Merge from coreutils.
60384
60385         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
60386         value, $ac_cv_search_nanosleep, if it's "none required".
60387
60388 2004-01-14  Paul Eggert  <eggert@twinsun.com>
60389
60390         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
60391         with like-named macro in fnmatch.c.
60392         (EXT): Use an internal constant instead.
60393
60394         Merge fnmatch patches from glibc.
60395         * lib/fnmatch.c (mbsinit): Remove define.
60396         Add libc_hidden_ver (__fnmatch, fnmatch).
60397         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
60398         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
60399
60400 2004-01-14  Karl Berry  <karl@gnu.org>
60401
60402         * config/install-sh: update from automake.
60403
60404 2004-01-13  Karl Berry  <karl@gnu.org>
60405
60406         * config/install-sh: update from automake.
60407
60408 2004-01-09  Karl Berry  <karl@gnu.org>
60409
60410         * config/install-sh: update from automake.
60411
60412 2004-01-05  Karl Berry  <karl@gnu.org>
60413
60414         * config/config.{sub,guess}: update from config.
60415
60416 2003-12-31  Karl Berry  <karl@gnu.org>
60417
60418         * config/depcomp: update from automake.
60419
60420 2003-12-14  Karl Berry  <karl@gnu.org>
60421
60422         * lib/config.charset: update from gettext-runtime.
60423
60424 2003-12-03  Paul Eggert  <eggert@twinsun.com>
60425
60426         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
60427         Bug reported by Alfred M. Szmidt.
60428
60429 2003-12-03  Bruno Haible  <bruno@clisp.org>
60430
60431         * m4/gettext.m4: Upgrade from gettext-0.13.
60432         * m4/po.m4: Upgrade from gettext-0.13.
60433         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
60434         * m4/intmax.m4: New file, from gettext-0.13.
60435         * m4/printf-posix.m4: New file, from gettext-0.13.
60436
60437 2003-11-29  Karl Berry  <karl@gnu.org>
60438
60439         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
60440
60441 2003-11-25  Paul Eggert  <eggert@twinsun.com>
60442             Bruno Haible  <bruno@clisp.org>
60443
60444         * lib/printf-parse.h: Don't include sys/types.h.
60445         (ARG_NONE): New macro.
60446         (char_directive): Change type of *arg_index fields to size_t.
60447         * lib/printf-parse.c: Don't include sys/types.h.
60448         (SSIZE_MAX): Remove macro.
60449         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
60450         Remove unnecessary overflow check.
60451         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
60452         fields.
60453
60454 2003-11-25  Bruno Haible  <bruno@clisp.org>
60455
60456         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
60457
60458 2003-11-25  Bruno Haible  <bruno@clisp.org>
60459
60460         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
60461         gt_TYPE_SSIZE_T.
60462
60463 2003-11-24  Paul Eggert  <eggert@twinsun.com>
60464
60465         * modules/alloca: Remove dependency on xalloc.
60466
60467 2003-11-24  Paul Eggert  <eggert@twinsun.com>
60468
60469         * lib/alloca.c: Remove dependency on xalloc module.
60470         (xalloc_die): Remove.
60471         (memory_full) [!defined emacs]: New macro.
60472         [!defined emacs]: Don't include xalloc.h.
60473         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
60474         address arithmetic overflows.  Change datatypes a bit to avoid
60475         unnecessary casts.
60476
60477 2003-11-22  Jim Meyering  <jim@meyering.net>
60478
60479         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
60480         s/size/size_t/.
60481
60482 2003-11-21  Karl Berry  <karl@gnu.org>
60483
60484         * config/config.{sub,guess}: update from config.
60485
60486 2003-11-18  Karl Berry  <karl@gnu.org>
60487
60488         * config/config.{sub,guess}: update from config.
60489
60490         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
60491
60492 2003-11-17  Paul Eggert  <eggert@twinsun.com>
60493
60494         * README: Mention that S+T cannot overflow if S is the size of
60495         an existing object and T is sufficiently small.
60496
60497 2003-11-17  Jim Meyering  <jim@meyering.net>
60498
60499         On systems without utime and without a utimes function capable of
60500         dealing with a NULL struct utimbuf* argument, this utime replacement
60501         could -- in unusual circumstances -- leak a file descriptor.
60502         * lib/utime.c: Include <unistd.h> and <errno.h>.
60503         (utime_null): Be sure to close `fd' and to preserve errno.
60504         Reported by Geoff Collyer via Arnold Robbins.
60505
60506 2003-11-17  Bruno Haible  <bruno@clisp.org>
60507
60508         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
60509         (Depends-on): Add xsize.
60510
60511 2003-11-17  Bruno Haible  <bruno@clisp.org>
60512
60513         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
60514
60515 2003-11-17  Bruno Haible  <bruno@clisp.org>
60516
60517         * lib/vasnprintf.c (alloca): Remove fallback definition.
60518         (freea): Remove definition.
60519         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
60520         Reported by Paul Eggert.
60521
60522 2003-11-16  Paul Eggert  <eggert@twinsun.com>
60523             Bruno Haible  <bruno@clisp.org>
60524
60525         Protect against address arithmetic overflow.
60526         * lib/printf-args.h: Include stddef.h.
60527         (arguments): Change type of field 'count' to size_t.
60528         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
60529         'unsigned int' where appropriate.
60530         * lib/printf-parse.h: Include sys/types.h.
60531         (char_directive): Change type of *arg_index fields to ssize_t.
60532         (char_directives): Change type of fields 'count', max_*_length to
60533         size_t.
60534         * lib/printf-parse.c: Include sys/types.h and xsize.h.
60535         (SSIZE_MAX): Define fallback value.
60536         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
60537         instead of 'int' where appropriate. Check a_allocated, d_allocated
60538         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
60539         * lib/vasnprintf.c: Include xsize.h.
60540         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
60541         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
60542         overflow. Avoid wraparound when converting a width or precision from
60543         decimal to binary.
60544
60545 2003-11-16  Bruno Haible  <bruno@clisp.org>
60546
60547         Update from GNU gettext.
60548         * lib/printf-parse.c: Generalize to it can be compiled for wide
60549         strings.
60550         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
60551         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
60552         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
60553         SNPRINTF): New macros.
60554         Don't include <alloca.h> if the file is used inside libintl.
60555         (local_wcslen): New function, for Solaris 2.5.1.
60556         (VASNPRINTF): Use it instead of wcslen.
60557
60558 2003-11-16  Bruno Haible  <bruno@clisp.org>
60559
60560         * lib/xsize.h (xmax): New function.
60561         (xsum, xsum3, xsum4): Declare as "pure" functions.
60562
60563 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60564
60565         * modules/xalloc (Files): Undo latest change, since xalloc.h
60566         no longer needs SIZE_MAX or PTRDIFF_MAX.
60567
60568 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60569
60570         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
60571         gl_PTRDIFF_MAX.
60572
60573 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60574
60575         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
60576         "return", to pacify some unknown compiler.  Problem reported
60577         by Joerg Schilling.
60578
60579 2003-11-12  Paul Eggert  <eggert@twinsun.com>
60580
60581         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
60582         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
60583         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
60584         heuristic is just as accurate as far as we know, and it removes a
60585         dependency on size_max.m4 and ptrdiff_max.m4.
60586
60587 2003-11-11  Bruno Haible  <bruno@clisp.org>
60588
60589         * modules/xsize (Files): Add m4/size_max.m4.
60590         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
60591
60592 2003-11-11  Bruno Haible  <bruno@clisp.org>
60593
60594         * m4/size_max.m4: New file.
60595         * m4/ptrdiff_max.m4: New file.
60596         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
60597         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
60598         (gl_XALLOC): Invoke it.
60599
60600 2003-11-11  Bruno Haible  <bruno@clisp.org>
60601
60602         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
60603         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
60604         defined.
60605
60606 2003-11-10  Paul Eggert  <eggert@twinsun.com>
60607
60608         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
60609         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
60610         rejected some allocations of exactly SIZE_MAX - 2 bytes.
60611         From Bruno Haible.
60612         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
60613         not (size_t) -1, since it's defined here.
60614
60615 2003-11-09  Karl Berry  <karl@gnu.org>
60616
60617         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
60618
60619 2003-11-06  Paul Eggert  <eggert@twinsun.com>
60620
60621         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
60622         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
60623         Reject sizes of exactly SIZE_MAX bytes.
60624         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
60625         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
60626
60627 2003-11-05  Bruno Haible  <bruno@clisp.org>
60628
60629         * lib/xsize.h: Include limits.h, to avoid a possible collision with
60630         SIZE_MAX defined in <limits.h> on Solaris.
60631
60632 2003-11-04  Jim Meyering  <jim@meyering.net>
60633
60634         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
60635         variable names, rather than @VAR@.
60636         * modules/poll: Likewise.
60637
60638 2003-11-04  Bruno Haible  <bruno@clisp.org>
60639
60640         * modules/xsize: New file.
60641         * modules/linebreak: Depend on xsize.
60642         * MODULES.html.sh (func_all_modules): Add xsize.
60643
60644 2003-11-04  Bruno Haible  <bruno@clisp.org>
60645
60646         * m4/xsize.m4: New file.
60647
60648 2003-11-04  Bruno Haible  <bruno@clisp.org>
60649
60650         * lib/xsize.h: New file.
60651         * lib/linebreak.c: Include xsize.h.
60652         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
60653         argument for overflow.
60654         Suggested by Paul Eggert.
60655
60656 2003-11-03  Karl Berry  <karl@gnu.org>
60657
60658         * config/config.{guess,sub}: update from config.
60659
60660 2003-11-03  Jim Meyering  <jim@meyering.net>
60661
60662         * modules/userspec (lib_SOURCES): Add userspec.h.
60663         (Include): Add "userspec.h".
60664         Improve description.
60665
60666 2003-11-03  Jim Meyering  <jim@meyering.net>
60667
60668         * lib/userspec.c: Include "userspec.h".
60669         * lib/userspec.h: New file.
60670
60671 2003-11-03  Bruno Haible  <bruno@clisp.org>
60672
60673         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
60674
60675 2003-11-03  Bruno Haible  <bruno@clisp.org>
60676
60677         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
60678         available, to avoid (extremely rare) race condition.
60679         Suggested by Paul Eggert.
60680
60681 2003-11-02  Karl Berry  <karl@gnu.org>
60682
60683         * config/srclist.txt (vasprintf.c): sync broken, sigh.
60684
60685 2003-10-31  Paul Eggert  <eggert@twinsun.com>
60686
60687         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
60688         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
60689         (read_filesystem_list): Set and use me_type_malloced.
60690         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
60691         whatever the type happens to be), for brevity and consistency.
60692         Check for size calculation overflow on Alphas running OSF/1.
60693
60694 2003-10-31  Jim Meyering  <jim@meyering.net>
60695
60696         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
60697
60698         * lib/linebuffer.c: Include <string.h> for declaration of memset.
60699
60700 2003-10-30  Paul Eggert  <eggert@twinsun.com>
60701             Bruno Haible  <bruno@clisp.org>
60702
60703         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
60704         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
60705
60706 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
60707
60708         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
60709         netbsd*-gnu*.  Suggested by Robert Millan.
60710
60711 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60712
60713         * modules/group-member: Depend on stdbool.
60714
60715 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60716
60717         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
60718
60719 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60720
60721         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
60722         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
60723         after the 'gnu' in these cases.  This fixes some bugs in the
60724         previous change, and is based on suggestions by Robert Millan.
60725
60726 2003-10-29  Paul Eggert  <eggert@twinsun.com>
60727
60728         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
60729         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
60730         no longer needed.
60731         * lib/quotearg.c (quotearg_n_options): Use it.
60732         * lib/group-member.c: Include <stdbool.h>.
60733         (free_group_info): Arg is now const *; don't free arg.
60734         (get_group_info): Now returns bool and accepts struct group_info *,
60735         rather than returning a malloc'ed struct group_info *.
60736         All uses changed.  Check for overflow in internal size calculation.
60737
60738         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
60739         rather than xmalloc/xrealloc.
60740         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
60741         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
60742         conformance bug: the old code used a pointer after freeing the
60743         storage that it addressed.
60744         * lib/hash.c (hash_initialize): Simplify the code by using
60745         xalloc_oversized rather than doing it by hand.
60746         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
60747         the buffer preserved.  Use free and xmalloc instead.
60748         * lib/quotearg.c (quotearg_n_options): Likewise.
60749         Use a simpler test for size overflow.  Don't use xalloc_oversized
60750         because unsigned int might be wider than size_t (!); this suggests
60751         that we should switch from unsigned int to size_t for slot numbers.
60752
60753 2003-10-28  Paul Eggert  <eggert@twinsun.com>
60754
60755         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
60756         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
60757         NetBSD kernels.  Requested by Richard Stallman.
60758
60759 2003-10-27  Paul Eggert  <eggert@twinsun.com>
60760
60761         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
60762         to allocate the returned structure.  Do not allocate a subarray,
60763         as x2nrealloc will do that.
60764         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
60765         instead of xnrealloc.
60766         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
60767
60768 2003-10-27  Bruno Haible  <bruno@clisp.org>
60769
60770         * lib/stdbool_.h: Better support for BeOS.
60771
60772 2003-10-26  Paul Eggert  <eggert@twinsun.com>
60773
60774         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
60775         now uses inline.
60776
60777 2003-10-26  Paul Eggert  <eggert@twinsun.com>
60778
60779         * lib/xalloc.h (xalloc_oversized): New static inline function, for
60780         callers that want to do their own size-overflow checking.  Include
60781         <stdbool.h>, since xalloc_oversized returns bool.
60782         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
60783         to use xalloc_oversized.
60784
60785         Add two functions x2realloc, x2nrealloc, for programs that grow
60786         arrays dynamically by doubling their sizes.
60787         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
60788         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
60789         New functions.
60790
60791         Port to C99 semantics for 'inline' of external functions.
60792         Bug reported by Bruno Haible.
60793         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
60794         with the old contents of xnmalloc.
60795         (xnmalloc, xmalloc): Use it.
60796         (xnrealloc_inline): New static inline function,
60797         with the old contents of xnrealloc.
60798         (xnrealloc, xrealloc): Use it.
60799
60800         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
60801         that.
60802
60803 2003-10-26  Karl Berry  <karl@gnu.org>
60804
60805         * config/srclist.txt (COPYING.DOC): no longer available from
60806         /gd/gnuorg; don't know where the ultimate source is.
60807
60808 2003-10-25  Paul Eggert  <eggert@twinsun.com>
60809
60810         Fix several address-calculation bugs in the hash modules,
60811         plus some minor code cleanup.
60812
60813         * lib/hash.h: Include <stdbool.h>, for bool.
60814         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
60815         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
60816         hash_get_n_entries, hash_get_max_bucket_length,
60817         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
60818         hash_rehash): Use size_t rather than unsigned.
60819         * lib/hash.c (struct hash_table, hash_get_n_buckets,
60820         hash_get_n_buckets_used, hash_get_n_entries,
60821         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
60822         hash_get_entries, hash_do_for_each, hash_string, is_prime,
60823         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
60824         Likewise.
60825         (SIZE_MAX): Define if not defined.
60826         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
60827         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
60828         hash_print):
60829         Use const * when possible.
60830         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
60831         (check_tuning): Fix bug: if tuning parameters were very close to
60832         0 or 1, rounding errors could have caused subscript violations.
60833         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
60834         (hash_initialize): Add 'fail:' label
60835         to free table and return NULL, and use it to simplify code.
60836         Use calloc rather than clearing the storage ourself.
60837         (hash_initialize, hash_rehash): Check for arithmetic overflow in
60838         buffer size calculations.
60839         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
60840         Include <stddef.h>, for size_t.
60841         * lib/hash-pjw.c (hash_pjw): Likewise.
60842         Switch to method described by Bruno Haible.
60843         Include <limits.h>, for CHAR_BIT.
60844         (SIZE_BITS): New macro.
60845
60846 2003-10-23  Paul Eggert  <eggert@twinsun.com>
60847
60848         * m4/getline.m4 (AM_FUNC_GETLINE):
60849         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
60850         hosts.  Problem reported by Derek Robert Price in
60851         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
60852         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
60853         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
60854
60855 2003-10-21  Paul Eggert  <eggert@twinsun.com>
60856
60857         * lib/getndelim2.c (getndelim2): When size calculation overflows,
60858         ceiling the allocation at NMAX bytes rather than silently
60859         discarding input bytes before NMAX is reached.  This makes
60860         a difference only if NMAX exceeds SIZE_MAX / 2.
60861
60862         * lib/obstack.c: Merge from glibc.
60863         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
60864         Add libc_hidden_def (_obstack_newchunk).
60865         (_obstack_free) [! defined _LIBC]: Remove.
60866         [defined _LIBC]: Make a strong alias from obstack_free, rather than
60867         a clone of the function body.
60868         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
60869         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
60870
60871         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
60872         glibc.
60873         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
60874         arg to memcpy.
60875
60876         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
60877         (obstack_ptr_grow_fast, obstack_int_grow_fast):
60878         Don't use lvalue casts, as GCC plans to remove support for them
60879         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
60880         was also present in the non-GCC version, indicating that this
60881         code had always been buggy and had never been widely used.
60882         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
60883         Use the fast variant of each macro, rather than copying the
60884         definiens of the fast variant; that way, we'll be more likely to
60885         catch future bugs in the fast variants.
60886
60887 2003-10-20  Bruno Haible  <bruno@clisp.org>
60888
60889         * modules/wait-process: New file.
60890         * MODULES.html.sh (func_all_modules): Add wait-process.
60891
60892 2003-10-20  Bruno Haible  <bruno@clisp.org>
60893
60894         * m4/wait-process.m4: New file.
60895
60896 2003-10-20  Bruno Haible  <bruno@clisp.org>
60897
60898         * lib/wait-process.h: New file, from GNU gettext.
60899         * lib/wait-process.c: New file, from GNU gettext.
60900
60901 2003-10-19  Jim Meyering  <jim@meyering.net>
60902
60903         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
60904         HPUX 10.20.
60905
60906 2003-10-18  Karl Berry  <karl@gnu.org>
60907
60908         * config/config.guess: update from config.
60909
60910 2003-10-16  Paul Eggert  <eggert@twinsun.com>
60911
60912         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
60913         (getgroups): First arg is int, not size_t.
60914         Don't let 'free' mangle errno.
60915
60916 2003-10-16  Paul Eggert  <eggert@twinsun.com>
60917
60918         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
60919
60920 2003-10-16  Karl Berry  <karl@gnu.org>
60921
60922         * config/config.{guess,sub}: update from config.
60923
60924 2003-10-16  Jim Meyering  <jim@meyering.net>
60925
60926         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
60927         memcpy.
60928
60929 2003-10-15  Paul Eggert  <eggert@twinsun.com>
60930
60931         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
60932         (SIZE_MAX): Remove.
60933         (new_exclude, add_exclude_file): Initial size no longer needs to
60934         be a power of 2.
60935         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
60936         our own address arithmetic overflow checking.
60937
60938         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
60939         (fnmatch): Do not alloca more than 2000 wide characters;
60940         instead, use malloc for large buffers.
60941         Check for address arithmetic overflow, and return -1
60942         with errno set to ENOMEM in that case.
60943         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
60944         (NEW_PATTERN): Do not alloca more than 8000 bytes;
60945         instead, return -1.  Check for address arithmetic overflow.
60946
60947 2003-10-14  Paul Eggert  <eggert@twinsun.com>
60948
60949         Handle invalid suffixes and overflow independently, so that
60950         callers can treat them independently as needed.  Fix some bugs in
60951         suffix handling, e.g., "100k@" was not diagnosed as an invalid
60952         suffix for a human-readable blocksize.  The major caller-visible
60953         change is the addition of a new
60954         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
60955         that both overflow and suffix chars were found.
60956
60957         * lib/human.c (humblock): Don't check separately for invalid suffix
60958         char; that is xstrtoumax's job (now that its bug is fixed).
60959         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
60960         INTMAX_MAX]: New macros.
60961         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
60962         TYPE_MAXIMUM): New macros.
60963         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
60964         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
60965         if overflow occurs, as it's what __strtol does and it's more useful
60966         in practice.
60967         (__xstrtol): If __strtol reports some error other than ERANGE,
60968         reflect it to the caller as LONGINT_INVALID.  If it reports
60969         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
60970         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
60971         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
60972         value.
60973         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
60974         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
60975         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
60976         [defined UINTMAX_MAX]: New macros.
60977
60978 2003-10-14  Bruno Haible  <bruno@clisp.org>
60979
60980         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
60981
60982 2003-10-14  Bruno Haible  <bruno@clisp.org>
60983
60984         * m4/sig_atomic_t: New file, from GNU gettext.
60985         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
60986
60987 2003-10-14  Bruno Haible  <bruno@clisp.org>
60988
60989         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
60990         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
60991         Also use volatile where needed.
60992
60993 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60994
60995         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
60996         Change maintainer from Bruno Haible to 'all'.
60997
60998 2003-10-12  Paul Eggert  <eggert@twinsun.com>
60999
61000         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
61001
61002 2003-10-12  Paul Eggert  <eggert@twinsun.com>
61003
61004         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
61005         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
61006         and define in terms of the other primitives.
61007         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
61008         (SIZE_MAX): Define if not already defined.
61009         (array_size_overflow): New function.
61010         (xalloc_die): Abort instead of exiting if 'error' returns.
61011         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
61012         (xmalloc, xrealloc): Use them.
61013         (xcalloc): Check for address arithmetic overflow.
61014         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
61015         a bit faster than strcpy.
61016
61017 2003-10-10  Simon Josefsson  <jas@extundo.com>
61018
61019         * modules/argp (Depends-on): Add restrict and strcase.
61020
61021 2003-10-10  Simon Josefsson  <jas@extundo.com>
61022
61023         * m4/argp.m4: Add AC_C_INLINE.
61024
61025 2003-10-08  Paul Eggert  <eggert@twinsun.com>
61026
61027         Merge getpass from libc, plus a few fixes.
61028
61029         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
61030         Include <stdbool.h>.
61031         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
61032         __fsetlocking to empty.
61033         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
61034         do include <bits/libc-lock.h>.
61035         Do not include <fcntl.h>; not needed.
61036         [_LIBC]: Include <wchar.h>.
61037         (NOTCANCEL_MODE): New macro.
61038         (flockfile, funlockfile) [_LIBC]: New macros.
61039         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
61040         [!_LIBC]: New macros.
61041         (call_fclose): New function.
61042         (getpass): Use it.  Save tty stream separately; this simplifies the
61043         code and makes it more reliable if stdin happens to equal stdout.
61044         Invoke __fsetlocking on tty.
61045         Handle thread cancellation if needed.
61046         Namespace cleanup (use __tcgetattr, __getline).
61047         Use bool for Booleans.
61048         [USE_IN_LIBIO]: Handle wide streams.
61049         [!_LIBC]: Unconditionally do the fseek, since we don't know what
61050         stream might go where.
61051
61052         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
61053         doesn't have to include <stdio.h> before us.
61054         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
61055         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
61056         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
61057         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
61058         if not declared, so that we can use getpass.c code from libc without
61059         rewriting it.
61060         (flockfile, ftrylockfile, funlockfile): New macros.
61061
61062 2003-10-08  Paul Eggert  <eggert@twinsun.com>
61063
61064         * modules/getpass: Depend on stdbool.
61065
61066 2003-10-08  Paul Eggert  <eggert@twinsun.com>
61067
61068         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
61069
61070 2003-10-07  Karl Berry  <karl@gnu.org>
61071
61072         * config/config.{guess,sub}: update from config.
61073
61074 2003-10-06  Jim Meyering  <jim@meyering.net>
61075             Bruno Haible  <bruno@clisp.org>
61076
61077         This lets translators provide better translations for the
61078         "Written by ..." part of --version output.
61079         * lib/version-etc.h: Include stdarg.h.
61080         (version_etc_copyright): Declare as readonly.
61081         (version_etc): Make this function variadic with a NULL-terminated list
61082         of author name strings.
61083         (version_etc_va): New declaration.
61084         * lib/version-etc.c: Include stdarg.h, stdlib.h.
61085         (version_etc_copyright): Declare as readonly.
61086         (version_etc_va): New function. Provide a different translatable string
61087         for each possible number of authors < 10. Abbreviate when there are 10
61088         authors or more.
61089         (version_etc): Make this function variadic. Call version_etc_va.
61090         Suggestion from Gary V. Vaughan.
61091
61092         * lib/long-options.h (parse_long_options): Change prototype: the
61093         authors string is moved to the end and becomes variadic.
61094         * lib/long-options.c: Include stdarg.h.
61095         (parse_long_options): Make this function variadic, too.
61096         Call version_etc_va, not version_etc.
61097
61098 2003-10-06  Bruno Haible  <bruno@clisp.org>
61099
61100         * modules/version-etc-2: Remove file.
61101         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
61102
61103 2003-10-06  Bruno Haible  <bruno@clisp.org>
61104
61105         * modules/fatal-signal: New file.
61106         * MODULES.html.sh (func_all_modules): Add fatal-signal.
61107
61108 2003-10-06  Bruno Haible  <bruno@clisp.org>
61109
61110         * m4/fatal-signal.m4: New file.
61111         * m4/signalblocking.m4: New file, from GNU gettext.
61112
61113 2003-10-06  Bruno Haible  <bruno@clisp.org>
61114
61115         * lib/version-etc-2.h: Remove file.
61116         * lib/version-etc-2.c: Remove file.
61117
61118 2003-10-06  Bruno Haible  <bruno@clisp.org>
61119
61120         * lib/fatal-signal.h: New file, from GNU gettext.
61121         * lib/fatal-signal.c: New file, from GNU gettext.
61122
61123 2003-10-05  Paul Eggert  <eggert@twinsun.com>
61124
61125         * README: Rework advice for preventing empty .o files.
61126         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
61127         not <sys/types.h>.
61128
61129 2003-10-04  Karl Berry  <karl@gnu.org>
61130
61131         * lib/argp*: update from libc.
61132
61133 2003-10-04  Karl Berry  <karl@gnu.org>
61134
61135         * config/config.{guess,sub}: update from config.
61136
61137 2003-10-02  Bruno Haible  <bruno@clisp.org>
61138
61139         * modules/lchown (Include): Add lchown.h.
61140         * modules/time_r (Include): Use "..." syntax.
61141         * modules/xgetdomainname (Include): Add xgetdomainname.h.
61142
61143 2003-10-01  Simon Josefsson  <jas@extundo.com>
61144
61145         * MODULES.html.sh (func_all_modules): Move gethostname from section
61146         'based on' to section 'lacking' POSIX:2001.
61147
61148 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
61149
61150         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
61151         to output mode on the same stream.
61152
61153 2003-09-29  Paul Eggert  <eggert@twinsun.com>
61154
61155         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
61156         Fix arg typo in previous patch.
61157
61158 2003-09-28  Jim Meyering  <jim@meyering.net>
61159
61160         * lib/error.c: Correct cpp indentation.
61161
61162 2003-09-27  Paul Eggert  <eggert@twinsun.com>
61163
61164         * modules/free: New file.
61165
61166 2003-09-27  Paul Eggert  <eggert@twinsun.com>
61167
61168         * m4/free.m4: New file.
61169
61170 2003-09-27  Paul Eggert  <eggert@twinsun.com>
61171
61172         * lib/minmax.h (MIN, MAX)
61173         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
61174         Omit the special code that used __typeof__, since we worry that
61175         it could be more trouble than it's worth.  See:
61176         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
61177         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
61178
61179         * lib/free.c: New file.
61180
61181 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
61182
61183         Trivial fixes to Makefile.am parts of module listings.
61184         * modules/strstr: Append strstr.h to lib_SOURCES.
61185         * modules/strcase: Likewise, for strcase.h.
61186
61187 2003-09-27  Karl Berry  <karl@gnu.org>
61188
61189         * config/mkinstalldirs: update from automake.
61190
61191 2003-09-26  Paul Eggert  <eggert@twinsun.com>
61192
61193         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
61194         (error_tail): Do not loop, reallocating temporary buffer, since
61195         the output cannot contain more wide characters than the input
61196         contains bytes, the size must be big enough already.  This avoids
61197         one potential size overflow calculation.  Check for size overflow
61198         when calculating temporary buffer size.  Free temporary buffer
61199         when done, if it was allocated with malloc; this plugs a memory
61200         leak.  Remove casts from void * to pointers, that are no longer
61201         needed now that we're assuming C89 or better.
61202
61203         Merge error changes from glibc.
61204
61205         * lib/error.c, error.h: Update copyright notice header to match glibc.
61206         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
61207         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
61208         Disable cancellation while printing error.
61209         * lib/error.h: Prepend __ to parameter names.
61210
61211 2003-09-26  Jim Meyering  <jim@meyering.net>
61212
61213         * lib/error.c (error_tail): Move some declarations
61214         into inner scope where the local variables are used.
61215
61216 2003-09-26  Bruno Haible  <bruno@clisp.org>
61217
61218         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
61219         stpncpy().
61220         Don't define stpncpy through config.h; it's now done through stpncpy.h.
61221
61222 2003-09-26  Bruno Haible  <bruno@clisp.org>
61223
61224         * lib/stpncpy.h (gnu_stpncpy): New declaration.
61225         (stpncpy): Define as alias for gnu_stpncpy.
61226         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
61227
61228 2003-09-25  Simon Josefsson  <jas@extundo.com>
61229
61230         * lib/xgetdomainname.h: New file.
61231         * lib/xgetdomainname.c: New file.
61232
61233 2003-09-25  Simon Josefsson  <jas@extundo.com>
61234             Bruno Haible  <bruno@clisp.org>
61235
61236         * modules/getdomainname: New file.
61237         * modules/xgetdomainname: New file.
61238         * MODULES.html.sh (func_all_modules): Add getdomainname,
61239         xgetdomainname.
61240
61241 2003-09-25  Simon Josefsson  <jas@extundo.com>
61242             Bruno Haible  <bruno@clisp.org>
61243
61244         * m4/getdomainname.m4: New file.
61245
61246 2003-09-25  Simon Josefsson  <jas@extundo.com>
61247             Bruno Haible  <bruno@clisp.org>
61248
61249         * lib/getdomainname.h: New file.
61250         * lib/getdomainname.c: New file.
61251
61252 2003-09-25  Karl Berry  <karl@gnu.org>
61253
61254         * lib/argp-fmtstream.c, argp-help.c: update from libc.
61255
61256 2003-09-25  Karl Berry  <karl@gnu.org>
61257
61258         * config/install-sh: update from automake.
61259
61260 2003-09-25  Bruno Haible  <bruno@clisp.org>
61261
61262         * modules/version-etc-2: New file, from modules/version-etc with
61263         modifications.
61264         * MODULES.html.sh (func_all_modules): Add version-etc-2.
61265
61266 2003-09-25  Bruno Haible  <bruno@clisp.org>
61267
61268         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
61269         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
61270
61271 2003-09-24  Simon Josefsson  <jas@extundo.com>
61272
61273         * modules/xgethostname: Add xgethostname.h.
61274
61275 2003-09-24  Paul Eggert  <eggert@twinsun.com>
61276
61277         * lib/linebuffer.c (freebuffer): Don't free the argument, just
61278         the buffer associated with the argument.  Bug reported by
61279         Simon Josefsson.
61280
61281 2003-09-24  Paul Eggert  <eggert@twinsun.com>
61282
61283         * README: Document assumptions that 'int' is at least 32 bits
61284         wide, that integer arithmetic is 2's complement without overflow,
61285         that there are no holes in integer values, that adding sizes of
61286         two nonoverlapping objects can't overflow, and that all-bits-zero
61287         yields scalar zero.  Fix spelling and capitalization typos.
61288
61289 2003-09-19  Karl Berry  <karl@gnu.org>
61290
61291         * lib/argp.h: update from libc.
61292
61293 2003-09-17  Paul Eggert  <eggert@twinsun.com>
61294
61295         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
61296         to avoid spurious warnings like "AC_RUN_IFELSE was called before
61297         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
61298
61299 2003-09-17  Paul Eggert  <eggert@twinsun.com>
61300
61301         * gnulib-tool: Use "test -h", not "test -L", for portability
61302         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
61303         (tags_regexp): Remove, since \| doesn't conform to POSIX.
61304         (sed_extract_prog): Issue s commands one-by-one, rather than
61305         using \| in one s command.
61306
61307 2003-09-16  Paul Eggert  <eggert@twinsun.com>
61308
61309         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
61310         input error, instead of returning NULL the next time we are called
61311         (and therefore losing track of errno).
61312
61313 2003-09-16  Bruno Haible  <bruno@clisp.org>
61314
61315         * gnulib-tool (func_create_testdir): Warn about duplicated
61316         dependencies.
61317
61318 2003-09-15  Paul Eggert  <eggert@twinsun.com>
61319
61320         * modules/argmatch, modules/fatal, modules/obstack,
61321         modules/xalloc, modules/xgethostname: Sort dependencies by
61322         importance, not alphabetically.
61323
61324 2003-09-15  Paul Eggert  <eggert@twinsun.com>
61325
61326         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
61327         fails, so that the caller gets the proper errno.
61328
61329         * lib/readutmp.c (read_utmp): Likewise.
61330         Check for fstat error.  Close stream and free storage
61331         when failing.
61332
61333 2003-09-14  Karl Berry  <karl@gnu.org>
61334
61335         * config/srclist.txt (strdup.c): disable for c89 changes.
61336
61337 2003-09-14  Jim Meyering  <jim@meyering.net>
61338
61339         * lib/getloadavg.c: Correct cpp indentation.
61340         * lib/strdup.c: Likewise.
61341         * lib/vasnprintf.c: Likewise.
61342
61343 2003-09-14  Bruno Haible  <bruno@clisp.org>
61344
61345         * modules/fwriteerror: New file.
61346         * MODULES.html.sh (func_all_modules): Add fwriteerror.
61347
61348 2003-09-14  Bruno Haible  <bruno@clisp.org>
61349
61350         * lib/fwriteerror.h: New file.
61351         * lib/fwriteerror.c: New file.
61352
61353 2003-09-12  Paul Eggert  <eggert@twinsun.com>
61354
61355         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
61356         modules/xgethostname, modules/xalloc: Depend on exit.
61357
61358 2003-09-12  Paul Eggert  <eggert@twinsun.com>
61359
61360         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
61361
61362         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
61363         and AC_MINIX, too, so that their extensions are available.
61364
61365         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
61366         This macro has been superseded by gl_BACKUPFILE.
61367
61368         More patches to assume C89 or better.
61369
61370         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
61371
61372         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
61373         unconditionally.
61374         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
61375         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
61376         Include <string.h>, <stdlib.h> unconditionally.
61377         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
61378         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
61379         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
61380         headers or for string.h.
61381         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
61382         or strtoul.
61383
61384         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
61385         headers.
61386         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
61387         * m4/userspec.m4 (gl_USERSPEC): Likewise.
61388         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
61389         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
61390         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61391         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
61392         memcpy, memset.
61393         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
61394         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
61395         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
61396         strtol.
61397         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
61398         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
61399         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
61400         strtoul.
61401
61402 2003-09-12  Paul Eggert  <eggert@twinsun.com>
61403
61404         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
61405         * lib/obstack.c [!defined _LIBC]: Likewise.
61406         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
61407         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
61408         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
61409
61410         More changes to assume C89 or better.
61411
61412         * lib/error.c (error_tail): Assume vprintf.
61413
61414         * lib/argmatch.c (getenv): Remove decl.
61415         * lib/progreloc.c (get_full_program_name): Define via prototype.
61416         * lib/setenv.c (clearenv): Likewise.
61417         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
61418         needed.
61419         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
61420         (malloc, memcpy): Remove decls.
61421         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
61422         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
61423         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
61424         (memcpy): Remove macro.
61425         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
61426         (__P): Remove.  All uses removed.
61427         (PTR): Remove.  All uses changed to void *.
61428         (CHAR_BIT, NULL): Remove.
61429         (spaces, zeros, memset_space, memset_zero)
61430         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
61431         Remove.
61432         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
61433         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
61434         Define with prototype.
61435         Remove now-unnecessary prototype decl.
61436         (extra_args_spec): Assume ANSI C.  All uses changed.
61437         (extra_args_spec_iso): Remove.
61438         (my_strftime, emacs_strftimeu): Define via prototype.
61439         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
61440         unconditionally.
61441         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
61442         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
61443         (strtoul, strtol): Remove decls.
61444         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
61445         LONG_MAX): Remove.
61446         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
61447         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
61448         (LOCALE_PARAM_PROTO): New macro.
61449         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
61450         (INTERNAL (strtol), strtol): Define with a prototype.
61451         (PARAMS): Remove.  All uses removed.
61452         * lib/tempname.c: Include <string.h> unconditionally.
61453         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
61454         * lib/xgethostname.c (main): Define with a prototype.
61455         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
61456         Include <stdlib.h> unconditionally.
61457         (calloc, malloc, realloc, free): Remove decls.
61458         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
61459         Include <stdlib.h> unconditionally.  Sort include file names.
61460         (strtod): Remove.
61461         (xstrtod): Define with a prototype.
61462         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
61463         (strtol, strtoul): Remove decls.
61464
61465 2003-09-11  Paul Eggert  <eggert@twinsun.com>
61466
61467         More patches to assume C89 or better.
61468         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
61469         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
61470         string.h, memchr, STDC_HEADERS.
61471
61472 2003-09-11  Paul Eggert  <eggert@twinsun.com>
61473
61474         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
61475         Include <stdlib.h>, <string.h> unconditionally.
61476         Remove now-unnecessary cast to char *.
61477         * lib/strnlen.c: Include <string.h> unconditionally.
61478         * lib/yesno.c (yesno): Define with a prototype.
61479
61480 2003-09-11  Bruno Haible  <bruno@clisp.org>
61481
61482         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
61483
61484 2003-09-10  Jim Meyering  <jim@meyering.net>
61485
61486         * lib/error.c: Correct indentation of cpp directives.
61487
61488 2003-09-10  Bruno Haible  <bruno@clisp.org>
61489
61490         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
61491         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
61492         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
61493         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
61494         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
61495         <stdlib.h> and <string.h> checks.
61496         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
61497         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
61498
61499 2003-09-10  Bruno Haible  <bruno@clisp.org>
61500
61501         * lib/strcspn.c: Include <string.h> unconditionally.
61502         * lib/strpbrk.c: Include <string.h> unconditionally.
61503         * lib/strstr.c: Include <string.h> unconditionally.
61504         * lib/unicodeio.c: Include <string.h> unconditionally.
61505         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
61506         * lib/unsetenv.c: Likewise.
61507         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
61508         * lib/yesno.c: Include <stdlib.h> unconditionally.
61509         (rpmatch): Add prototype.
61510
61511 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61512
61513         More patches to assume C89 or better.
61514         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
61515         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
61516         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
61517         or for string.h.
61518         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
61519         stdlib.h.
61520         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
61521         C headers.
61522         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
61523         string.h.
61524         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
61525         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
61526         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
61527         or for string.h.
61528         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
61529         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
61530         C headers.
61531         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
61532         memcpy.
61533         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
61534         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
61535         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
61536         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
61537         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
61538         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
61539         string.h, free.
61540         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
61541         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
61542         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
61543         C headers, or for string.h.
61544         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
61545         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
61546         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
61547         headers, memory.h, stdlib.h, string.h, strings.h.
61548         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
61549         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
61550         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
61551         strchr.
61552         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
61553         headers, memory.h, string.h.
61554         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
61555         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
61556         free.
61557         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
61558         headers.
61559         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
61560         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
61561         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
61562         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
61563         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
61564
61565 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61566
61567         More K&R removal.
61568
61569         * lib/acosl.c (main): Use a prototype.
61570         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
61571         tanl.c: Likewise.
61572
61573         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
61574
61575         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
61576         (getopt, etopt_long, getopt_long_only, _getopt_internal)
61577         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
61578         with a prototype.
61579         * lib/getopt.c (const): Remove macro.
61580         Include <string.h> unconditionally.
61581         (my_index): Remove; all uses changed to strchr.
61582         (strlen): Remove decl.
61583         (exchange): Remove forward decl; no longer needed.
61584         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
61585         Define with prototype.
61586         * lib/getopt1.c (const): Remove macro.
61587         (getopt_long, getopt_long_only, main): Define with prototype.
61588
61589         * lib/getugroups.c: Include <string.h> unconditionally.
61590
61591         * lib/getusershell.c: Include <stdlib.h> unconditionally.
61592         (getusershell, setusershell, endusershell, readname, main):
61593         Define with prototypes.
61594
61595         * lib/group-member.c: Include group-member.h first.
61596         Include <stdlib.h> unconditionally.
61597
61598         * lib/hard-locale.c: Include hard-locale.h first.
61599         Include <stdlib.h>, <string.h> unconditionally.
61600
61601         * lib/hash.c (free, malloc): Remove decls.
61602         Include <stdlib.h> unconditionally.
61603
61604         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
61605         (getenv): Do not declare.
61606
61607         * lib/idcache.c: Include <string.h> unconditionally.
61608
61609         * lib/long-options.c: Include long-options.h first, to test interface.
61610         Include <stdlib.h> unconditionally.
61611
61612         * lib/makepath.c: Include makepath.h first, to test interface.
61613         Include <stdlib.h> and <string.h> unconditionally.
61614
61615         * lib/linebuffer.c: Include <stdlib.h>.
61616         (free): Remove decl.
61617
61618         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
61619         stddef.h. rpl_malloc returns void *, not char *.
61620         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
61621         prototype.
61622
61623         * lib/md5.h: Include <limits.h> unconditionally.
61624         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
61625         (__P): Remove; all uses removed.
61626         * lib/md5.c: Include "md5.h" first.
61627         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
61628         md5_buffer, md5_process_bytes, md5_process_block):
61629         Define with prototypes.
61630         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
61631         * lib/sha.c: Include "sha.h" first.
61632         Include <stdlib.h>, <string.h> unconditionally.
61633
61634         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
61635         * lib/memcmp.c (__ptr_t): Likewise.
61636         * lib/memrchr.c (__ptr_t): Likewise.
61637         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
61638         Include <string.h> unconditionally.
61639         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
61640         * lib/memchr.c: Include <stdlib.h> unconditionally.
61641         * lib/memchr.c (LONG_MAX): Remove.
61642         * lib/memrchr.c (LONG_MAX): Likewise.
61643         * lib/memchr.c (__memchr): Define via a prototype.
61644         * lib/memrchr.c (__memrchr): Likewise.
61645         * lib/memcmp.c (__P): Remove, and remove all uses.
61646         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
61647         Remove forward decls; no longer needed.
61648         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
61649         Use types required by C89 in prototype.
61650
61651         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
61652         * lib/savedir.c: Likewise.
61653         * lib/mkdir.c (free): Remove decl.
61654         * lib/rmdir.c (rmdir): Define with a prototype.
61655         * lib/savedir.c: Include savedir.h first, to test interface.
61656
61657         * lib/mktime.c (STDC_HEADERS): Remove.
61658         Include <stdlib.h>, <string.h> unconditionally.
61659
61660         * lib/modechange.c: Include <stdlib.h> unconditionally.
61661         (malloc): Remove decl.
61662
61663         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
61664         (free): Remove decl.
61665
61666         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
61667         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
61668         (This type really should be intptr_t, but that's a C99ism.)
61669         (_obstack_memcpy): Remove: all uses changed to memcpy.
61670         Include <string.h> unconditionally.
61671         (struct obstack): Assume __STDC__ for types of members
61672         chunkfun, freefun, extra_arg.
61673         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
61674         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
61675         obstack_begin, obstack_specify_allocation,
61676         obstack_specify_allocation_with_arg, obstack_chunkfun,
61677         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
61678         Remove unprototyped decls and the macros that use them.
61679         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
61680         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
61681         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
61682         (defined __STDC__ && __STDC__)]:
61683         Remove nonprototyped code.
61684         Include <stdlib.h> unconditionally.
61685         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
61686         _obstack_allocated_p, _obstack_free, obstack_free,
61687         _obstack_memory_used, print_and_abort):
61688         Define using prototypes.
61689         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
61690         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
61691         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
61692         obstack_next_free, obstack_object_size, obstack_room) [0]:
61693         Remove unused, unprototyped code.
61694
61695         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
61696
61697         * lib/physmem.c (physmem_total, physmem_available, main): Define
61698         with prototypes.
61699
61700         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
61701         (main): Define with a prototype.
61702
61703         * lib/posixver.c (getenv): Remove decl.
61704
61705         * lib/putenv.c (malloc): Returns void *, not char *.
61706         Include <string.h> unconditionally.
61707         (strchr, memcpy, NULL): Do not define.
61708
61709         * lib/readtokens.c: Include readtokens.h first, to test interface.
61710         Include <stdlib.h>, <string.h> unconditionally.
61711         (init_tokenbuffer): Define with a prototype.
61712
61713         * lib/regex.c (PARAMS): Remove.  All uses removed.
61714         All uses of _RE_ARGS removed, too.
61715         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
61716         unconditionally.
61717         (bzero): Assume memset exists.
61718         (memcmp, memcpy, NULL): Remove.
61719         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
61720         char, or assignments to local vars of type signed char.
61721         (init_syntax_once, PREFIX(extract_number_and_incr),
61722         PREFIX(print_partial_compiled_pattern),
61723         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
61724         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
61725         PREFIX(regex_grow_registers), PREFIX(regex_compile),
61726         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
61727         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
61728         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
61729         wcs_compile_range, byte_compile_range, truncate_wchar,
61730         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
61731         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
61732         count_mbs_length, wcs_re_match_2_internal,
61733         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
61734         PREFIX(alt_match_null_string_p),
61735         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
61736         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
61737         regfree, PREFIX(extract_number)): Define with prototype.  Remove
61738         now-unnecessary declaration, if any.
61739         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
61740         regcomp, regexec):
61741         Remove now-unnecessary casts among pointer types.
61742         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
61743
61744         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
61745         (free): Remove decl.
61746
61747         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
61748
61749         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
61750         (free): Remove decl.
61751
61752         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
61753         * lib/xgetcwd.c: Likewise.
61754
61755         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
61756         (free): Remove decl.
61757
61758         * lib/strchrnul.c (strchrnul): Define with a prototype.
61759         Fix bug: c_in was not converted to char before searching.
61760
61761         The following changes are not K&R related:
61762
61763         * lib/group-member.h: Include <sys/types.h>, so that this file is
61764         self-contained.
61765         * lib/makepath.h: Likewise.
61766
61767         * lib/getusershell.c (readname, default_index, line_size, readname):
61768         Use size_t, not int, for sizes.
61769         (readname): If the size overflows, report an error instead of
61770         looping forever.
61771
61772 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61773
61774         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
61775         libc.
61776
61777 2003-09-09  Paul Eggert  <eggert@twinsun.com>
61778
61779         * README: New section: portability guidelines.
61780
61781 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
61782
61783         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
61784         C89 spec.
61785
61786 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
61787
61788         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
61789
61790 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61791
61792         Assume C89 or better; remove K&R cruft.
61793         A few of these changes were first proposed by Derek Robert Price
61794         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
61795
61796         * lib/addext.c: Include <string.h> unconditionally.
61797         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
61798         Don't declare getenv or malloc.
61799
61800         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
61801         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
61802         (NULL): Remove.
61803         (find_stack_direction, alloca): Use prototypes.
61804
61805         * lib/atexit.c (atexit): Define using a prototype.
61806
61807         * lib/basename.c, dirname.c, stripslash.c:
61808         Include <string.h> unconditionally.
61809
61810         * lib/bcopy.c: Include <stddef.h>.
61811         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
61812
61813         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
61814
61815         * lib/error.h (error, error_at_line, error_print_progname)
61816         [! (defined (__STDC__) && __STDC__)]: Remove decls.
61817         * lib/error.c: Include error.h first, to check interface.
61818         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
61819         (VA_START): Remove; all uses changeed to va_start.
61820         (exit, strerror): Remove decls.
61821         (error_print_progname): Prototype uncondionally.
61822         Don't include <errno.h>; no longer needed.
61823         (private_strerror): Remove.
61824         (error_tail): Always define.
61825         (error, error_at_line): Assume C89 or better; always use prototypes.
61826         * lib/fatal.c: Include "fatal.h" first, to test interface.
61827         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
61828         (VA_START): Remove; all uses changed to va_start.
61829         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
61830         this case.
61831         (exit): Remove decl.
61832         (fatal): Prototype unconditionally.  Assume va_start works.
61833         Abort at end, to pacify gcc.
61834
61835         * lib/euidaccess.c (main): Define with a prototype.
61836
61837         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
61838
61839         * lib/exitfail.c: Include <stdlib.h> unconditionally.
61840
61841         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
61842         prototypes.
61843         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
61844         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
61845         (getenv): Remove decl.
61846         (fnmatch): Define using a prototype.
61847         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
61848         (FCT): Define using a prototype.
61849
61850         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
61851
61852         * lib/gethostname.c: Include <stddef.h>.
61853         (gethostname): Define with prototype.  Length is size_t, not int.
61854
61855 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61856
61857         Assume C89 or better; remove K&R cruft.
61858         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
61859         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
61860         string.h, getenv, malloc.
61861         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
61862         headers.
61863         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
61864         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
61865         do not check for strerror.
61866         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
61867         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
61868         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
61869         do not check for doprnt or vprintf.
61870         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
61871         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
61872
61873 2003-09-08  Paul Eggert  <eggert@twinsun.com>
61874
61875         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
61876         getversion.c should have been removed then, but was accidentally
61877         preserved.
61878
61879         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
61880         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
61881
61882 2003-09-08  Karl Berry  <karl@gnu.org>
61883
61884         * config/config.sub, config.guess, srclistvars.sh: update from savannah
61885                 config, forget about prep.
61886
61887         * config/depcomp, missing: update from automake.
61888
61889 2003-09-07  Paul Eggert  <eggert@twinsun.com>
61890
61891         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
61892         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
61893
61894 2003-09-07  Paul Eggert  <eggert@twinsun.com>
61895
61896         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
61897         copy_tm_result.  Bug reported by Simon Josefsson in
61898         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
61899
61900 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61901
61902         * m4/time_r.m4: New file.
61903         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
61904         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
61905         is. Check for timegm declaration.
61906         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
61907         Do not check for gmtime_r.
61908         Replace mktime if __mktime_internal does not exist and if mktime
61909         hasn't been replaced already.
61910
61911 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61912
61913         * lib/time_r.c, lib/time_r.h: New files.
61914
61915         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
61916         __localtime_r.
61917         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
61918         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
61919
61920         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
61921         __gmtime_r.
61922         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
61923         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
61924         Include <time_r.h>.
61925
61926         * lib/timegm.c: Switch to glibc implementation, with the following
61927         changes:
61928         [defined HAVE_CONFIG_H]: Include <config.h>.
61929         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
61930         (__mktime_internal) [!defined _LIBC]: New decl.
61931         (__gmtime_r) [!defined _LIBC]: New macro and function.
61932         (timegm): Use a prototype, since gnulib assumes C89.
61933         Do not bother declaring tmp to be const, as it's not really usefu.
61934         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
61935         (timegm): Declare only if HAVE_DECL_TIMEGM.
61936
61937 2003-09-06  Paul Eggert  <eggert@twinsun.com>
61938
61939         * MODULES.html.sh (func_all_modules): Add time_r.
61940         * modules/time_r: New file.
61941         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
61942         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
61943
61944 2003-09-03  Paul Eggert  <eggert@twinsun.com>
61945
61946         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
61947         Bug reported by Lute Kamstra in
61948         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
61949
61950         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
61951         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
61952         course with correspondingly smaller numbers for tomorrow and
61953         yesterday.  From Tadayoshi Funaba.  Originally installed into
61954         sh-utils on 1999-08-07, but the patch got lost (I guess during the
61955         coreutils merge?).
61956
61957 2003-08-31  Simon Josefsson  <jas@extundo.com>
61958
61959         * modules/timegm: New file.
61960         * MODULES.html.sh (func_all_modules): Add timegm.
61961
61962 2003-08-31  Simon Josefsson  <jas@extundo.com>
61963
61964         * m4/timegm.m4: New file.
61965
61966 2003-08-31  Simon Josefsson  <jas@extundo.com>
61967
61968         * lib/timegm.h: New file.
61969         * lib/timegm.c: New file.  Based on
61970         wget-1.8.2/src/http.c:mktime_from_utc.
61971
61972 2003-08-31  Karl Berry  <karl@gnu.org>
61973
61974         * lib/argp.h: update from libc.
61975
61976 2003-08-28  Bruno Haible  <bruno@clisp.org>
61977
61978         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
61979         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
61980         followed by '#define fnmatch fnmatch_posix' gives an error.
61981
61982 2003-08-28  Bruno Haible  <bruno@clisp.org>
61983
61984         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
61985         warning on QNX, which defines O_BINARY to 000000.
61986
61987 2003-08-27  Jim Meyering  <jim@meyering.net>
61988
61989         * m4/mkstemp.m4: Require that the system mkstemp be able to create
61990         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
61991         would fail after 32.  Reported by Danny Levinson.  Details here:
61992         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
61993
61994 2003-08-24  Bruno Haible  <bruno@clisp.org>
61995
61996         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
61997         MSVC7 <stdio.h> is included later.
61998
61999 2003-08-22  Simon Josefsson  <jas@extundo.com>
62000
62001         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
62002
62003 2003-08-20  Karl Berry  <karl@gnu.org>
62004
62005         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
62006
62007 2003-08-20  Bruno Haible  <bruno@clisp.org>
62008
62009         * modules/progname: New file.
62010         * MODULES.html.sh (func_all_modules): Add progname.
62011
62012 2003-08-20  Bruno Haible  <bruno@clisp.org>
62013
62014         * lib/progname.h: New file, from GNU gettext.
62015         * lib/progname.c: New file, from GNU gettext.
62016         * lib/progreloc.c: New file, from GNU gettext.
62017
62018 2003-08-19  Jim Meyering  <jim@meyering.net>
62019
62020         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
62021         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
62022
62023 2003-08-19  Bruno Haible  <bruno@clisp.org>
62024
62025         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
62026         more.
62027
62028 2003-08-19  Bruno Haible  <bruno@clisp.org>
62029
62030         * lib/xstrdup.c: Assume <string.h> exists.
62031
62032 2003-08-18  Paul Eggert  <eggert@twinsun.com>
62033
62034         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
62035         in makefile rules.
62036
62037 2003-08-18  Jim Meyering  <jim@meyering.net>
62038
62039         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
62040         * m4/lib-ld.m4: Likewise.
62041
62042 2003-08-18  Jim Meyering  <jim@meyering.net>
62043
62044         * lib/setenv.h: Indent nested cpp directive.
62045         * lib/vasnprintf.c: Remove trailing blanks.
62046
62047 2003-08-17  Simon Josefsson  <jas@extundo.com>
62048
62049         * modules/xstrndup: New file.
62050         * MODULES.html.sh (func_all_modules): Add xstrndup.
62051
62052 2003-08-17  Simon Josefsson  <jas@extundo.com>
62053
62054         * modules/argp: Fix autoconf macro name. Add more dependencies.
62055
62056 2003-08-17  Simon Josefsson  <jas@extundo.com>
62057
62058         * m4/xstrndup.m4: New file.
62059
62060 2003-08-17  Simon Josefsson  <jas@extundo.com>
62061
62062         * m4/argp.m4: New file.
62063
62064 2003-08-17  Simon Josefsson  <jas@extundo.com>
62065             Bruno Haible  <bruno@clisp.org>
62066
62067         * lib/xstrndup.h: New file.
62068         * lib/xstrndup.c: New file.
62069
62070 2003-08-17  Bruno Haible  <bruno@clisp.org>
62071
62072         * modules/strndup (Files, Include): Add lib/strndup.h.
62073
62074 2003-08-17  Bruno Haible  <bruno@clisp.org>
62075
62076         * modules/euidaccess (Files): Add lib/euidaccess.h.
62077
62078 2003-08-17  Bruno Haible  <bruno@clisp.org>
62079
62080         * lib/strndup.h: New file.
62081
62082 2003-08-17  Bruno Haible  <bruno@clisp.org>
62083
62084         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
62085         like AC_GNU_SOURCE.
62086         * modules/extensions (configure.ac): Comment out the invocation of
62087         gl_USE_SYSTEM_EXTENSIONS.
62088
62089 2003-08-16  Paul Eggert  <eggert@twinsun.com>
62090
62091         Merges from coreutils, etc.
62092         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
62093         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
62094         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
62095         fixing a typo.
62096         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
62097         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
62098
62099 2003-08-16  Paul Eggert  <eggert@twinsun.com>
62100
62101         Document merge from coreutils.
62102         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
62103         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
62104         * modules/utime: Add m4/utimes-null.m4.
62105
62106 2003-08-16  Paul Eggert  <eggert@twinsun.com>
62107
62108         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
62109         space, undoing this 2003-08-12 change:
62110         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
62111
62112 2003-08-16  Paul Eggert  <eggert@twinsun.com>
62113
62114         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
62115         strtoul.c from libc, undoing this 2003-08-12 change:
62116         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
62117
62118 2003-08-16  Jim Meyering  <jim@meyering.net>
62119
62120         Merges from coreutils.
62121         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
62122         prefix.  Adjust cache variables similarly.  Create 500 rather than
62123         just 300 files, to exercise bug on Darwin6.5, too.
62124         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
62125         $missing_dir.
62126         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
62127         AM_SYS_POSIX_TERMIOS.
62128         Reported by mkc@mathdogs.com.
62129         Also change use of $am_cv_sys_posix_termios
62130         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
62131         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
62132         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
62133         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
62134         in /proc/mounts until it finds one with matching device number.  This
62135         is unnecessary when the FILE argument *is* a mount point.  No stat call
62136         is necessary in that case.  So, disable the statvfs-testing code on
62137         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
62138         as RedHat bug# 84846.
62139         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
62140         to 1MB, so as not to render systems with no stack size limit (e.g.,
62141         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
62142         Include <unistd.h>.  On some systems,
62143         it is required for the definition of _SC_PAGESIZE.
62144
62145 2003-08-16  Jim Meyering  <jim@meyering.net>
62146
62147         Merge from coreutils.
62148         * lib/xstrtoimax.c: #else #if -> #elif.
62149         * lib/xstrtoumax.c: Likewise.
62150
62151 2003-08-16  Jim Meyering  <jim@meyering.net>
62152
62153         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
62154         * m4/utimes.m4: Removed.
62155         * m4/utimes-null.m4: Renamed from utimes.m4.
62156
62157         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
62158         to 1MB, so as not to render systems with no stack size limit (e.g.,
62159         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
62160         Include <unistd.h>.  On some systems,
62161         it is required for the definition of _SC_PAGESIZE.
62162
62163 2003-08-16  Jim Meyering  <jim@meyering.net>
62164         and Paul Eggert  <eggert@cs.ucla.edu>
62165
62166         Merges from coreutils, etc.
62167
62168         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
62169         using the latest version from cvs.  This avoids problems with #line
62170         directives using a vendor (Sun) compiler.
62171         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
62172         Don't set GETGROUPS_LIB here; now it's
62173         done via getgroups.m4's wrapper function.
62174         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
62175         rather than just in sh-util/configure.in, so that the
62176         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
62177         same.
62178         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
62179         AC_FUNC_GETLOADAVG where to find getloadavg.c.
62180         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
62181         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
62182         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
62183         Remove code that is now done by the newly-required macros.
62184         Append $(EXEEXT) to DF_PROG.
62185         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
62186         Do not invoke or require the following here,
62187         since prereq.m4 or some gnulib .m4 now does this for us:
62188         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
62189         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
62190         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
62191         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
62192         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
62193         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
62194         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
62195         AC_FUNC_OBSTACK.
62196         Do not replace the following functions, as this is now the job
62197         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
62198         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
62199         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
62200         atexit getpass, strdup, getpagesize.
62201         Replace 'raise'.
62202         Do not check for the following functions, as this is now the job
62203         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
62204         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
62205         setregid.
62206         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
62207         Check for sys/sysctl.h.
62208         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
62209         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
62210         of checking for ssize_t ourselves.
62211
62212         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
62213         Require every macro that gnulib/modules/* suggests for us.
62214         (jm_PREREQ_ADDEXT): New macro.
62215         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
62216         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
62217
62218         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
62219         (gl_PHYSMEM): Use it.
62220         Also check for `table' function.
62221         Check for new headers and functions.
62222         Add check for sys/sysmp.h.
62223         With suggestions from Kaveh Ghazi.
62224         Ignore headers that are present but cannot be compiled.  This
62225         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
62226         C 5.4.
62227
62228 2003-08-15  Paul Eggert  <eggert@twinsun.com>
62229
62230         Document merge from coreutils.
62231         * modules/userspec: Depend on posixver.
62232         * modules/strftime: Depend on tzset.
62233
62234 2003-08-15  Paul Eggert  <eggert@twinsun.com>
62235
62236         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
62237         rather than tab, after '#' in shell-script copyright notices.
62238         Suggested by Bruno Haible.
62239
62240 2003-08-15  Paul Eggert  <eggert@twinsun.com>
62241
62242         * config/srclist-update: Use three spaces, rather than tab, after '#'
62243         in shell-script copyright notices.  Suggested by Bruno Haible.
62244         Remove unnecessary parenthesization in regular expression.
62245
62246 2003-08-15  Jim Meyering  <jim@meyering.net>
62247
62248         Merge from coreutils.
62249         * lib/xgethostname.c: Include <stdlib.h>.
62250         (xghostname): Don't exit for anything other than memory-related
62251         failure; just return NULL.
62252         * lib/userspec.c: Include "posixver.h".
62253         (parse_user_spec): Accept `.' as a separator only
62254         in pre-POSIX-200112 mode.
62255         * lib/strtoimax.c: Use #elif rather than #else #if.
62256         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
62257         Remove function, now that we can rely on a working tzset function.
62258         [!_LIBC]: Ensure that the required autoconf test has been run.
62259         [!defined _NL_CURRENT && HAVE_STRFTIME]:
62260         Use underlying_strftime for %r.
62261         * lib/sha.c: Merge in some clean-up and optimization changes from
62262         glibc.
62263         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
62264         Ensure that it is a multiple of 64.
62265         Rearrange loop exit tests so as to avoid performing an
62266         additional fread after encountering an error or EOF.
62267         * lib/realloc.c: Update copyright date.
62268
62269 2003-08-15  Jim Meyering  <jim@meyering.net>
62270         and Paul Eggert  <eggert@twinsun.com>
62271
62272         Merge from coreutils.
62273         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
62274         member but strut utmpx does not.  Needed for AIX 4.3.3.
62275         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
62276
62277 2003-08-15  Jim Meyering  <jim@meyering.net>
62278         and Paul Eggert  <eggert@cs.ucla.edu>
62279
62280         Merges from coreutils, etc.
62281         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
62282         Require gl_FUNC_TZSET_CLOBBER.
62283         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
62284         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
62285         members.
62286
62287 2003-08-14  Paul Eggert  <eggert@twinsun.com>
62288
62289         Help the merge from coreutils.
62290         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
62291         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
62292         * m4/tzset.m4: Use it too.
62293
62294 2003-08-14  Paul Eggert  <eggert@twinsun.com>
62295
62296         * modules/tzset: New file.
62297
62298 2003-08-14  Jim Meyering  <jim@meyering.net>
62299
62300         Merges from coreutils.
62301         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
62302         variable names, rather than @FNMATCH_H@.
62303         * modules/alloca: Likewise for $(ALLOCA_H).
62304
62305         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
62306         the three copies of the literal target, `fnmatch.h'.
62307         * modules/alloca (alloca.h): Likewise.
62308
62309 2003-08-14  Jim Meyering  <jim@meyering.net>
62310
62311         Merge from coreutils.
62312         * m4/tzset.m4: New file.
62313         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
62314         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
62315         otherwise, AIX 5.1 systems would end up using the latter.
62316         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
62317         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
62318         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
62319         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
62320
62321 2003-08-14  Jim Meyering  <jim@meyering.net>
62322
62323         Merge from coreutils.
62324         * lib/obstack.h: Whitespace changes.
62325         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
62326         and xcalloc return values.
62327         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
62328         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
62329         hang on OSF/1 5.1 for DIR on both local and remote file systems.
62330         Reported by (and fix confirmed by) Nelson H. F. Beebe.
62331         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
62332         error from mntctl.
62333         Use mntctl's return value to drive the entry-processing loop, since
62334         we can't rely on the value of the vmt_length member in the last
62335         entry.  On some systems doing so could result in exhausting
62336         virtual memory.  Based in part on a patch from Mike Jetzer.
62337
62338 2003-08-14  Jim Meyering  <jim@meyering.net>
62339         and Paul Eggert  <eggert@twinsun.com>
62340
62341         Merges from coreutils, plus other fixes.
62342         * lib/physmem.c: Merge in portability changes from gcc/libiberty
62343         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
62344         for credits and details.  Thanks to Kaveh Ghazi for helping
62345         to keep these files in sync.
62346         (ARRAY_SIZE): Define it.
62347         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
62348         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
62349         (memcasecmp): Don't assume size_t fits in unsigned int.
62350         Remove casts and duplicate code.
62351         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
62352         (memcpy): Remove definition.
62353         Merge in some clean-up and optimization changes from glibc.
62354         [BLOCKSIZE]: Move definition to top of file.
62355         Ensure that it is a multiple of 64.
62356         Rearrange loop exit tests so as to avoid performing an
62357         additional fread after encountering an error or EOF.
62358         * lib/md5.h (md5_uintptr): Define.
62359         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
62360         return to the initial working directory.  Preserve errno
62361         for caller.
62362         * lib/idcache.c: Include "xalloc.h".
62363         (xmalloc, xrealloc): Remove decls.
62364         (getuser): Remove casts no longer required in C89.
62365         * lib/human.c: Include stdio.h, for sprintf.
62366         * lib/group-member.c: Include "xalloc.h".
62367         (xmalloc, xrealloc): Remove decls.
62368         (get_group_info): Remove casts no longer required in C89.
62369         * lib/getusershell.c (readname): Remove casts no longer required in
62370         C89.
62371         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
62372         * lib/getline.c: Whitespace fix, from coreutils.
62373
62374 2003-08-13  Paul Eggert  <eggert@twinsun.com>
62375
62376         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
62377         Check for isascii.
62378
62379         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
62380         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
62381         Undo previous (whitespace-only) change.
62382
62383 2003-08-13  Paul Eggert  <eggert@twinsun.com>
62384
62385         * lib/exclude.c: Include <ctype.h>
62386         (IN_CTYPE_DOMAIN): New macro.
62387         (is_space): New fn.
62388         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
62389         and empty lines.
62390
62391         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
62392         Undo previous (whitespace-only) change.
62393
62394 2003-08-13  Paul Eggert  <eggert@twinsun.com>
62395
62396         * config/srclist-update: Change update back to the old behavior,
62397         leaving whitespace alone.  Use one 'sed' command rather than a
62398         pipeline.
62399         (fixlicense): Now a variable, not a function.
62400         (remove_trailing_blanks): Remove.
62401         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
62402         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
62403         Undo previous (whitespace-only) change.
62404
62405 2003-08-12  Paul Eggert  <eggert@twinsun.com>
62406
62407         Merge from coreutils.
62408         * modules/euidaccess: Add lib_SOURCES, include for new
62409         file euidaccess.h
62410
62411 2003-08-12  Paul Eggert  <eggert@twinsun.com>
62412
62413         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
62414         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
62415         Normalize leading white space and remove trailing white space.
62416
62417         Merge from coreutils
62418         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
62419
62420         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
62421         0.12.1.  These files are now being upgraded automatically by
62422         ../config/srclist-update.
62423
62424 2003-08-12  Paul Eggert  <eggert@twinsun.com>
62425
62426         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
62427         Normalize leading white space and remove trailing white space.
62428         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
62429         notice, as per ../config/srclist-update.
62430
62431         Merge from coreutils.
62432         * lib/euidaccess.h: New file.
62433         * lib/euidaccess.c: Include it.
62434         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
62435         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
62436         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
62437
62438 2003-08-12  Paul Eggert  <eggert@twinsun.com>
62439
62440         * config/srclist-update: Add copyright notice.
62441         (remove_id_lines, remove_trailing_blanks): New constants.
62442         (fixfile): Use them to normalize spacing a bit in copied files.
62443         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
62444         Normalize leading white space and remove trailing white space.
62445
62446         * config/texinfo.tex: Sync with texinfo.
62447
62448         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
62449         strtoul.c from libc, to merge coreutils whitespace changes.
62450
62451         * config/srclist.txt: Get the following m4 files from gettext:
62452         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
62453         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
62454         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
62455         wint_t.m4.
62456
62457 2003-08-12  Karl Berry  <karl@gnu.org>
62458
62459         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
62460         been made.
62461
62462 2003-08-11  Paul Eggert  <eggert@twinsun.com>
62463
62464         * modules/gnu-source, m4/gnu-source.m4:
62465         Remove; we're assuming Autoconf 2.54 or later now.
62466         Suggested by Bruno Haible.
62467         * MODULES.html.sh (func_all_modules): Remove gnu-source.
62468
62469 2003-08-11  Bruno Haible  <bruno@clisp.org>
62470
62471         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
62472
62473 2003-08-11  Bruno Haible  <bruno@clisp.org>
62474
62475         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
62476         (vasnprintf): Use it instead of wcslen.
62477
62478 2003-08-11  Bruno Haible  <bruno@clisp.org>
62479
62480         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
62481         value to ensure that _Bool promotes to int. Use #define for _Bool when
62482         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
62483
62484 2003-08-10  Karl Berry  <karl@gnu.org>
62485
62486         * lib/regex.h: update from libc (whitespace fix).
62487
62488 2003-08-09  Paul Eggert  <eggert@twinsun.com>
62489
62490         Merge some files from coreutils.  These changes were
62491         originally made by Jim Meyering.
62492         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
62493         many older Unixes require this.
62494         * lib/alloca.c (alloca): Remove cast to argument of free;
62495         no longer needed in C89.
62496         * lib/alloca_.h, regex.h: Fix white space to match
62497         what GNU indent does.
62498
62499 2003-08-09  Paul Eggert  <eggert@twinsun.com>
62500
62501         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
62502         apparently Emacs's Unicode mode got confused before my 2003-08-05
62503         checkin.
62504
62505 2003-08-08  Paul Eggert  <eggert@twinsun.com>
62506
62507         * m4/extensions.m4: New file.
62508         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
62509         Require gl_USE_SYSTEM_EXTENSIONS.
62510         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
62511         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
62512
62513 2003-08-08  Paul Eggert  <eggert@twinsun.com>
62514
62515         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
62516         * modules/extensions, modules/gnu-source: New files.
62517         * modules/timespec, modules/unlocked-io: Depend on extensions.
62518
62519 2003-08-07  Paul Eggert  <eggert@twinsun.com>
62520
62521         * modules/restrict: New file.
62522         * MODULES.html.sh (func_all_modules): Add restrict.
62523         * modules/regex: Depend on restrict.
62524
62525 2003-08-07  Paul Eggert  <eggert@twinsun.com>
62526
62527         * m4/restrict.m4: New file.
62528         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
62529
62530 2003-08-07  Bruno Haible  <bruno@clisp.org>
62531
62532         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
62533         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
62534
62535 2003-08-07  Bruno Haible  <bruno@clisp.org>
62536
62537         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
62538         makes the module 'getndelim2' compatible with the module 'getline'.
62539
62540 2003-08-05  Paul Eggert  <eggert@twinsun.com>
62541
62542         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
62543         byte with "\201" to avoid glitches when editing that source file
62544         with multi-gnome-terminal.
62545
62546 2003-08-05  Paul Eggert  <eggert@twinsun.com>
62547
62548         * lib/bumpalloc.h: Remove.
62549
62550 2003-08-05  Paul Eggert  <eggert@twinsun.com>
62551
62552         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
62553         * modules/bumpalloc: Remove.
62554
62555 2003-08-04  Paul Eggert  <eggert@twinsun.com>
62556
62557         * lib/getloadavg.c: Change copyright notice and spacing to conform to
62558         GNU coding style.
62559
62560         Merge from coreutils.
62561         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
62562         1. From glibc.
62563         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
62564         from Karl Berry, implemented by Jim Meyering.
62565         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
62566         from Dmitry V. Levin.
62567         Remove anachronistic cast of xrealloc.
62568         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
62569         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
62570         type. Otherwise, it wouldn't compile with at least /bin/cc on
62571         ymp-cray-unicos9.0.2.X.
62572         Combine two mostly-identical uses of alloca into one.
62573         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
62574
62575 2003-08-04  Dave Love  <d.love@dl.ac.uk>
62576
62577         [From Emacs.]
62578
62579         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
62580         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
62581         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
62582         obsolete NLIST_NAME_UNION.
62583         [__GNU__]: Undef BSD and FSCALE.
62584         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
62585
62586 2003-08-03  Paul Eggert  <eggert@twinsun.com>
62587
62588         * lib/stdbool_.h (_Bool): Make it signed char, instead of
62589         an enum type, so that it's guaranteed to promote to int.  See:
62590         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
62591
62592 2003-08-03  Karl Berry  <karl@gnu.org>
62593
62594         * config/depcomp: update from automake.
62595
62596 2003-07-31  Paul Eggert  <eggert@twinsun.com>
62597
62598         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
62599         (strerror): Don't assume that a printable int fits in 14 bytes.
62600
62601 2003-07-31  Bruno Haible  <bruno@clisp.org>
62602
62603         * modules/getpass-gnu: New file.
62604         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
62605
62606 2003-07-31  Bruno Haible  <bruno@clisp.org>
62607
62608         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
62609
62610 2003-07-24  Karl Berry  <karl@gnu.org>
62611
62612         * config/missing: update from automake.
62613
62614 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
62615             Bruno Haible  <bruno@clisp.org>
62616
62617         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
62618         * lib/getline.c (getline, getdelim): Likewise.
62619         Remove _GNU_SOURCE define; now it's defined in config.h through
62620         m4/getline.m4.
62621
62622 2003-07-23  Karl Berry  <karl@gnu.org>
62623
62624         * config/config.sub: update from prep.
62625
62626 2003-07-22  Paul Eggert  <eggert@twinsun.com>
62627
62628         * modules/xalloc (Depends-on): Add exitfail.
62629         * modules/xmemcoll: Likewise.
62630
62631 2003-07-22  Paul Eggert  <eggert@twinsun.com>
62632
62633         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
62634         over-parenthesization in macros.
62635
62636         Sync with coreutils.
62637
62638         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
62639         required by C99.
62640
62641         Use `exit_failure' for xalloc and xmemcoll instead of their own
62642         private exit-failure variables.
62643         * lib/xalloc.h (xalloc_exit_failure): Remove.
62644         * lib/xmalloc.c: Likewise.  Include exitfail.h.
62645         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
62646         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
62647         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
62648         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
62649
62650 2003-07-20  Jim Meyering  <jim@meyering.net>
62651
62652         * modules/closeout (Depends-on): Add exitfail.
62653         Suggestion from Bruno Haible.
62654
62655 2003-07-19  Karl Berry  <karl@gnu.org>
62656
62657         * config/config.sub: update from prep.
62658
62659 2003-07-18  Paul Eggert  <eggert@twinsun.com>
62660
62661         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
62662         Remove.
62663         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
62664         to test that it can stand by itself.  Include "exitfail.h".
62665         Clients should set exit_failure instead.
62666         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
62667
62668 2003-07-18  Bruno Haible  <bruno@clisp.org>
62669
62670         * modules/getndelim2: New file.
62671         * modules/getline: Share files with module getndelim2.
62672         * modules/getnline: Depend on getndelim2 instead of sharing files with
62673         it. Add getnline.c to lib_SOURCES.
62674         * MODULES.html.sh (func_all_modules): Add getndelim2.
62675
62676 2003-07-18  Bruno Haible  <bruno@clisp.org>
62677
62678         * m4/getndelim2.m4: New file.
62679         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
62680         invoke gl_PREREQ_GETNDELIM2.
62681         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
62682         gl_PREREQ_GETNDELIM2.
62683         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
62684         gl_GETNDELIM2.
62685
62686 2003-07-18  Bruno Haible  <bruno@clisp.org>
62687
62688         * lib/getndelim2.h: New file.
62689         * lib/getndelim2.c: Make into a module of its own. Include config.h,
62690         getndelim2.h.
62691         (getndelim2): Make non-static. Change return type to ssize_t.
62692         * lib/getline.h: Change argument names.
62693         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
62694         * lib/getnline.c: Include getndelim2.h.
62695
62696 2003-07-18  Andreas Schwab  <schwab@suse.de>
62697
62698         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
62699
62700 2003-07-17  Karl Berry  <karl@gnu.org>
62701
62702         * config/config.sub: update from prep.
62703
62704 2003-07-17  Bruno Haible  <bruno@clisp.org>
62705
62706         * modules/getnline: New file.
62707         * modules/getline: Add lib/getndelim2.c to source file list.
62708         * MODULES.html.sh (func_all_modules): Add getnline.
62709
62710 2003-07-17  Bruno Haible  <bruno@clisp.org>
62711
62712         * m4/getnline.m4: New file.
62713
62714 2003-07-17  Bruno Haible  <bruno@clisp.org>
62715
62716         * m4/Makefile.am.in: Remove file.
62717         * m4/Makefile.am: Remove file.
62718         * m4/Makefile.in: Remove file.
62719
62720 2003-07-17  Bruno Haible  <bruno@clisp.org>
62721
62722         * lib/getnline.h: New file.
62723         * lib/getnline.c: New file.
62724         * lib/getndelim2.c: New file, extracted from getline.c.
62725         (getndelim2): Renamed from getdelim2, with added nmax argument.
62726         * lib/getline.c: Include getndelim2.c.
62727         (getdelim2): Moved out to getndelim2.c.
62728         (getline, getdelim): Update.
62729
62730 2003-07-17  Bruno Haible  <bruno@clisp.org>
62731
62732         * lib/Makefile.am: Remove file.
62733         * lib/Makefile.in: Remove file.
62734
62735 2003-07-17  Bruno Haible  <bruno@clisp.org>
62736
62737         * configure.in: Remove file.
62738         * Makefile.in: Remove file.
62739
62740 2003-07-17  Bruno Haible  <bruno@clisp.org>
62741
62742         * MODULES.html.sh: Put the </BODY> right before </HTML>.
62743
62744 2003-07-16  Karl Berry  <karl@gnu.org>
62745
62746         * config/srclist-update: was running fixlicense twice, which caused
62747                 texinfo.tex to be nullified for some reason.  Simplify,
62748                 $gplsrc is no longer needed as far as I can see?
62749
62750 2003-07-16  Jim Meyering  <jim@meyering.net>
62751
62752         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
62753
62754 2003-07-15  Paul Eggert  <eggert@twinsun.com>
62755
62756         * config/srclist.txt: Get the following files from gettext-runtime/intl
62757         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
62758         ref-del.sin.  From Bruno Haible.
62759         * config/srclist-update (fixfile): Change grep pattern again, since the
62760         previous fix didn't work (there was another trailing $).  Use
62761         '[$]' to escape the $s.
62762
62763 2003-07-15  Karl Berry  <karl@gnu.org>
62764
62765         * lib/vasnprintf.c: update from gettext.
62766
62767 2003-07-15  Karl Berry  <karl@gnu.org>
62768
62769         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
62770         gets expanded when surrounded by '$'.
62771
62772 2003-07-15  Jim Meyering  <jim@meyering.net>
62773
62774         * modules/save-cwd: Don't depend on error.  From Derek Price.
62775
62776 2003-07-15  Jim Meyering  <jim@meyering.net>
62777
62778         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
62779
62780 2003-07-14  Simon Josefsson  <jas@extundo.com>
62781
62782         * modules/mempcpy: New file.
62783         * MODULES.html.sh (func_all_modules): Add mempcpy.
62784
62785 2003-07-14  Simon Josefsson  <jas@extundo.com>
62786
62787         * m4/mempcpy.m4: New file.
62788
62789 2003-07-14  Simon Josefsson  <jas@extundo.com>
62790
62791         * lib/mempcpy.h: New file.
62792         * lib/mempcpy.c: New file.
62793
62794 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62795
62796         * modules/getdate, modules/posixtm: Depend on mktime.
62797
62798 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62799
62800         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
62801         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
62802         unicodeio.c, unicodeio.h, unlocked-io.h:
62803         Switch from LGPL to GPL.
62804
62805 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62806
62807         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
62808         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
62809         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
62810         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
62811         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
62812         updated automatically by ../config/srclist-update.  This changes
62813         their license from LPGL to GPL.
62814
62815 2003-07-14  Paul Eggert  <eggert@twinsun.com>
62816
62817         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
62818         assumed to refer to the root of the most recent stable gettext version.
62819         * config/srclistvars.sh: Add defaults for eggert.
62820         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
62821         Match "This program" as well as "The program".  This is needed
62822         for gettext.
62823
62824 2003-07-14  Jim Meyering  <jim@meyering.net>
62825
62826         Don't emit diagnostics.  Let callers do that.
62827         * lib/save-cwd.c: Don't include "error.h".
62828         (save_cwd): Don't call error.  Ensure that errno is valid
62829         when returning nonzero.
62830
62831         * lib/save-cwd.h (restore_cwd): Update prototype.
62832         * lib/save-cwd.c (restore_cwd): Remove two parameters.
62833         Simplify.  Don't call error upon failure.  Let callers do that.
62834         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
62835         when auditing is enabled.  But don't bother updating the #if.
62836
62837 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
62838
62839         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
62840         it breaks C++ compilation.
62841         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
62842
62843 2003-07-10  Simon Josefsson  <jas@extundo.com>
62844
62845         * modules/strchrnul (Makefile.am): Add strchrnul.h.
62846
62847 2003-07-10  Jim Meyering  <jim@meyering.net>
62848
62849         * m4/clock_time.m4: Remove trailing blank.
62850         * m4/intmax_t.m4: Likewise.
62851
62852 2003-07-10  Jim Meyering  <jim@meyering.net>
62853
62854         * lib/vasnprintf.c: Remove trailing blanks.
62855         Make cpp indentation consistent.
62856
62857 2003-07-09  Paul Eggert  <eggert@twinsun.com>
62858
62859         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
62860         posixver.c, strftime.c, strnlen.c, strverscmp.c:
62861         Switch from LGPL to GPL.
62862
62863 2003-07-09  Paul Eggert  <eggert@twinsun.com>
62864
62865         * config/srclist.txt: Sort sublists.  Add
62866         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
62867         that differ from gnulib for one reason or another; we'd like this list
62868         to be smaller but for now let's document what we have.
62869
62870 2003-07-08  Paul Eggert  <eggert@twinsun.com>
62871
62872         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
62873         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
62874         and sweeter "eval x=$x".
62875         * config/srclist.txt: Get lib/argp* from glibc.
62876
62877 2003-07-07  Paul Eggert  <eggert@twinsun.com>
62878
62879         * lib/mktime.c: Fix some boundary cases and remove need for floating
62880         point.
62881
62882         Issue a compile-time diagnostic if time_t is floating point, or if
62883         two's complement arithmetic is not in effect, or if arithmetic
62884         right shift does not propagate the sign.  These assumptions were
62885         all in the original code but they weren't checked.
62886
62887         (TIME_T_MIDPOINT, verify): New macros.
62888         (__isleap): Remove; it has integer overflow problems.
62889         (leapyear): New function, without those problems.
62890         (ydhms_tm_diff): Remove; splitting into two parts.
62891         (ydhms_diff): New function, containing the arithmetic part of
62892         the old ydhms_tm_diff function.  Issue a compile-time
62893         diagnostic if we are not using C99 integer division.
62894         Avoid casts when possible.
62895         (guess_time_tm): New function, containing the checking part of
62896         the old ydhms_tm_diff function.  Return the new value, rather than
62897         the difference between it and the old.  Accept a new argument T
62898         so that *T specifies the old value.  Check for overflow in the result.
62899
62900         (__mktime_internal): Use a time_t offset, not a long int offset.
62901         This undoes the 2003-06-04 change, which is no longer needed now
62902         that we have better overflow checking.
62903         (localtime_offset): Likewise.
62904
62905         (__mktime_internal): Avoid harmful overflow on hosts where time_t
62906         and long are 64-bit but int is only 32-bit.
62907         (ydhms_diff): Use long int to store year1 and yday1.
62908         Issue a compile-time diagnostic if long int is not wide enough.
62909
62910         (__mktime_internal): Use long int to store adjusted year and yday.
62911         Use plain C rather than preprocessor commands, if that doesn't
62912         affect efficiency.
62913         Check for overflow (and try to repair) after each probe
62914         rather than checking only at the very end.  This avoids some bugs
62915         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
62916         does not equal GMT offset at maximum time).
62917         Use integer to check for overflow rather than floating point; this
62918         is more portable to non-IEEE hosts, and is a tad faster.
62919         When we detect that we are oscillating between two values,
62920         don't check whether tm_isdst has the requested value, since
62921         we already know the answer.  When tm_isdst has the wrong value,
62922         use a different heuristic to find the right one, based on the
62923         extreme values actually observed in practice in tz2003a,
62924         rather than the (overly optimistic) "previous 3 calendar quarters".
62925
62926         (not_equal_tm, print_tm, check_result): Use "const T" rather than
62927         "T const" to accommodate glibc style.
62928         (check_result): Use less-confusing report format.  "long" -> "long int.
62929         (main): Likewise.
62930         Don't loop if the iteration overflows time_t.
62931         Allow a negative step in the iteration.
62932
62933 2003-07-06  Karl Berry  <karl@gnu.org>
62934
62935         * config/depcomp: update from automake.
62936         * config/config.sub: update from prep.
62937
62938 2003-07-03  Karl Berry  <karl@gnu.org>
62939
62940         * config/config.guess: update from prep.
62941
62942 2003-07-01  Paul Eggert  <eggert@twinsun.com>
62943
62944         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
62945         xreadlink.c now includes it unconditionally.
62946
62947 2003-07-01  Paul Eggert  <eggert@twinsun.com>
62948
62949         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
62950         having it depend on HAVE_SYS_TYPES_H.
62951
62952 2003-07-01  Bruno Haible  <bruno@clisp.org>
62953
62954         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
62955         <sys/types.h> should be sufficient.
62956         Reported by Paul Eggert.
62957
62958 2003-06-26  Karl Berry  <karl@gnu.org>
62959
62960         * config/depcomp: update from automake.
62961
62962 2003-06-26  Bruno Haible  <bruno@clisp.org>
62963
62964         * modules/human: Depend on module stdbool.
62965
62966 2003-06-25  Bruno Haible  <bruno@clisp.org>
62967
62968         * modules/readlink: New file.
62969         * modules/xreadlink: Depend on it.
62970         * MODULES.html.sh (func_all_modules): Add readlink.
62971
62972 2003-06-25  Bruno Haible  <bruno@clisp.org>
62973
62974         * m4/readlink.m4: New file.
62975
62976 2003-06-25  Bruno Haible  <bruno@clisp.org>
62977
62978         * lib/readlink.c: New file.
62979
62980 2003-06-22  Karl Berry  <karl@gnu.org>
62981
62982         * config/srclist.txt: update mkinstalldirs from automake.
62983         * config/mkinstalldirs: update.
62984
62985 2003-06-22  Bruno Haible  <bruno@clisp.org>
62986
62987         Portability to mingw32.
62988         * m4/ssize_t.m4: New file, from GNU gettext.
62989         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
62990         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
62991
62992 2003-06-22  Bruno Haible  <bruno@clisp.org>
62993
62994         * modules/safe-read: Add m4/ssize_t.m4.
62995         * modules/xreadlink: Add m4/ssize_t.m4.
62996
62997 2003-06-20  Bruno Haible  <bruno@clisp.org>
62998
62999         Assume C89, so PARAMS isn't needed.
63000         * lib/unicodeio.h (PARAMS): Remove.
63001         * lib/unicodeio.c: Don't use PARAMS.
63002
63003 2003-06-18  Karl Berry  <karl@gnu.org>
63004
63005         * config/config.{guess,sub}: update from prep.
63006
63007 2003-06-18  Jim Meyering  <jim@meyering.net>
63008
63009         Merge changes from coreutils.
63010         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
63011         Remove explicit declarations of xmalloc and realloc.
63012         Include xalloc.h.
63013         (read_utmp): Remove anachronistic cast of xmalloc.
63014
63015 2003-06-17  Paul Eggert  <eggert@twinsun.com>
63016
63017         Assume C89, so PARAMS isn't needed.
63018         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
63019         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
63020         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
63021         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
63022         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
63023         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
63024         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
63025         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
63026         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
63027         lib/xstrtod.h, lib/xstrtol.h: Likewise.
63028         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
63029         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
63030         no longer needed. Anyway, config.h should always be included before any
63031         other file.
63032
63033 2003-06-11  Simon Josefsson  <jas@extundo.com>
63034
63035         * modules/sysexits: New file.
63036         * MODULES.html.sh (func_all_modules): Add sysexits.
63037
63038 2003-06-11  Simon Josefsson  <jas@extundo.com>
63039
63040         * lib/sysexit_.h: New file.
63041
63042 2003-06-11  Derek Price  <derek@ximbiot.com>
63043
63044         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
63045         necessary.
63046
63047 2003-06-11  Bruno Haible  <bruno@clisp.org>
63048
63049         * m4/sysexits.m4: New file.
63050
63051 2003-06-10  Simon Josefsson  <jas@extundo.com>
63052
63053         * lib/argp.h: New file, from glibc.
63054         * lib/argp-ba.c: New file, from glibc.
63055         * lib/argp-eexst.c: New file, from glibc.
63056         * lib/argp-fmtstream.c: New file, from glibc.
63057         * lib/argp-fmtstream.h: New file, from glibc.
63058         * lib/argp-fs-xinl.c: New file, from glibc.
63059         * lib/argp-help.c: New file, from glibc.
63060         * lib/argp-namefrob.h: New file, from glibc.
63061         * lib/argp-parse.c: New file, from glibc.
63062         * lib/argp-pv.c: New file, from glibc.
63063         * lib/argp-pvh.c: New file, from glibc.
63064         * lib/argp-xinl.c: New file, from glibc.
63065
63066 2003-06-10  Simon Josefsson  <jas@extundo.com>
63067
63068         * modules/strchrnul: New file.
63069
63070 2003-06-10  Simon Josefsson  <jas@extundo.com>
63071
63072         * modules/argp: New file.
63073
63074 2003-06-10  Simon Josefsson  <jas@extundo.com>
63075
63076         * m4/strchrnul.m4: New file.
63077
63078 2003-06-10  Simon Josefsson  <jas@extundo.com>
63079
63080         * lib/strchrnul.h: New file.
63081         * lib/strchrnul.c: New file.
63082
63083 2003-06-10  Bruno Haible  <bruno@clisp.org>
63084
63085         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
63086
63087 2003-06-07  Karl Berry  <karl@gnu.org>
63088
63089         * config/config.{guess,sub}: update from prep.
63090
63091 2003-06-07  Jim Meyering  <jim@meyering.net>
63092
63093         * modules/strtod: Use $(...) notation, not @...@ for
63094         AC_REPLACE'd variables.
63095         * modules/localcharset: Likewise.
63096
63097 2003-06-07  Jim Meyering  <jim@meyering.net>
63098
63099         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
63100         in place of my name in the copyright comment.
63101         Remove definition and uses of __P.
63102
63103         From coreutils.
63104         * lib/stat.c: Don't declare xmalloc explicitly.
63105         Instead, include "xalloc.h".
63106         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
63107         xrealloc, and xcalloc return values.
63108         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
63109         Improve comment.
63110         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
63111
63112 2003-06-07  Bruno Haible  <bruno@clisp.org>
63113
63114         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
63115         avoid AC_CONFIG_LINKS.
63116         * modules/fnmatch (Makefile.am): Use explicit creation rule for
63117         fnmatch.h, to avoid AC_CONFIG_LINKS.
63118         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
63119
63120 2003-06-07  Bruno Haible  <bruno@clisp.org>
63121
63122         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
63123         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
63124         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
63125         directory.
63126         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
63127         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
63128         directory.
63129
63130 2003-06-06  Jim Meyering  <jim@meyering.net>
63131
63132         Merge from coreutils.
63133         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
63134         Consolidate declarations and initializations of *_base* locals.
63135
63136         Merge from coreutils.
63137         This avoids a core dump on systems without GNU putenv,
63138         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
63139         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
63140         (unsetenv): New static function, from GNU libc.
63141         (rpl_putenv): Use it.
63142
63143         * lib/modechange.c: Remove trailing blanks.
63144
63145         Merge from coreutils.
63146         * lib/fsusage.c: Remove declaration of statfs.
63147         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
63148
63149         * lib/posixtm.c: Include <stdbool.h> unconditionally.
63150
63151 2003-06-06  Jim Meyering  <jim@meyering.net>
63152
63153         * lib/stdbool_.h: Renamed from stdbool.h.in.
63154
63155 2003-06-06  Jim Meyering  <jim@meyering.net>
63156             Bruno Haible  <bruno@clisp.org>
63157
63158         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
63159         Adjust Makefile.am snippet not to redirect directly to target.
63160         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
63161
63162 2003-06-05  Paul Eggert  <eggert@twinsun.com>
63163
63164         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
63165         mismatch, look in future quarters as well as past.  This fixes a
63166         bug when processing fall-backwards gaps immediately after a long
63167         period of daylight-saving time.
63168
63169         * lib/mktime.c: Assume freestanding C89 or better.
63170         (HAVE_LIMITS_H): Remove.  Assume it's 1.
63171         (__P): Remove; not used.
63172         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
63173         (mktime, not_equal_tm, print_tm, check_result,
63174         main): Use prototypes.  Use const * where appropriate.
63175         (main): Fix typo in testing code that uncovered by above changes.
63176         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
63177
63178 2003-06-04  Paul Eggert  <eggert@twinsun.com>
63179
63180         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
63181         locale.h, localeconv.  This merges changes from coreutils.
63182
63183         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
63184         It can be removed after the next Autoconf is released.
63185         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
63186         needed.
63187
63188 2003-06-04  Paul Eggert  <eggert@twinsun.com>
63189
63190         * lib/mktime.c: Fix Debian bug 177940
63191         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
63192         (localtime_offset): Now long int, not time_t, because we want it
63193         to be guaranteed to be signed.  All uses changed.
63194         (__mktime_internal): If overflow would occur when adding offset,
63195         don't add it.
63196
63197         Merge 'human' changes from coreutils.  Rewrite to support
63198         locale-specific notations like thousands separators.
63199         * lib/human.c: Simplify authorship notice.
63200         Include human.h immediately after config.h.
63201         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
63202         <limits.h>: Do not include, since human.h does.
63203         (SIZE_MAX, UINTMAX_MAX): New macros.
63204         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
63205         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
63206         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
63207         (power_letter): Renamed from suffixes.
63208         (generate_suffix_backwards): Remove.
63209         (adjust_value): Now takes int style (because of human.h changes)
63210         and long double value (for greater precision on some platforms).
63211         (group_number): New function.
63212         (human_readable): Use it.  Use integer options, not enum.
63213         Put the options before the sizes in the arg list.
63214         Support all the new options.
63215         The old human_readable function has been removed;
63216         use inttostr.h instead.
63217         (human_readable, default_block_size, humblock):
63218         Use uintmax_t, not int, for block sizes.
63219         (human_readable_inexact, block_size_types): Remove.
63220         (block_size_opts): New constant.
63221         (human_options): Renamed from human_block_size, with new signature
63222         that allows block sizes up to UINTMAX_MAX.  All callers changed.
63223         * lib/human.h: Add copyright and authorship notice.
63224         Include <limits.h> and <stdbool.h> unconditionally.
63225         (PARAMS): Remove.  All uses removed.
63226         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
63227         (enum human_inexact_style): Remove tag; now a nameless enum.
63228         (human_floor, human_ceiling, human_round_to_even): Now have
63229         values 2, 0, 1 rather than -1, 1, 0.
63230         (human_group_digits, human_suppress_point_zero, human_autoscale,
63231         human_base_1024, human_SI, human_B): New constants.
63232         (human_readable_inexact, human_block_size): Remove.
63233         (human_readable): Size args are now uintmax_t, not int.
63234         (human_options): New decl.
63235
63236         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
63237         unnecessary now that we assume C89 or better.  This change
63238         imported from coreutils.
63239
63240         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
63241         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
63242         in the 2003-05-30 sync from glibc.
63243
63244         .h files should stand alone, but we shouldn't include <sys/types.h>
63245         if we can get away with just <stddef.h>.
63246
63247         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
63248         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
63249         rather than <sys/types.h>, as we merely need size_t.
63250         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
63251         to get size_t.
63252         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
63253         Include <stdio.h>, to get FILE.
63254         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
63255         memcasecmp.h has included <stddef.h> and all we need is size_t.
63256         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
63257         our interface, instead of including <sys/types.h>
63258
63259 2003-06-04  Paul Eggert  <eggert@twinsun.com>
63260
63261         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
63262         now, as glibc mktime is buggy on non-glibc systems.
63263
63264 2003-06-03  Karl Berry  <karl@gnu.org>
63265
63266         * config/config.sub: update from prep.
63267
63268 2003-06-02  Paul Eggert  <eggert@twinsun.com>
63269
63270         [from coreutils]
63271         Fix some minor time-related bugs with POSIX time arguments.
63272         Some valid time stamps were being rejected (notably -1, and
63273         time stamps before 1900 on 64-bit hosts).  And some invalid
63274         time stamps were being accepted, e.g. September 31.
63275
63276         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
63277         that we can return (time_t) -1 successfully.
63278         * lib/posixtm.c: Likewise.
63279         [HAVE_STDBOOL_H]: Include <stdbool.h>.
63280         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
63281         (t): Remove static var.
63282         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
63283         of static var.  All uses changed.
63284         (year): Do not reject years before 1900; they can occur with
63285         64-bit time_t.
63286         (posix_time_parse): Do not check for out-of-range components;
63287         that is now the caller's responsibility, since our checks were
63288         only approximations.
63289         (posixtime): Use mktime to check for out-of-range components,
63290         since it knows them exactly.
63291         If mktime returns (time_t) -1, check whether an error actually occurred
63292         by invoking localtime on -1.
63293         (main) [TEST_POSIXTIME]: Check for input data errors, and report
63294         posixtime failures better.
63295         Improve the test data (in comments only).
63296
63297 2003-06-02  Karl Berry  <karl@gnu.org>
63298
63299         * config/mkinstalldirs (version): new variable.
63300         (--version): new option.
63301         (usage): improve message.
63302
63303 2003-05-30  Karl Berry  <karl@gnu.org>
63304
63305         * lib/mktime.c: update from libc.
63306
63307 2003-05-30  Bruno Haible  <bruno@clisp.org>
63308
63309         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
63310         * config/config.rpath: Upgrade to gettext-0.12.1.
63311
63312 2003-05-30  Bruno Haible  <bruno@clisp.org>
63313
63314         * m4/gettext.m4: Upgrade to gettext-0.12.1.
63315         * m4/nls.m4: New file, from gettext-0.12.1.
63316         * m4/po.m4: New file, from gettext-0.12.1.
63317         * m4/progtest.m4: Upgrade to gettext-0.12.1.
63318
63319 2003-05-30  Bruno Haible  <bruno@clisp.org>
63320
63321         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
63322         * lib/localcharset.h: Likewise.
63323         * lib/localcharset.c: Likewise.
63324
63325 2003-05-29  Karl Berry  <karl@gnu.org>
63326
63327         * config/config.rpath: update from gettext.
63328
63329 2003-05-28  Paul Eggert  <eggert@twinsun.com>
63330
63331         Assume the headers required for C89 freestanding compilers.
63332         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
63333         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
63334         * m4/human.m4 (gl_HUMAN): Likewise.
63335         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
63336         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
63337         * m4/userspec.m4 (gl_USERSPEC): Likewise.
63338         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
63339         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
63340         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
63341
63342 2003-05-28  Paul Eggert  <eggert@twinsun.com>
63343
63344         Assume the headers required for C89 freestanding compilers.
63345         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
63346         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
63347         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
63348         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
63349         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
63350         define, since <limits.h> is guaranteed to do that.
63351         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
63352         * lib/exclude.c: Include <stdbool.h> unconditionally.
63353         * lib/tempname.c: Include <stddef.h> unconditionally.
63354         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
63355         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
63356         <stddef.h> does that.
63357         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
63358         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
63359         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
63360         needed.
63361         * lib/xstrtol.c: Likewise.
63362         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
63363         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
63364
63365         * lib/addext.c (addext): Use assignment rather than cast, to avoid
63366         warnings on some platforms.
63367
63368         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
63369         arbitrarily.
63370
63371 2003-05-26  Jim Meyering  <jim@meyering.net>
63372
63373         Merge in a change from coreutils:
63374         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
63375         that is guaranteed to be `no'.  Use `no_such_member' to indicate
63376         that condition, rather than `-1' which is slightly misleading.
63377         Change the name of the cache variable to have the gl_ prefix.
63378         Prompted by a patch from Richard Dawe for DJGPP.
63379
63380 2003-05-24  Karl Berry  <karl@gnu.org>
63381
63382         * config/config.guess: update from prep.
63383
63384 2003-05-22  Karl Berry  <karl@gnu.org>
63385
63386         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
63387
63388 2003-05-20  Karl Berry  <karl@gnu.org>
63389
63390         * config/config.guess: update from prep.
63391
63392 2003-05-18  Karl Berry  <karl@gnu.org>
63393
63394         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
63395         might actually be set by the user.
63396
63397         * config/depcomp, install-sh, mdate-sh: update from automake.
63398
63399 2003-05-17  Bruno Haible  <bruno@clisp.org>
63400
63401         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
63402         invalid expansion for AC_EGREP_CPP.
63403         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
63404         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
63405         Suggested by Akim Demaille <akim@epita.fr> in
63406         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
63407
63408 2003-05-12  Jim Meyering  <jim@meyering.net>
63409
63410         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
63411         the space-padded-by-default conversion specifiers, %e, %k, %l.
63412
63413 2003-05-12  Bruno Haible  <bruno@clisp.org>
63414
63415         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
63416         the string is longer than 4 KB.
63417
63418 2003-05-11  Karl Berry  <karl@gnu.org>
63419
63420         * config/config.{guess,sub}: update from prep.
63421
63422 2003-05-09  Bruno Haible  <bruno@clisp.org>
63423
63424         * modules/error: Add m4/strerror_r.m4 to file list.
63425
63426 2003-05-03  Bruno Haible  <bruno@clisp.org>
63427
63428         Upgrade to Unicode-4.0.
63429         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
63430         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
63431         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
63432         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
63433         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
63434         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
63435         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
63436         Change width of U+E0100..U+E01EF from 1 to 0.
63437
63438 2003-04-25  Jim Meyering  <jim@meyering.net>
63439
63440         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
63441         of type size_t, not int.
63442
63443 2003-04-25  Bruno Haible  <bruno@clisp.org>
63444
63445         * lib/copy-file.c: Include <stddef.h>, for size_t.
63446
63447 2003-04-21  Paul Eggert  <eggert@twinsun.com>
63448
63449         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
63450         code which expansion is under static control.  Patch imported from
63451         Akim Demaille's patch to Bison; see
63452         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
63453
63454 2003-04-14  Bruno Haible  <bruno@clisp.org>
63455
63456         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
63457
63458 2003-04-11  Jim Meyering  <jim@meyering.net>
63459
63460         Merge changes from Coreutils.
63461
63462         2003-03-22  Jim Meyering  <jim@meyering.net>
63463
63464         * lib/strftime.c (widen): Cast alloca return value to proper type.
63465
63466         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
63467
63468         From GNU libc.
63469         * lib/strftime.c (my_strftime): Handle very large width
63470         specifications for numeric values correctly.  Improve checks for
63471         overflow.
63472
63473         2003-01-19  Jim Meyering  <jim@meyering.net>
63474
63475         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
63476         definitions.
63477         (nl_get_alt_digit) [! defined my_strftime]: Define.
63478         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
63479         _nl_get_alt_digit and _nl_get_walt_digit.
63480
63481         * lib/strftime.c (my_strftime): Merge in locale-related changes from
63482         libc. These changes have no effect outside of _LIBC.
63483
63484 2003-04-10  Bruno Haible  <bruno@clisp.org>
63485
63486         * modules/findprog: New file.
63487         * MODULES.html.sh (func_all_modules): Add it.
63488
63489 2003-04-10  Bruno Haible  <bruno@clisp.org>
63490
63491         * m4/findprog.m4: New file.
63492         * m4/eaccess.m4: New file.
63493
63494 2003-04-10  Bruno Haible  <bruno@clisp.org>
63495
63496         * lib/findprog.h: New file, from GNU gettext.
63497         * lib/findprog.c: New file, from GNU gettext.
63498
63499 2003-04-05  Jim Meyering  <jim@meyering.net>
63500
63501         Merge changes from Coreutils.
63502
63503         * lib/exclude.h (PARAMS): Remove definition and uses.
63504         * lib/exclude.c: Remove uses of `PARAMS'.
63505
63506         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
63507         Add test-cases for DOS filenames. Declare program_name.
63508         (main): Set up program_name.  Patch by Rich Dawe.
63509
63510         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
63511         error from mntctl.
63512         Use mntctl's return value to drive the entry-processing loop, since
63513         we can't rely on the value of the vmt_length member in the last
63514         entry.  On some systems doing so could result in exhausting
63515         virtual memory.  Based in part on a patch from Mike Jetzer.
63516
63517 2003-04-04  Bruno Haible  <bruno@clisp.org>
63518
63519         * modules/linebreak: New file.
63520         * MODULES.html.sh (func_all_modules): Add it.
63521
63522 2003-04-04  Bruno Haible  <bruno@clisp.org>
63523
63524         * m4/linebreak.m4: New file.
63525
63526 2003-04-04  Bruno Haible  <bruno@clisp.org>
63527
63528         * lib/linebreak.h: New file, from GNU gettext.
63529         * lib/linebreak.c: New file, from GNU gettext with slight
63530         modifications.
63531         * lib/lbrkprop.h: New file, from GNU gettext.
63532
63533 2003-04-03  Bruno Haible  <bruno@clisp.org>
63534
63535         * modules/utf8-ucs4: New file.
63536         * modules/utf16-ucs4: New file.
63537         * modules/ucs4-utf8: New file.
63538         * modules/ucs4-utf16: New file.
63539         * MODULES.html.sh (func_all_modules): Add them.
63540
63541 2003-04-03  Bruno Haible  <bruno@clisp.org>
63542
63543         * m4/utf-ucs4.m4: New file.
63544         * m4/ucs4-utf.m4: New file.
63545
63546 2003-04-03  Bruno Haible  <bruno@clisp.org>
63547
63548         * lib/utf8-ucs4.h: New file, from GNU gettext.
63549         * lib/utf16-ucs4.h: New file, from GNU gettext.
63550         * lib/ucs4-utf8.h: New file, from GNU gettext.
63551         * lib/ucs4-utf16.h: New file, from GNU gettext.
63552
63553 2003-04-02  Bruno Haible  <bruno@clisp.org>
63554
63555         * modules/binary-io: New file.
63556         * MODULES.html.sh (func_all_modules): Add it.
63557
63558 2003-04-02  Bruno Haible  <bruno@clisp.org>
63559
63560         * lib/binary-io.h: New file, from GNU gettext.
63561
63562 2003-04-01  Bruno Haible  <bruno@clisp.org>
63563
63564         * modules/pathname: New file.
63565         * MODULES.html.sh (func_all_modules): Add it.
63566
63567 2003-04-01  Bruno Haible  <bruno@clisp.org>
63568
63569         * lib/pathname.h: New file, from GNU gettext.
63570         * lib/concatpath.c: New file, from GNU gettext.
63571
63572 2003-03-30  Bruno Haible  <bruno@clisp.org>
63573
63574         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
63575
63576 2003-03-30  Bruno Haible  <bruno@clisp.org>
63577
63578         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
63579         function chown() doesn't exist.
63580
63581 2003-03-28  Bruno Haible  <bruno@clisp.org>
63582
63583         * modules/copy-file: New file.
63584         * MODULES.html.sh (func_all_modules): Add it.
63585
63586 2003-03-28  Bruno Haible  <bruno@clisp.org>
63587
63588         * m4/copy-file.m4: New file.
63589
63590 2003-03-28  Bruno Haible  <bruno@clisp.org>
63591
63592         * lib/copy-file.h: New file, from GNU gettext.
63593         * lib/copy-file.c: New file, from GNU gettext.
63594
63595 2003-03-18  Jim Meyering  <jim@meyering.net>
63596
63597         * lib/quote.c (quote_n): Fix typo in comment.
63598
63599 2003-03-18  Bruno Haible  <bruno@clisp.org>
63600
63601         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
63602         checking.
63603         * m4/onceonly_2_57.m4: Likewise.
63604
63605 2003-03-17  Bruno Haible  <bruno@clisp.org>
63606
63607         * m4/onceonly.m4: Require autoconf 2.54 or newer.
63608         (m4_quote): Remove macro.
63609         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
63610
63611 2003-03-14  Jim Meyering  <jim@meyering.net>
63612
63613         Merge changes from Coreutils.
63614         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
63615         to be const, in order to avoid warnings.
63616         (obstack_room): Likewise.
63617         (obstack_empty_p): Likewise.
63618
63619 2003-03-14  Bruno Haible  <bruno@clisp.org>
63620
63621         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
63622         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
63623
63624 2003-03-13  Paul Eggert  <eggert@twinsun.com>
63625
63626         Merge changes from Bison.
63627         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
63628         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
63629         when compiling Bison 1.875's `bitset bset = obstack_alloc
63630         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
63631         * lib/hash.c: Include <stdbool.h> unconditionally.
63632
63633 2003-03-13  Paul Eggert  <eggert@twinsun.com>
63634
63635         * m4/onceonly.m4 (m4_quote): New macro.
63636         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
63637         Quote AC_FOREACH variable-expansions properly.
63638
63639 2003-03-13  Paul Eggert  <eggert@twinsun.com>
63640
63641         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
63642
63643 2003-03-09  Paul Eggert  <eggert@twinsun.com>
63644
63645         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
63646         Reported by Bruce Becker; see:
63647         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
63648
63649 2003-03-03  Paul Eggert  <eggert@twinsun.com>
63650             Bruno Haible  <bruno@clisp.org>
63651
63652         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
63653         Reported by John Hughes, see
63654         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
63655
63656 2003-02-20  Bruno Haible  <bruno@clisp.org>
63657
63658         * MODULES.html.sh (func_all_modules): Add poll.
63659
63660 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
63661
63662         * modules/poll: New file.
63663
63664 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
63665
63666         * lib/poll_.h: New file.
63667         * lib/poll.c: New file.
63668
63669 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
63670
63671         * m4/poll.m4: New file.
63672
63673 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
63674
63675         * modules/mathl: New file.
63676
63677 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
63678
63679         * lib/mathl.h: New file.
63680         * lib/acosl.c: New file.
63681         * lib/asinl.c: New file.
63682         * lib/atanl.c: New file.
63683         * lib/ceill.c: New file.
63684         * lib/cosl.c: New file.
63685         * lib/expl.c: New file.
63686         * lib/floorl.c: New file.
63687         * lib/frexpl.c: New file.
63688         * lib/ldexpl.c: New file.
63689         * lib/logl.c: New file.
63690         * lib/sincosl.c: New file.
63691         * lib/sinl.c: New file.
63692         * lib/sqrtl.c: New file.
63693         * lib/tanl.c: New file.
63694         * lib/trigl.c: New file.
63695         * lib/trigl.h: New file.
63696
63697 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
63698
63699         * m4/mathl.m4: New file.
63700
63701 2003-02-18  Bruno Haible  <bruno@clisp.org>
63702
63703         * MODULES.html.sh (func_all_modules): Add mathl.
63704
63705 2003-02-17  Bruno Haible  <bruno@clisp.org>
63706
63707         * modules/mkdtemp: New module.
63708         * MODULES.html.sh (func_all_modules): Add it.
63709
63710 2003-02-17  Bruno Haible  <bruno@clisp.org>
63711
63712         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
63713
63714 2003-02-17  Bruno Haible  <bruno@clisp.org>
63715
63716         * lib/mkdtemp.h: New file, from GNU gettext.
63717         * lib/mkdtemp.c: New file, from GNU gettext.
63718
63719 2003-02-02  Jim Meyering  <jim@meyering.net>
63720
63721         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
63722         e.g. glibc-2.2.93.
63723
63724 2003-01-31  Bruno Haible  <bruno@clisp.org>
63725
63726         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
63727         'rpl_rename'.
63728         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
63729         'rpl_strnlen'.
63730         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
63731         'rpl_strtod'.
63732         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
63733         'rpl_utime'.
63734
63735 2003-01-31  Bruno Haible  <bruno@clisp.org>
63736
63737         * lib/rename.c: #undef rename before defining rpl_rename.
63738         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
63739
63740 2003-01-30  Bruno Haible  <bruno@clisp.org>
63741
63742         * modules/vasnprintf, modules/vasprintf: New modules.
63743         * MODULES.html.sh (func_all_modules): Add them.
63744
63745 2003-01-30  Bruno Haible  <bruno@clisp.org>
63746
63747         * m4/signed.m4: New file, from GNU gettext.
63748         * m4/longdouble.m4: New file, from GNU gettext.
63749         * m4/wchar_t.m4: New file, from GNU gettext.
63750         * m4/wint_t.m4: New file, from GNU gettext.
63751         * m4/vasnprintf.m4: New file.
63752         * m4/vasprintf.m4: New file.
63753
63754 2003-01-30  Bruno Haible  <bruno@clisp.org>
63755
63756         * lib/printf-args.h: New file, from GNU gettext.
63757         * lib/printf-args.c: New file, from GNU gettext.
63758         * lib/printf-parse.h: New file, from GNU gettext.
63759         * lib/printf-parse.c: New file, from GNU gettext.
63760         * lib/vasnprintf.h: New file, from GNU gettext.
63761         * lib/vasnprintf.c: New file, from GNU gettext.
63762         * lib/asnprintf.c: New file, from GNU gettext.
63763         * lib/vasprintf.h: New file, from GNU gettext with modifications.
63764         * lib/vasprintf.c: New file, from GNU gettext.
63765         * lib/asprintf.c: New file, from GNU gettext.
63766
63767 2003-01-29  Bruno Haible  <bruno@clisp.org>
63768
63769         * modules/stpncpy: New module.
63770         * MODULES.html.sh (func_all_modules): Add it.
63771
63772 2003-01-29  Bruno Haible  <bruno@clisp.org>
63773
63774         * m4/stpncpy.m4: New file.
63775
63776 2003-01-29  Bruno Haible  <bruno@clisp.org>
63777
63778         * lib/stpncpy.h: New file, from GNU gettext with modifications.
63779         * lib/stpncpy.c: New file, from GNU gettext with modifications.
63780
63781 2003-01-28  Bruno Haible  <bruno@clisp.org>
63782
63783         * modules/c-ctype: New module.
63784         * MODULES.html.sh (func_all_modules): Add it.
63785
63786 2003-01-28  Bruno Haible  <bruno@clisp.org>
63787
63788         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
63789         Paul Eggert.
63790         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
63791         Paul Eggert.
63792
63793 2003-01-27  Bruno Haible  <bruno@clisp.org>
63794
63795         * modules/xsetenv: New module.
63796         * MODULES.html.sh (func_all_modules): Add it.
63797
63798 2003-01-27  Bruno Haible  <bruno@clisp.org>
63799
63800         * lib/xsetenv.h: New file, from GNU gettext.
63801         * lib/xsetenv.c: New file, from GNU gettext.
63802
63803 2003-01-23  Jim Meyering  <jim@meyering.net>
63804
63805         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
63806         from working on systems without dirfd (at least Irix and OSF1/Tru64).
63807
63808 2003-01-23  Bruno Haible  <bruno@clisp.org>
63809
63810         * modules/minmax: New module.
63811         * MODULES.html.sh (func_all_modules): Add it.
63812
63813 2003-01-23  Bruno Haible  <bruno@clisp.org>
63814
63815         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
63816         Eggert.
63817
63818 2003-01-22  Bruno Haible  <bruno@clisp.org>
63819
63820         * modules/exit: New module.
63821         * MODULES.html.sh (func_all_modules): Add it.
63822
63823 2003-01-22  Bruno Haible  <bruno@clisp.org>
63824
63825         * lib/exit.h: New file, from GNU gettext.
63826
63827 2003-01-19  Bruno Haible  <bruno@clisp.org>
63828
63829         * gnulib-tool: Recognize option --extract-maintainer.
63830         (func_get_maintainer): New function.
63831         * modules/*: Add Maintainer entry.
63832
63833 2003-01-16  Jim Meyering  <jim@meyering.net>
63834
63835         * m4/regex.m4: The `regex' struct is both input and output.
63836         Initialize it before each use.  Patch by Tim Waugh.
63837
63838 2003-01-16  Bruno Haible  <bruno@clisp.org>
63839
63840         * MODULES.html.sh: Add a table of contents. Add the module name as
63841         leftmost column. Add hyperlinks.
63842
63843 2003-01-15  Bruno Haible  <bruno@clisp.org>
63844
63845         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
63846
63847 2003-01-15  Bruno Haible  <bruno@clisp.org>
63848
63849         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
63850         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
63851         suffix.
63852
63853 2003-01-15  Bruno Haible  <bruno@clisp.org>
63854
63855         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
63856
63857 2003-01-15  Bruno Haible  <bruno@clisp.org>
63858
63859         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
63860         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
63861
63862 2003-01-14  Jim Meyering  <jim@meyering.net>
63863
63864         * lib/same.c (same_name): Tweak a comment.
63865
63866 2003-01-14  Bruno Haible  <bruno@clisp.org>
63867
63868         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
63869         when a string comparison is sufficient.
63870
63871 2003-01-14  Bruno Haible  <bruno@clisp.org>
63872
63873         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
63874         'unsigned int'.
63875
63876 2003-01-14  Bruno Haible  <bruno@clisp.org>
63877
63878         * lib/hash-pjw.c: Add comment about low quality of this function.
63879
63880 2003-01-13  Bruno Haible  <bruno@clisp.org>
63881
63882         * modules/stpcpy: Distribute lib/stpcpy.h.
63883         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
63884
63885 2003-01-13  Bruno Haible  <bruno@clisp.org>
63886
63887         * modules/*: Add a description.
63888         * modules/strpbrk: Fix Makefile.am snippet.
63889         * modules/strtoimax: Fix dependencies.
63890         * modules/strtoumax: Likewise.
63891
63892 2003-01-13  Bruno Haible  <bruno@clisp.org>
63893
63894         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
63895         * modules/alloca (Makefile.am): All object files depend on alloca.h.
63896         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
63897
63898 2003-01-13  Bruno Haible  <bruno@clisp.org>
63899
63900         * gnulib-tool (func_create_testdir): Store config/* files in the main
63901         directory.
63902         * config.rpath: Move to ...
63903         * config/config.rpath: ... here.
63904         * modules/gettext: Contains config/config.rpath, not config.rpath.
63905         * modules/iconv: Likewise.
63906
63907 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63908
63909         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63910         to avoid collisions with libcurses and libreadline.
63911
63912         * m4/getstr.m4: Remove.
63913         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
63914
63915 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63916
63917         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63918         to avoid collisions with libcurses and libreadline.
63919
63920         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
63921         * lib/getstr.h, getstr.c: Remove.
63922         * lib/getline.c: Include "getline.h", to check interface.
63923         Move body of old getstr.c here: this defines MIN_CHUNK and
63924         declares getdelim2, which is renamed from getstr.
63925         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
63926
63927         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
63928         All uses changed.
63929         * lib/linebuffer.h: Likewise.
63930         (readline): Remove backward-compatibility macro.
63931
63932 2003-01-12  Paul Eggert  <eggert@twinsun.com>
63933
63934         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
63935         to avoid collisions with libcurses and libreadline.
63936         * getstr: Remove.
63937         * MODULES.html.sh: Remove getstr.
63938         * modules/getline: Depend on unlocked-io, not getstr.
63939
63940 2003-01-12  Jim Meyering  <jim@meyering.net>
63941
63942         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
63943
63944 2003-01-10  Bruno Haible  <bruno@clisp.org>
63945
63946         * modules/alloca: Change Makefile.am requirements. Simplify Include
63947         requirements. Add lib/alloca_.h to file list.
63948
63949 2003-01-10  Bruno Haible  <bruno@clisp.org>
63950
63951         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
63952
63953 2003-01-10  Bruno Haible  <bruno@clisp.org>
63954
63955         * lib/alloca_.h: New file.
63956         * lib/getdate.y: Unconditionally include alloca.h.
63957         * lib/makepath.c: Likewise.
63958         * lib/setenv.c: Likewise.
63959         * lib/userspec.c: Likewise.
63960
63961 2003-01-09  Karl Berry  <karl@gnu.org>
63962
63963         * MODULES.html.sh: include `dirname $0` in PATH, to find
63964         gnulib-tool.
63965
63966 2003-01-09  Bruno Haible  <bruno@clisp.org>
63967
63968         * modules/stdbool: Change configure.ac, Makefile.am requirements.
63969         Simplify Include requirements. Add lib/stdbool.h.in to file list.
63970
63971 2003-01-09  Bruno Haible  <bruno@clisp.org>
63972
63973         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
63974
63975 2003-01-09  Bruno Haible  <bruno@clisp.org>
63976
63977         * lib/stdbool.h.in: New file.
63978
63979 2003-01-09  Bruno Haible  <bruno@clisp.org>
63980
63981         * gnulib-tool (func_all_modules): Ignore files ending in ~.
63982         * MODULES.html.sh: Likewise.
63983
63984 2003-01-08  Jim Meyering  <jim@meyering.net>
63985
63986         * lib/full-write.c: Undefine and define-away `const' after inclusion
63987         of errno.h, not before.  Suggestion from Bruno Haible.
63988
63989 2003-01-08  Bruno Haible  <bruno@clisp.org>
63990
63991         * modules/full-read: Depend on full-write.
63992
63993 2003-01-08  Bruno Haible  <bruno@clisp.org>
63994
63995         * lib/safe-read.c: Include specification header first, to ensure its
63996         selfcontainedness.
63997         * lib/full-write.c: Likewise.
63998
63999 2003-01-07  Jim Meyering  <jim@meyering.net>
64000
64001         * lib/full-write.c: Rework so that it may serve to define full_read,
64002         too.
64003         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
64004
64005 2003-01-07  Bruno Haible  <bruno@clisp.org>
64006
64007         * lib/strtoimax.c: Include <stdint.h> as an alternative to
64008         <inttypes.h>.
64009         * lib/xstrtol.h: Likewise.
64010         * lib/xstrtoimax.c: Likewise.
64011         * lib/xstrtoumax.c: Likewise.
64012         * lib/human.h: Likewise.
64013
64014         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
64015         on systems that have <inttypes.h> but not <stdint.h>.
64016
64017 2003-01-07  Bruno Haible  <bruno@clisp.org>
64018
64019         * MODULES.html.sh: Add copyright notice.
64020         (missed_files): Omit CVS directory entries.
64021         (func_module): Make it work with sed-3.02.
64022         * MODULES.txt: Remove file.
64023
64024 2003-01-06  Jim Meyering  <jim@meyering.net>
64025
64026         * lib/version-etc.c: Update year in translatable copyright string.
64027
64028 2003-01-03  Karl Berry  <karl@gnu.org>
64029
64030         * config/config.{guess,sub}: update from prep.
64031
64032 2003-01-02  Karl Berry  <karl@gnu.org>
64033
64034         * doc/COPYING.DOC: belatedly updated to 1.2.
64035
64036 2003-01-01  Karl Berry  <karl@gnu.org>
64037
64038         * gnulib-tool (func_verify_module): report module name $module in
64039         error message, not $1.
64040         * gnulib-tool (create-testdir): don't complain if destdir couldn't
64041         be created, only if it doesn't exist.
64042         * gnulib-tool (last_checkin_date): don't expand the $Date here.
64043
64044 2002-12-31  Paul Eggert  <eggert@twinsun.com>
64045
64046         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
64047
64048 2002-12-31  Paul Eggert  <eggert@twinsun.com>
64049
64050         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
64051         memcmp if strcoll doesn't work.
64052
64053 2002-12-31  Bruno Haible  <bruno@clisp.org>
64054
64055         * lib/utime.c (utime_null): No need to call ftruncate if the file was
64056         nonempty.
64057
64058 2002-12-31  Bruno Haible  <bruno@clisp.org>
64059
64060         * lib/memcoll.c (STRCOLL): New macro.
64061         (memcoll): Use it.
64062
64063 2002-12-31  Bruno Haible  <bruno@clisp.org>
64064
64065         * lib/localcharset.h: New file.
64066         * lib/localcharset.c: Include it.
64067         * lib/unicodeio.c: Likewise.
64068
64069 2002-12-31  Bruno Haible  <bruno@clisp.org>
64070
64071         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
64072         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
64073
64074 2002-12-31  Bruno Haible  <bruno@clisp.org>
64075
64076         * lib/getline.h: Include <stddef.h>, for size_t.
64077
64078         * lib/unicodeio.h: Include <stddef.h>, for size_t.
64079         * lib/unicodeio.c: Don't include <stddef.h>.
64080
64081 2002-12-31  Bruno Haible  <bruno@clisp.org>
64082
64083         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
64084         HAVE_TM_ZONE.
64085
64086 2002-12-24  Karl Berry  <karl@gnu.org>
64087
64088         * config/config.guess: update from prep.
64089
64090 2002-12-24  Bruno Haible  <bruno@clisp.org>
64091
64092         General infrasructure.
64093         * m4/README: Rewritten.
64094         * m4/onceonly.m4: New file.
64095         * m4/onceonly_2_57.m4: New file.
64096
64097         Module atexit.
64098         * m4/atexit.m4: New file.
64099
64100         Module strtod.
64101         * m4/strtod.m4: New file.
64102
64103         Module strtol.
64104         * m4/strtol.m4: New file.
64105
64106         Module strtoul.
64107         * m4/strtoul.m4: New file.
64108
64109         Module memchr.
64110         * m4/memchr.m4: New file.
64111
64112         Module memcmp.
64113         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
64114         (jm_FUNC_MEMCMP): Invoke it.
64115
64116         Module memcpy.
64117         * m4/memcpy.m4: New file.
64118
64119         Module memmove.
64120         * m4/memmove.m4: New file.
64121
64122         Module memset.
64123         * m4/memset.m4: New file.
64124
64125         Module strcspn.
64126         * m4/strcspn.m4: New file.
64127
64128         Module strpbrk.
64129         * m4/strpbrk.m4: New file.
64130
64131         Module strstr.
64132         * m4/strstr.m4: New file.
64133
64134         Module strerror.
64135         * m4/strerror.m4: New file.
64136
64137         Module mktime.
64138         * m4/mktime.m4: Renamed from jm-mktime.m4.
64139         (gl_PREREQ_MKTIME): New macro.
64140         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
64141
64142         Module malloc.
64143         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
64144         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
64145         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
64146
64147         Module realloc.
64148         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
64149         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
64150         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
64151
64152         Module strftime.
64153         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
64154         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
64155         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
64156         gl_TM_GMTOFF.
64157         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
64158
64159         Module xalloc.
64160         * m4/xalloc.m4: New file.
64161
64162         Module alloca.
64163         * m4/alloca.m4: New file.
64164
64165         Module putenv.
64166         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
64167         (jm_FUNC_PUTENV): Invoke it.
64168
64169         Module setenv.
64170         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
64171         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
64172         when invoked twice.
64173         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
64174         gt_FUNC_SETENV.
64175
64176         Module memrchr.
64177         * m4/memrchr.m4: New file.
64178
64179         Module stpcpy.
64180         * m4/stpcpy.m4: New file.
64181
64182         Module strcase.
64183         * m4/strcase.m4: New file.
64184
64185         Module strdup.
64186         * m4/strdup.m4: New file.
64187
64188         Module strnlen.
64189         * m4/strnlen.m4: New file.
64190
64191         Module strndup.
64192         * m4/strndup.m4: New file.
64193
64194         Module xstrtod.
64195         * m4/xstrtod.m4: New file.
64196
64197         Module xstrtol.
64198         * m4/xstrtol.m4: New file.
64199
64200         Module getdate.
64201         * m4/getdate.m4: New file.
64202
64203         Module unlocked-io.
64204         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
64205         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
64206         * m4/jm-glibc-io.m4n: Remove file.
64207
64208         Module long-options.
64209         * m4/long-options.m4: New file.
64210
64211         Module md5.
64212         * m4/md5.m4: New file.
64213
64214         Module sha.
64215         * m4/sha.m4: New file.
64216
64217         Module getstr.
64218         * m4/getstr.m4: New file.
64219
64220         Module getline.
64221         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
64222         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
64223         <sys/types.h>, for size_t. Use the function name gnu_getline, not
64224         simply getline. Infoke gl_PREREQ_GETLINE.
64225
64226         Module obstack.
64227         * m4/obstack.m4: New file.
64228
64229         Module hash.
64230         * m4/hash.m4: New file.
64231
64232         Module readtokens.
64233         * m4/readtokens.m4: New file.
64234
64235         Module strverscmp.
64236         * m4/strverscmp.m4: New file.
64237
64238         Module stdbool.
64239         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
64240         OSF/1.
64241
64242         Module strtoll.
64243         * m4/strtoll.m4: New file.
64244
64245         Module strtoull.
64246         * m4/strtoull.m4: New file.
64247
64248         Module strtoimax.
64249         * m4/strtoimax.m4: New file.
64250
64251         Module strtoumax.
64252         * m4/strtoumax.m4: New file.
64253
64254         Module xstrtoimax.
64255         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
64256         jm_AC_PREREQ_XSTRTOIMAX.
64257         Moved the strtol prerequisites to strtol.m4.
64258         Moved the strtoll prerequisites to strtoll.m4.
64259         Moved the strtoimax prerequisites to strtoimax.m4.
64260
64261         Module xstrtoumax.
64262         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
64263         jm_AC_PREREQ_XSTRTOUMAX.
64264         Moved the strtoul prerequisites to strtoul.m4.
64265         Moved the strtoull prerequisites to strtoull.m4.
64266         Moved the strtoumax prerequisites to strtoumax.m4.
64267
64268         Module chown.
64269         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
64270         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
64271
64272         Module dup2.
64273         * m4/dup2.m4: New file.
64274
64275         Module ftruncate.
64276         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
64277         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
64278
64279         Module getgroups.
64280         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
64281         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
64282
64283         Module gettimeofday.
64284         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
64285         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
64286         gl_PREREQ_GETTIMEOFDAY.
64287
64288         Module mkdir.
64289         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
64290         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
64291
64292         Module mkstemp.
64293         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
64294         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
64295         jm_AC_TYPE_UINTMAX_T.
64296         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
64297
64298         Module stat.
64299         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
64300         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
64301
64302         Module lstat.
64303         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
64304         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
64305
64306         Module timespec.
64307         * m4/timespec.m4 (gl_TIMESPEC): New macro.
64308         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
64309         * m4/st_mtim.m4: Indentation.
64310
64311         Module nanosleep.
64312         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
64313         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
64314         gl_PREREQ_NANOSLEEP.
64315
64316         Module regex.
64317         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
64318         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
64319         (gl_REGEX): New macro.
64320
64321         Module rename.
64322         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
64323         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
64324
64325         Module rmdir.
64326         * m4/rmdir.m4: New file.
64327
64328         Module utime.
64329         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
64330         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
64331         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
64332
64333         Module dirname.
64334         * m4/dirname.m4: New file.
64335
64336         Module getopt.
64337         * m4/getopt.m4: New file.
64338
64339         Module unistd-safer.
64340         * m4/unistd-safer.m4: New file.
64341
64342         Module fnmatch.
64343         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
64344         declaration.
64345         (gl_PREREQ_FNMATCH_EXTRA): New macro.
64346         (gl_FUNC_FNMATCH_POSIX): New macro.
64347         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
64348         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
64349         simply fnmatch.
64350
64351         Module exclude.
64352         * m4/exclude.m4: New file.
64353
64354         Module human.
64355         * m4/human.m4: New file.
64356
64357         Module acl.
64358         * m4/acl.m4: Nop.
64359
64360         Module backupfile.
64361         * m4/backupfile.m4: New file.
64362         * m4/d-ino.m4: Indentation.
64363
64364         Module fsusage.
64365         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
64366         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
64367         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
64368
64369         Module dirfd.
64370         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
64371         requirements.
64372
64373         Module euidaccess.
64374         * m4/euidaccess.m4: New file.
64375
64376         Module file-type.
64377         * m4/file-type.m4: New file.
64378
64379         Module fileblocks.
64380         * m4/fileblocks.m4: New file.
64381
64382         Module filemode.
64383         * m4/filemode.m4: New file.
64384
64385         Module isdir.
64386         * m4/isdir.m4: New file.
64387
64388         Module lchown.
64389         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
64390         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
64391
64392         Module makepath.
64393         * m4/makepath.m4: New file.
64394
64395         Module modechange.
64396         * m4/modechange.m4: New file.
64397
64398         Module mountlist.
64399         * m4/mountlist.m4: New file.
64400         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
64401         Indentation.
64402
64403         Module path-concat.
64404         * m4/path-concat.m4: New file.
64405
64406         Module pathmax.
64407         * m4/pathmax.m4: New file.
64408
64409         Module same.
64410         * m4/same.m4: New file.
64411
64412         Module save-cwd.
64413         * m4/save-cwd.m4: New file.
64414
64415         Module savedir.
64416         * m4/savedir.m4: New file.
64417
64418         Module xgetcwd.
64419         * m4/xgetcwd.m4: New file.
64420         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
64421
64422         Module xreadlink.
64423         * m4/xreadlink.m4: New file.
64424
64425         Module safe-read.
64426         * m4/safe-read.m4: New file.
64427
64428         Module safe-write.
64429         * m4/safe-write.m4: New file.
64430
64431         Module closeout.
64432         * m4/closeout.m4: New file.
64433
64434         Module stdio-safer.
64435         * m4/stdio-safer.m4: New file.
64436
64437         Module getpass.
64438         * m4/getpass.m4: New file.
64439
64440         Module getugroups.
64441         * m4/getugroups.m4: New file.
64442
64443         Module group-member.
64444         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
64445         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
64446
64447         Module idcache.
64448         * m4/idcache.m4: New file.
64449
64450         Module userspec.
64451         * m4/userspec.m4: New file.
64452
64453         Module gettime.
64454         * m4/clock_time.m4: New file.
64455         * m4/gettime.m4: New file.
64456
64457         Module settime.
64458         * m4/settime.m4: New file.
64459
64460         Module posixtm.
64461         * m4/posixtm.m4: New file.
64462
64463         Module gethostname.
64464         * m4/gethostname.m4: New file.
64465
64466         Module canon-host.
64467         * m4/canon-host.m4: New file.
64468
64469         Module gettext.
64470         * m4/codeset.m4: New file, from gettext-0.11.5.
64471         * m4/gettext.m4: New file, from gettext-0.11.5.
64472         * m4/glibc21.m4: New file, from gettext-0.11.5.
64473         * m4/iconv.m4: New file, from gettext-0.11.5.
64474         * m4/intdiv0.m4: New file, from gettext-0.11.5.
64475         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
64476         * m4/inttypes.m4: New file, from gettext-0.11.5.
64477         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
64478         * m4/isc-posix.m4: New file, from gettext-0.11.5.
64479         * m4/lcmessage.m4: New file, from gettext-0.11.5.
64480         * m4/lib-ld.m4: New file, from gettext-0.11.5.
64481         * m4/lib-link.m4: New file, from gettext-0.11.5.
64482         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
64483         * m4/progtest.m4: New file, from gettext-0.11.5.
64484         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
64485         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
64486         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
64487
64488         Module localcharset.
64489         * m4/localcharset.m4: New file.
64490
64491         Module hard-locale.
64492         * m4/hard-locale.m4: New file.
64493
64494         Module mbswidth.
64495         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
64496         onceonly macros.
64497         * m4/mbrtowc.m4: Add comment.
64498
64499         Module memcasecmp.
64500         * m4/memcasecmp.m4: New file.
64501
64502         Module memcoll.
64503         * m4/memcoll.m4: New file.
64504
64505         Module unicodeio.
64506         * m4/unicodeio.m4: New file.
64507
64508         Module rpmatch.
64509         * m4/rpmatch.m4: New file.
64510
64511         Module yesno.
64512         * m4/yesno.m4: New file.
64513
64514         Module exitfail.
64515         * m4/exitfail.m4: New file.
64516
64517         Module c-stack.
64518         * m4/c-stack.m4 (gl_C_STACK): New macro.
64519         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
64520
64521         Module error.
64522         * m4/error.m4 (gl_ERROR): New macro.
64523         (jm_PREREQ_ERROR): Use onceonly macros.
64524
64525         Module fatal.
64526         * m4/fatal.m4: New file.
64527
64528         Module getloadavg.
64529         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
64530         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
64531
64532         Module getpagesize.
64533         * m4/getpagesize.m4: New file.
64534
64535         Module getusershell.
64536         * m4/getusershell.m4: New file.
64537
64538         Module physmem.
64539         * m4/physmem.m4: New file.
64540
64541         Module posixver.
64542         * m4/posixver.m4: New file.
64543
64544         Module quotearg.
64545         * m4/quotearg.m4: New file.
64546
64547         Module quote.
64548         * m4/quote.m4: New file.
64549
64550         Module readutmp.
64551         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
64552
64553         Module sig2str.
64554         * m4/sig2str.m4: New file.
64555
64556         Other.
64557         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
64558         ulonglong.m4.
64559         * m4/intmax_t.m4: New file.
64560         * m4/d-type.m4: Indentation.
64561         * m4/jm-macros.m4: Update.
64562         * m4/prereq.m4 (jm_PREREQ): Update.
64563         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
64564         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
64565         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
64566         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
64567         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
64568         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
64569         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
64570         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
64571         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
64572         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
64573         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
64574         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
64575         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
64576         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
64577         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
64578         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
64579         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
64580         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
64581         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
64582
64583 2002-12-24  Bruno Haible  <bruno@clisp.org>
64584
64585         * MODULES.txt: Update according to m4/ changes.
64586
64587         Module gettext.
64588         * config.rpath: New file, from gettext-0.11.5.
64589
64590         * modules/*: New module descriptions.
64591         * gnulib-tool: New file.
64592         * MODULES.html.sh: New file.
64593
64594 2002-12-21  Karl Berry  <karl@gnu.org>
64595
64596         * doc/fdl.texi: update to version 1.2.
64597
64598 2002-12-19  Karl Berry  <karl@gnu.org>
64599
64600         * config/config.guess: update from prep.
64601
64602 2002-12-18  Bruno Haible  <bruno@clisp.org>
64603
64604         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
64605         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
64606
64607 2002-12-17  Bruno Haible  <bruno@clisp.org>
64608
64609         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
64610         stdlib.h, string.h.
64611
64612 2002-12-17  Bruno Haible  <bruno@clisp.org>
64613
64614         * lib/canon-host.c (strdup): Remove unused declaration.
64615
64616         * lib/fsusage.c: Include full_read.h.
64617         (get_fs_usage): Use full_read instead of safe_read.
64618
64619         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
64620
64621 2002-12-12  Karl Berry  <karl@gnu.org>
64622
64623         * config/config.guess: update from prep.
64624
64625 2002-12-11  Bruno Haible  <bruno@clisp.org>
64626
64627         * m4/setenv.m4: New file, from gettext-0.11.5.
64628
64629 2002-12-11  Bruno Haible  <bruno@clisp.org>
64630
64631         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
64632         not unsetenv().
64633         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
64634         modifications:
64635
64636         2002-12-11  Bruno Haible  <bruno@clisp.org>
64637
64638                 * setenv.c (alloca): Fall back to malloc.
64639                 (freea): New macro.
64640                 (setenv): Use freea() to free memory allocated with alloca().
64641
64642         2002-11-13  Bruno Haible  <bruno@clisp.org>
64643
64644                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
64645                 function declarations.
64646                 * unsetenv.c (unsetenv): Likewise.
64647
64648         2002-03-04  Bruno Haible  <bruno@clisp.org>
64649
64650                 Portability to AIX 4.3.3.
64651                 * unsetenv.c: New file, extracted from setenv.c.
64652                 * setenv.c: Move the unsetenv() function to unsetenv.c.
64653
64654         2001-12-20  Bruno Haible  <bruno@clisp.org>
64655
64656                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
64657                 use malloc instead. For SunOS 4.
64658
64659         2001-12-11  Bruno Haible  <bruno@clisp.org>
64660
64661                 * setenv.c: Declare alloca.
64662                 (compar_fn_t): New typedef.
64663                 (KNOWN_VALUE, STORE_VALUE): Use it.
64664
64665         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
64666         setenv.h.
64667
64668 2002-12-10  Paul Eggert  <eggert@twinsun.com>
64669
64670         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
64671         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
64672         Choose values that are less likely to collide with system fnmatch
64673         options.
64674         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
64675         defined (e.g., a pure POSIX system).
64676         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
64677         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
64678
64679 2002-12-06  Paul Eggert  <eggert@twinsun.com>
64680
64681         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
64682         a pain in practice to deal with generated m4 files.  This change
64683         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
64684
64685         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
64686         and jm-glibc-io.m4, as they are no longer a special case.
64687         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
64688         kludge and the auto-generation stuff.  Check only whether the
64689         functions are declared, not whether they exist, since older hosts
64690         that don't declare the functions can't use the optimization anyway.
64691
64692 2002-12-06  Jim Meyering  <jim@meyering.net>
64693
64694         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
64695
64696         Merge in changes from libc's misc/error.c, in preparation
64697         for the merge of gnulib's changes back into libc.
64698
64699         * lib/error.c (_): Define only if not already defined.
64700         Move definition to follow all #include directives.
64701         Include unlocked-io.h only if !_LIBC.
64702         [_LIBC]: Include <libio/libioP.h>.
64703         [USE_IN_LIBIO]: Include <libio/iolibio.h>
64704         (fflush): Tweak definition to use INTUSE.
64705         (putc): Define.
64706
64707 2002-12-05  Paul Eggert  <eggert@twinsun.com>
64708
64709         * lib/alloca.c [defined emacs]: Include "lisp.h".
64710         (xalloc_die) [defined emacs]: New macro.
64711         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
64712         [! defined emacs]: Include <xalloc.h>.
64713         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
64714         (pointer): Typedef to POINTER_TYPE *.
64715         (malloc): Remove decl; we now always use xmalloc.
64716         (alloca): Use old-style definition, since Emacs needs this.
64717         Check for arithmetic overflow when computing combined size.
64718
64719 2002-12-04  Paul Eggert  <eggert@twinsun.com>
64720
64721         Do not generate unlocked-io.h automatically, since it's easier to
64722         maintain it by hand.
64723
64724         * lib/unlocked-io.h: New file, from GNU diffutils,
64725         but with proper copyright notice and attribution.
64726         * lib/gen-uio: Remove.
64727         * lib/Makefile.am: Add copyright notice.
64728         (libfetish_a_SOURCES): Add unlocked-io.h.
64729         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
64730         (DISTCLEANFILES, io_functions): Remove macros.
64731         (EXTRA_DIST): Remove gen_uio.
64732         (unlocked-io.h): Remove rule.
64733
64734 2002-12-04  Jim Meyering  <jim@meyering.net>
64735
64736         Reflect the fact that stat.c and lstat.c are no longer generated.
64737         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
64738         (DISTCLEANFILES): Likewise.
64739         (EXTRA_DIST): Likewise.
64740         (all_local): Don't depend on stat.c or lstat.c.
64741         (stat.c, lstat.c): Remove rules.
64742         (EXTRA_DIST): Remove xstat.in.
64743
64744         * lib/xstat.in: Remove file.  Contents moved into stat.c.
64745         * lib/stat.c: New file.  Contents mostly from xstat.in.
64746         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
64747         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
64748
64749         * lib/safe-read.c: Rework so that it may serve to define safe_write,
64750         too.
64751         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
64752
64753 2002-12-03  Jim Meyering  <jim@meyering.net>
64754
64755         * lib/safe-read.c, safe-write.c: Change variable names and comments,
64756         but not semantics, to minimize the differences between these two files.
64757         (safe_read): Change comment to mention SAFE_READ_ERROR.
64758
64759         * lib/safe-read.c (IS_EINTR): Define.
64760         (safe_read): Use IS_EINTR in place of in-function cpp directives.
64761
64762 2002-12-02  Jim Meyering  <jim@meyering.net>
64763
64764         * lib/safe-read.c (EINTR): Define.
64765         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
64766         (INT_MAX): Provide fallback.
64767         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
64768
64769         * lib/safe-read.h (SAFE_READ_ERROR): Define.
64770
64771 2002-12-02  Bruno Haible  <bruno@clisp.org>
64772
64773         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
64774         Define, taken from safe-read.c.
64775         (INT_MAX): Provide fallback.
64776         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
64777         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
64778
64779         * lib/safe-read.c (EINTR): Remove definition.
64780         (safe_read): Don't use EINTR if it is absent.
64781
64782 2002-12-01  Jim Meyering  <jim@meyering.net>
64783
64784         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
64785         zero.
64786         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
64787
64788 2002-11-27  Paul Eggert  <eggert@twinsun.com>
64789
64790         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
64791         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
64792         with `if (! (value < limit)) abort ();', for readability.
64793
64794 2002-11-26  Karl Berry  <karl@gnu.org>
64795
64796         * lib/strdup.c: copy from libc again, with jim's ok.
64797         * lib/.cppi-disable: re-add strdup.c
64798
64799 2002-11-25  Karl Berry  <karl@gnu.org>
64800
64801         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
64802         instead of "strtol.c".
64803
64804 2002-11-25  Karl Berry  <karl@gnu.org>
64805
64806         * config/install-sh: update from automake for variable quoting, $0 in
64807         error msgs, etc.
64808
64809         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
64810         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
64811         entry.
64812
64813 2002-11-25  Jim Meyering  <jim@meyering.net>
64814
64815         * lib/mktime.c: Sync from libc, now that it has the latest fix.
64816
64817 2002-11-24  Karl Berry  <karl@gnu.org>
64818
64819         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
64820         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
64821
64822 2002-11-24  Jim Meyering  <jim@meyering.net>
64823
64824         Update from coreutils:
64825
64826         * lib/mktime.c: Merge in changes from libc.
64827
64828         Avoid a link-time failure on some Linux systems.
64829         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
64830         (otherwise).
64831         (__mon_yday): Declare with the STATIC attribute.
64832         (__mktime_internal): Likewise.
64833         Based on a report from Greg Schafer.
64834
64835 2002-11-23  Jim Meyering  <jim@meyering.net>
64836
64837         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
64838         Use `unsigned', not `int', as type of index.
64839
64840         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
64841
64842         * lib/fsusage.c: Remove unneeded parentheses around operands of
64843         `defined'.
64844
64845 2002-11-22  Paul Eggert  <eggert@twinsun.com>
64846
64847         * lib/quotearg.h: Allow multiple inclusion by surrounding with
64848         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
64849         so that we can be included first.
64850         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
64851         * lib/quotearg.c: Include quotearg.h immediately after config.h.
64852         No need to include stddef.h or sys/types.h any more.
64853         Surround local include files with "", not "<>".
64854         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
64855         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
64856         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
64857         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
64858         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
64859         (ISPRINT): Remove; no longer needed now that we assume C89.
64860
64861         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
64862         Preserve errno.
64863
64864         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
64865         quotearg_char): Use SIZE_MAX rather than
64866         (size_t) -1 when we are talking about "infinity".
64867
64868         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
64869
64870 2002-11-22  Paul Eggert  <eggert@twinsun.com>
64871
64872         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
64873         hint that one should use `if (! x) abort ();' rather than `assert
64874         (x);', and anyway it's one less thing to worry about configuring.
64875         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
64876         hash_rehash, hash_insert): Use abort rather than assert.
64877
64878 2002-11-22  Bruno Haible  <bruno@clisp.org>
64879
64880         * lib/safe-read.h: Assume C89. Add comments.
64881         (safe_read): Change return type to size_t.
64882         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
64883         byte counts > SSIZE_MAX correctly.
64884         * lib/safe-write.h: New file.
64885         * lib/safe-write.c: New file.
64886         * lib/full-read.h: New file.
64887         * lib/full-read.c: New file.
64888         * lib/full-write.h: Assume C89. Add comments.
64889         * lib/full-write.c: Include safe-write.h.
64890         (full_write): Rewritten to use safe_write.
64891         Suggested by Jim Meyering and Paul Eggert.
64892
64893 2002-11-21  Jim Meyering  <jim@meyering.net>
64894
64895         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
64896
64897         Merge in changes from the coreutils.
64898
64899         2002-09-25  Paul Eggert  <eggert@twinsun.com>
64900         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
64901         <stdint.h>.
64902         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
64903         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
64904         int.  Work more efficiently if X is the same width as uintmax_t.
64905         Do not compare X to -1, to avoid bogus compiler warning.
64906         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
64907         Don't assume that f_frsize and f_bsize are the same type.
64908
64909         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
64910         warning on FreeBSD.
64911
64912         * lib/makepath.c (make_path): Restore umask *before* creating the final
64913         component.
64914         (make_path): Minor reformatting.
64915
64916         * lib/xmalloc.c: Adjust to work with new autoconf macros,
64917         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
64918         HAVE_MALLOC/HAVE_REALLOC.
64919
64920         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
64921         dummy ones.  At least on GNU/Linux systems, `auto' means something
64922         else.
64923         From Michael Stone.
64924
64925 2002-11-21  Bruno Haible  <bruno@clisp.org>
64926
64927         Remove case insensitive option matching.
64928         * lib/argmatch.h (argcasematch): Remove declaration.
64929         (ARGCASEMATCH): Remove macro.
64930         (__xargmatch_internal): Remove case_sensitive argument.
64931         (XARGMATCH): Update.
64932         (XARGCASEMATCH): Remove macro.
64933         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
64934         case_sensitive argument.
64935         (argcasematch): Remove function.
64936         (__xargmatch_internal): Remove case_sensitive argument.
64937         (main): Use XARGMATCH instead of XARGCASEMATCH.
64938
64939         * lib/xmalloc.c: Change compile-time error message. Add comment about
64940         required autoconf version.
64941
64942 2002-11-20  Paul Eggert  <eggert@twinsun.com>
64943
64944         Merge argmatch cleanups from Bison.  Assume C89.
64945
64946         * lib/argmatch.c: Include config.h here, not in argmatch.h.
64947         Include stdlib.h, for EXIT_FAILURE.
64948         Always include <string.h>, since we assume C89.
64949         (EXIT_FAILURE): Remove pre-C89 bug workaround.
64950         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
64951         Include <stddef.h> instead, since it's all we need for size_t.
64952         (PARAMS): Remove.  All uses removed.
64953         (ARRAY_CARDINALITY): Do not bother to #undef.
64954         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
64955         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
64956         Remove unnecessary parentheses.
64957         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
64958         Insert necessary parentheses.
64959         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
64960         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
64961
64962 2002-11-19  Bruno Haible  <bruno@clisp.org>
64963
64964         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
64965         * lib/mbswidth.h: Include <stddef.h>, for size_t.
64966
64967         * lib/mbswidth.h (PARAMS): Remove macro.
64968         (mbswidth, mbsnwidth): Use ANSI C function declarations.
64969         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
64970
64971         * lib/gcd.h (PARAMS): Remove macro.
64972         (gcd): Use ANSI C function declarations.
64973         * lib/gcd.c (gcd): Likewise.
64974
64975 2002-11-15  Bruno Haible  <bruno@clisp.org>
64976
64977         * lib/strcspn.c: Include <stddef.h>.
64978         (strcspn): Use ANSI C function declaration. Change return type to
64979         size_t. Use NULL.
64980         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
64981         (strpbrk): Use NULL.
64982         * lib/strpbrk.h (PARAMS): Remove macro.
64983         (strpbrk): Use ANSI C function declaration.
64984         * lib/strstr.c: Don't include <sys/types.h>.
64985         * lib/strstr.h (PARAMS): Remove macro.
64986         (strstr): Use ANSI C function declarations.
64987
64988 2002-11-14  Karl Berry  <karl@gnu.org>
64989
64990         * config/mkinstalldirs: `do' on separate line, instead of
64991         `for var; do'.
64992
64993 2002-11-06  Bruno Haible  <bruno@clisp.org>
64994
64995         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
64996         * lib/gcd.c (gcd): Likewise.
64997
64998 2002-11-05  Bruno Haible  <bruno@clisp.org>
64999
65000         * lib/gcd.h: New file, from gettext-0.11.5.
65001         * lib/gcd.c: New file, from gettext-0.11.5.
65002
65003 2002-11-05  Bruno Haible  <bruno@clisp.org>
65004
65005         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
65006         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
65007         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
65008         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
65009
65010         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
65011         <libintl.h>.
65012         * lib/makepath.c: Include gettext.h instead of <locale.h> and
65013         <libintl.h>.
65014
65015         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
65016         * lib/human.c: Include gettext.h instead of <libintl.h>.
65017         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
65018         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
65019         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
65020         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
65021         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
65022         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
65023         (textdomain): Remove definition.
65024         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
65025
65026         * lib/long-options.c: Remove include of <libintl.h> and definition of
65027         _.
65028         * lib/same.c: Remove include of <libintl.h> and definition of _.
65029
65030 2002-11-04  Owen Taylor  <otaylor@redhat.com>
65031
65032         * lib/config.charset: A few additions for Solaris.
65033
65034 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
65035
65036         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
65037         * lib/localcharset.c (locale_charset): Declare as extern "C".
65038
65039 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
65040
65041         * lib/config.charset: msdos in uk_UA uses CP1125.
65042
65043 2002-11-04  Bruno Haible  <bruno@clisp.org>
65044
65045         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
65046         * lib/strcase.h: New file, from GNU gettext-0.11.5.
65047         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
65048         * lib/strstr.h: New file, from GNU gettext-0.11.5.
65049         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
65050
65051 2002-11-04  Bruno Haible  <bruno@clisp.org>
65052
65053         * lib/localcharset.c (locale_charset): Don't return an empty string.
65054
65055 2002-11-04  Bruno Haible  <bruno@clisp.org>
65056
65057         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
65058         aliases.
65059
65060 2002-11-04  Bruno Haible  <bruno@clisp.org>
65061
65062         * lib/config.charset: Update for newest glibc. Add canonical names
65063         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
65064
65065 2002-11-04  Bruno Haible  <bruno@clisp.org>
65066
65067         * lib/config.charset: Add support for NetBSD.
65068
65069 2002-11-04  Bruno Haible  <bruno@clisp.org>
65070
65071         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
65072
65073 2002-11-01  Bruno Haible  <bruno@clisp.org>
65074
65075         * configure.in: Add AC_CONFIG_AUX_DIR call.
65076         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
65077         test/Makefile.
65078         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
65079
65080 2002-09-28  Karl Berry  <karl@gnu.org>
65081
65082         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
65083         installed automake until the next release, since changes have been
65084         made.
65085
65086 2002-09-25  Karl Berry  <karl@gnu.org>
65087
65088         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
65089         * lib/getopt*: copy from libc/posix.
65090         * lib/gettext.h: copy from gettext.
65091         * lib/.cppi-disable: add strdup.c, gettext.h.
65092
65093 2002-09-25  Karl Berry  <karl@gnu.org>
65094
65095         * config/srclist.txt: enable gettext.h check.
65096         * config/config.{guess,sub}: update from prep.
65097         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
65098                 from automake 1.6.3.
65099         See srclist*.
65100
65101 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
65102
65103         * regex.c (PATFETCH): Remove the translating fetch.
65104         (PATFETCH_RAW): Rename to PATFETCH.
65105         (set_image_of_range): New fun.
65106         (SET_RANGE_TABLE_WORK_AREA): Use it.
65107         (regex_compile): Don't translate the pattern chars so eagerly.
65108         Only do it when inserting an `exactn' bytecode or when handling
65109         a char-range.
65110         (mutually_exclusive_p): Avoid empty statement.
65111
65112 2002-07-06  Jim Meyering  <meyering@lucent.com>
65113
65114         * m4/README: Don't mention Makefile.am.in.
65115         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
65116
65117 2002-07-01  Jim Meyering  <meyering@lucent.com>
65118
65119         * lib/c-stack.c: Include sys/time.h.
65120         From Volker Borchert.
65121
65122 2002-06-26  Paul Eggert  <eggert@twinsun.com>
65123
65124         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
65125
65126 2002-06-26  Paul Eggert  <eggert@twinsun.com>
65127
65128         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
65129         New macro.  Use it uniformly instead of
65130         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
65131         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
65132         reported by Vin Shelton.
65133
65134 2002-06-22  Paul Eggert  <eggert@twinsun.com>
65135
65136         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
65137         Do not assume SA_SIGINFO behavior.
65138         Bug reported by Jim Meyering on NetBSD 1.5.2.
65139
65140 2002-06-22  Jim Meyering  <meyering@lucent.com>
65141
65142         * m4/c-stack.m4: New file, from diffutils-2.8.2.
65143         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
65144
65145         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
65146         now that configure.ac uses AC_GNU_SOURCE.
65147         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
65148         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
65149
65150         Update to latest tools.  Suggestions from Paul Eggert.
65151         * m4/stdbool.m4: New file, from diffutils-2.8.2.
65152         * m4/gnu-source.m4: Update from diffutils-2.8.2.
65153         * m4/fnmatch.m4: Likewise.
65154         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
65155         to AC_HEADER_STDBOOL
65156
65157 2002-06-22  Jim Meyering  <meyering@lucent.com>
65158
65159         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
65160         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
65161
65162 2002-06-22  Jim Meyering  <meyering@lucent.com>
65163
65164         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
65165
65166         * lib/exitfail.c, exitfail.h: Likewise.
65167         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
65168
65169         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
65170         of fnmatch.h.
65171         (EXTRA_DIST): Add fnmatch_loop.c.
65172         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
65173
65174         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
65175         * lib/fnmatch.c: Update from diffutils-2.8.2.
65176         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
65177         * lib/fnmatch.h: Remove file.
65178
65179 2002-06-21  Jim Meyering  <meyering@lucent.com>
65180
65181         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
65182         * m4/mbrtowc.m4: Likewise.
65183
65184         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
65185         * m4/mbswidth.m4: Reflect name change:
65186         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
65187         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
65188
65189         * m4/lib-link.m4: Update from gettext-0.11.2.
65190         * m4/gettext.m4: Likewise.
65191
65192         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
65193         From Alfred M. Szmidt.
65194
65195 2002-06-18  Paul Eggert  <eggert@twinsun.com>
65196
65197         * lib/file-type.h: Report an error if neither S_ISREG nor
65198         S_IFREG is defined, instead of using a test specific to glibc
65199         2.2.  This should be safe, since POSIX requires S_ISREG and
65200         Unix Version 7 had S_IFREG.  We don't need to check for
65201         <sys/types.h> since we don't use any symbols that it defines.
65202
65203 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
65204
65205         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
65206         $@-t, so that each temporary file name is unique and valid in the first
65207         8 characters, for operation under DOS.
65208
65209 2002-06-15  Paul Eggert  <eggert@twinsun.com>
65210
65211         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
65212
65213 2002-06-15  Jim Meyering  <meyering@lucent.com>
65214
65215         Work even with DJGPP 2.03, which lacks support for symlinks.
65216         From Richard Dawe.
65217         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
65218         is defined.
65219         * lib/lchown.c (S_ISLNK): Likewise.
65220
65221 2002-06-15  Jim Meyering  <meyering@lucent.com>
65222
65223         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
65224         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
65225         have been included before this file.
65226
65227 2002-06-14  Jim Meyering  <meyering@lucent.com>
65228
65229         * lib/file-type.h: Use the version from diffutils-2.8.2.
65230         * lib/file-type.c: Likewise.
65231
65232 2002-06-07  Jim Meyering  <meyering@lucent.com>
65233
65234         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
65235         They're needed at least for NetBSD 1.5.2.
65236         ($statxfs_includes): Include those same headers.
65237         ($statxfs_includes): Include sys/vfs.h if available.
65238         ($statxfs_includes): Likewise for sys/statvfs.h.
65239         Check for the following members in both structs statfs and statvfs:
65240         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
65241
65242 2002-06-01  Jim Meyering  <meyering@lucent.com>
65243
65244         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
65245         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
65246
65247 2002-05-28  Jim Meyering  <meyering@lucent.com>
65248
65249         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
65250         Reported by Volker Borchert.
65251
65252 2002-05-27  Jim Meyering  <meyering@lucent.com>
65253
65254         Fix a problem seen only on nonconforming systems whereby ls.c's
65255         use of localtime, and then of gettimeofday would cause trouble:
65256         the localtime call used to initialize rpl_gettimeofday's save
65257         mechanism would clobber ls's current local time information so
65258         that in any long listing the first file would always be listed
65259         with date 1970-01-01.  Analysis by Volker Borchert.
65260
65261         * lib/gettimeofday.c (localtime): Undefine.
65262         (rpl_localtime): New function.
65263
65264 2002-05-27  Jim Meyering  <meyering@lucent.com>
65265
65266         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
65267         localtime.
65268
65269         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
65270         use the replacement function; it wouldn't resolve at link time.
65271         Reported by Volker Borchert.
65272
65273 2002-05-22  Jim Meyering  <meyering@lucent.com>
65274
65275         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
65276         file-type.h.
65277         * lib/file-type.h: New file.
65278         * lib/file-type.c (file_type): New file/function.  Extracted from
65279         diffutils.
65280
65281 2002-04-30  Jim Meyering  <meyering@lucent.com>
65282
65283         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
65284
65285 2002-04-29  Paul Eggert  <eggert@twinsun.com>
65286
65287         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
65288
65289 2002-04-29  Paul Eggert  <eggert@twinsun.com>
65290
65291         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
65292         Do not check for alloca.h (no longer used) or stdbool.h (was never
65293         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
65294
65295 2002-04-29  Paul Eggert  <eggert@twinsun.com>
65296
65297         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
65298
65299 2002-04-29  Jim Meyering  <meyering@lucent.com>
65300
65301         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
65302         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
65303         Use AC_FUNC_STRNLEN here instead.
65304
65305         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
65306         With autoconf-2.53a, it's part of AC_PROG_CC.
65307
65308 2002-04-28  Paul Eggert  <eggert@twinsun.com>
65309
65310         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
65311         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
65312
65313 2002-04-28  Paul Eggert  <eggert@twinsun.com>
65314
65315         * lib/sig2str.h, lib/sig2str.c: New files.
65316         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
65317
65318 2002-04-28  Paul Eggert  <eggert@twinsun.com>
65319
65320         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
65321         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
65322         of 127, since 64 is the largest conceivable number for ancient
65323         nonstandard hosts.
65324         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
65325
65326 2002-04-28  Jim Meyering  <meyering@lucent.com>
65327
65328         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
65329
65330 2002-04-24  Jim Meyering  <meyering@lucent.com>
65331
65332         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
65333         (jm_PREREQ): Use it.
65334
65335         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
65336         mach/mach.h fcntl.h.
65337         Check for this function: setlocale.
65338
65339 2002-04-24  Jim Meyering  <meyering@lucent.com>
65340
65341         * lib/gettext.h: New file, from Gettext.
65342         * lib/Makefile.am (INCLUDES): Remove -I../intl.
65343         (libfetish_a_SOURCES): Add gettext.h.
65344
65345 2002-04-16  Jim Meyering  <meyering@lucent.com>
65346
65347         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
65348         ut_pid, ut_id, ut_exit.
65349
65350 2002-04-16  Jim Meyering  <meyering@lucent.com>
65351
65352         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
65353         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
65354         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
65355
65356 2002-04-12  Jim Meyering  <meyering@lucent.com>
65357
65358         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
65359         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
65360         existence of the getmntinfo function.  Needed for Darwin 5.3.
65361
65362         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
65363         This is necessary at least on Darwin 5.3.
65364
65365         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
65366         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
65367         strnlen.o in the library, and that makes some versions of ranlib
65368         object.
65369
65370 2002-04-12  Jim Meyering  <meyering@lucent.com>
65371
65372         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
65373
65374 2002-04-09  Jim Meyering  <meyering@lucent.com>
65375
65376         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
65377         to be more precise.  Rather than saying we're checking whether the
65378         function `works', say what we're testing.
65379         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
65380         Reported by Bruno Haible.
65381
65382 2002-03-10  Jim Meyering  <meyering@lucent.com>
65383
65384         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
65385         Suggestion from Santiago Vila.
65386
65387 2002-03-08  Jim Meyering  <meyering@lucent.com>
65388
65389         * lib/rename.c: Mention that this wrapper is needed also on
65390         mips-dec-ultrix4.4 systems.
65391
65392 2002-03-02  Jim Meyering  <meyering@lucent.com>
65393
65394         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
65395         not HAVE_CLOCK_SETTIME.
65396
65397 2002-02-27  Paul Eggert  <eggert@twinsun.com>
65398
65399         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
65400         Check for clock_settime.
65401
65402 2002-02-27  Paul Eggert  <eggert@twinsun.com>
65403
65404         * lib/nanosleep.h: Rename to....
65405         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
65406
65407         * lib/gettime.c: New file.
65408         * lib/settime.c: New file.
65409         * lib/stime.c: Remove.
65410
65411         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
65412         timespec.h.  Remove nanosleep.h.
65413
65414 2002-02-25  Paul Eggert  <eggert@twinsun.com>
65415
65416         * m4/acl.m4: New file.
65417         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
65418         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
65419
65420 2002-02-25  Paul Eggert  <eggert@twinsun.com>
65421
65422         * lib/acl.c, lib/acl.h: New files.
65423         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
65424
65425 2002-02-24  Jim Meyering  <meyering@lucent.com>
65426
65427         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
65428         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
65429         cause trouble.  Reported by Nelson Beebe.
65430
65431 2002-02-23  Paul Eggert  <eggert@twinsun.com>
65432
65433         * lib/path-concat.c (xpath_concat): Reorder code to pacify
65434         compilers that don't know that xalloc_die never returns.
65435
65436 2002-02-20  Jim Meyering  <meyering@lucent.com>
65437
65438         * lib/getdate.c: Regenerate using bison-1.33.
65439
65440 2002-02-17  Jim Meyering  <meyering@lucent.com>
65441
65442         * config/config.guess (main): Don't use `head -1'; it's no longer
65443         portable. Use `sed 1q' instead.
65444
65445 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
65446
65447         * m4/codeset.m4: Upgrade to gettext-0.11.
65448         * m4/gettext.m4: Upgrade to gettext-0.11.
65449         * m4/glibc21.m4: Upgrade to gettext-0.11.
65450         * m4/iconv.m4: Upgrade to gettext-0.11.
65451         * m4/isc-posix.m4: Upgrade to gettext-0.11.
65452         * m4/lcmessage.m4: Upgrade to gettext-0.11.
65453         * m4/lib-ld.m4: New file, from gettext-0.11.
65454         * m4/lib-link.m4: New file, from gettext-0.11.
65455         * m4/lib-prefix.m4: New file, from gettext-0.11.
65456         * m4/progtest.m4: Upgrade to gettext-0.11.
65457
65458 2002-02-15  Paul Eggert  <eggert@twinsun.com>
65459
65460         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
65461         (jm_PREREQ): Use it.
65462
65463 2002-02-15  Paul Eggert  <eggert@twinsun.com>
65464
65465         * lib/posixver.c, lib/posixver.h: New files.
65466         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
65467
65468 2002-02-02  Paul Eggert  <eggert@twinsun.com>
65469             Bruno Haible  <bruno@clisp.org>
65470
65471         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
65472         (fwrite_success_callback): New declaration.
65473         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
65474         print_unicode_char. Call failure callback instead of error.
65475         (fwrite_success_callback): New function.
65476         (exit_failure_callback): New function.
65477         (fallback_failure_callback): New function.
65478         (print_unicode_char): Call unicode_to_mb.
65479
65480 2002-01-26  Jim Meyering  <meyering@lucent.com>
65481
65482         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
65483         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
65484
65485 2002-01-26  Jim Meyering  <meyering@lucent.com>
65486
65487         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
65488
65489 2002-01-22  Paul Eggert  <eggert@twinsun.com>
65490
65491         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
65492
65493 2002-01-22  Jim Meyering  <meyering@lucent.com>
65494
65495         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
65496         Otherwise, some versions of automake would omit the rule that makes
65497         Makefile from Makefile.in.
65498
65499 2002-01-21  Paul Eggert  <eggert@twinsun.com>
65500
65501         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
65502         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
65503         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
65504         (memcoll): Set errno to zero if there is no error.
65505
65506         * lib/quotearg.c (quotearg_buffer_restyled):
65507         Fix bug with quoting buffers containing NUL when backslashing escapes.
65508         This bug was exposed by the other changes in this patch.
65509         (quotearg_n_options): New arg ARGSIZE.
65510         All callers changed.
65511         (quoting_options_from_style): New function.
65512         (quotearg_n_style): Use it.
65513         (quotearg_n_style_mem): New function.
65514
65515         * lib/quotearg.h (quotearg_n_style_mem): New function.
65516
65517 2002-01-19  Jim Meyering  <meyering@lucent.com>
65518
65519         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
65520         Remove useless quotes: DF_PROG="df".
65521         * m4/strnlen.m4: New file.
65522
65523 2002-01-16  Paul Eggert  <eggert@twinsun.com>
65524
65525         * lib/backupfile.c (ISDIGIT): Comment fix.
65526         * lib/getdate.y (ISDIGIT): Likewise.
65527         * lib/posixtm.c (ISDIGIT, year): Likewise.
65528         * lib/strverscmp.c (ISDIGIT): Likewise.
65529         * lib/userspec.c (ISDIGIT): Likewise.
65530
65531 2002-01-16  Jim Meyering  <meyering@lucent.com>
65532
65533         * lib/getdate.y: Add three semicolons, each just before a closing
65534         brace. Bison (as of version 1.31) no longer papers over that mistake.
65535
65536 2002-01-05  Jim Meyering  <meyering@lucent.com>
65537
65538         * lib/version-etc.c (version_etc_copyright): Update copyright year.
65539
65540 2001-12-19  Paul Eggert  <eggert@twinsun.com>
65541
65542         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
65543         not silently exit merely because the output buffer happens to
65544         have nothing pending.
65545
65546 2001-12-18  Paul Eggert  <eggert@twinsun.com>
65547
65548         See the big note in ../ChangeLog.
65549         * lib/human.c (suffixes): Prefer K to k for 1024.
65550         (generate_suffix_backwards): New function.
65551         (human_readable_inexact): Use it.
65552         * lib/xstrtol.c (__xstrtol): If there is no number but there
65553         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
65554         Accept 'K' as well as 'k'.
65555
65556 2001-12-15  Jim Meyering  <meyering@lucent.com>
65557
65558         * lib/regex.h (__restrict_arr): Update from libc.
65559
65560         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
65561         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
65562         (STREQ): Define.
65563
65564 2001-12-14  Jim Meyering  <meyering@lucent.com>
65565
65566         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
65567         Suggestion from Bruno Haible.
65568
65569 2001-12-10  Jim Meyering  <meyering@lucent.com>
65570
65571         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
65572         xrealloc, Instead, include "xalloc.h".
65573         (initbuffer): Don't cast xmalloc return value to char*.
65574         (readline): Reword comment.
65575         Don't cast xrealloc return value to char*
65576         Return NULL, not 0.
65577
65578 2001-12-09  Jim Meyering  <meyering@lucent.com>
65579
65580         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
65581         about `signed and unsigned type in conditional expression'.
65582         * lib/posixtm.c (posix_time_parse): Likewise.
65583
65584         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
65585
65586         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
65587         to avoid a pedantic warning.
65588
65589         * lib/getstr.c: Don't include assert.h.
65590         (getstr): Remove warning-evoking assertions.
65591         Return -1 if offset parameter is out of bounds.
65592         Change the type of a local from int to size_t.
65593
65594         * lib/strftime.c (my_strftime_localtime_r): Include this function
65595         definition in the `#if ! HAVE_TM_GMTOFF' block.
65596
65597         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
65598         Include xalloc.h instead.
65599
65600 2001-12-02  Jim Meyering  <meyering@lucent.com>
65601
65602         * lib/tempname.c: Don't declare getenv, thus reverting the change of
65603         2001-11-18.  It's no longer necessary, now that stdlib.h is always
65604         included.
65605
65606         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
65607         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
65608
65609 2001-11-30  Akim Demaille  <akim@epita.fr>
65610
65611         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
65612         before being defined.
65613
65614 2001-11-27  Paul Eggert  <eggert@twinsun.com>
65615
65616         * lib/quotearg.h (quotearg_n, quotearg_n_style):
65617         First arg is int, not unsigned.
65618         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
65619         (SIZE_MAX, UINT_MAX): New macros.
65620         (quotearg_n_options): Abort if N is negative.
65621         Avoid overflow check on hosts where size_t is 64 bits and int
65622         is 32 bits, as overflow is impossible there.
65623         Fix off-by-one typo that caused unnecessary reallocation.
65624
65625 2001-11-27  Jim Meyering  <meyering@lucent.com>
65626
65627         * lib/tempname.c: Merge with version from libc.
65628         * lib/regex.c: Likewise.
65629
65630         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
65631         systems for which STDC_HEADERS is 0, it was not included, resulting in
65632         a warning about an integer-to-pointer conversion problem with getenv.
65633         Reported by Volker Borchert.
65634
65635 2001-11-26  Jim Meyering  <meyering@lucent.com>
65636
65637         * lib/gtod.h: Remove file.
65638         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
65639         * lib/gettimeofday.c: Don't include gtod.h.
65640         (GTOD_init): Remove function.
65641         (rpl_gettimeofday): Do its job here instead, rather than aborting.
65642         Suggestion from Volker Borchert.
65643
65644 2001-11-23  Jim Meyering  <meyering@lucent.com>
65645
65646         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
65647         it.
65648         * lib/hash.c (struct hash_table): Define it here instead.
65649
65650 2001-11-22  Jim Meyering  <meyering@lucent.com>
65651
65652         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
65653
65654 2001-11-20  Jim Meyering  <meyering@lucent.com>
65655
65656         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
65657         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
65658
65659 2001-11-19  Jim Meyering  <meyering@lucent.com>
65660
65661         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
65662         directory.  Use "conftestXXXXXX" as the template.
65663         Suggestion from Paul Eggert.
65664
65665         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
65666         immediately, so the test doesn't mistakenly hit the max-open-files
65667         limit.
65668
65669 2001-11-18  Paul Eggert  <eggert@twinsun.com>
65670
65671         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
65672         (TEMPORARIES): New macro.
65673         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
65674         removes an artificial limitation (e.g. HP-UX 10.20, where
65675         TMP_MAX is 17576).
65676
65677 2001-11-18  Jim Meyering  <meyering@lucent.com>
65678
65679         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
65680
65681 2001-11-18  Jim Meyering  <meyering@lucent.com>
65682
65683         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
65684         on SunOS 4.
65685
65686         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
65687         files will be created before anything else.
65688
65689 2001-11-17  Paul Eggert  <eggert@twinsun.com>
65690
65691         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
65692         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
65693
65694 2001-11-17  Jim Meyering  <meyering@lucent.com>
65695
65696         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
65697         Prompted by a report from Bob Proulx.
65698
65699         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
65700         Instead, require UTILS_FUNC_MKSTEMP.
65701
65702 2001-11-17  Jim Meyering  <meyering@lucent.com>
65703
65704         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
65705         Now, that's done as part of AC_FUNC_STRTOD.
65706
65707 2001-11-17  Jim Meyering  <meyering@lucent.com>
65708
65709         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
65710         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
65711         rather than group writable.  Patch by Juan F. Codagnone.
65712
65713         * lib/readtokens.c: Remove explicit declarations of xmalloc and
65714         xrealloc, Instead, include "xalloc.h".
65715
65716         * lib/mountlist.c: Include unlocked-io.h after all system headers.
65717         Remove explicit declarations of xmalloc, xrealloc,
65718         and xstrdup.  Instead, include "xalloc.h".
65719
65720         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
65721         unlocked-io.h.
65722         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
65723         Likewise.
65724         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
65725
65726         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
65727         Reported by Padraig Brady.
65728
65729         * lib/mkstemp.c: #undef mkstemp.
65730         Include config.h.
65731         (rpl_mkstemp): Rename from mkstemp.
65732         Protoize.
65733
65734 2001-11-16  Jim Meyering  <meyering@lucent.com>
65735
65736         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
65737         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
65738         determine the amount of total physical memory, use pstat_getstatic.
65739         HPUX-11 doesn't define _SC_PHYS_PAGES.
65740         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
65741         If sysconf couldn't be used to determine the amount of available
65742         physical memory, use both pstat_getstatic and pstat_getdynamic.
65743         Based on a patch from Bob Proulx.
65744
65745 2001-11-10  Jim Meyering  <meyering@lucent.com>
65746
65747         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
65748         (jm_PREREQ): Use it.
65749
65750 2001-11-09  Jim Meyering  <meyering@lucent.com>
65751
65752         * m4/jm-macros.m4: Require autoconf-2.52f.
65753         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
65754         Use these AC_-prefixed names, not the AM_-prefixed ones.
65755
65756         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
65757
65758 2001-11-05  Jim Meyering  <meyering@lucent.com>
65759
65760         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
65761
65762 2001-11-04  Jim Meyering  <meyering@lucent.com>
65763
65764         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
65765         $DEFS.
65766
65767 2001-11-03  Jim Meyering  <meyering@lucent.com>
65768
65769         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
65770         of AC_DEFUN.
65771
65772         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
65773         know the name of the variable in the macro definition.
65774
65775 2001-11-03  Jim Meyering  <meyering@lucent.com>
65776
65777         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
65778         in argmatch_to_argument call.
65779
65780         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
65781         argument.
65782
65783         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
65784         e.g., a fault due to an attempt to free a NULL pointer.
65785
65786 2001-11-01  Jim Meyering  <meyering@lucent.com>
65787
65788         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
65789         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
65790
65791 2001-11-01  Jim Meyering  <meyering@lucent.com>
65792
65793         * lib/dirfd.c, lib/dirfd.h: New files.
65794         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
65795
65796         * lib/hash.c (hash_print) [TESTING]: Clean up.
65797
65798 2001-10-22  Paul Eggert  <eggert@twinsun.com>
65799
65800         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
65801         to avoid a warning if -Wall.
65802
65803 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
65804
65805         * README: New file
65806         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
65807         (per RMS's instructions, this is now the canonical source)
65808         * lgpl/, gpl/: New directories.
65809
65810 2001-10-21  Paul Eggert  <eggert@twinsun.com>
65811
65812         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
65813
65814 2001-10-21  Jim Meyering  <meyering@lucent.com>
65815
65816         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
65817         this code would end up calling gettext even in packages built
65818         with --disable-nls.
65819         * lib/getopt.c (_): Likewise.
65820         * lib/regex.c (_): Likewise.
65821
65822 2001-10-20  Paul Eggert  <eggert@twinsun.com>
65823
65824         * m4/error.m4 (jm_PREREQ_ERROR):
65825         Do not invoke AC_CHECK_FUNCS with strerror_r, as
65826         AC_FUNC_STRERROR_R does that.
65827         Check for strerror declaration.
65828
65829         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
65830         are supposed to have them these days.
65831         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
65832         Merge changes from latest Autoconf CVS.
65833         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
65834         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
65835         POSIX decided to standardize on the int flavor of strerror_r.
65836
65837 2001-10-20  Paul Eggert  <eggert@twinsun.com>
65838
65839         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
65840         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
65841         Use strerror_r that is only a macro, even if it is not a function.
65842         (strerror): Check for HAVE_DECL_STRERROR before declaring.
65843         (private_strerror): Use prototypes, not old-style function definition.
65844         (print_errno_message): New function.
65845         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
65846         char*-flavored one.
65847         (error_tail, error, error_at_line): Use it.
65848
65849 2001-10-11  Jim Meyering  <meyering@lucent.com>
65850
65851         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
65852         and quote_n (1, ... to avoid clobbering a buffer.
65853
65854 2001-10-05  Jim Meyering  <meyering@lucent.com>
65855
65856         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
65857         hash-pjw.h.
65858         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
65859         * lib/hash-pjw.h: New file.
65860
65861 2001-09-30  Jim Meyering  <meyering@lucent.com>
65862
65863         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
65864         `struct fsstat' has the `f_fstypename' member.
65865         Use that to define FS_TYPE, which is now used to make
65866         the getfsstat link test tighter.
65867
65868 2001-09-30  Jim Meyering  <meyering@lucent.com>
65869
65870         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
65871         Include <sys/ucred.h>, for Apple Darwin.
65872         Include sys/mount.h and sys/fs_types.h only if available.
65873         (FS_TYPE): Define.
65874         (read_filesystem_list): Use FS_TYPE.
65875
65876 2001-09-29  Paul Eggert  <eggert@twinsun.com>
65877
65878         * lib/exclude.c (excluded_filename): 0 -> false, since it's
65879         a boolean context.
65880
65881 2001-09-29  Jim Meyering  <meyering@lucent.com>
65882
65883         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
65884         [one-argument getmntent function]): Include stdio.h before mntent.h.
65885         SunOS 4.1.x needs it for the declaration of `FILE'.
65886         Patch by Volker Borchert.
65887
65888         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
65889         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
65890         sys/fs_types.h, and make the link-test for getfsstat guard #include
65891         directives with appropriate #if HAVE_*_H tests so that we can
65892         detect getfsstat on Apple Darwin1.3.7 systems.
65893         Reported by Nelson Beebe.
65894         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
65895
65896 2001-09-28  Paul Eggert  <eggert@twinsun.com>
65897
65898         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
65899         #defines strtoimax.  Also treat the other strto* functions
65900         like strtoimax.
65901
65902         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
65903         Check for strtoul and strtoumax,
65904         as those declarations are made even in the signed case.
65905         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
65906         Likewise, for strtol and strtoimax.
65907
65908 2001-09-28  Paul Eggert  <eggert@twinsun.com>
65909
65910         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
65911         #defines strtoimax.  Also treat the other strto* functions
65912         like strtoimax.
65913
65914         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
65915         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
65916         (strtoimax, strtoumax): Do not declare if already defined as a macro.
65917
65918 2001-09-26  Jim Meyering  <meyering@lucent.com>
65919
65920         Most macros in unlocked-io.h had the wrong number of arguments.
65921         * lib/gen-uio: New script.
65922         (USE_UNLOCKED_IO): Define to 1 if not already defined.
65923         * lib/unlocked-io.hin: Remove file.
65924         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
65925         rather than trying to embed it here.
65926         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
65927         Reported by Padraig Brady.
65928
65929 2001-09-25  Volker Borchert  <bt@teknon.de>
65930
65931         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
65932         `result'.
65933
65934 2001-09-24  Jim Meyering  <meyering@lucent.com>
65935
65936         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
65937
65938 2001-09-23  Jim Meyering  <meyering@lucent.com>
65939
65940         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
65941         instead of the mere test for existence of mntent.h.  The latter
65942         would get a false-positive on AIX 3.4 systems.
65943         In the outer getmntent if-block, don't die if neither of the getmntent
65944         tests succeeds.  Instead, just fall through and continue with the
65945         remaining tests.
65946
65947 2001-09-23  Jim Meyering  <meyering@lucent.com>
65948
65949         * lib/mountlist.c: Remove useless parentheses in #if directives.
65950         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
65951         the deprecated MOUNTED symbol is no longer defined in mntent.h.
65952
65953 2001-09-22  Jim Meyering  <meyering@lucent.com>
65954
65955         * m4/gettext.m4: New file.  From gettext.
65956         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
65957         * m4/progtest.m4: Likewise
65958         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
65959         * m4/glibc21.m4: Likewise.
65960
65961         * m4/libintl.m4: Remove.  No longer used.
65962
65963 2001-09-22  Jim Meyering  <meyering@lucent.com>
65964
65965         * lib/localcharset.c: Update from latest gettext.
65966         * lib/config.charset: Likewise.
65967
65968 2001-09-20  Jim Meyering  <meyering@lucent.com>
65969
65970         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
65971         strtoimax.
65972         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
65973         strtoumax.
65974
65975 2001-09-20  Jim Meyering  <meyering@lucent.com>
65976
65977         * lib/xstrtol.c (strtoimax): Guard declaration with
65978         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
65979         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
65980         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
65981         (strtoumax): Likewise, for completeness (it wasn't necessary).
65982
65983 2001-09-17  Paul Eggert  <eggert@twinsun.com>
65984
65985         * lib/strtoimax.c (HAVE_LONG_LONG):
65986         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
65987         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
65988         to work around bug in IBM C compiler.
65989
65990 2001-09-17  Jim Meyering  <meyering@lucent.com>
65991
65992         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
65993         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
65994         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
65995         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
65996         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
65997         whenever the right hand side need not be expanded by the shell.
65998
65999 2001-09-16  Paul Eggert  <eggert@twinsun.com>
66000
66001         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
66002         library.  It's not correct, as some older glibcs are buggy.
66003         fnmatch wasn't fixed until glibc 2.2.
66004
66005         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
66006         special shell magic here.
66007
66008 2001-09-16  Jim Meyering  <meyering@lucent.com>
66009
66010         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
66011         * m4/jm-macros.m4: Require it.
66012
66013 2001-09-16  Jim Meyering  <meyering@lucent.com>
66014
66015         * lib/mkdir.c: New file.
66016
66017 2001-09-15  Jim Meyering  <meyering@lucent.com>
66018
66019         * m4/jm-macros.m4: Check for help2man.
66020
66021 2001-09-11  Jim Meyering  <meyering@lucent.com>
66022
66023         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
66024         The body, by Paul Eggert, was moved here from configure.in.
66025         * m4/jm-macros.m4: Require UTILS_HOST_OS.
66026
66027 2001-09-04  Paul Eggert  <eggert@twinsun.com>
66028
66029         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
66030         (jm_PREREQ): Use it.
66031
66032 2001-09-04  Paul Eggert  <eggert@twinsun.com>
66033
66034         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
66035         Use ssize_t, not int, to store result of readlink.
66036         Check for ssize_t overflow as well as size_t overflow,
66037         as POSIX says the result of readlink is implementation-defined
66038         when ssize_t overflows.
66039         Remove unnecessary cast to char*.
66040         Use free+malloc instead of realloc, as the storage doesn't need
66041         to be preserved and it's clearer and can be more efficient that way.
66042         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
66043         * lib/xreadlink.h (xreadlink): Update prototype.
66044
66045 2001-09-04  Paul Eggert  <eggert@twinsun.com>
66046
66047         * lib/xgetcwd.c: Revert some of the previous change; intead,
66048         fix the HAVE_GETCWD_NULL code to behave more like the
66049         !HAVE_GETCWD_NULL code used to.
66050
66051         Include "xalloc.h".
66052         (xgetcwd): Do not return NULL when memory is exhausted; instead,
66053         invoke xalloc_die.
66054
66055 2001-09-03  Paul Eggert  <eggert@twinsun.com>
66056
66057         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
66058         sys/param.h, as pathmax.h includes them.
66059
66060 2001-09-03  Paul Eggert  <eggert@twinsun.com>
66061
66062         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
66063         (jm_PREREQ_XGETCWD): New macro.
66064
66065         * m4/getcwd.m4: New file.
66066
66067 2001-09-03  Paul Eggert  <eggert@twinsun.com>
66068
66069         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
66070         like the HAVE_GETCWD_NULL code.
66071         Include pathmax.h if not HAVE_GETCWD.
66072         Do not include xalloc.h.
66073         (INITIAL_BUFFER_SIZE): New symbol.
66074         Do not use xmalloc / xrealloc, since the caller is responsible for
66075         handling errors.  Preserve errno around `free' during failure.
66076         Do not overrun buffer when using getwd.
66077
66078 2001-09-03  Paul Eggert  <eggert@twinsun.com>
66079
66080         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
66081         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
66082         getcwd (NULL, 0).
66083
66084 2001-09-03  Paul Eggert  <eggert@twinsun.com>
66085
66086         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
66087         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
66088         spotted by Jim Meyering.
66089
66090 2001-09-03  Jim Meyering  <meyering@lucent.com>
66091
66092         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
66093         failure.
66094
66095 2001-09-02  Jim Meyering  <meyering@lucent.com>
66096
66097         * lib/error.c: Update from GNU libc.
66098
66099 2001-09-01  Jim Meyering  <meyering@lucent.com>
66100
66101         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
66102         Used by df.
66103
66104 2001-09-01  Jim Meyering  <meyering@lucent.com>
66105
66106         * lib/xreadlink.c: New file.
66107         * lib/xreadlink.h: New file.
66108         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
66109         xreadlink.h.
66110
66111         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
66112         doesn't conflict with sparc Solaris 7's definition in
66113         /usr/include/sys/int_types.h.
66114
66115         * lib/exclude.c: Use `""', not `<>' to #include non-system header
66116         files.
66117         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
66118         and strncasecmp as r-values.  Unixware didn't have declarations.
66119
66120 2001-08-31  Paul Eggert  <eggert@twinsun.com>
66121
66122         * lib/xstrtol.h: Add copyright notice.
66123         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
66124         LONGINT_INVALID_SUFFIX_CHAR.
66125
66126 2001-08-31  Paul Eggert  <eggert@twinsun.com>
66127
66128         * lib/xstrtol.c (strtoimax): New decl.
66129
66130 2001-08-31  Paul Eggert  <eggert@twinsun.com>
66131
66132         * lib/xgetcwd.c: Don't include pathmax.h.
66133         Include stdlib.h and unistd.h if available.
66134         Include xalloc.h.
66135         (xmalloc, xstrdup, free): Remove decls.
66136         (xgetcwd): Don't assume sizes fit in unsigned.
66137         Check for overflow when computing sizes.
66138         Simplify reallocation code.
66139
66140 2001-08-31  Paul Eggert  <eggert@twinsun.com>
66141
66142         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
66143         a directory's st_size can have an arbitrary value, so the old
66144         usage could waste an arbitrary amount of memory.  All uses
66145         changed.
66146         * lib/savedir.h: Update prototype.
66147
66148 2001-08-31  Paul Eggert  <eggert@twinsun.com>
66149
66150         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
66151
66152         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
66153         old strtoimax.c.
66154
66155         Also, make the following further changes to make this file's
66156         configuration more similar to that of strtol.c:
66157         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
66158         (strtoumax, uintmax_t, strtoull, strtol): Remove.
66159         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
66160         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
66161         changed to signed values.
66162
66163         And make the following changes as well:
66164         Fix copyright notice, as 1999 was missing.
66165         (verify): New macro.
66166         (strtoimax): Check sizes at compile-time, not run-time.
66167         Prefer strtol to strtoll if both work.
66168         (main): Remove; it was not that useful and was a pain to maintain.
66169
66170         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
66171
66172 2001-08-31  Jim Meyering  <meyering@lucent.com>
66173
66174         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
66175         Use an initial, malloc'd, buffer of length 128 rather than
66176         a statically allocated one of length 1024.
66177
66178 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66179
66180         Simplify code, partly by assuming autoconf 2.52 semantics.
66181
66182         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
66183
66184         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
66185         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
66186         All uses removed.
66187         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
66188         Move AC_REQUIRE to next-to-top level, to avoid confusion.
66189         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
66190         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
66191         jm_AC_HEADER_INTTYPES_H.
66192         * m4/jm-macros.m4 (jm_MACROS): Likewise.
66193
66194         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
66195
66196         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
66197         Quote first arg of AC_DEFUN.
66198         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
66199         since they are needed to parse the include file even if we need
66200         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
66201         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
66202         but with opposite signedness.
66203
66204 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66205
66206         Merge 'exclude' changes from tar 1.13.22.
66207         This fixes one or two unlikely storage allocation overflow bugs,
66208         but doesn't change user-visible behavior otherwise.
66209
66210 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66211
66212         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
66213         (jm_PREREQ_EXCLUDE): New macro.
66214
66215 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66216
66217         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
66218         tm to be declared.
66219
66220 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66221
66222         * lib/hash.c: Remove '2001' from copyright notice.
66223
66224 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66225
66226         * lib/full-write.h: New file.
66227         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
66228         * lib/full-write.c: Correct credits, as cccp.c no longer
66229         exists and anyway it was so heavily changed from the old cccp
66230         code as to be unrecognizable.  Include full-write.h.
66231         (full_write) Return size_t, with short writes meaning failure.
66232         All callers changed.  This fixes a bug with large buffers
66233         on 64-bit hosts.
66234         * lib/utime.c: Include full-write.h.
66235
66236 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66237
66238         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
66239         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
66240         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
66241         Include if available.
66242         (<xalloc.h>): Include
66243         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
66244         (verify): New macro.  Use it to verify that EXCLUDE macros do not
66245         collide with FNM macros.
66246         (struct patopts): New struct.
66247         (struct exclude): Use it, as exclude patterns now come with options.
66248         (new_exclude): Support above changes.
66249         (new_exclude, add_exclude_file):
66250         Initial size must now be a power of two to simplify overflow checking.
66251         (free_exclude, fnmatch_no_wildcards): New function.
66252         (excluded_filename): No longer requires options arg, as the options
66253         are determined by add_exclude.  Now returns bool, not int.
66254         (excluded_filename, add_exclude):
66255         Add support for the fancy new exclusion options.
66256         (add_exclude, add_exclude_file): Now takes int options arg.
66257         Check for arithmetic overflow when computing sizes.
66258         (add_exclude_file): xrealloc might modify errno, so don't
66259         realloc until after errno might be used.
66260
66261         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
66262         New macros.
66263         (free_exclude): New decl.
66264         (add_exclude, add_exclude_file): Now takes int options arg.
66265         (excluded_filename): No longer requires options arg, as the options
66266         are determined by add_exclude.  Now returns bool, not int.
66267
66268 2001-08-30  Paul Eggert  <eggert@twinsun.com>
66269
66270         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
66271
66272 2001-08-27  Jim Meyering  <meyering@lucent.com>
66273
66274         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
66275
66276         * lib/version-etc.c (N_): Remove definition.
66277         Revert most of last change.
66278         Instead, simply don't mark the `Copyright...' string for translation.
66279         Based on advice from Paul Eggert.
66280
66281         * lib/strtoxmax.c: Tweak comment.
66282
66283 2001-08-26  Jim Meyering  <meyering@lucent.com>
66284
66285         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
66286
66287         * m4/xstrtoimax.m4: New file.
66288         * m4/xstrtoumax.m4: Add comments explaining why we
66289         AC_REPLACE_FUNCS(strtol).
66290
66291 2001-08-26  Jim Meyering  <meyering@lucent.com>
66292
66293         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
66294         of copyright with `%s' so translators don't get an untranslated
66295         message in 2002.
66296         (COPYRIGHT_YEAR): Define.
66297         (version_etc): Use fprintf rather than fputs.
66298         Suggestion from Ulrich Drepper.
66299
66300         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
66301
66302         * lib/strtoll.c: New file, from GNU libc.
66303         * lib/xstrtoimax.c: New file.
66304
66305         * lib/xstrtol.h: Add xstrtoimax.
66306         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
66307         * lib/strtoimax.c: New file.  Likewise, but first define
66308         STRTOUXMAX_SIGNED.
66309
66310         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
66311         ...
66312         * lib/strtoxmax.c: ... then renamed to this.
66313
66314 2001-08-18  Paul Eggert  <eggert@twinsun.com>
66315
66316         * m4/inttypes.m4: Add AC_PREREQ(2.13).
66317         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
66318         (jm_AC_TYPE_INTMAX_T): New macro.
66319         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
66320
66321         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
66322
66323         * m4/longlong.m4: Renamed from ulonglong.m4.
66324         * m4/inttypes.m4: Renamed from inttypes_h.m4.
66325         * m4/uintmax_t.m4: Removed.
66326
66327 2001-08-13  Paul Eggert  <eggert@twinsun.com>
66328
66329         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
66330         Port to Solaris 8, where 'sed' requires a space after the 'r'
66331         command, and where sh dislikes "$/".  Clean up the spacing a bit.
66332         Redirect output to $tmp just once.
66333
66334 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
66335
66336         * lib/addext.c (<errno.h>): Include.
66337         (errno): Declare if not defined.
66338         (addext): Work correctly when pathconf returns -1 and leaves
66339         errno alone because there is no limit.  Also, work even if
66340         pathconf returns a value greater than SIZE_MAX.
66341
66342 2001-08-12  Jim Meyering  <meyering@lucent.com>
66343
66344         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
66345         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
66346         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
66347         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
66348         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
66349         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
66350         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
66351         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
66352         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
66353         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
66354         utime.m4, utimes.m4, xstrtoumax.m4:
66355         Quote the first argument in each use of AC_DEFUN.
66356
66357 2001-08-12  Jim Meyering  <meyering@lucent.com>
66358
66359         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
66360         Simply `return getcwd (NULL, 0);'.
66361         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
66362         Use 1300 as initial value for length, not PATH_MAX.
66363
66364         * lib/pathmax.h: Clean up cpp syntax.
66365
66366 2001-08-12  Jim Meyering  <meyering@lucent.com>
66367
66368         * lib/gettimeofday.c: New file.
66369         * lib/gtod.h: New file.
66370         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
66371
66372 2001-08-05  Jim Meyering  <meyering@lucent.com>
66373
66374         * m4/jm-macros.m4: Require autoconf-2.52.
66375
66376 2001-08-04  Jim Meyering  <meyering@lucent.com>
66377
66378         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
66379         stmt, to get in sync with glibc.
66380
66381 2001-08-03  Paul Eggert  <eggert@twinsun.com>
66382
66383         The following changes are from gettext 0.10.39 as maintained by
66384         Bruno Haible.
66385
66386         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
66387         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
66388         with inverted sense.  All uses changed.
66389
66390         * lib/mbswidth.c: Don't include <limits.h>.
66391         Include <stdlib.h> and <string.h> unconditionally.
66392         (iswcntrl, mbsinit, ISCNTRL): New macros.
66393         (mbsnwidth): Use K&R style function declarations.
66394         Don't bother checking for MB_LEN_MAX == 1, since the compiler
66395         can optimize it when MB_CUR_MAX == 1.
66396         The width of control characters is zero, not 1.
66397
66398 2001-08-03  Paul Eggert  <eggert@twinsun.com>
66399
66400         The following changes are from gettext 0.10.39 as maintained by
66401         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
66402
66403         * m4/codeset.m4: Upgrade to serial AM1.
66404         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
66405         all uses changed.  Quote first arg of AC_DEFUN.
66406         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
66407
66408         * m4/iconv.m4: Upgrade to serial AM2.
66409         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
66410         Add --with-libconv-prefix.
66411         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
66412         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
66413         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
66414         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
66415         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
66416
66417         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
66418         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
66419         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
66420         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
66421         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
66422         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
66423         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
66424         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
66425         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
66426
66427         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
66428         string.h any more.
66429
66430         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
66431         not the default value.
66432
66433         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
66434         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
66435         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
66436         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
66437         Also check for iswcntrl, used for wcwidth fallback.
66438         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
66439         to Autoconf 2.13.
66440
66441 2001-08-03  Jim Meyering  <meyering@lucent.com>
66442
66443         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
66444         as it was in the original.  Reported by Paul Eggert.
66445
66446 2001-07-16  Jim Meyering  <meyering@lucent.com>
66447
66448         * m4/gettimeofday.m4: New file.
66449         Prompted by a report from Bernhard Baehr.
66450
66451 2001-07-15  Jim Meyering  <meyering@lucent.com>
66452
66453         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
66454         stuff. Now it's in ../Makefile.cfg.
66455
66456 2001-07-15  Jim Meyering  <meyering@lucent.com>
66457
66458         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
66459         (BUILT_SOURCES): Add unlocked-io.h.
66460         (io_functions): Define.
66461         (unlocked-io.h): New rule.
66462         (DISTCLEANFILES): Add unlocked-io.h.
66463         (all-local): Depend on unlocked-io.h, to ensure it is created.
66464
66465         * lib/unlocked-io.hin: New file
66466
66467         * lib/regex.c: Update from glibc.
66468
66469 2001-07-05  Jim Meyering  <meyering@lucent.com>
66470
66471         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
66472         recommendation.
66473         (libfetish_a_SOURCES): Put all .h files here instead.
66474         Remove a thus-exposed (better checks in automake) duplicate and
66475         two unnecessary .h files.
66476
66477 2001-07-04  Jim Meyering  <meyering@lucent.com>
66478
66479         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
66480         that generates jm-glibc-io.m4 so that it doesn't trigger any make
66481         distcheck failure.
66482
66483 2001-07-02  Jim Meyering  <meyering@lucent.com>
66484
66485         The following changes were prompted by suggestions from Bruno Haible.
66486
66487         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
66488         is now generated.
66489         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
66490         definition of EXTRA_DIST.
66491         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
66492         ensure that the generated file is created/updated whenever the list
66493         of $(unlocked_functions) is changed.
66494         (jm-glibc-io.m4): New rule.
66495         (unlocked-io.h): New rule -- currently unused.
66496
66497 2001-06-24  Jim Meyering  <meyering@lucent.com>
66498
66499         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
66500         unmatched right bracket, rather than kludging it with an extra,
66501         falsely-matching quote in a comment.  Patch by Akim Demaille.
66502
66503 2001-06-11  Jim Meyering  <meyering@lucent.com>
66504
66505         * lib/regex.c: Update from GNU libc.
66506
66507 2001-05-27  Jim Meyering  <meyering@lucent.com>
66508
66509         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
66510         Check for ut_type in struct utmp.
66511
66512 2001-05-27  Jim Meyering  <meyering@lucent.com>
66513
66514         * lib/readutmp.h (UT_TYPE): Define.
66515
66516 2001-05-24  Jim Meyering  <meyering@lucent.com>
66517
66518         * lib/argmatch.c: Include "quote.h".
66519         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
66520         quote function.  Reported by Göran Uddeborg.
66521
66522 2001-05-22  Jim Meyering  <meyering@lucent.com>
66523
66524         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
66525         now that we use the package-supplied version unconditionally.
66526         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
66527
66528 2001-05-21  Jim Meyering  <meyering@lucent.com>
66529
66530         * m4/regex.m4: Change a couple backticks to single quotes to avoid
66531         shell syntax errors.
66532
66533 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
66534
66535         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
66536
66537 2001-05-20  Paul Eggert  <eggert@twinsun.com>
66538
66539         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
66540         Don't bother to check library strftime, since
66541         we'll be using our own my_strftime function anyway.
66542         Define my_strftime instead of strftime.
66543
66544 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
66545
66546         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
66547         which is not yet declared.
66548
66549 2001-05-15  Jim Meyering  <meyering@lucent.com>
66550
66551         * m4/regex.m4: Use proper quoting so brackets appear in the test
66552         program.
66553         Reported by, and with help from, Bruno Haible.
66554
66555 2001-05-13  Jim Meyering  <meyering@lucent.com>
66556
66557         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
66558         undefined.
66559
66560 2001-05-11  Paul Eggert  <eggert@twinsun.com>
66561
66562         dirname code cleanup.  base_name now behaves more compatibly
66563         with POSIX basename when given file names that have trailing
66564         slashes, and similarly for dir_name.  Add new primitives
66565         base_len and dir_len.  Put the directory-name-related decls
66566         into dirname.h.
66567
66568         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
66569         * lib/backupfile.c (base_name): Likewise.
66570         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
66571         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
66572         * lib/makepath.c (strip_trailing_slashes): Likewise.
66573         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
66574         ISSLASH): Likewise.
66575         * lib/rename.c (strip_trailing_slashes): Likewise.
66576         * lib/same.c (base_name): Likewise.
66577         * lib/stripslash.c (ISSLASH): Likewise.
66578
66579         * lib/addext.c: Include <dirname.h> after size_t is defined.
66580         * lib/backupfile.c: Likewise.
66581
66582         * lib/addext.c (addext): Use base_len to trim redundant
66583         trailing slashes instead of doing it ourselves.
66584         But do not trim the last slash if it is not redundant.
66585
66586         * lib/backupfile.c (find_backup_file_name,
66587         max_backup_version): Use base_len instead of rolling it ourselves.
66588         Handle the case of "" and (on DOS) "C:" correctly.
66589
66590         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
66591         needed. Include <string.h>, <dirname.h>.
66592         (base_name): Allow file names ending in slashes, other than names
66593         that are all slashes.  In this case, return the basename followed
66594         by the slashes.  This is more general, and can be used in places
66595         where the original base_name purposely had an assertion failure.
66596         (base_len): New function.
66597
66598         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
66599         Do not include <assert.h>; no longer needed.
66600         Include xalloc.h.
66601         (memrchr): Remove decl.
66602         (dir_name_r): Remove.
66603         (dir_len): Renamed from dirlen.  All callers changed.
66604         Rewrite in terms of base_name, for simplicity and consistency.
66605         (dir_name): Never return NULL.  All callers changed.
66606         Do not include <stdlib.h> in test program; no longer needed.
66607         return 0; is fine for test program.
66608
66609         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
66610         New macros.
66611         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
66612
66613         * lib/path-concat.c (path_concat): Use base_len to compute
66614         base length, not strlen; this means we cannot rely on memcpy
66615         to null-terminate.
66616
66617         * lib/same.c (STREQ): Remove.
66618         (same_name): Handle the case where the basename ends in trailing '/'.
66619
66620         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
66621         a slash was stripped.  Do not strip the last slash after a
66622         file system prefix.
66623
66624 2001-05-11  Paul Eggert  <eggert@twinsun.com>
66625
66626         * lib/Makefile.am (libfetish_a_SOURCES):
66627         Add strftime.c, since we now compile it on all hosts.
66628
66629         * lib/strftime.c (my_strftime):
66630         Define to nstrftime if emacs, but only if my_strftime is not defined.
66631         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
66632         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
66633         Add one more extra argument: a nanoseconds value.
66634         All uses changed.
66635         (ns): New macro.
66636         (my_strftime function): Add %N format.
66637         (emacs_strftimeu): Renamed from emacs_strftime,
66638         with extra ut argument.
66639
66640 2001-05-09  Paul Eggert  <eggert@twinsun.com>
66641
66642         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
66643
66644 2001-04-21  Jim Meyering  <meyering@lucent.com>
66645
66646         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
66647         doesn't interfere.
66648
66649 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
66650
66651         * m4/ftruncate.m4: Check for chsize.
66652         Link with ftruncate.o unconditionally if ftruncate is missing.
66653         This was required when cross-compiling to i586-mingw32msvc.
66654
66655 2001-04-08  Jim Meyering  <meyering@lucent.com>
66656
66657         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
66658         recomputed; that's necessary when the offset spans a DST transition.
66659         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
66660
66661 2001-04-02  Jim Meyering  <meyering@lucent.com>
66662
66663         * lib/regex.h, regex.c: Update from GNU libc.
66664
66665 2001-03-24  Jim Meyering  <meyering@lucent.com>
66666
66667         * m4/jm-macros.m4: Require autoconf-2.49d.
66668
66669 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
66670
66671         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
66672
66673 2001-03-19  Paul Eggert  <eggert@twinsun.com>
66674
66675         * lib/version-etc.c (version_etc_copyright): Update to 2001.
66676
66677 2001-03-17  Jim Meyering  <meyering@lucent.com>
66678
66679         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
66680         now that the version in autoconf is equivalent.
66681         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
66682
66683         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
66684         Suggestion from Akim Demaille.
66685
66686         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
66687         (jm_PREREQ_TEMPNAME): New function.
66688
66689 2001-03-16  Paul Eggert  <eggert@twinsun.com>
66690
66691         * lib/tempname.c (uint64_t): Define to uintmax_t if
66692         not defined, and if UINT64_MAX is not defined.
66693         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
66694         Reported by John David Anglin.
66695
66696 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
66697
66698         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
66699         resolve alias if codeset is empty.
66700         * lib/config.charset (BeOS): Use wildcard syntax.
66701
66702 2001-03-13  Jim Meyering  <meyering@lucent.com>
66703
66704         * lib/path-concat.c (path_concat)
66705         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
66706         concatenating e.g., `C:' and `foo'.
66707         From Bruno Haible.
66708
66709 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
66710
66711         * lib/localcharset.c (locale_charset): Don't use
66712         setlocale(LC_CTYPE,NULL). Don't return NULL.
66713         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
66714
66715 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
66716
66717         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
66718         support for DOS/DJGPP.
66719
66720 2001-03-01  Paul Eggert  <eggert@twinsun.com>
66721
66722         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
66723         lacks mkstemp.  Compile our own tempname.c if we compile our own
66724         mkstemp.c, as mkstemp relies on tempname.
66725
66726 2001-03-01  Jim Meyering  <meyering@lucent.com>
66727
66728         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
66729         AH_VERBATIM really does output its argument verbatim.
66730
66731 2001-02-28  Paul Eggert  <eggert@twinsun.com>
66732
66733         * lib/Makefile.am (libfetish_a_SOURCES):
66734         Add dup-safer.c, fopen-safer.c.
66735         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
66736
66737         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
66738         * lib/unistd-safer.h: New files.
66739
66740 2001-02-25  Paul Eggert  <eggert@twinsun.com>
66741
66742         The mkstemp replacement is taken from glibc 2.2.2, with some
66743         portability fixes for use outside glibc, as follows:
66744
66745         * lib/tempname.c (struct_stat64): New macro.
66746         (direxists, __gen_tempname): Use it.
66747         This avoids a portability problem with Solaris 8.
66748
66749         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
66750         (<stddef.h>, <stdint.h>, <string.h>):
66751         Include only if STDC_HEADERS || _LIBC.
66752         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
66753         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
66754         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
66755         (__set_errno): Define this macro if <errno.h> doesn't.
66756         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
66757         Define these macros if <stdio.h> doesn't.
66758         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
66759         Define these macros if <sys/stat.h>
66760         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
66761         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
66762         __xstat64): Define if not _LIBC.
66763         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
66764         (__gen_tempname): Invoke gettimeofday only if
66765         HAVE_GETTIMEOFDAY || _LIBC;
66766         otherwise, fall back on plain "time".
66767         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
66768
66769         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
66770
66771         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
66772
66773 2001-02-18  Paul Eggert  <eggert@twinsun.com>
66774
66775         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
66776
66777 2001-02-17  Paul Eggert  <eggert@twinsun.com>
66778
66779         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
66780         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
66781         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
66782         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
66783
66784 2001-02-17  Paul Eggert  <eggert@twinsun.com>
66785
66786         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
66787         Remove workaround macros for hosts that have mbrtowc but not
66788         mbstate_t, as we now insist on proper declarations for both
66789         before using mbrtowc.
66790
66791 2001-02-17  Jim Meyering  <meyering@lucent.com>
66792
66793         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
66794         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
66795         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
66796         UnixWare 7.1.1.
66797
66798         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
66799         rather than AC_CACHE_VAL.
66800
66801 2001-02-17  Jim Meyering  <meyering@lucent.com>
66802
66803         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
66804         around included file name.
66805
66806         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
66807
66808         * lib/strftime.c: Update from GNU libc (the only changes were to
66809         comments).
66810
66811 2001-02-17  Jim Meyering  <meyering@lucent.com>
66812
66813         * lib/regex.c: Update from libc.
66814
66815 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
66816
66817         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
66818         clash.
66819
66820 2001-02-16  Paul Eggert  <eggert@twinsun.com>
66821
66822         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
66823         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
66824         Reported by Mark Hounschell via Paul Eggert.
66825
66826 2001-02-07  Jim Meyering  <meyering@lucent.com>
66827
66828         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
66829
66830 2001-02-05  Jim Meyering  <meyering@lucent.com>
66831
66832         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
66833         it includes the patch required for `large file' support with at least
66834         HP-UX's 10.20 /bin/cc.
66835
66836 2001-02-03  Jim Meyering  <meyering@lucent.com>
66837
66838         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
66839         AS_IF, now that it works once again (mysteriously).
66840         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
66841
66842 2001-01-30  Jim Meyering  <meyering@lucent.com>
66843
66844         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
66845         * m4/chown.m4: Rename conftestchown to conftest.chown.
66846         * m4/rename.m4: s/conftestdir/conftest.d1/ and
66847         s/conftestdir2/conftest.d2/.
66848         * m4/utimes.m4: s/conftestdata/conftest.data/
66849         Inspired by Pavel Roskin's change in autoconf.
66850
66851 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
66852
66853         * lib/config.charset: Update for FreeBSD 4.2.
66854
66855 2001-01-27  Jim Meyering  <meyering@lucent.com>
66856
66857         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
66858         a use of AS_IF.
66859         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
66860
66861 2001-01-26  Jim Meyering  <meyering@lucent.com>
66862
66863         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
66864         quotearg.c includes it.
66865
66866 2001-01-26  Jim Meyering  <meyering@lucent.com>
66867
66868         * lib/quotearg.c: Include stddef.h.
66869         * lib/quote.c: Include stddef.h.
66870         Reported by Axel Kittenberger.
66871
66872         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
66873         line in double quotes so that it evokes a better diagnostic.
66874         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
66875         Reported by Axel Kittenberger.
66876
66877 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
66878
66879         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
66880         as if it was a `charset'.
66881
66882 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
66883
66884         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
66885         has const.
66886
66887 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
66888
66889         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
66890         to avoid a warning.  Add back 'const' to inptr.
66891
66892 2001-01-20  Jim Meyering  <meyering@lucent.com>
66893
66894         Be sure that headers are checked before used in code compiled
66895         for the type checks.
66896         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
66897         In place of that, invoke jm_CHECK_ALL_TYPES.
66898         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
66899         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
66900         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
66901         The check for ssize_t was mistakenly run before the test for unistd.h.
66902
66903         The configure-time check for stdbool.h was missing.
66904         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
66905         (jm_PREREQ_HASH): New function.
66906
66907 2001-01-17  Jim Meyering  <meyering@lucent.com>
66908
66909         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
66910         for autoconf-2.49c.
66911         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
66912
66913 2001-01-16  Jim Meyering  <meyering@lucent.com>
66914
66915         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
66916         From Bruno Haible.
66917
66918 2001-01-14  Jim Meyering  <meyering@lucent.com>
66919
66920         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
66921         foo and bar.  Create conftestdir/ in the script, not in the C code.
66922         Remove directories in the script, not in the C code.
66923         Remove conftestdir{,2} before trying to create the directory.
66924         Make the entire configure script fail if the mkdir fails.
66925
66926 2001-01-14  Jim Meyering  <meyering@lucent.com>
66927
66928         * lib/rename.c: New file.  From Volker Borchert.
66929         Include stdlib.h, string.h or strings.h, and xalloc.h.
66930         Use strip_trailing_slashes rather than open-coding it.
66931
66932 2001-01-03  Paul Eggert  <eggert@twinsun.com>
66933
66934         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
66935
66936 2001-01-03  Jim Meyering  <meyering@lucent.com>
66937
66938         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
66939         of local `inptr' to avoid warning with some system declarations of
66940         iconv.
66941
66942 2001-01-02  Volker Borchert  <bt@teknon.de>
66943
66944         * m4/rename.m4: New file.
66945         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
66946
66947 2001-01-01  Jim Meyering  <meyering@lucent.com>
66948
66949         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
66950         even on systems with utmpx.h.  It's necessary for the declaration of
66951         utmp's ut_user member.  Reported by Andreas Jaeger.
66952
66953         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
66954         available. They are required for the declarations of getgrgid and
66955         getpwuid resp.
66956         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
66957         Reported by Andreas Jaeger.
66958
66959 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
66960
66961         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
66962         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
66963         so `make install' also works in VPATH builds.
66964
66965 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
66966
66967         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
66968         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
66969         can be used in subdirectories.
66970
66971 2000-12-29  Paul Eggert  <eggert@twinsun.com>
66972
66973         * lib/modechange.c: Do not assume that mode_t uses the
66974         traditional octal encoding.  E.g. "chmod 1 FOO" should set
66975         the other-execute bit of FOO even if S_IXOTH != 1.
66976
66977         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
66978         WOTH, XOTH, ALLM): New macros.
66979         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
66980          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
66981         Use them.
66982         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
66983         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
66984         (mode_compile):
66985         No need to use uintmax_t; unsigned long is long enough.
66986         Don't bother to get suffix since we don't use it.
66987
66988 2000-12-26  Jim Meyering  <meyering@lucent.com>
66989
66990         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
66991         better with autoheader.
66992
66993 2000-12-24  Jim Meyering  <meyering@lucent.com>
66994
66995         * lib/hash.c (is_prime): Return explicit boolean values.
66996         (hash_get_first): Return NULL to appease Irix5.6's 89.
66997         Reported by Nelson Beebe.
66998
66999 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
67000
67001         * lib/localcharset.c (locale_charset): Add support for Win32.
67002
67003 2000-12-18  Paul Eggert  <eggert@twinsun.com>
67004
67005         * lib/physmem.h, lib/physmem.c: New files.
67006
67007         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
67008         (noinst_HEADERS): Add physmem.h.
67009
67010         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
67011         't' for compatibility with Solaris 8 sort.
67012
67013 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
67014
67015         * lib/config.charset: Add support for BeOS.
67016
67017 2000-12-17  Jim Meyering  <meyering@lucent.com>
67018
67019         * m4/dos.m4 (jm_AC_DOS): New file and macro.
67020         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
67021
67022 2000-12-16  Jim Meyering  <meyering@lucent.com>
67023
67024         This bug had a serious impact on chown: `chown N:M FILE' (for integer
67025         N and M) would have treated it like `chown N:N FILE'.
67026
67027         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
67028
67029 2000-12-16  Jim Meyering  <meyering@lucent.com>
67030
67031         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
67032         SHELLS_FILE to a file name that's useful on djgpp systems.
67033         Include stdlib.h.
67034         (ADDITIONAL_DEFAULT_SHELLS): Define.
67035         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
67036         Based mostly on a patch from Prashant TR.
67037
67038 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
67039
67040         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
67041         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
67042         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
67043
67044 2000-12-08  Andreas Schwab  <schwab@suse.de>
67045
67046         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
67047         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
67048
67049 2000-12-07  Jim Meyering  <meyering@lucent.com>
67050
67051         * lib/stripslash.c (ISSLASH): Define.
67052         (strip_trailing_slashes): Use ISSLASH rather than comparing against
67053         `/'.
67054         From Prashant TR.
67055
67056         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
67057         (dir_name_r): Declare this function as static.
67058         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
67059         manifest itself on a name containing a mix of slashes and
67060         backslashes.
67061         Make this function work with names starting with a DOS-style
67062         drive letter and colon prefix.
67063         (dir_name): Append `.' if necessary.
67064         Based mostly on patches from Prashant TR and Eli Zaretskii.
67065
67066         * lib/dirname.h (dir_name_r): Remove prototype.
67067
67068 2000-12-06  Paul Eggert  <eggert@twinsun.com>
67069
67070         * m4/off_t-format.m4: Remove this file.
67071         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
67072
67073 2000-12-06  Jim Meyering  <meyering@lucent.com>
67074
67075         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
67076         replacement strtoull, we may well need the replacement strtoul, too.
67077         Check for declarations of strtoul and strtoull.
67078         Check for strtol.  Mainly as a cue to cause automake to include
67079         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
67080         Check for limits.h -- strtol.c needs it.
67081
67082 2000-12-05  Jim Meyering  <meyering@lucent.com>
67083
67084         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
67085
67086 2000-12-04  Jim Meyering  <meyering@lucent.com>
67087
67088         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
67089         Also include memory.h, stdlib.h, unistd.h if appropriate.
67090         Reported by Andreas Jaeger (conflicting declaration of malloc).
67091
67092 2000-12-02  Jim Meyering  <meyering@lucent.com>
67093
67094         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
67095         * m4/jm-macros.m4 (jm_MACROS): require it.
67096
67097 2000-12-02  Jim Meyering  <meyering@lucent.com>
67098
67099         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
67100
67101 2000-12-01  Paul Eggert  <eggert@twinsun.com>
67102
67103         * lib/memrchr.c: Include <config.h> before any system include file.
67104
67105 2000-11-30  Jim Meyering  <meyering@lucent.com>
67106
67107         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
67108
67109 2000-11-30  Jim Meyering  <meyering@lucent.com>
67110
67111         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
67112
67113 2000-11-29  Paul Eggert  <eggert@twinsun.com>
67114
67115         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
67116
67117 2000-11-26  Jim Meyering  <meyering@lucent.com>
67118
67119         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
67120
67121 2000-11-22  Paul Eggert  <eggert@twinsun.com>
67122
67123         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
67124         size of (size_t) -1; it's not portable.
67125
67126 2000-11-17  Jim Meyering  <meyering@lucent.com>
67127
67128         * lib/strstr.c: Update from GNU libc.
67129
67130 2000-11-17  Akim Demaille  <akim@epita.fr>
67131
67132         * lib/obstack.h: Formatting changes.
67133         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
67134         prevent type checking.
67135         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
67136         cast the value to (void *): assigning a `foo *' to a `void *'
67137         variable is valid.
67138         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
67139
67140 2000-11-16  Jim Meyering  <meyering@lucent.com>
67141
67142         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
67143
67144 2000-11-11  Jim Meyering  <meyering@lucent.com>
67145
67146         * lib/error.c: Add a couple #includes, merging from GNU libc version.
67147
67148 2000-11-10  Jim Meyering  <meyering@lucent.com>
67149
67150         * lib/obstack.h: Update from GNU libc.
67151         * lib/obstack.c: Likewise.
67152
67153 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
67154
67155         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
67156
67157 2000-11-06  Paul Eggert  <eggert@twinsun.com>
67158
67159         * lib/getusershell.c (setusershell): Use rewind rather than
67160         fseek/fseeko, to avoid configuration hassles with fseeko.
67161         Don't bother opening SHELLS_FILE if shellstream is NULL;
67162         it's not necessary.
67163
67164 2000-11-05  Jim Meyering  <meyering@lucent.com>
67165
67166         * lib/makepath.h (make_dir): Declare.
67167         * lib/makepath.c (make_dir): Remove `static' attribute.
67168         Tweak a comment.
67169
67170 2000-11-04  Jim Meyering  <meyering@lucent.com>
67171
67172         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
67173
67174 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
67175
67176         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
67177         last one in a bucket, advance to the next bucket.
67178
67179 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
67180
67181         * lib/fnmatch.c: Do not comment out all the code if we are using
67182         the GNU C library, because in some cases we are replacing buggy
67183         code in the GNU C library itself.
67184
67185 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
67186
67187         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
67188         (regex_compile): Catch bogus \(\1\).
67189
67190 2000-10-30  Paul Eggert  <eggert@twinsun.com>
67191
67192         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
67193         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
67194         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
67195
67196 2000-10-30  Paul Eggert  <eggert@twinsun.com>
67197
67198         * lib/error.h, getline.h, modechange.h:
67199         Remove "2000" from Copyright line, as the file hasn't been
67200         changed this year other than in the copyright notice.
67201
67202         * lib/xalloc.h: Add "2000" to Copyright line, as this file
67203         was changed this year.
67204
67205 2000-10-29  Jim Meyering  <meyering@lucent.com>
67206
67207         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
67208         renaming.
67209         * m4/ls-mntd-fs.m4: Likewise
67210
67211 2000-10-29  Jim Meyering  <meyering@lucent.com>
67212
67213         * lib/xstat.in: Fix grammar in comment.
67214
67215 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
67216
67217         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
67218         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
67219         doesn't define __restrict_arr.
67220
67221 2000-10-28  Jim Meyering  <meyering@lucent.com>
67222
67223         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
67224         (jm_PREREQ_MEMCHR): New function.
67225
67226 2000-10-28  Jim Meyering  <meyering@lucent.com>
67227
67228         * lib/memchr.c: Update from libc.
67229         Adjust for portability:
67230         [HAVE_STDLIB_H]: Include stdlib.h.
67231         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
67232         Undef __memchr, too.
67233         [!weak_alias]: Define __memchr to memchr.
67234
67235         * lib/regex.c: Update from libc.
67236         * lib/regex.h: Likewise.
67237         * lib/getopt1.c: Likewise.
67238         * lib/memcmp.c: Likewise.
67239
67240         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
67241         Avoid using fseek, when possible -- it's broken by design.
67242         Patch by Ulrich Drepper.
67243
67244 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
67245
67246         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
67247         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
67248         Giving in to popular pressure to shut up the compiler with casts.
67249
67250 2000-10-26  Jim Meyering  <meyering@lucent.com>
67251
67252         * lib/strftime.c: Update from libc.
67253
67254 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
67255
67256         * regex.c: More `unsigned char' -> `re_char' changes.
67257         Also change several `int' into `re_wchar_t'.
67258         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
67259         (PUSH_FAILURE_POINTER): Don't cast any more.
67260         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
67261         We want GCC to complain, since this piece of code makes
67262         re_match non-reentrant, which *should* be fixed.
67263         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
67264         (EXTEND_BUFFER): Use RETALLOC.
67265         (SET_LIST_BIT): Don't cast.
67266         (re_wchar_t): New type.
67267         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
67268         that those two functions will always properly return.
67269         (IMMEDIATE_QUIT_CHECK): Cast to void.
67270         (analyse_first): Use recursion rather than an explicit stack.
67271         (re_compile_fastmap): Can't fail anymore.
67272         (re_search_2): Don't check re_compile_fastmap for failure.
67273         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
67274         Now also sets the new value (passed in a new argument).
67275         (re_match_2_internal): Use it.
67276         Also, use a new var `reg' of type size_t when looping through regs
67277         rather than reuse the inappropriate `mcnt'.
67278
67279 2000-10-25  Jim Meyering  <meyering@lucent.com>
67280
67281         * lib/obstack.c: Update from libc.
67282
67283 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
67284
67285         * regex.c (regex_compile): Change the way of handling a range from
67286         a char less than 256 to a char not less than 256.
67287
67288 2000-10-24  Andrew Innes  <andrewi@gnu.org>
67289
67290         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
67291         NT-Emacs only.
67292         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
67293         so that re_search functions only quit when callers expect them to.
67294
67295 2000-10-23  Jim Meyering  <meyering@lucent.com>
67296
67297         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
67298         wrong.  That set_locale call must not have any side effects.
67299         From Paul Eggert.
67300
67301 2000-10-22  Jim Meyering  <meyering@lucent.com>
67302
67303         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
67304         [CYCLIC]: Remove now-unused definition.
67305
67306         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
67307         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
67308         Suggestion from Ulrich Drepper.
67309
67310 2000-10-21  Jim Meyering  <meyering@lucent.com>
67311
67312         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
67313         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
67314         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
67315
67316 2000-10-21  Jim Meyering  <meyering@lucent.com>
67317
67318         * lib/dirname.c (memrchr): Declare if necessary.
67319         (dir_name): Remove the restriction that there be no
67320         trailing slashes.  Now, this code skips past them, effectively
67321         ignoring them.
67322         [TEST_DIRNAME] (main): New unit tests.
67323
67324         * lib/memrchr.c: New file from GNU libc.
67325         Undef __memrchr, too.
67326         [!weak_alias]: Define __memrchr to memrchr.
67327         Guard weak_alias use with `#ifdef weak_alias'.
67328
67329 2000-10-21  Jim Meyering  <meyering@lucent.com>
67330
67331         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
67332         (dir_name): Use dir_name_r.
67333         * lib/dirname.h (dir_name_r): Declare it.
67334
67335 2000-10-17  Jim Meyering  <meyering@lucent.com>
67336
67337         * lib/quote.h (PARAMS): Define and use.
67338         Reported by Akim Demaille.
67339
67340         * lib/getopt.c: Update from libc.
67341
67342 2000-10-16  Jim Meyering  <meyering@lucent.com>
67343
67344         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
67345         setlocale.
67346         From Jan Fedak.
67347
67348 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
67349
67350         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
67351
67352 2000-09-25  Jim Meyering  <meyering@lucent.com>
67353
67354         * lib/md5.h (rol): Define (from GnuPG).
67355
67356         * lib/sha.c: Give credit (GnuPG) where due.
67357         (M): Use rol rather than open-coding it.
67358         Add a FIXME comment.
67359
67360 2000-09-21  Jim Meyering  <meyering@lucent.com>
67361
67362         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
67363         Reported by Michael Stone.
67364
67365 2000-09-20  Jim Meyering  <meyering@lucent.com>
67366
67367         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
67368         (noinst_HEADERS): Add sha.h.
67369         Based on code from Scott G. Miller and from GnuPG.
67370
67371 2000-09-18  Jim Meyering  <meyering@lucent.com>
67372
67373         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
67374         LIBS. Otherwise, everyone ends up linking with -lelf for some
67375         configurations.
67376         Reported by Mike Stone.
67377
67378 2000-09-15  Jim Meyering  <meyering@lucent.com>
67379
67380         * lib/regex.c: Update from libc.
67381
67382 2000-09-10  Jim Meyering  <meyering@lucent.com>
67383
67384         * lib/getopt.c (_getopt_internal): Update from glibc.
67385
67386 2000-09-09  Jim Meyering  <meyering@lucent.com>
67387
67388         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
67389         think it should be used as a general replacement for isascii.
67390         * lib/fnmatch.c: Likewise.
67391         * lib/mbswidth.c: Likewise
67392         * lib/regex.c: Likewise.
67393
67394         Don't use atoi.
67395         * lib/userspec.c: Include sys/param.h and limits.h.
67396         Include xstrtol.h.
67397         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
67398         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
67399         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
67400         UID, GID.  Check range.
67401
67402 2000-09-06  Jim Meyering  <meyering@lucent.com>
67403
67404         * lib/getopt.c (_getopt_internal): Update from glibc.
67405
67406 2000-08-30  Jim Meyering  <meyering@lucent.com>
67407
67408         * lib/strftime.c: Merge in changes from GNU libc.
67409
67410 2000-08-26  Jim Meyering  <meyering@lucent.com>
67411
67412         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
67413         * m4/fpending.m4: New file.
67414
67415 2000-08-26  Jim Meyering  <meyering@lucent.com>
67416
67417         * lib/closeout.c: Include "__fpending.h".
67418         (close_stdout_status): Return right away if there's nothing to flush.
67419
67420         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
67421         * lib/__fpending.c: New file.
67422         * lib/__fpending.h: New file.
67423
67424 2000-08-20  Jim Meyering  <meyering@lucent.com>
67425
67426         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
67427         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
67428         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
67429
67430 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
67431
67432         Improve fileutils installation on systems where running
67433         programs (like install) can't be unlinked.
67434         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
67435         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
67436
67437 2000-08-07  Paul Eggert  <eggert@twinsun.com>
67438
67439         Standardize on "memory exhausted" instead of "Memory exhausted"
67440         or "virtual memory exhausted".
67441         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
67442         "virtual memory exhausted".
67443         * lib/same.c (same_name): Invoke xalloc_die instead of printing
67444         our own message.
67445         * lib/userspec.c (parse_user_spec): Likewise.
67446         * lib/bumpalloc.h: comment fix
67447         * lib/same.c, userspec.c: Include xalloc.h.
67448
67449         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
67450         not char *const and pointing to a constant array.
67451         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
67452         (xrealloc): Comment fix.
67453
67454         * lib/userspec.c (parse_user_spec):
67455         Don't translate a message until just before returning,
67456         to avoid unnecessary translation.
67457
67458 2000-08-07  Jim Meyering  <meyering@lucent.com>
67459
67460         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
67461         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
67462         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
67463         getgroups.c, gethostname.c, getopt.h, group-member.c,
67464         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
67465         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
67466         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
67467         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
67468         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
67469         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
67470         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
67471         yesno.c: Back out Copyright date changes for each file with no change
67472         this year.  This eases coordination with other programs using the same
67473         source code modules.  From Paul Eggert.
67474
67475 2000-08-06  Paul Eggert  <eggert@twinsun.com>
67476
67477         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
67478         not char, for compatibility with glibc 2.1.3 strftime.c.
67479
67480 2000-08-03  Greg McGary  <greg@mcgary.org>
67481
67482         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
67483         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
67484         (EXTEND_BUFFER): Use them.
67485
67486 2000-08-01  Jim Meyering  <meyering@lucent.com>
67487
67488         * lib/dirname.c (ISSLASH): Define.
67489         (BACKSLASH_IS_PATH_SEPARATOR): Define.
67490         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
67491         both `\' and `/' may be use as path separators.
67492         Based on a patch from Prashant TR.
67493
67494 2000-07-31  Paul Eggert  <eggert@twinsun.com>
67495
67496         * lib/quotearg.c (quotearg_n_options): Don't make the initial
67497         slot vector a constant, since it might get modified.
67498
67499 2000-07-31  Jim Meyering  <meyering@lucent.com>
67500
67501         * lib/xmalloc.c: Use `virtual memory exhausted', not
67502         `Memory exhausted'.
67503         * lib/obstack.c (print_and_abort): Likewise.
67504
67505 2000-07-30  Paul Eggert  <eggert@twinsun.com>
67506
67507         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
67508         buffer, so that the caller can always quote one small
67509         component of a "memory exhausted" message in slot 0.
67510         From a suggestion by Jim Meyering.
67511
67512 2000-07-30  Jim Meyering  <meyering@lucent.com>
67513
67514         * lib/makepath.c (make_path): Quote the other instance, too.
67515
67516         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
67517         (STATIC_BUF_SIZE): Define.
67518         (quotearg_n_options): Use only statically allocated storage when
67519         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
67520         than STATIC_BUF_SIZE.
67521
67522 2000-07-29  Jim Meyering  <meyering@lucent.com>
67523
67524         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
67525         * lib/dirname.c (dir_name): Likewise.
67526
67527         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
67528         `/'.
67529
67530         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
67531         (dir_name): Assert that there are no trailing slashes.
67532
67533 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
67534
67535         * lib/mbswidth.h (mbswidth): Add a flags argument.
67536         (mbswidth): New declaration.
67537         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
67538         * lib/mbswidth.c (mbswidth): Add a flags argument.
67539         (mbsnwidth): New function.
67540
67541 2000-07-24  Jim Meyering  <meyering@lucent.com>
67542
67543         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
67544
67545 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67546
67547         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
67548
67549 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67550
67551         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
67552         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
67553         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
67554         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
67555         invoke multibyte primitives.
67556
67557 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67558
67559         * lib/quotearg.c:
67560         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
67561         so that mbstate_t is always defined.
67562
67563         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
67564         be 1 in at least one GCC installation, and this configuration
67565         error is likely to be common.  Ignoring MB_LEN_MAX hurts
67566         performance on hosts that have mbrtowc but have only unibyte
67567         locales, but I assume these hosts are rare.
67568
67569 2000-07-23  Paul Eggert  <eggert@twinsun.com>
67570
67571         * lib/mbswidth.c (_XOPEN_SOURCE):
67572         Don't define; this causes problems on Solaris 7.
67573         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
67574
67575 2000-07-23  Jim Meyering  <meyering@lucent.com>
67576
67577         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
67578         too: getgrgid, getpwuid, getuid.
67579
67580 2000-07-23  Jim Meyering  <meyering@lucent.com>
67581
67582         * lib/basename.c (base_name): Add an assertion.
67583
67584 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
67585
67586         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
67587         shadow its mbsinit function.
67588
67589 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
67590
67591         * lib/mbswidth.h: New file.
67592         * lib/mbswidth.c: New file.
67593         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
67594         (noinst_HEADERS): Add mbswidth.h.
67595
67596 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
67597
67598         * lib/config.charset: Add support for FreeBSD. Improve support for
67599         HP-UX and IRIX 6.
67600
67601 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
67602
67603         * m4/mbswidth.m4: New file.
67604         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
67605
67606 2000-07-15  Jim Meyering  <meyering@lucent.com>
67607
67608         * lib/makepath.c: Include quote.h.
67609         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
67610         corresponding argument in a `quote (...)' call.
67611         Give better diagnostics.
67612
67613         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
67614         (noinst_HEADERS): Add quote.h.
67615
67616         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
67617         from tar's src/misc.c.
67618         * lib/quote.h: New file.  Prototypes for same.
67619
67620 2000-07-14  Paul Eggert  <eggert@twinsun.com>
67621
67622         From a suggestion by Bruno Haible.
67623         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
67624         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
67625         to decide whether to define the BeOS workaround macro;
67626         this adjusts to the change to AC_MBSTATE_T.
67627
67628 2000-07-14  Jim Meyering  <meyering@lucent.com>
67629
67630         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
67631         jm_AC_TYPE_UINTMAX_T.
67632
67633 2000-07-13  Paul Eggert  <eggert@twinsun.com>
67634
67635         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
67636
67637         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
67638         quotearg_buffer_restyled): Add support for
67639         clocale_quoting_style.  Undo previous change to
67640         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
67641         and "{RIGHT QUOTATION MARK}" msgids.
67642
67643 2000-07-10  Paul Eggert  <eggert@twinsun.com>
67644
67645         From a suggestion by Bruno Haible.
67646         * m4/mbstate_t.m4 (AC_MBSTATE_T):
67647         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
67648         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
67649         and mbstate_t, to a single-part test that simply defines mbstate_t.
67650         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
67651         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
67652
67653 2000-07-10  Jim Meyering  <meyering@lucent.com>
67654
67655         * m4/strerror_r.m4: Mirror the correction made in autoconf.
67656
67657         * m4/gnu-source.m4: Output to confdefs.h directly.
67658         Suggestion from Akim Demaille.
67659
67660 2000-07-09  Paul Eggert  <eggert@twinsun.com>
67661
67662         The old behavior of quoting `like this' doesn't look good with
67663         newer, ISO-style fonts.  See:
67664         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
67665
67666         Instead, quote "like this" by default.  Let the translator
67667         tailor the locale-specific quoting behavior by providing
67668         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
67669
67670         * lib/quotearg.c (N_): New macro.
67671         (gettext_default): New function.
67672         (quotearg_buffer_restyled): Use
67673         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
67674         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
67675
67676 2000-07-09  Jim Meyering  <meyering@lucent.com>
67677
67678         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
67679         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
67680
67681         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
67682         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
67683
67684 2000-07-09  Jim Meyering  <meyering@lucent.com>
67685
67686         * lib/Most files: Update copyright dates to include 2000.
67687
67688 2000-07-08  Jim Meyering  <meyering@lucent.com>
67689
67690         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
67691         if not defined.
67692         (xgethostname): Remove now-unnecessary #ifdef.
67693         Move declaration of `err' into loop where it's used.
67694
67695 2000-07-05  Paul Eggert  <eggert@twinsun.com>
67696         and Bruno Haible  <haible@clisp.cons.org>
67697
67698         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
67699         only if the test for an object-type mbstate_t fails.  This
67700         prevents us from mistakenly reporting that mbstate_t is a
67701         system object type after we "#define mbstate_t int" to work
67702         around its lack.
67703
67704 2000-07-05  Paul Eggert  <eggert@twinsun.com>
67705         and Bruno Haible  <haible@clisp.cons.org>
67706
67707         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
67708
67709 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
67710
67711         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
67712         to strerror_r.
67713         Include <ctype.h> for use of isalpha.
67714
67715 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
67716
67717         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
67718         by allocating a larger buffer. Test the gethostname return value for
67719         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
67720         returns an error and ENAMETOOLONG isn't defined.
67721
67722 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
67723
67724         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
67725         dimension.
67726
67727 2000-07-04  Jim Meyering  <meyering@lucent.com>
67728
67729         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
67730         of the deprecated AC_CHECKING.
67731
67732 2000-07-04  Jim Meyering  <meyering@lucent.com>
67733
67734         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
67735         Reported by Bruno Haible.
67736
67737 2000-07-04  Jim Meyering  <meyering@lucent.com>
67738
67739         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
67740         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
67741         lacks mbrtowc.
67742
67743 2000-07-03  Paul Eggert  <eggert@twinsun.com>
67744
67745         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
67746         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
67747
67748 2000-07-03  Paul Eggert  <eggert@twinsun.com>
67749         and Bruno Haible  <haible@clisp.cons.org>
67750
67751         * lib/quotearg.c (mbrtowc):
67752         Assign to *pwc, and return 1 only if result is nonzero.
67753         (iswprint): Use ISPRINT when substituting our own mbrtowc.
67754
67755 2000-07-03  Jim Meyering  <meyering@lucent.com>
67756
67757         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
67758
67759 2000-07-03  Jim Meyering  <meyering@lucent.com>
67760
67761         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
67762         This is necessary to get a definition of e.g., UTMP_FILE on
67763         HP-UX 10.20.
67764         From Bob Proulx.
67765
67766 2000-07-02  Jim Meyering  <meyering@lucent.com>
67767
67768         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
67769
67770         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
67771         AC_LIBOBJ(function_name).
67772         * m4/chown.m4: Likewise.
67773         * m4/fnmatch.m4: Likewise.
67774         * m4/ftruncate.m4: Likewise.
67775         * m4/getgroups.m4: Likewise.
67776         * m4/getline.m4: Likewise.
67777         * m4/group-member.m4: Likewise.
67778         * m4/jm-macros.m4: Likewise.
67779         * m4/lstat.m4: Likewise.
67780         * m4/malloc.m4: Likewise.
67781         * m4/memcmp.m4: Likewise.
67782         * m4/nanosleep.m4: Likewise.
67783         * m4/putenv.m4: Likewise.
67784         * m4/realloc.m4: Likewise.
67785         * m4/regex.m4: Likewise.
67786         * m4/stat.m4: Likewise.
67787         * m4/strftime.m4: Likewise.
67788
67789 2000-07-02  Jim Meyering  <meyering@lucent.com>
67790
67791         * lib/quotearg.c (mbstate_t): Don't define here.
67792
67793 2000-07-02  Jim Meyering  <meyering@lucent.com>
67794
67795         * lib/nanosleep.c (SIGCONT): Define if not already defined.
67796
67797 2000-07-01  Jim Meyering  <meyering@lucent.com>
67798
67799         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
67800
67801 2000-07-01  Jim Meyering  <meyering@lucent.com>
67802
67803         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
67804         problem.
67805
67806 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
67807
67808         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
67809         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
67810
67811 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
67812
67813         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
67814         per change in ../m4/ls-mntd-fs.m4.
67815         (read_filesystem_list): Ignore symbolic links.
67816
67817 2000-06-29  Jim Meyering  <meyering@lucent.com>
67818
67819         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
67820         for declaration of strcmp.
67821
67822         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
67823
67824         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
67825         Avoid warning by casting result to `char *' to remove `const'.
67826
67827 2000-06-28  Jim Meyering  <meyering@lucent.com>
67828
67829         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
67830         included by quotearg.c, for which we perform this test.  From
67831         Bruno Haible.
67832
67833 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
67834
67835         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
67836         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
67837         <utmpx.h> exists, put readutmp.o into LIBOBJS.
67838
67839 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
67840
67841         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
67842
67843 2000-06-26  Paul Eggert  <eggert@twinsun.com>
67844
67845         savedir now sets errno on failure and invokes xmalloc to get memory.
67846         Fix a couple of other minor bugs while we're at it.
67847
67848         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
67849         (NAMLEN): Remove macro.
67850         (malloc, realloc): Remove decls.
67851         (stpcpy): Likewise.
67852         ("xalloc.h"): Include.
67853         (NAME_SIZE_DEFAULT): New macro.
67854         (savedir): Use xmalloc / xrealloc to allocate memory.
67855         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
67856         Skip "" directory entries.
67857         Use strlen to calculate directory entry length, since the old method
67858         is rarely used these days and isn't worth supporting.
67859         Don't use a pointer after freeing it.
67860         Check for integer overflow when calculating allocation size.
67861         Use memcpy to copy entries, instead of stpcpy.
67862         Set errno properly when returning NULL.
67863         Check for readdir error.
67864
67865 2000-06-26  Jim Meyering  <meyering@lucent.com>
67866
67867         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
67868
67869 2000-06-25  Jim Meyering  <meyering@lucent.com>
67870
67871         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
67872         Linux header bug when _XOPEN_SOURCE is defined to 500.
67873
67874 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
67875
67876         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
67877         deficiency.
67878
67879 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
67880
67881         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
67882         Include xalloc.h.
67883         Don't include <stdlib.h>.  Don't declare malloc, realloc.
67884
67885 2000-06-24  Jim Meyering  <meyering@lucent.com>
67886
67887         * m4/strerror_r.m4: Revive this file -- to try out an experimental
67888         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
67889         for which strerror does return char*, but which lacks a conveniently
67890         accessible declaration of the function.  If the compile-test says
67891         strerror_r doesn't work, then resort to a `run'-test that works on
67892         BeOS and segfaults on DEC Unix.
67893
67894 2000-06-24  Jim Meyering  <meyering@lucent.com>
67895
67896         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
67897
67898 2000-06-23  Paul Eggert  <eggert@twinsun.com>
67899
67900         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
67901         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
67902
67903 2000-06-23  Paul Eggert  <eggert@twinsun.com>
67904
67905         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
67906         (mbrtowc, mbstate_t): Define substitutes if
67907         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
67908         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
67909         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
67910
67911 2000-06-23  Jim Meyering  <meyering@lucent.com>
67912
67913         * m4/afs.m4: Add missing AC_MSG_RESULT.
67914         Reported by Bruno Haible.
67915
67916         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
67917         Suggestion from Bruno Haible.
67918
67919 2000-06-23  Jim Meyering  <meyering@lucent.com>
67920
67921         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
67922
67923 2000-06-21  Jim Meyering  <meyering@lucent.com>
67924
67925         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
67926
67927 2000-06-21  Jim Meyering  <meyering@lucent.com>
67928
67929         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
67930         (noinst_HEADERS): Add getstr.h.
67931
67932         * lib/getline.c (getstr): Move into a separate file.
67933         * lib/getstr.c (getstr): New file, extracted from getline.c, with
67934         the following changes: new parameter, delim2; both delim[12]
67935         parameters have type `int', not `char'.  The latter would lose
67936         with 8-bit delimiters.
67937         * lib/getstr.h: New file.
67938
67939 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67940
67941         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
67942         than 1024, return a memory chunk of least possible size, instead
67943         of size PATH_MAX + 2. In the loop, increment the size proportionally.
67944         Use free/xmalloc instead of xrealloc to avoid copying for very long
67945         paths.
67946
67947 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67948
67949         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
67950         the empty string.
67951
67952 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
67953
67954         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
67955         address, not strdup.  Include <stdlib.h> and don't declare free().
67956
67957 2000-06-19  Jim Meyering  <meyering@lucent.com>
67958
67959         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
67960
67961 2000-06-18  Jim Meyering  <meyering@lucent.com>
67962
67963         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
67964
67965         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
67966         `checking whether...' message to be consistent with that of the
67967         lstat test.
67968
67969 2000-06-18  Jim Meyering  <meyering@lucent.com>
67970
67971         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
67972         Besides, these days every porting target provides a mkdir function.
67973
67974         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
67975         needed. (this snippet comes from src/system.h).
67976
67977 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
67978
67979         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
67980
67981 2000-06-15  Paul Eggert  <eggert@twinsun.com>
67982
67983         * lib/human.c (adjust_value): New function.
67984         (human_readable_inexact): Apply rounding style even when
67985         printing approximate values.
67986
67987 2000-06-14  Paul Eggert  <eggert@twinsun.com>
67988
67989         * lib/human.c (human_readable_inexact): Allow an input block
67990         size that is not a multiple of the output block size, and vice versa.
67991         Reported by Piergiorgio Sartor.
67992
67993 2000-06-14  Paul Eggert  <eggert@twinsun.com>
67994
67995         * lib/getdate.y (get_date): Apply relative times after time
67996         zone indicator, not before.  Reported by Todd A. Jacobs.
67997
67998 2000-06-13  Jim Meyering  <meyering@lucent.com>
67999
68000         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
68001
68002         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
68003
68004 2000-06-12  Paul Eggert  <eggert@twinsun.com>
68005
68006         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
68007
68008 2000-06-12  Jim Meyering  <meyering@lucent.com>
68009
68010         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
68011         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
68012         optional argument.
68013         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
68014         the optional argument, `lib'.
68015
68016 2000-06-08  Jim Meyering  <meyering@lucent.com>
68017
68018         * m4/largefile.m4: Remove file (now that it's part of autoconf).
68019
68020 2000-06-04  Paul Eggert  <eggert@twinsun.com>
68021
68022         Rewrite largefile configuration so that we don't need to run
68023         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
68024         AC_CANONICAL_HOST in configure.in -- jmm]
68025
68026         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
68027         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
68028         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
68029         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
68030         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
68031         All uses changed.
68032         Instead of inspecting the output of getconf, try to compile the
68033         test program without and with the macro definition.
68034         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
68035         for getconf.  Instead, check for the needed flags by compiling
68036         test programs.
68037
68038 2000-06-04  Paul Eggert  <eggert@twinsun.com>
68039
68040         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
68041
68042 2000-06-04  Jim Meyering  <meyering@lucent.com>
68043
68044         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
68045         SunOS 4.1.4 for which gid_t is an unsigned type.
68046
68047 2000-06-03  Jim Meyering  <meyering@lucent.com>
68048
68049         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
68050         now that autoconf requires that.
68051
68052         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
68053         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
68054         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
68055
68056 2000-06-03  Jim Meyering  <meyering@lucent.com>
68057
68058         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
68059
68060 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
68061
68062         * m4/glibc21.m4: New file.
68063         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
68064
68065 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
68066
68067         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
68068         newer, don't install charset.alias.
68069         * lib/config.charset: Change the Linux/glibc rules so they become empty
68070         on glibc-2.1 or newer.
68071
68072 2000-06-02  Jim Meyering  <meyering@lucent.com>
68073
68074         * lib/mountlist.c: Back out last change.  Instead, do this...
68075         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
68076         me_dummy member using the same `ignore'-testing code.
68077         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
68078         fs_type strings.
68079         From Mark D. Roth.
68080
68081 2000-05-29  Jim Meyering  <meyering@lucent.com>
68082
68083         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
68084         mounts with the `ignore' attribute.  Based on a patch from
68085         Mark D. Roth.
68086
68087 2000-05-28  Jim Meyering  <meyering@lucent.com>
68088
68089         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
68090         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68091         * m4/stat.m4: Likewise.
68092         * m4/lstat.m4: Likewise.
68093         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
68094
68095         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
68096         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
68097
68098 2000-05-26  Jim Meyering  <meyering@lucent.com>
68099
68100         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
68101
68102 2000-05-24  Jim Meyering  <meyering@lucent.com>
68103
68104         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
68105         autoconf requires that.
68106         * m4/lib-check.m4: Likewise.
68107         * m4/jm-macros.m4: Likewise.
68108         * m4/strftime.m4: Likewise.
68109
68110         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
68111         AC_CHECK_DECLS, now that autoconf requires that.
68112
68113 2000-05-22  Jim Meyering  <meyering@lucent.com>
68114
68115         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68116         * m4/lstat.m4: Likewise.
68117
68118 2000-05-22  Jim Meyering  <meyering@lucent.com>
68119
68120         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
68121
68122 2000-05-20  Jim Meyering  <meyering@lucent.com>
68123
68124         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
68125         (jm_PREREQ): Use it.
68126
68127 2000-05-18  Jim Meyering  <meyering@lucent.com>
68128
68129         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
68130         back, too, since it may have been modified by allocate_entry.
68131         (hash_delete): Rewrite to use neither the assignment operator
68132         nor the comma operator in an if-expression.
68133
68134 2000-05-15  Paul Eggert  <eggert@twinsun.com>
68135
68136         * lib/closeout.c:
68137         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
68138         Remove; no longer needed.
68139         "quotearg.h": Add include.
68140         (file_name): Do not bother to explicitly initialize to NULL; it's less
68141         efficient on some hosts.
68142         (close_stdout_status): Remove test as to whether stdout was already
68143         closed; it breaks for the case "echo x | sort >&-".
68144         Quote file name colons.
68145         Do not assume that _("write error") lacks format strings.
68146
68147 2000-05-15  Jim Meyering  <meyering@lucent.com>
68148
68149         * lib/version-etc.c (version_etc_copyright): Update the copyright
68150         string used in all --version output.
68151
68152 2000-05-14  Jim Meyering  <meyering@lucent.com>
68153
68154         * lib/closeout.c (close_stdout_set_file_name): New function.
68155         (close_stdout_status): Use new file-scoped global.
68156         Return right away if fstat says the stdout file descriptor is invalid.
68157         * lib/closeout.h (close_stdout_set_file_name): Declare.
68158
68159 2000-05-10  Jim Meyering  <meyering@lucent.com>
68160
68161         * lib/closeout.c [default_exit_status]: New file-scoped variable.
68162         (close_stdout_set_status): New function.
68163         * lib/closeout.h (close_stdout_set_status): Declare.
68164
68165 2000-05-09  Jim Meyering  <meyering@lucent.com>
68166
68167         * m4/gettext.m4: Rename this...
68168         * m4/libintl.m4: ...to this.
68169
68170 2000-05-08  Jim Meyering  <meyering@lucent.com>
68171
68172         * lib/long-options.c: Don't include closeout.h.
68173         (parse_long_options): Don't call close_stdout for --version.
68174
68175 2000-05-06  Paul Eggert  <eggert@twinsun.com>
68176
68177         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
68178         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
68179         2.1.3 bug.  This avoids a clash when files like regex.c define
68180         _GNU_SOURCE.
68181
68182 2000-05-06  Jim Meyering  <meyering@lucent.com>
68183
68184         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
68185         (AC_REPLACE_FUNCS): Add strnlen.
68186
68187         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
68188         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
68189
68190         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
68191         AC_SEARCH_LIBS call for nanosleep.
68192         (LIB_NANOSLEEP): Set and AC_SUBST.
68193
68194 2000-05-06  Jim Meyering  <meyering@lucent.com>
68195
68196         * lib/strnlen.c: Undefine __strnlen and strnlen.
68197         [!weak_alias]: Define __strnlen to strnlen.
68198
68199         * lib/atexit.c: New file, from libiberty.
68200
68201 2000-05-06  Jim Meyering  <meyering@lucent.com>
68202
68203         * lib/closeout.c (close_stdout_status): Also check for errors on the
68204         stderr stream.
68205
68206 2000-05-05  Jim Meyering  <meyering@lucent.com>
68207
68208         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
68209         AC_SEARCH_LIBS call for clock_gettime.
68210         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
68211
68212         * m4/search-libs.m4: Update from autoconf.
68213
68214         su doesn't work on Solaris 2.6.
68215         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
68216         <shadow.h>.  Reported by Dragos Harabor.
68217
68218 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
68219
68220         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
68221         memcpy instead of xmalloc, xrealloc, path_concat.
68222         (locale_charset): Treat empty environment variables as absent.
68223         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
68224
68225 2000-05-04  Jim Meyering  <meyering@lucent.com>
68226
68227         * lib/getopt.c: Update from glibc.
68228         * lib/obstack.c: Likewise.
68229         * lib/obstack.h: Likewise.
68230         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
68231         file
68232
68233         * lib/regex.h: Likewise.
68234         * lib/strndup.c: Likewise.
68235         * lib/strnlen.c: New file, from glibc.
68236
68237 2000-05-03  Jim Meyering  <meyering@lucent.com>
68238
68239         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
68240
68241 2000-05-02  Paul Eggert  <eggert@twinsun.com>
68242
68243         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
68244         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
68245         compile-time test, rather than inspecting host and OS, to
68246         decide whether to define _LARGEFILE_SOURCE.
68247
68248 2000-05-01  Jim Meyering  <meyering@lucent.com>
68249
68250         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
68251
68252         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
68253         Based on a patch from Bruno Haible.
68254
68255 2000-05-01  Jim Meyering  <meyering@lucent.com>
68256
68257         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
68258
68259 2000-04-29  Jim Meyering  <meyering@lucent.com>
68260
68261         * lib/path-concat.c: Declare strdup only if it's not defined.
68262         * lib/canon-host.c: Likewise.
68263
68264 2000-04-28  Jim Meyering  <meyering@lucent.com>
68265
68266         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
68267         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
68268         is included first, then limits.h is included by locale.h by libintl.h.
68269         From John David Anglin.
68270
68271 2000-04-25  Jim Meyering  <meyering@lucent.com>
68272
68273         * lib/makepath.c (S_IRWXUGO): Define.
68274         (make_path): Always perform explicit chmod if MODE specifies any
68275         of the `special' permission bits.  Prompted by a bug report against
68276         install from Mate Wierdl and Joost van Baal.
68277
68278 2000-04-18  Jim Meyering  <meyering@lucent.com>
68279
68280         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
68281         (jm_PREREQ): Use it.
68282
68283 2000-04-18  Jim Meyering  <meyering@lucent.com>
68284
68285         * lib/README: New file.
68286
68287         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
68288         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
68289
68290 2000-04-17  Jim Meyering  <meyering@lucent.com>
68291
68292         Get it right :-)
68293         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
68294         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
68295         Suggestion from Akim Demaille.
68296
68297 2000-04-17  Jim Meyering  <meyering@lucent.com>
68298
68299         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
68300         the definition of it to rpl_strftime also defined-away the system's
68301         declaration.
68302
68303 2000-04-15  Jim Meyering  <meyering@lucent.com>
68304
68305         Use `C' to denote so-called `contiguous' files, the same way
68306         that tar does.
68307         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
68308         (ftypelet): Use S_ISCTG.
68309         From Michael Deutschmann.
68310
68311 2000-04-14  Jim Meyering  <meyering@lucent.com>
68312
68313         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
68314         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
68315         clobbered.
68316
68317 2000-04-14  Jim Meyering  <meyering@lucent.com>
68318
68319         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
68320
68321 2000-04-13  Jim Meyering  <meyering@lucent.com>
68322
68323         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
68324         AH_VERBATIM to insert required #ifndef into config.h.in.
68325         Suggestion from Akim Demaille.
68326
68327 2000-04-12  Jim Meyering  <meyering@lucent.com>
68328
68329         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
68330         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
68331         Christian Krackowizer.
68332
68333         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
68334         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
68335         (AC_SYS_LARGEFILE): Require.
68336         (AM_C_PROTOTYPES): Require.
68337
68338 2000-04-08  Jim Meyering  <meyering@lucent.com>
68339
68340         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
68341         names don't conflict.  Reported by Eli Zaretskii.
68342
68343 2000-04-07  Jim Meyering  <meyering@lucent.com>
68344
68345         * lib/putenv.c: Move inclusion of errno.h so it follows that of
68346         sys/types.h, to work around system header problems on AIX 3.2.5.
68347         From Bruno Haible.
68348
68349 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
68350
68351         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
68352         bug.  Deal with the different error behavior of Irix iconv.
68353
68354 2000-04-05  Paul Eggert  <eggert@twinsun.com>
68355
68356         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
68357         IRIX if the installer said otherwise.
68358
68359 2000-04-05  Jim Meyering  <meyering@lucent.com>
68360
68361         Portability tweaks required for ultrix4.3.
68362         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
68363         (jm_CHECK_DECLS): Add getutent to the list of functions.
68364         (_jm_DECL_HEADERS): Add utmpx.h.
68365         From John David Anglin.
68366
68367         * m4/strftime.m4: Back out the 2000-04-02 change.
68368         Instead of that change, simply undefine putenv in the test program.
68369
68370 2000-04-05  Jim Meyering  <meyering@lucent.com>
68371
68372         Portability tweaks required for ultrix4.3.
68373         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
68374         getutent.
68375         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
68376         * lib/canon-host.c: Declare strdup.
68377         * lib/path-concat.c: Likewise.
68378         From John David Anglin.
68379
68380 2000-04-04  Jim Meyering  <meyering@lucent.com>
68381
68382         Be more DOS 8.3-friendly.
68383         * lib/ref-add.sin: Renamed from ref-add.sed.in.
68384         * lib/ref-del.sin: Renamed from ref-del.sed.in.
68385         * lib/Makefile.am: Reflect renaming.
68386         Reported by Eli Zaretskii.
68387
68388         Use a temporary file name that won't clash with `charset.alias'
68389         in the DOS 8.3 name space.
68390         * lib/Makefile.am (charset_tmp): Define.
68391         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
68392         (uninstall-local): Likewise.
68393         Reported by Eli Zaretskii.
68394
68395 2000-04-03  Jim Meyering  <meyering@lucent.com>
68396
68397         * m4/gettext.m4: Fix typo in comment.
68398
68399         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
68400         textutils/configure.in).  Suggestion from Paul Eggert.
68401         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
68402
68403 2000-04-02  Paul Eggert  <eggert@twinsun.com>
68404
68405         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
68406         variable in the shell rather than using putenv, which isn't
68407         portable.  This avoids the configure-time inter-test dependency
68408         on the potentially-renamed putenv function.
68409
68410 2000-03-30  Paul Eggert  <eggert@twinsun.com>
68411
68412         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
68413         before checking struct stat.st_blksize, so that
68414         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
68415
68416 2000-03-29  Paul Eggert  <eggert@twinsun.com>
68417
68418         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
68419         since strftime.c uses HAVE_STRFTIME to decide whether to use
68420         the underlying strftime.
68421
68422 2000-03-29  Paul Eggert  <eggert@twinsun.com>
68423
68424         * lib/time/strftime.c (my_strftime): Make sure we call the system
68425         strftime, not ourselves, when invoking the underlying strftime.
68426
68427 2000-03-24  Jim Meyering  <meyering@lucent.com>
68428
68429         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
68430         (charset_alias): Define.
68431         (install-exec-local): Factor out common code.
68432         (uninstall-local): Split lines longer than 80.
68433         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
68434         (SUFFIXES): Define.
68435         (.sed.in.sed): New rule.  Don't redirect directly to $@.
68436         (CLEANFILES): Add ref-add.sed and ref-del.sed.
68437
68438 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
68439
68440         * lib/config.charset: Output a line containing "Packages using this
68441         file".
68442         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
68443         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
68444         ref-del.sed): New rules.
68445
68446 2000-03-17  Jim Meyering  <meyering@lucent.com>
68447
68448         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
68449         Otherwise, include <strings.h>
68450
68451 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
68452
68453         * lib/unicodeio.c (utf8_wctomb): New function.
68454         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
68455         format instead of in UCS-4 with platform dependent endianness.
68456
68457 2000-03-10  Jim Meyering  <meyering@lucent.com>
68458
68459         * m4/lib-check.m4: Look for getspnam in -lgen, too.
68460         From Marco Franzen.
68461
68462 2000-03-07  Paul Eggert  <eggert@twinsun.com>
68463
68464         * lib/savedir.c (savedir): Work even if directory size is
68465         negative; this can happen with some screwy NFS configurations.
68466
68467 2000-03-06  Jim Meyering  <meyering@lucent.com>
68468
68469         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
68470         if it's NULL (because we ran out of memory).  From Bruno Haible.
68471
68472 2000-03-05  Jim Meyering  <meyering@lucent.com>
68473
68474         * lib/localcharset.c ("path-concat.h"): Include.
68475         (get_charset_aliases): Use path_concat instead of ANSI string
68476         concatenation.
68477
68478         * lib/unicodeio.h (PARAMS): Define.
68479         Use it to guard prototype.
68480
68481 2000-03-04  Jim Meyering  <meyering@lucent.com>
68482
68483         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
68484         for lib/localcharset.c.
68485
68486 2000-03-04  Jim Meyering  <meyering@lucent.com>
68487
68488         * lib/Makefile.am (install-exec-local): Create $(libdir) before
68489         installing into it.
68490         (uninstall-local): Uncomment this rule so `make distcheck' works
68491         once again.
68492
68493         * lib/unicodeio.c (<errno.h>): Include it.
68494         (errno): Declare if not defined.
68495
68496         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
68497
68498         * lib/config.charset: New version, incorporating remarks from a linux
68499         i18n mailing list.  From Bruno Haible.
68500
68501 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
68502
68503         * m4/codeset.m4: New file.
68504         * m4/iconv.m4: New file.
68505         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
68506
68507 2000-03-03  Jim Meyering  <meyering@lucent.com>
68508
68509         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
68510
68511 2000-03-02  Jim Meyering  <meyering@lucent.com>
68512
68513         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
68514         the messages come out on separate lines.
68515
68516         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
68517         rather than jm_CHECK_DECLARATIONS.
68518         * m4/decl.m4: Remove now-unused file.
68519
68520         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
68521         geteuid.
68522
68523 2000-03-02  Jim Meyering  <meyering@lucent.com>
68524
68525         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
68526
68527 2000-03-01  Jim Meyering  <meyering@lucent.com>
68528
68529         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
68530         * lib/unicodeio.c: Likewise.
68531
68532 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
68533
68534         * lib/config.charset: New file.
68535         * lib/localcharset.c: New file.
68536         * lib/unicodeio.h, lib/unicodeio.c: New files.
68537         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
68538         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
68539         (noinst_HEADERS): Add unicodeio.h.
68540         (all-local, install-exec-local, charset.alias): New targets.
68541
68542 2000-02-28  Paul Eggert  <eggert@twinsun.com>
68543
68544         * lib/quotearg.c (ALERT_CHAR): New macro.
68545         (quotearg_buffer_restyled): Use it.
68546
68547 2000-02-27  Jim Meyering  <meyering@lucent.com>
68548
68549         * m4/check-decl.m4: Add getenv to the list.
68550
68551 2000-02-27  Jim Meyering  <meyering@lucent.com>
68552
68553         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
68554         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
68555
68556         * lib/backupfile.c: Guard inclusion of stdlib.h with
68557         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
68558         Declare malloc if needed.
68559
68560         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
68561         `#ifndef HAVE_DECL..'
68562         now that autoconf always defines the HAVE_DECL_ symbols.
68563         * lib/human.c: Likewise.
68564         * lib/same.c: Likewise.
68565         * lib/strtoumax.c: Likewise.
68566
68567         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
68568         declaration check was not run.
68569         * lib/hash.c: Likewise.
68570         * lib/human.c: Likewise.
68571         * lib/same.c: Likewise.
68572         * lib/strtoumax.c: Likewise.
68573
68574         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
68575         `.', then first look up the entire `.'-containing string as a login
68576         name.
68577
68578 2000-02-23  Jim Meyering  <meyering@lucent.com>
68579
68580         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
68581         in place of my hack.
68582
68583 2000-02-18  Paul Eggert  <eggert@twinsun.com>
68584
68585         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
68586         (textint): New typedef.
68587         (parser_control): Member year changed from int to textint.
68588         All uses changed.
68589         (YYSTYPE): Removed; replaced by %union with int and textint members.
68590         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
68591         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
68592         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
68593         (tSNUMBER, tUNUMBER): Now of type <textintval>.
68594         (date, number, to_year): Use width of number in digits, not its value,
68595         to determine whether it's a 2-digit year, or a 2-digit time.
68596         (yylex): Store number of digits of numeric tokens.
68597         Reported by John Kendall.
68598
68599         (parser_control): Changed from struct parser_control to typedef (for
68600         consistency).  All uses changed.
68601
68602         (tID): Removed; not used.
68603         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
68604
68605 2000-02-14  Paul Eggert  <eggert@twinsun.com>
68606
68607         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
68608         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
68609
68610 2000-02-12  Jim Meyering  <meyering@lucent.com>
68611
68612         * lib/userspec.c (ISDIGIT): Define it.
68613         (isdigit): Remove definition.
68614         (is_number): Use ISDIGIT, not isdigit.
68615         <libintl.h>: Include.
68616         (_ and N_): Define.
68617         (parse_user_spec): Mark translatable strings.
68618
68619 2000-02-10  Jim Meyering  <meyering@lucent.com>
68620
68621         With these changes, nanosleep.[ch] are finally enough like the other
68622         lib/* replacement files to compile on a few more losing systems.
68623
68624         * lib/nanosleep.h: Don't include config.h.
68625         Remove prototype from declaration of nanosleep.
68626         (PARAMS): Remove now-unneeded definition.
68627         * lib/nanosleep.c: #undef nanosleep.
68628         (rpl_nanosleep): Rename from nanosleep.
68629
68630 2000-02-10  Jim Meyering  <meyering@lucent.com>
68631
68632         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
68633         gnu_nanosleep to rpl_nanosleep.
68634
68635 2000-02-09  Jim Meyering  <meyering@lucent.com>
68636
68637         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
68638         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
68639
68640 2000-02-08  Akim Demaille  <akim@epita.fr>
68641
68642         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
68643         `[' and `]' and remove uses of `changequote'.
68644         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
68645         (AC_SYS_LARGEFILE): Likewise.
68646         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
68647         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
68648         of changequote.
68649         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
68650         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
68651         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
68652         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
68653
68654 2000-02-05  Jim Meyering  <meyering@lucent.com>
68655
68656         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
68657         Remove explicit use of AC_HEADER_TIME.  It is required by
68658         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
68659         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
68660         in autoconf whereby the expansion of the latter ended up preceding
68661         the expansion of its prerequisite, AC_HEADER_TIME.
68662         Reported by Volker Borchert.
68663
68664 2000-02-03  Jim Meyering  <meyering@lucent.com>
68665
68666         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
68667
68668 2000-02-03  Jim Meyering  <meyering@lucent.com>
68669
68670         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
68671         rather than with `#if HAVE_UTMPNAME'.
68672
68673 2000-02-02  Jim Meyering  <meyering@lucent.com>
68674
68675         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
68676         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
68677         Reported by Eli Zaretskii.
68678
68679 2000-02-01  Jim Meyering  <meyering@lucent.com>
68680
68681         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
68682
68683 2000-01-31  Jim Meyering  <meyering@lucent.com>
68684
68685         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
68686         functions.  Add the time.h and sys/time.h headers along with the
68687         AC_REQUIRE'ment of AC_HEADER_TIME.
68688
68689 2000-01-31  Jim Meyering  <meyering@lucent.com>
68690
68691         * lib/nanosleep.h (nanosleep): Guard declaration with
68692         `#if ! HAVE_DECL_NANOSLEEP'.
68693         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
68694         the declaration in that vendor's sys/timers.h.
68695         Reported by Christian Krackowizer.
68696
68697         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
68698         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
68699         (ISPRINT): Likewise.
68700         Reported by Tom Tromey.
68701
68702 2000-01-30  Jim Meyering  <meyering@lucent.com>
68703
68704         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
68705
68706         * m4/prereq.m4 (utmp_includes): Define.
68707         Check for ut_user and ut_name members in both struct utmpx
68708         and struct utmp.
68709
68710 2000-01-30  Jim Meyering  <meyering@lucent.com>
68711
68712         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
68713         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
68714         header files where only utmpx.ut_user is declared.
68715
68716         * lib/readutmp.h (UT_USER): Define.
68717
68718 2000-01-29  Jim Meyering  <meyering@lucent.com>
68719
68720         * m4/lib-check.m4: New file containing library-related checks from
68721         fileutils and sh-utils (textutils had none).
68722
68723 2000-01-28  Jim Meyering  <meyering@lucent.com>
68724
68725         * m4/perl.m4: Change format of warning message to look more like that
68726         from the missing script.  Suggestion from François Pinard.
68727
68728 2000-01-25  Jim Meyering  <meyering@lucent.com>
68729
68730         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
68731         well as time.h in the compile check.
68732         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
68733         Fix typo in cross-compiling case: s/yes/no/.
68734
68735 2000-01-23  Jim Meyering  <meyering@lucent.com>
68736
68737         * m4/jm-macros.m4: Move df-related tests here from
68738         fileutils/configure.in
68739
68740         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
68741         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
68742
68743         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
68744         s/space/ac_fsusage_space/.
68745         (jm_FILE_SYSTEM_USAGE): Take two parameters.
68746
68747         * m4/ftruncate.m4: New file (derived from part of
68748         fileutils/configure.in).
68749         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
68750         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
68751
68752         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
68753         AC_SUBST these here, rather than just in sh-util/configure.in, so
68754         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
68755         all the same.
68756         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
68757         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
68758         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
68759         (AC_SUBST(POW_LIBM)): Likewise.
68760         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
68761
68762 2000-01-23  Jim Meyering  <meyering@lucent.com>
68763
68764         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
68765         obstack.c.
68766
68767 2000-01-22  Jim Meyering  <meyering@lucent.com>
68768
68769         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
68770
68771         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
68772
68773         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
68774         configure.in
68775         (AC_CHECK_HEADERS): Likewise for sh-utils.
68776         (AC_CHECK_HEADERS): Likewise for textutils.
68777         Merge the three lists of headers.
68778
68779         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
68780         from fileutils' configure.in.
68781
68782         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
68783         code. Moved tests into their own function (_jm_DECL_HEADERS) in
68784         check-decl.m4.
68785
68786         * m4/check-decl.m4: Use #if rather than #ifdef.
68787         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
68788         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
68789         (_jm_DECL_HEADERS): Define new function.
68790         (jm_CHECK_DECLARATIONS): Require it.
68791
68792 2000-01-22  Jim Meyering  <meyering@lucent.com>
68793
68794         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
68795         [! HAVE_DECL_STRTOULL]: Declare strtoull.
68796         Required for some AIX systems.  Reported by Christian Krackowizer.
68797         [TESTING] (main): New function.
68798
68799         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
68800         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
68801         letters.
68802
68803         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
68804         iswprint.
68805
68806         * lib/strverscmp.c (ISDIGIT): Define.
68807         (strverscmp): Use ISDIGIT, not isdigit.
68808
68809 2000-01-19  Jim Meyering  <meyering@lucent.com>
68810
68811         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
68812         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
68813         defines `struct timespec' in <sys/time.h>
68814
68815         * m4/c-bs-a.m4: Remove uses of changequote altogether.
68816         Thanks to Akim for explaining.
68817
68818 2000-01-17  Paul Eggert  <eggert@twinsun.com>
68819
68820         * lib/nanosleep.c (nanosleep):
68821         Don't use SA_INTERRUPT to decide whether to call sigaction, as
68822         POSIX.1 doesn't require SA_INTERRUPT and some systems
68823         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
68824         it's been part of POSIX.1 since day 1 (in 1988).
68825
68826 2000-01-17  Jim Meyering  <meyering@lucent.com>
68827
68828         * lib/interlock: Remove unused file.  Reported by François Pinard.
68829
68830 2000-01-16  Paul Eggert  <eggert@twinsun.com>
68831
68832         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
68833         alert, backslash, formfeed, and vertical tab unnecessarily in
68834         shell quoting style.
68835
68836 2000-01-16  Jim Meyering  <meyering@lucent.com>
68837
68838         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
68839         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
68840         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
68841         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
68842
68843 2000-01-16  Jim Meyering  <meyering@lucent.com>
68844
68845         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
68846         because the latter didn't work.
68847
68848 2000-01-15  Jim Meyering  <meyering@lucent.com>
68849
68850         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
68851         (AC_REPLACE_FUNCS): Add memcpy and memset.
68852         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
68853         Add strpbrk.
68854         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
68855
68856 2000-01-12  Jim Meyering  <meyering@lucent.com>
68857
68858         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
68859         (jm_PREREQ): Use it.
68860         (jm_PREREQ_READUTMP): New macro.
68861         (jm_PREREQ): Use it.
68862
68863 2000-01-11  Paul Eggert  <eggert@twinsun.com>
68864
68865         Quote multibyte characters correctly.
68866         * m4/c-bs-a.m4: New file.
68867         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
68868         (jm_PREREQ): Use it.
68869
68870 2000-01-11  Paul Eggert  <eggert@twinsun.com>
68871
68872         * m4/uintmax_t.m4: Port to autoconf 2.13.
68873
68874 2000-01-08  Jim Meyering  <meyering@ascend.com>
68875
68876         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
68877         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
68878
68879 2000-01-04  Jim Meyering  <meyering@ascend.com>
68880
68881         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
68882         jm_STRUCT_DIRENT_D_TYPE.
68883         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
68884         jm_STRUCT_DIRENT_D_INO.
68885         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
68886         jm_STRUCT_UTIMBUF.
68887         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
68888         renamings.
68889         * m4/utime.m4: Likewise.
68890
68891         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
68892         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
68893
68894 2000-01-03  Paul Eggert  <eggert@twinsun.com>
68895
68896         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
68897         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
68898
68899 2000-01-02  Jim Meyering  <meyering@ascend.com>
68900
68901         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
68902         remember if this is necessary.
68903
68904 1999-12-26  Jim Meyering  <meyering@ascend.com>
68905
68906         * m4/jm-macros.m4: Use it here.
68907         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
68908
68909 1999-12-23  Jim Meyering  <meyering@ascend.com>
68910
68911         * m4/jm-macros.m4: Check for clock_gettime (moved from
68912         fileutils/configure.in)
68913         Check for gettimeofday.
68914
68915 1999-12-20  Jim Meyering  <meyering@ascend.com>
68916
68917         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
68918         autoconf-2.14a-1999-12-20.
68919
68920 1999-12-19  Jim Meyering  <meyering@ascend.com>
68921
68922         * m4/lstat-slash.m4: New file.
68923         * m4/jm-macros.m4: Use the new macro:
68924         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68925
68926 1999-12-07  Jim Meyering  <meyering@ascend.com>
68927
68928         * m4/perl.m4: Require that File::Compare be available, too.
68929         Too many systems seem to lack it.
68930
68931         * m4/strftime.m4: Add checks for most of the cpp macros tested in
68932         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
68933
68934 1999-11-18  Paul Eggert  <eggert@twinsun.com>
68935
68936         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
68937         problem with the QNX 4.25 shell, which doesn't propagate exit
68938         status of failed commands inside shell assignments.
68939
68940 1999-11-17  Jim Meyering  <meyering@ascend.com>
68941
68942         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
68943
68944 1999-11-07  Jim Meyering  <meyering@ascend.com>
68945
68946         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
68947
68948 1999-11-06  Jim Meyering  <meyering@ascend.com>
68949
68950         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
68951         * m4/jm-macros.m4 (jm_MACROS): Use it here.
68952
68953 1999-11-05  Jim Meyering  <meyering@ascend.com>
68954
68955         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
68956         configure.in of textutils, fileutils, and sh-utils into this one
68957         (shared between those packages) file.
68958         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
68959         AC_STRUCT_ST_BLKSIZE.
68960
68961 1999-11-03  Jim Meyering  <meyering@ascend.com>
68962
68963         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
68964         of AC_CHECK_TYPE checks includes unistd.h.
68965         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
68966         Suggestion from Akim Demaille.
68967
68968 1999-10-30  Jim Meyering  <meyering@ascend.com>
68969
68970         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
68971         m4-quoted string.
68972         * m4/ls-mntd-fs.m4: Likewise.
68973         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
68974         * m4/jm-winsz1.m4: Likewise.
68975
68976         * m4/const.m4: Remove file, since the fix made it into the experimental
68977         version of autoconf.
68978         * m4/mktime.m4: Likewise.
68979
68980         * m4/check-type.m4: Remove file, now that the latest version of
68981         AC_CHECK_TYPE takes a third arg to specify additional #includes.
68982
68983         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
68984         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
68985         AC_CHECK_TYPE.
68986
68987 1999-10-04  Jim Meyering  <meyering@ascend.com>
68988
68989         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
68990
68991 1999-09-22  Paul Eggert  <eggert@twinsun.com>
68992
68993         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
68994         2.95.1 bug with HP-UX 10.20.
68995
68996 1999-09-17  Jim Meyering  <meyering@ascend.com>
68997
68998         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
68999         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
69000         due to missing strdup (against sh-utils-2.0).
69001
69002 1999-08-29  Jim Meyering  <meyering@ascend.com>
69003
69004         * m4/jm-macros.m4: Require jm_BISON.
69005         * m4/bison.m4: New file.
69006
69007 1999-08-17  Paul Eggert  <eggert@twinsun.com>
69008
69009         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
69010         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
69011
69012 1999-08-05  Jim Meyering  <meyering@ascend.com>
69013
69014         * m4/getline.m4: Rename test file from conftestdata to conftest.data
69015         to avoid conflicts with `conftest' on 8+3 filesystems.
69016         Suggestion from Eli Zaretskii.
69017
69018 1999-08-04  Jim Meyering  <meyering@ascend.com>
69019
69020         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
69021         fileutils and sh-utils (textutils's getline test was inadequate).
69022         (AM_FUNC_GETLINE): Run this test.
69023         (AC_CHECK_FUNCS): Check for getdelim.
69024         Reported by Bob Proulx.
69025
69026 1999-08-02  Jim Meyering  <meyering@ascend.com>
69027
69028         * m4/jm-macros.m4: Add a comment.
69029
69030 1999-08-01  Paul Eggert  <eggert@twinsun.com>
69031
69032         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
69033         <inttypes.h> defines strtoumax as a macro (and not as a
69034         function).
69035
69036 1999-08-01  Paul Eggert  <eggert@twinsun.com>
69037
69038         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
69039         that we can shift, multiply and divide unsigned long long
69040         values; Ultrix cc can't do it.
69041
69042 1999-08-01  Paul Eggert  <eggert@twinsun.com>
69043
69044         * m4/mktime.m4: New file, which is a preview of what should appear
69045         in the next public autoconf release.
69046
69047 1999-08-01  Paul Eggert  <eggert@twinsun.com>
69048
69049         * m4/lfs.m4: Remove this file.
69050         * m4/largefile.m4: New file.  It contains the old contents of
69051         lfs.m4, except that all names with prefix AC_LFS have been
69052         changed to use the prefix AC_SYS_LARGEFILE instead, to be
69053         compatible with future autoconf versions.  Also, some minor m4
69054         quoting problems have been fixed.
69055
69056 1999-08-01  Paul Eggert  <eggert@twinsun.com>
69057
69058         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
69059         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
69060         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
69061         and simplify the shell code.
69062
69063 1999-08-01  Jim Meyering  <meyering@ascend.com>
69064
69065         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
69066         m4.
69067
69068 1999-07-20  Jim Meyering  <meyering@ascend.com>
69069
69070         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
69071
69072 1999-07-15  Jim Meyering  <meyering@ascend.com>
69073
69074         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
69075
69076 1999-05-22  Jim Meyering  <meyering@ascend.com>
69077
69078         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
69079
69080 1999-05-20  Jim Meyering  <meyering@ascend.com>
69081
69082         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
69083         Add a colon after each `then' in case $4 is empty.
69084
69085 1999-05-16  Jim Meyering  <meyering@ascend.com>
69086
69087         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
69088
69089 1999-05-10  Jim Meyering  <meyering@ascend.com>
69090
69091         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
69092
69093         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
69094         AC_FUNC_MKTIME.
69095
69096 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
69097
69098         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
69099
69100 1999-05-04  Paul Eggert  <eggert@twinsun.com>
69101
69102         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
69103         not CPPFLAGS, so that linking works correctly in IRIX.
69104
69105 1999-04-30  Paul Eggert  <eggert@twinsun.com>
69106
69107         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
69108
69109 1999-04-20  Paul Eggert  <eggert@twinsun.com>
69110
69111         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
69112         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
69113         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
69114         jm_AC_TYPE_UNSIGNED_LONG_LONG.
69115         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
69116
69117         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
69118
69119 1999-04-20  Jim Meyering  <meyering@ascend.com>
69120
69121         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
69122         AC_REPLACE xstroull if necessary.  From Paul Eggert.
69123         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
69124
69125 1999-04-18  Jim Meyering  <meyering@ascend.com>
69126
69127         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
69128         * m4/jm-macros.m4: Use it.
69129
69130 1999-04-06  Jim Meyering  <meyering@ascend.com>
69131
69132         * m4/strftime.m4: Remove test for %f.
69133
69134 1999-03-29  Jim Meyering  <meyering@ascend.com>
69135
69136         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
69137         superset of the AC_TYPE_* checks in the textutils, fileutils,
69138         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
69139         AC_TYPE_PID_T.
69140
69141 1999-03-28  Jim Meyering  <meyering@ascend.com>
69142
69143         * m4/jm-macros.m4: Define GNU_PACKAGE here.
69144         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
69145         replaced e.g., in the *.sh files of the sh-utils.
69146
69147 1999-03-20  Jim Meyering  <meyering@ascend.com>
69148
69149         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
69150         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
69151         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
69152
69153 1999-03-19  Jim Meyering  <meyering@ascend.com>
69154
69155         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
69156
69157 1999-03-12  Jim Meyering  <meyering@ascend.com>
69158
69159         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
69160
69161 1999-03-07  Jim Meyering  <meyering@ascend.com>
69162
69163         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
69164         declared.
69165
69166 1999-02-17  Jim Meyering  <meyering@ascend.com>
69167
69168         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
69169         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
69170
69171 1999-02-07  Jim Meyering  <meyering@ascend.com>
69172
69173         * m4/group-member.m4: New file -- extracted from sh-utils'
69174         configure.in.
69175
69176         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
69177         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
69178
69179 1999-02-06  Jim Meyering  <meyering@ascend.com>
69180
69181         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
69182         * m4/fnmatch.m4: Likewise.
69183         * m4/getgroups.m4: Likewise.
69184         * m4/lstat.m4: Likewise.
69185         * m4/malloc.m4: Likewise.
69186         * m4/putenv.m4: Likewise.
69187         * m4/realloc.m4: Likewise.
69188         * m4/regex.m4: Likewise.
69189         * m4/stat.m4: Likewise.
69190         * m4/strftime.m4: Likewise.
69191         Suggestion from Alain Magloire.
69192
69193         * m4/chown.m4: Use `.$ac_objext', not `.o'.
69194         * m4/fnmatch.m4: Likewise.
69195         * m4/getgroups.m4: Likewise.
69196         * m4/getline.m4: Likewise.
69197         * m4/lstat.m4: Likewise.
69198         * m4/malloc.m4: Likewise.
69199         * m4/memcmp.m4: Likewise.
69200         * m4/putenv.m4: Likewise.
69201         * m4/realloc.m4: Likewise.
69202         * m4/regex.m4: Likewise.
69203         * m4/stat.m4: Likewise.
69204         * m4/strftime.m4: Likewise.
69205         Suggestion from Alain Magloire.
69206
69207         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
69208         an argument.
69209
69210         * m4/regex.m4: Add a run-time Test for proper operation of
69211         re_compile_pattern.
69212
69213 1999-01-31  Jim Meyering  <meyering@ascend.com>
69214
69215         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
69216
69217 1999-01-30  Jim Meyering  <meyering@ascend.com>
69218
69219         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
69220
69221         * m4/jm-mktime.m4: Make this a wrapper around the official
69222         AM_FUNC_MKTIME rather than my private copy, now that the official one
69223         is up to date.
69224         * m4/mktime.m4: Remove file.
69225
69226         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
69227         * m4/uptime.m4: Likewise.
69228         * m4/uintmax_t.m4: Likewise.
69229
69230 1999-01-28  Jim Meyering  <meyering@ascend.com>
69231
69232         * m4/jm-macros.m4: Use jm_AFS.
69233         * m4/afs.m4: New file (from fileutils' configure.in).
69234
69235         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
69236         * m4/chown.m4: Likewise.
69237         * m4/d-ino.m4: Likewise.
69238         * m4/d-type.m4: Likewise.
69239         * m4/fnmatch.m4: Likewise.
69240         * m4/getgroups.m4: Likewise.
69241         * m4/gettext.m4: Likewise.
69242         * m4/jm-mktime.m4: Likewise.
69243         * m4/jm-winsz2.m4: Likewise.
69244         * m4/lcmessage.m4: Likewise.
69245         * m4/ls-mntd-fs.m4: Likewise.
69246         * m4/malloc.m4: Likewise.
69247         * m4/memcmp.m4: Likewise.
69248         * m4/putenv.m4: Likewise.
69249         * m4/realloc.m4: Likewise.
69250         * m4/st_mtim.m4: Likewise.
69251         * m4/strftime.m4: Likewise.
69252
69253 1999-01-16  Jim Meyering  <meyering@ascend.com>
69254
69255         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
69256         (ARGMATCH_DIE_DECL): Define.
69257
69258 1999-01-12  Jim Meyering  <meyering@ascend.com>
69259
69260         * m4/Makefile.am.in: Rewrite to avoid using fmt.
69261         Reported by Lars Hecking.
69262
69263 1999-01-10  Jim Meyering  <meyering@ascend.com>
69264
69265         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
69266         gross kludge.
69267         * m4/inttypes_h.m4: Likewise.
69268         * m4/lstat.m4: Likewise.
69269         * m4/malloc.m4: Likewise.
69270         * m4/readdir.m4: Likewise.
69271         * m4/realloc.m4: Likewise.
69272         * m4/st_dm_mode.m4: Likewise.
69273         * m4/stat.m4: Likewise.
69274         * m4/utimbuf.m4: Likewise.
69275         * m4/utimes.m4: Likewise.
69276
69277         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
69278         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
69279         comments in config.h.in are meaningful.
69280
69281         * m4/jm-macros.m4: Require autoconf-2.13 here.
69282
69283         * m4/regex.m4: By default, don't use the included regex.c on systems
69284         with glibc 2.  Suggestion from Uli Drepper.
69285
69286 1999-01-02  Jim Meyering  <meyering@ascend.com>
69287
69288         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
69289
69290 1998-12-18  Jim Meyering  <meyering@ascend.com>
69291
69292         * m4/Makefile.am.in (Makefile.am): Simplify rule.
69293         Based on a suggestion from Lars Hecking.
69294
69295 1998-11-16  Paul Eggert  <eggert@twinsun.com>
69296
69297         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
69298
69299 1998-11-16  Jim Meyering  <meyering@ascend.com>
69300
69301         * m4/lfs.m4: Double-quote the `uname...` expression.
69302
69303 1998-11-14  Jim Meyering  <meyering@ascend.com>
69304
69305         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
69306         * m4/stat.m4: Likewise.
69307
69308 1998-11-03  Jim Meyering  <meyering@ascend.com>
69309
69310         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
69311         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
69312
69313 1998-10-18  Jim Meyering  <meyering@ascend.com>
69314
69315         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
69316
69317 1998-10-17  Jim Meyering  <meyering@ascend.com>
69318
69319         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
69320         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
69321         calls for those previously hard-coded headers.  Instead, take a new
69322         parameter.
69323         (jm_CHECK_DECLARATIONS): Reflect interface change.
69324         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
69325         (jm_CHECK_DECL_LOCALTIME_R): New macro.
69326
69327         * m4/mktime.m4: Test for spring-forward gap before long-running test.
69328
69329 1998-10-14  Jim Meyering  <meyering@ascend.com>
69330
69331         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
69332         instead of "TZ=America/Vancouver".  From Paul Eggert.
69333
69334 1998-10-11  Jim Meyering  <meyering@ascend.com>
69335
69336         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
69337         This adds a test for a recently added compatibility fix for mktime.c.
69338         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
69339
69340 1998-09-27  Jim Meyering  <meyering@ascend.com>
69341
69342         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
69343
69344         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
69345         ../configure.in, including a change from Gordon Matzigkeit to allow
69346         cross-compiling for the Hurd.
69347
69348         * m4/glibc.m4: New file/macro to test for the GNU C Library
69349         versions 1 and 2.  From Gordon Matzigkeit.
69350         Indent.
69351
69352 1998-09-21  Jim Meyering  <meyering@ascend.com>
69353
69354         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
69355
69356 1998-08-18  Paul Eggert  <eggert@twinsun.com>
69357
69358         Port nanosecond-resolution times to UnixWare 2.1.2 and
69359         pedantic Solaris 2.6.
69360
69361         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
69362         AC_STRUCT_ST_MTIM.
69363         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
69364         Generate name of ns member, instead of just 1 or undef.
69365         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
69366
69367 1998-08-15  Jim Meyering  <meyering@ascend.com>
69368
69369         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
69370         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
69371         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
69372         instead of jm_TYPE_SSIZE_T.
69373
69374 1998-08-12  Jim Meyering  <meyering@ascend.com>
69375
69376         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
69377
69378 1998-08-02  Jim Meyering  <meyering@ascend.com>
69379
69380         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
69381         in acconfig.h manually.
69382
69383 1998-07-31  Paul Eggert  <eggert@twinsun.com>
69384
69385         * m4/st_mtim.m4: New file.
69386
69387 1998-07-28  Jim Meyering  <meyering@ascend.com>
69388
69389         * m4/utimes.m4: Undef stat.
69390
69391 1998-07-25  Jim Meyering  <meyering@ascend.com>
69392
69393         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
69394         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
69395
69396 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
69397
69398         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
69399         uid and gid actually remain unchanged.
69400
69401 1998-07-07  Jim Meyering  <meyering@ascend.com>
69402
69403         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
69404
69405 1998-07-04  Jim Meyering  <meyering@ascend.com>
69406
69407         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
69408         to prove that this macro can be used in packages without regex.c.
69409
69410 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
69411
69412         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
69413         is to be used.
69414
69415 1998-07-03  Jim Meyering  <meyering@ascend.com>
69416
69417         * m4/gettext.m4: Add -lintl if it's found to be necessary.
69418
69419         * m4/gettext.m4: New file -- from gettext-0.10.35.
69420         * m4/lcmessage.m4: Likewise.
69421         * m4/progtest.m4: Likewise.
69422
69423         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
69424         * m4/jm-macros.m4: Require the new macro.
69425
69426 1998-06-29  Jim Meyering  <meyering@ascend.com>
69427
69428         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
69429         for the definition of NGROUPS (used in a system header included
69430         by sys/mount.h).
69431
69432 1998-06-28  Jim Meyering  <meyering@ascend.com>
69433
69434         * m4/ls-mntd-fs.m4: New file.
69435         * m4/fstypename.m4: New file.
69436
69437         * m4/jm-macros.m4: Require the new macro.
69438         * m4/jm-glibc-io.m4: New file.
69439
69440 1998-05-19  Jim Meyering  <meyering@ascend.com>
69441
69442         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
69443         * m4/lchown.m4: New file.
69444
69445         * m4/Makefile.am.in: New file.
69446         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
69447
69448 1998-05-14  Jim Meyering  <meyering@ascend.com>
69449
69450         * m4/Makefile.am (EXTRA_DIST): Add them.
69451         * m4/jm-macros.m4: New file.
69452         * m4/utimbuf.m4: New file.
69453
69454 1998-05-12  Jim Meyering  <meyering@ascend.com>
69455
69456         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
69457
69458 1998-05-11  Jim Meyering  <meyering@ascend.com>
69459
69460         * m4/isc-posix.m4: New file.
69461
69462 1998-05-10  Jim Meyering  <meyering@ascend.com>
69463
69464         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
69465
69466 1998-05-09  Jim Meyering  <meyering@ascend.com>
69467
69468         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
69469         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
69470         with automake.
69471
69472         * m4/ssize_t.m4: New file.
69473         * m4/mktime.m4: Remove file -- the new automake has this now.
69474
69475 1998-04-26  Jim Meyering  <meyering@ascend.com>
69476
69477         * m4/assert.m4: New file.
69478         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
69479
69480 1998-04-05  Jim Meyering  <meyering@ascend.com>
69481
69482         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
69483         (jm_PREREQ): Use it here.
69484
69485 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
69486
69487         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
69488         in acconfig.h.
69489
69490 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
69491
69492         * m4/prereq.m4: New file.
69493         * m4/error.m4: New file.
69494         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
69495
69496 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
69497
69498         * m4/getline.m4: Don't set am_cv_func_working_getline before the
69499         cache-check for the same variable -- that defeated the purpose of
69500         the test; the test program was never run.  This was a problem only
69501         on systems with losing getline functions -- HP-UX 10.20 is one.
69502         Reported by Bjorn Helgaas.
69503
69504 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
69505
69506         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
69507
69508 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
69509
69510         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
69511
69512         * m4/const.m4: New file.  Use an initializer in this declaration
69513         typedef int charset[2]; const charset x;
69514         Reported by Bob Glickstein.
69515
69516 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
69517
69518         * m4/chown.m4: Fix reversed types on -1 args to chown.
69519         From Kaveh Ghazi.
69520
69521 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
69522
69523         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
69524         Add lseek and memchr.
69525
69526         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
69527         T.E.Dickey <dickey@clark.net> said that some older preprocessors
69528         have a 20-character limit on names.
69529
69530 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
69531
69532         * m4/inttypes_h.m4: New file.
69533         * m4/uintmax_t.m4: New file.
69534         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
69535
69536
69537         -----
69538
69539         Local Variables:
69540         coding: utf-8
69541         End:
69542
69543         Copyright (C) 1997-2010 Free Software Foundation, Inc.
69544
69545         Copying and distribution of this file, with or without
69546         modification, are permitted provided the copyright notice
69547         and this notice are preserved.