AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
[gnulib.git] / ChangeLog
1 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
2
3         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
4         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
5         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
6         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
7         ...), as the latter is fatal with older Autoconfs.
8         Problewm reported by Eric Blake in
9         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
10
11 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
12
13         AC_PROG_MKDIR_P: don't workaround if not buggy
14         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
15         Define only for Autoconf versions before 2.62.
16         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
17         undocumented m4_PACKAGE_VERSION, for consistency with the
18         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
19         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
20         was introduced in 2.62.
21
22 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
23
24         New 'c-*printf' modules for formatted output in C locale.
25
26         New module 'c-vasnprintf'.
27         * modules/c-vasnprintf: New file.
28         * lib/c-vasnprintf.c: New file.
29         * lib/c-vasnprintf.h: New file.
30
31         New module 'c-snprintf'.
32         * modules/c-snprintf: New file.
33         * modules/c-snprintf-tests: New file.
34         * lib/c-snprintf.c: New file.
35         * lib/c-snprintf.h: New file.
36         * tests/test-c-snprintf.c: New file.
37         * tests/test-c-snprintf.sh: New file.
38
39         New module 'c-vsnprintf'.
40         * modules/c-vsnprintf: New file.
41         * modules/c-vsnprintf-tests: New file.
42         * lib/c-vsnprintf.c: New file.
43         * lib/c-vsnprintf.h: New file.
44         * tests/test-c-vsnprintf.c: New file.
45         * tests/test-c-vsnprintf.sh: New file.
46
47         New module 'c-vasprintf'.
48         * modules/c-vasprintf: New file.
49         * modules/c-vasprintf-tests: New file.
50         * lib/c-asprintf.c: New file.
51         * lib/c-vasprintf.c: New file.
52         * lib/c-vasprintf.h: New file.
53         * tests/test-c-vasprintf.c  +: New file.
54         * tests/test-c-vasprintf.sh: New file.
55
56         New module 'c-xvasprintf'.
57         * modules/c-xvasprintf: New file.
58         * modules/c-xvasprintf-tests: New file.
59         * lib/c-xasprintf.c: New file.
60         * lib/c-xvasprintf.c: New file.
61         * lib/c-xvasprintf.h: New file.
62         * tests/test-c-xvasprintf.c: New file.
63         * tests/test-c-xvasprintf.sh: New file.
64
65 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
66
67         argp: better 'inline'
68         Use extern-inline module to declare extern inline functions.
69         This avoids some bogus warning diagnostics.  Problem discovered
70         when modifying GNU tar to use the manywarnings module.
71         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
72         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
73         Define based on extern-inline.
74         * modules/argp (Depends-on): Add extern-inline.
75
76 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
77
78         filemode, sys_stat: Handle MPX files a la AIX.
79         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
80         * lib/sys_stat.in.h (S_ISMPX): New macro.
81         * tests/test-sys_stat.c: Add tests for MPX files.
82
83 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
84
85         x-to-1: honor $PERL
86         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
87         a chance to use his preferred version of Perl.  This is typically
88         required by Darwin users whose default /usr/bin/perl does not have all
89         the libraries required by help2man, and who need to use their MacPorts
90         installation of Perl instead.
91
92 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
93
94         gnu-web-doc-update: add all the new files, even in new directories
95         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
96         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
97         Use it.
98         (main): Don't use cvsutils to get the list of unknown files,
99         just add all the existing files and directories.
100
101 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
102
103         gnu-web-doc-update: improve --help
104         * build-aux/gnu-web-doc-update: Move comments into --help.
105
106 2012-12-07  Eric Wong  <normalperson@yhbt.net>
107
108         mountlist: recognize more "dummy" file systems
109         * lib/mountlist.c (ME_DUMMY_0):
110         Add these dummy FS names to the list:
111         - "debugfs" virtual filesystem for kernel debugging
112         - "devpts" PTY slave filesystem
113         - "devtmpfs" device filesystem on top of tmpfs/ramfs
114         - "fusectl" control filesystem for FUSE
115         - "mqueue" enumerates POSIX message queues
116         - "rpc_pipefs" kernel <-> userspace bridge for NFS
117         - "sysfs" is for exporting kernel objects
118         - "devfs" device filesystem for Linux 2.4 and FreeBSD
119
120 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
121
122         extern-inline: avoid incompatibility with Darwin Libc
123         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
124         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
125         Problem reported by Akim Demaille in
126         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
127
128 2012-12-11  Simon Josefsson  <simon@josefsson.org>
129
130         gnupload: Work with GnuPG using gpg-agent (for smartcards).
131         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
132         let it handle password prompting.
133
134 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
135
136         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
137         * lib/canonicalize.c (canonicalize_filename_mode):
138         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
139         fetching the current directory.  Don't overrun the beginning of
140         rpath if there's no slashes after the MS-Windows drive letter.
141
142 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
143
144         maint.mk: avoid extra forks
145         * top/maint.mk (_cfg_mk): The GNU make manual documents that
146         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
147         So use that instead of "$(shell test -f FILE && echo FILE)".
148
149 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
150
151         vasnprintf: fix ASCII_ONLY typo
152         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
153         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
154         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
155         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
156         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
157
158 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
159
160         list, oset, xlist, xoset: fix extern inline issue with C99
161         This was introduced by my recent changes for 'inline'.
162         Problem reported for gettext by Daiki Ueno in
163         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
164         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
165         (gl_list_nx_create, gl_list_size, gl_list_node_value)
166         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
167         (gl_list_previous_node, gl_list_get_at)
168         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
169         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
170         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
171         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
172         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
173         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
174         (gl_list_iterator_free, gl_sortedlist_search)
175         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
176         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
177         (gl_sortedlist_remove):
178         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
179         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
180         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
181         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
182         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
183         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
184         (gl_list_add_at, gl_sortedlist_add):
185         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
186         Wrap these extern decls inside "#if 0", because they are implemented
187         as inline functions, and extern inline is not what's wanted here.
188         It would simplify these .h files to remove the extern decls entirely,
189         although a downside would be less-clear separation between
190         specification and implementation.
191
192 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
193
194         sys_stat: no 'static inline'
195         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
196         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
197
198         extern-inline: no 'static inline'
199         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
200         Do not require AC_C_INLINE.
201         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
202         'static inline', for older compilers.
203
204         snippet/warn-on-use: no 'static inline'
205         * build-aux/snippet/warn-on-use.h:
206         Remove unnecessary 'inline' in comment.
207
208         rbtree-list, rbtreehash-list: no 'static inline'
209         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
210         * lib/gl_anytree_list2.h (node_at):
211         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
212         (gl_oset_first, add_nodes_to_buckets):
213         Now static, not static inline.
214
215         regex: no 'static inline'
216         * lib/regex_internal.c (calc_state_hash):
217         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
218         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
219         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
220         Now static, not static inline.
221         (inline) [__GNUC__ < 3 && _LIBC]:
222         Remove macro; no longer needed.
223
224         xvasprintf: no 'static inline'
225         * lib/xvasprintf.c (xstrcat):
226         Now static, not static inline.
227         * m4/xvasprintf.m4 (gl_XVASPRINTF):
228         Do not require AC_C_INLINE.
229
230         parse-datetime, parse-duration: no 'static inline'
231         * lib/parse-datetime.y (to_uchar):
232         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
233         (scale_n_add):
234         Now static, not static inline.
235         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
236         * modules/parse-duration (configure.ac):
237         Do not require AC_C_INLINE.
238
239         getaddrinfo: no 'static inline'
240         * lib/getaddrinfo.c (validate_family):
241         Now static, not static inline.
242         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
243         Do not require AC_C_INLINE.
244
245         ftruncate, fts, lstat, openat, raise: no 'static inline'
246         * lib/ftruncate.c (chsize_nothrow):
247         * lib/fts.c (opendirat, diropen):
248         * lib/lstat.c (orig_lstat):
249         * lib/openat.c (orig_openat):
250         * lib/raise.c (raise_nothrow):
251         Now static, not static inline.
252         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
253         * m4/fts.m4 (gl_FUNC_FTS_CORE):
254         * m4/lstat.m4 (gl_PREREQ_LSTAT):
255         * m4/openat.m4 (gl_PREREQ_OPENAT):
256         * m4/raise.m4 (gl_PREREQ_RAISE):
257         Do not require AC_C_INLINE.
258
259         fflush, stat: no 'static inline'
260         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
261         (clear_ungetc_buffer, disable_seek_optimization)
262         (restore_seek_optimization, update_fpos_cache):
263         * lib/stat.c (orig_stat):
264         Now static, not static inline.
265         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
266         (update_fpos_cache):
267         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
268         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
269         * m4/stat.m4 (gl_PREREQ_STAT):
270         Do not require AC_C_INLINE.
271
272         error, filevercmp: no 'static inline'
273         * lib/error.c (is_open, flush_stdout):
274         * lib/filevercmp.c (order):
275         Now static, not static inline.
276         * m4/error.m4 (gl_PREREQ_ERROR):
277         * modules/filevercmp (configure.ac):
278         Do not require AC_C_INLINE.
279
280         dup, execute, fatal-signal, etc.: no 'static inline'
281         * lib/dup.c (dup_nothrow):
282         * lib/execute.c (nonintr_close, nonintr_open):
283         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
284         * lib/fopen.c (orig_fopen):
285         * lib/freadseek.c (freadptrinc):
286         * lib/freopen.c (orig_freopen):
287         * lib/fstat.c (orig_fstat, fstat_nothrow):
288         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
289         (get_rusage_as_via_iterator):
290         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
291         * lib/getdtablesize.c (_setmaxstdio_nothrow):
292         * lib/isatty.c (_isatty_nothrow):
293         * lib/open.c (orig_open):
294         * lib/read.c (read_nothrow):
295         * lib/sigprocmask.c (signal_nothrow):
296         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
297         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
298         * lib/wait-process.c (unregister_slave_subprocess):
299         * lib/write.c (write_nothrow):
300         Now static, not static inline.
301         * lib/spawn-pipe.c (nonintr_open): Define only if
302         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
303         * m4/dup.m4 (gl_PREREQ_DUP):
304         * m4/execute.m4 (gl_EXECUTE):
305         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
306         * m4/fopen.m4 (gl_PREREQ_FOPEN):
307         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
308         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
309         * m4/fstat.m4 (gl_PREREQ_FSTAT):
310         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
311         * m4/isatty.m4 (gl_PREREQ_ISATTY):
312         * m4/open.m4 (gl_PREREQ_OPEN):
313         * m4/read.m4 (gl_PREREQ_READ):
314         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
315         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
316         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
317         * m4/wait-process.m4 (gl_WAIT_PROCESS):
318         * m4/write.m4 (gl_PREREQ_WRITE):
319         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
320         Do not require AC_C_INLINE.
321
322         c-strtod, memcoll, readutmp: no 'static inline'
323         * lib/c-strtod.c (c_locale):
324         * lib/memcoll.c (strcoll_loop):
325         * lib/readutmp.c (desirable_utmp_entry):
326         Now static, not static inline.
327         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
328         * m4/memcoll.m4 (gl_MEMCOLL):
329         * m4/readutmp.m4 (gl_READUTMP):
330         Do not require AC_C_INLINE.
331
332         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
333         * lib/arctwo.c (to_uchar):
334         * lib/md4.c (set_uint32):
335         * lib/md5.c (set_uint32):
336         * lib/sha1.c (set_uint32):
337         * lib/sha256.c (set_uint32):
338         * lib/sha512.c (set_uint64):
339         Now static, not static inline.  This is a bit simpler, and doesn't
340         affect performance with GCC and default optimization.
341         * m4/arctwo.m4 (gl_ARCTWO):
342         * m4/md4.m4 (gl_MD4):
343         * m4/md5.m4 (gl_MD5):
344         * m4/sha1.m4 (gl_SHA1):
345         * m4/sha256.m4 (gl_SHA256):
346         * m4/sha512.m4 (gl_SHA512):
347         Do not require AC_C_INLINE.
348
349         cond, lock, thread: better 'inline'
350         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
351         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
352         New macros.  Use them instead of static inline, for header functions.
353         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
354         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
355         * lib/glthread/lock.c (gl_waitqueue_init)
356         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
357         * lib/glthread/thread.c (get_current_thread_handle):
358         Change 'static inline' to 'inline'.
359         * lib/glthread/cond.h, lib/glthread/thread.h:
360         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
361         * m4/cond.m4 (gl_COND):
362         * m4/lock.m4 (gl_PREREQ_LOCK):
363         * m4/thread.m4 (gl_THREAD):
364         Do not require AC_C_INLINE.
365         * modules/cond, modules/thread (Depends-on): Add extern-inline.
366
367         chdir-long, cycle-check, savewd: better 'inline'
368         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
369         (find_non_slash):
370         * lib/cycle-check.c (is_zero_or_power_of_two):
371         * lib/savewd.c (savewd_delegating):
372         Change 'static inline' to 'inline'.
373         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
374         Replace all remaining uses of 'static inline' with it.
375         * lib/savewd.h:
376         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
377         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
378         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
379         * m4/savewd.m4 (gl_SAVEWD):
380         Do not require AC_C_INLINE.
381         * modules/savewd (Depends-on): Add extern-inline.
382
383         base32, base64: no need for 'inline'
384         * lib/base32.c (to_uchar, get_8, decode_8):
385         * lib/base64.c (to_uchar, get_4, decode_4):
386         Change 'static inline' to 'inline'.
387         * m4/base32.m4 (gl_PREREQ_BASE32):
388         * m4/base64.m4 (gl_PREREQ_BASE64):
389         Do not require AC_C_INLINE.
390
391         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
392         * lib/gl_array_oset.c (gl_array_nx_add_at):
393         (gl_array_remove_at):
394         * lib/gl_linkedhash_list.c (hash_resize_after_add)
395         (add_to_bucket, remove_from_bucket):
396         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
397         Change 'static inline' to 'static', as it's simpler to omit
398         'inline' unless there's a significant performance advantage.
399
400         list, oset, xlist, xoset, xsublist: simplify via extern inline
401         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
402         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
403         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
404         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
405         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
406         New macro.  Replace all uses of 'static inline' with it.
407         [HAVE_INLINE]: Implement functions as *_INLINE functions,
408         instead of as macros FOO that are defined to static inline
409         functions FOO_inline.
410         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
411         * lib/gl_xsublist.c:
412         Reimplement from scratch, by defining the corresponding *_INLINE
413         macro and including the corresponding .h file.  This is simpler.
414         * modules/list, modules/oset, modules/xlist, modules/xoset:
415         (Files): Remove m4/gl_list.m4.
416         (configure.ac): Remove gl_LIST.
417         * m4/gl_list.m4: Remove.
418         * modules/list, modules/oset, modules/xlist, modules/xoset:
419         * modules/xsublist:
420         (Depends-on): Depend on extern-inline, not inline.
421
422         xalloc: better 'inline'
423         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
424         New macro.  Replace all uses of 'static inline' with it.
425         (static_inline): Remove.
426         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
427         Let 'extern inline' do the work automatically, instead of doing
428         it by hand.
429         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
430         Remove.  All uses removed.
431         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
432
433         gethrxtime: better 'inline'
434         * lib/xtime.c: New file.
435         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
436         * lib/xtime.h (XTIME_INCLUDE):
437         New macros.  Replace all uses of 'static inline' with them.
438         * lib/gethrxtime.c (gethrxtime): Define only if
439         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
440         this source file is now always compiled, because of the extern inline.
441         * lib/gethrxtime.h, lib/xtime.h:
442         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
443         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
444         if gethrtime works, as they're not needed in that case.
445         (gl_XTIME): Do not require AC_C_INLINE.
446         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
447         compiled now.  Move the check into gl_GETHRXTIME.
448         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
449         (Depends-on): Add extern-inline.
450         (configure.ac): gethrxtime is always compiled now.
451         (lib_SOURCES): Add gethrxtime.c.
452
453         wctype-h: better 'inline'
454         * lib/wctype-h.c: New file.
455         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
456         New macro.  Replace all uses of 'static inline' with it.
457         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
458         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
459         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
460         (Depends-on): Add extern-inline.
461
462         unistd: better 'inline'
463         * lib/unistd.c: New file.
464         * lib/unistd.in.h (_GL_UNISTD_INLINE):
465         New macro.  Replace all uses of 'static inline' with it.
466         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
467         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
468         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
469         (Depends-on): Add extern-inline.
470
471         sys_socket: better 'inline'
472         * lib/sys_socket.c: New file.
473         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
474         New macro.  Replace all uses of 'static inline' with it.
475         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
476         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
477         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
478         (Depends-on): Add extern-inline.
479
480         stdio: better 'inline'
481         * lib/stdio.c: New file.
482         * lib/stdio.in.h (_GL_STDIO_INLINE):
483         New macro.  Replace all uses of 'static inline' with it.
484         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
485         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
486         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
487         (Depends-on): Add extern-inline.
488
489         sigaction: better 'inline'
490         * lib/sig-handler.c: New file.
491         * lib/sig-handler.h (SIG_HANDLER_INLINE):
492         New macro.  Replace all uses of 'static inline' with it.
493         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
494         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
495         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
496         (Depends-on): Add extern-inline.
497
498         selinux-h: better 'inline'
499         * lib/se-context.c, lib/se-selinux.c: New files.
500         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
501         * lib/se-context.in.h (SE_CONTEXT_INLINE):
502         New macro.  Replace all uses of 'static inline' with it.
503         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
504         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
505         New macro.  Replace all uses of 'static inline' with it.
506         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
507         * modules/selinux-h (Files, lib_SOURCES):
508         Add lib/se-context.c, lib/se-selinux.c.
509         (Depends-on): Add extern-inline.
510         (configure.ac): Do not require AC_C_INLINE.
511
512         pthread: better 'inline'
513         * lib/pthread.c: New file.
514         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
515         New macro.  Replace all uses of 'static inline' with it.
516         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
517         * m4/pthread.m4 (gl_PTHREAD_CHECK):
518         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
519         * modules/pthread (Files): Add lib/pthread.c.
520         (Depends-on): Add extern-inline.
521
522         math: better 'inline'
523         * lib/math.c: New file.
524         * lib/math.in.h (_GL_MATH_INLINE):
525         New macro.  Replace all uses of 'static inline' with it.
526         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
527         * m4/math_h.m4 (gl_MATH_H):
528         Do not require AC_C_INLINE.
529         * modules/math (Files, lib_SOURCES):
530         Add lib/math.c.
531         (Depends-on): Add extern-inline.
532
533         count-one-bits: better 'inline'
534         * lib/count-one-bits.c: New file.
535         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
536         New macro.  Replace all uses of 'static inline' with it.
537         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
538         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
539         Do not require AC_C_INLINE.
540         * modules/count-one-bits (Files, lib_SOURCES):
541         Add lib/count-one-bits.c.
542         (Depends-on): Add extern-inline.
543
544         count-leading-zeros: better 'inline'
545         * lib/count-leading-zeros.c: New file.
546         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
547         New macro.  Replace all uses of 'static inline' with it.
548         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
549         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
550         Do not require AC_C_INLINE.
551         * modules/count-leading-zeros (Files, lib_SOURCES):
552         Add lib/count-leading-zeros.c.
553         (Depends-on): Add extern-inline.
554
555         bitrotate: better 'inline'
556         * lib/bitrotate.c: New file.
557         * lib/bitrotate.h (BITROTATE_INLINE):
558         New macros.
559         Replace all uses of 'static inline' with them.
560         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
561         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
562         (Depends-on): Add extern-inline.
563         (configure.ac): Do not require AC_C_INLINE.
564
565 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
566
567         maint.mk: avoid gratuitous failure
568         Reported by Stefano Lattarini in
569         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
570         * top/maint.mk (public-submodule-commit): Quote more safely.
571
572 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
573
574         canonicalize, canonicalize-lgpl: support MS-Windows file names
575         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
576         for test cases, which it'd be nice to add at some point.
577         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
578         * lib/canonicalize.c (canonicalize_filename_mode):
579         * lib/canonicalize-lgpl.c (__realpath):
580         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
581         slash is at the beginning of the file name.  Use ISSLASH, instead
582         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
583         the first character with '/'.  Test for
584         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
585         with a drive letter.
586         * lib/canonicalize.c (SLASHES): New macro.
587         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
588
589 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
590
591         fts: introduce FTS_VERBATIM
592         * lib/fts_.h (FTS_VERBATIM): New bit flag.
593         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
594         * lib/fts.c (fts_open): Honor it.
595
596 2012-11-09  Pádraig Brady  <P@draigBrady.com>
597
598         getlogin-tests: allow errno == ENXIO
599         * tests/test-getlogin.c (main): Skip tests if getlogin fails
600         with errno == ENXIO (No controlling tty).
601         getlogin_r-tests: Likewise. Also allow errno == ENOENT
602         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
603         with errno == ENOENT.  This was reported to happen in various
604         situations on GNU/Linux.
605
606 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
607
608         getlogin-tests: allow errno == ENOENT
609         * tests/test-getlogin.c (main): Skip tests if getlogin fails
610         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
611         when running a test in an Emacs shell buffer.
612
613 2012-11-08  Jim Meyering  <jim@meyering.net>
614
615         tests/nap.h: avoid warning about unused variable
616         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
617
618         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
619         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
620         white space before each of the special-cased file names, to avoid
621         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
622         in http://bugs.gnu.org/12830.
623
624 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
625
626         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
627         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
628         fails with errno == EBADF when fd is opened with O_PATH.
629         Reported by Jim Meyering in
630         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
631         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
632         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
633
634 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
635
636         test-utimens: speed up by taking shorter naps
637         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
638         New functions.
639         (nap): Use them, to do a better job of guessing the delay.
640         On Fedora 17 with ext4 atop md atop hard disks, this made
641         test-utimens run 10x faster, because the test napped for
642         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
643         <http://bugs.gnu.org/12820#11>.
644
645 2012-11-07  Jim Meyering  <jim@meyering.net>
646
647         mountlist.c: fix a compilation failure
648         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
649         I introduced while transforming commit v0.0-7683-g613bcb6
650
651 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
652
653         errno: port to LynxOS 178 2.2.2
654         Problem reported by Joel Brobecker in
655         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
656         * doc/posix-headers/errno.texi (errno.h): Document this.
657         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
658         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
659         Supply a string for EILSEQ.
660         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
661
662 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
663
664         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
665         Linux kernel 2.6.39 introduced O_PATH (see
666         <http://lwn.net/Articles/433854/>) and this is a better fallback
667         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
668         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
669         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
670         * lib/fcntl.in.h (O_ACCMODE):
671         * tests/test-fcntl-h.c (main):
672         Do not reject O_ACCMODE merely because it has more than the
673         minimal number of bits, as POSIX allows extensions here.
674
675 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
676
677         mountlist: do not classify a bind-mounted dir entry as "dummy"
678         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
679         the "none"-testing clause.
680         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
681         exception for bind-mounted directories.
682
683 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
684
685         quote: provide a means to escape strings with nul characters
686         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
687         (quote, quote_n): Rename formal arguments for consistency with
688         quotearg.
689
690 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
691
692         test-raise: don't assume 199 is an invalid signal
693         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
694
695         sh-quote-tests: port to Solaris 9
696         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
697         Problem reported by Dagobert Michelsen in
698         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
699
700 2012-10-28  Jim Meyering  <jim@meyering.net>
701
702         maint.mk: rename a new configurable variable
703         * top/maint.mk (_gl_translatable_string_re): Rename from
704         translation-markers: _gl_ prefix to insulate from user Makefile code,
705         and the _re suffix to inform that it's a regular expression.
706
707 2012-10-26  Eric Blake  <eblake@redhat.com>
708
709         maint.mk: let packages tweak sc_po_check pattern
710         * top/maint.mk (sc_po_check): Add translation-markers, to allow
711         finding files with other translation markers.
712
713 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
714
715         euidaccess: speed up 'configure' on GNU hosts
716         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
717         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
718         it's needed only in this case.  Use AC_CHECK_DECLS, not
719         AC_CHECK_DECLS_ONCE.
720         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
721         or AC_REQUIRE for AC_FUNC_GETGROUPS.
722
723         * lib/regexec.c (re_search_internal): Fix grammar in comment.
724
725 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
726
727         fchmodat, fchownat, fstatat: port to non-inlining compilers
728         Problem reported for FreeBSD 9 by Jim Meyering in
729         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
730         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
731         New files, which define FCHMODAT_INLINE etc.
732         * lib/fchmodat.c (FCHMODAT_INLINE):
733         * lib/fchownat.c (FCHOWNAT_INLINE):
734         * lib/fstatat.c (FSTATAT_INLINE):
735         Remove, as chmodat.c etc. now do this.
736         * modules/fchmodat (Files): Add lib/chmodat.c.
737         * modules/fchownat (Files): Add lib/chownat.c.
738         * modules/fstatat (Files): Add lib/statat.c.
739
740 2012-10-15  Jim Meyering  <jim@meyering.net>
741
742         fchmodat.c, fchownat.c: compile-impeding typos
743         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
744         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
745         Introduced in commit v0.0-7636-gd202279.
746
747 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
748
749         fcntl-h: support GNU flags like O_IGNORE_CTTY
750         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
751         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
752         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
753         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
754         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
755         Define to 0 if not already defined.
756         * tests/test-fcntl-h.c: Test these new flags.
757
758 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
759
760         faccessat, etc.: support AT_FDCWD-only use
761         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
762         this function only if its first argument is AT_FDCWD.
763         Emacs wants faccessat for AT_EACCESS but not for any first-arg
764         values other than AT_FDCWD, so it doesn't want all the openat
765         machinery with fchdir etc.
766         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
767         * modules/fstatat, modules/mkdirat, modules/openat (Files):
768         * modules/unlinkat (Files):
769         Remove lib/openat-priv.h, as at-internal supplies this file.
770         Removing this file here allows us to support programs like Emacs
771         that avoid at-internal.
772
773         faccessat: speed up 'configure' on mainstream hosts
774         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
775         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
776         since it's only on unusual platforms that we need to check for
777         'access', and it's better not to slow 'configure' down on all
778         platforms.
779
780         faccessat: port to Solaris 10
781         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
782         Needed on Solaris 10, which doesn't have AT_EACCESS,
783         so we need the Gnulib fcntl.h, which defines it.
784
785 2012-10-14  Pádraig Brady  <P@draigBrady.com>
786         canonicalize: fix C89 compilation
787         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
788         declarations so C89 is supported.  Also remove the comment
789         referencing memorty allocation as the suggested feature could
790         not be implemented as suggested.
791         Reported by Michael Goffioul.
792
793 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
794
795         group-member: omit unnecessary dependencies
796         This is for Emacs, which has its own allocator and where we
797         don't want to use xalloc.
798         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
799         since we no longer use xmalloc.  Do not include stdbool.h, since
800         the changes below happen to remove the only use of bool.
801         (GROUPBUF_SIZE): New constant.
802         (struct group_info): Remove n_groups member.  Add groupbuf member.
803         This lets us get the groups without using malloc, usually.
804         (free_group_info, get_group_info): Adjust to this.
805         (get_group_info): Return the number of groups found, or -1 on error.
806         Use plain malloc not xmalloc, and treat its failure as if there
807         are no groups, as the user already loses in case of error.
808         (group_member): Simplify, based on changes to get_group_info.
809         * modules/group-member (Depends-on): Remove dependencies on
810         xalloc and stdbool.  Add dependency on xalloc-oversized.
811
812 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
813
814         gethrxtime: port to C++
815         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
816
817 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
818
819         ptsname: fix macro-name typo
820         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
821
822 2012-10-03  Simon Josefsson  <simon@josefsson.org>
823
824         inttostr: Relax license.
825         * modules/inttostr (License): Change from LGPL to LGPLv2+.
826
827 2012-10-03  Eric Blake  <eblake@redhat.com>
828
829         ptsname_r: support ptys returned by FreeBSD posix_openpt
830         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
831         lives in /dev/pts/.
832
833 2012-10-02  Eric Blake  <eblake@redhat.com>
834
835         pselect: reject invalid file descriptors
836         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
837         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
838         * modules/pselect (Depends-on): Add dup2.
839         * doc/posix-functions/pselect.texi (pselect): Document this.
840
841         select: reject invalid file descriptors
842         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
843         * lib/select.c (rpl_select) [!win32]: Work around it.
844         * modules/select (Depends-on): Add dup2.
845         * doc/posix-functions/select.texi (select): Document this.
846
847         select: enhance test
848         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
849         New functions.
850         (test_function): Enhance test.
851         (do_select_bad_fd): Avoid any stale errno values.
852
853         ptsname: reject invalid file descriptors
854         http://www.austingroupbugs.net/view.php?id=503
855         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
856         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
857         * modules/stdlib (Makefile.am): Replace witness.
858         * lib/stdlib.in.h (ptsname): Allow for replacement.
859         * modules/ptsname (configure.ac): Trigger replacement.
860         * doc/posix-functions/ptsname.texi (ptsname): Document this.
861
862 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
863
864         hash-pjw-bare: new module
865         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
866         * lib/hash-pjw-bare.h: Likewise.
867         * modules/hash-pjw-bare: New file.
868         * MODULES.html.sh (Misc): Add it.
869
870 2012-10-02  Eric Blake  <eblake@redhat.com>
871
872         manywarnings: cater to more gcc infelicities
873         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
874         -Wuninitialized without -O.
875
876 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
877
878         select, poll tests: Make setsockopt invocation effective.
879         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
880         the bind() call.
881         * tests/test-select.h (open_server_socket): Likewise.
882
883 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
884
885         sockets, sys_stat: restore AC_C_INLINE
886         This undoes the 2012-09-22 patch.
887         * m4/sockets.m4 (gl_SOCKETS):
888         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
889         Restore AC_C_INLINE, since MSVC requires __inline or _inline
890         and does not support plain 'inline'.  Reported by Bruno Haible in
891         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
892
893 2012-09-30  Bruno Haible  <bruno@clisp.org>
894
895         localeconv tests: Avoid test failure on OpenIndiana.
896         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
897         skip the 'grouping' and 'mon_grouping' tests.
898         Reported by Jim Meyering.
899
900 2012-09-30  Bruno Haible  <bruno@clisp.org>
901
902         havelib: Follow libtool developments.
903         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
904         Suggested by Simon Josefsson.
905
906 2012-09-29  Jim Meyering  <meyering@redhat.com>
907
908         fstatat.c: fix a compile-impeding typo
909         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
910         Introduced in commit v0.0-7636-gd202279.
911         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
912
913 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
914
915         extern-inline: provide a -Wundef safe config.h
916         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
917         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
918         to produce a -Wundef warning free config.h.
919
920 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
921
922         hash-pjw: relax license to LGPLv2+
923         * modules/hash-pjw (License): Relax, with consent of author.
924
925 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
926
927         maint.mk: fix strict vs. lazy variable issues with RELEASE
928         * top/maint.mk (_equal): New function.
929         (member_check): Strip the result to avoid spurious spaces.
930         (url_dir_list): Do not use ifeq, which is strict, as it will
931         require RELEASE_TYPE to be defined.
932         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
933         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
934         (announcement_Cc_alpha,announcement_mail_headers_alpha)
935         (announcement_Cc_beta,announcement_mail_headers_beta)
936         (announcement_Cc_stable,announcement_mail_headers_stable): these.
937         (release): Do not depend on $(release-type), as it forces its
938         evaluation.  Bounce to it.
939
940 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
941
942         maint.mk: formatting changes
943         * top/maint.mk: Indent bodies of if's.
944
945 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
946
947         maint.mk: factor the validation of RELEASE_TYPE
948         With help from Jim Meyering.
949         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
950         * top/maint.mk (_empty, _sp): Move their definition earlier.
951         (member-check, release-type): New.
952         Use the latter instead of $(RELEASE_TYPE).
953         Remove now useless local checks.
954
955 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
956
957         maint.mk: provide "make upload" to ease uploading
958         See
959         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
960         Do not depend simply on the current $(VERSION), as there may have been
961         new commits since the tarball generation.  Rather, rely on $(RELEASE),
962         as "make release-commit" already does.
963
964         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
965         "make TYPE".
966
967         * top/maint.mk (upload_command, upload, release): New.
968         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
969         (VERSION): first word of $(RELEASE) is always right.
970         (emit_upload_commands): Adjust.
971         * top/README-release: Update.
972
973 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
974
975         maint.mk: silent rules
976         With help from Stefano Lattarini.
977         * top/maint.mk (writable-files): Use $(AM_V_GEN).
978         (announcement): Use $(AM_V_at).
979
980 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
981
982         localename: port gl_locale_name_thread_unsafe to FreeBSD
983         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
984         and use the simpler FreeBSD implementation on Mac OS X as well.
985         Original idea suggested by Ed Maste in
986         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
987
988 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
989
990         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
991         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
992         * lib/mbuiter.c, lib/xsize.c: New files.
993         * lib/binary-io.h (BINARY_IO_INLINE):
994         * lib/eealloc.h (EEALLOC_INLINE):
995         * lib/mbfile.h (MBFILE_INLINE):
996         * lib/mbiter.h (MBITER_INLINE):
997         * lib/mbuiter.h (MBUITER_INLINE):
998         * lib/xsize.h (XSIZE_INLINE):
999         New macros.
1000         Replace all uses of 'static inline' with them.
1001         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1002         * m4/eealloc.m4 (gl_EEALLOC):
1003         * m4/mbfile.m4 (gl_MBFILE):
1004         * m4/mbiter.m4 (gl_MBITER):
1005         * m4/xsize.m4 (gl_XSIZE):
1006         Do not require AC_C_INLINE.
1007         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
1008         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
1009         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
1010         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
1011         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
1012         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
1013         * modules/binary-io, modules/eealloc, modules/mbfile:
1014         * modules/mbiter, modules/mbuiter:
1015         (Depends-on): Add extern-inline.
1016
1017         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
1018         * lib/pipe-filter-aux.c: New file.
1019         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
1020         Replace all uses of 'static inline' with it.
1021         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1022         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
1023         (filter_retcode): No real need for inline here.
1024         * modules/pipe-filter-gi, modules/pipe-filter-ii:
1025         (Files): Add lib/pipe-filter-aux.c.
1026         (Depends-on): Add extern-inline.
1027         (configure.ac): Do not require AC_C_INLINE.
1028         (lib_SOURCES): Add pipe-filter-aux.c.
1029
1030         fdutimensat: omit unnecessary AC_C_INLINE
1031         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
1032
1033         fchmodat, fchownat, fstatat: use extern-inline
1034         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
1035         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
1036         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
1037         New macros.
1038         * lib/openat.h:
1039         Replace all uses of 'static inline' with them.
1040         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1041         * modules/fchmodat, modules/fchownat, modules/fstatat:
1042         * modules/openat-h:
1043         (Depends-on):
1044         Add extern-inline.
1045         (configure.ac): Remove AC_C_INLINE.
1046
1047         acl, mbchar, priv-set: use extern-inline
1048         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
1049         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
1050         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
1051         New macros.
1052         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
1053         Replace all uses of 'static inline' with it.
1054         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1055         * m4/acl.m4 (gl_FUNC_ACL):
1056         * m4/mbchar.m4 (gl_MBCHAR):
1057         * m4/priv-set.m4 (gl_PRIV_SET):
1058         Remove AC_C_INLINE, since 'inline' is no longer used directly.
1059         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
1060         Add extern-inline.
1061
1062         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
1063         * m4/sockets.m4 (gl_SOCKETS):
1064         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
1065         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
1066         environments where it's already guaranteed to work, so we needn't
1067         check for it at 'configure'-time.
1068
1069         tls-tests: omit unnecessary 'inline'
1070         * tests/test-tls.c (perhaps_yield): No longer inline.
1071         Simplicity and portability trump efficiency in test cases.
1072
1073         utimens-tests: avoid unnecessary 'inline'
1074         * modules/fdutimensat-tests (configure.ac):
1075         * modules/futimens-tests (configure.ac):
1076         * modules/utimens-tests (configure.ac):
1077         * modules/utimensat-tests (configure.ac):
1078         Remove AC_C_INLINE.
1079         * tests/test-utimens-common.h (ctime_compare):
1080         No longer inline.  Simplicity and portability trump efficiency here.
1081
1082         misc: don't limit commentary to inline functions
1083         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
1084         * lib/xalloc-oversized.h, lib/xsize.h:
1085         Contrast macros to functions in general, not just to inline functions,
1086         when the commentary does not apply only to inline functions.
1087
1088 2012-09-20  Jim Meyering  <meyering@redhat.com>
1089
1090         non-recursive-gnulib-prefix-hack: new module
1091         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
1092         the file that originated in Bison.
1093         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
1094         largely copied from a snippet that resided in bison's configure.ac.
1095         * modules/non-recursive-gnulib-prefix-hack: New file.
1096         * MODULES.html.sh (Support for maintaining and releasing projects):
1097         Add it.
1098
1099 2012-09-18  Jim Meyering  <meyering@redhat.com>
1100
1101         maint.mk: generalize _gl_tight_scope for non-recursive make
1102         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
1103         that *.h would describe additional .h files in the directory
1104         specified by $(_gl_TS_dir).  I.e., add this...
1105         (_gl_TS_other_headers): New variable.
1106
1107         maint.mk: exempt trailing blanks found in "binary" files
1108         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
1109         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
1110         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1111
1112 2012-09-17  Jim Meyering  <meyering@redhat.com>
1113
1114         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
1115         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
1116         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
1117         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1118
1119 2012-09-17  Jim Meyering  <meyering@redhat.com>
1120
1121         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
1122         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
1123         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
1124         It is not in the same category as "exit (0)" or "exit (1)", and
1125         besides, I know of no symbolic name for that 77.  Reported by
1126         Richard W.M. Jones in
1127         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1128
1129 2012-09-17  Jim Meyering  <meyering@redhat.com>
1130
1131         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
1132         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
1133         all uses of #define, not just those that start in column 1.
1134         Richard W.M. Jones reported a false positive in
1135         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
1136
1137 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
1138
1139         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
1140         * lib/localcharset.c (locale_charset) [DARWIN7]:
1141         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
1142         as these two values are incompatible.  Problem reported by Max Horn.
1143         For more discussion, please see
1144         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
1145
1146         doc: document sticky-EOF issue
1147         * doc/posix-functions/fgetc.texi (fgetc):
1148         * doc/posix-functions/fgets.texi (fgets):
1149         * doc/posix-functions/fread.texi (fread):
1150         * doc/posix-functions/fscanf.texi (fscanf):
1151         * doc/posix-functions/getc.texi (getc):
1152         * doc/posix-functions/getchar.texi (getchar):
1153         * doc/posix-functions/scanf.texi (scanf):
1154         Mention that glibc and default Solaris do not conform to
1155         C99 and POSIX-2001 or later, with respect to how getchar
1156         etc. behave when feof reports nonzero.
1157
1158 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
1159
1160         poll: fix poll(0, NULL, msec)
1161         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
1162         but nfd is 0.  In that case poll should behave like select.
1163
1164 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
1165             Paolo Bonzini <bonzini@gnu.org>
1166
1167         poll: fix for systems that can't recv() on a non-socket
1168         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
1169         is readable.  In this case POLLHUP will not be supported.
1170         * doc/posix-functions/poll.texi: Document this.
1171
1172 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
1173
1174         poll/select: document portability problems not fixed by Gnulib.
1175         * doc/posix-functions/poll.texi: poll does not work well on
1176         pipes under Windows.  It has the same limitations as select on
1177         BeOS.
1178         * doc/posix-functions/select.texi: select does not work well
1179         on pipes under Windows.
1180
1181 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1182
1183         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
1184         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
1185         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
1186         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
1187
1188 2012-09-06  Eric Blake  <eblake@redhat.com>
1189
1190         net_if: give more details about the bug being fixed
1191         * doc/posix-headers/net_if.texi: Add clarification.
1192
1193 2012-09-05  Eric Blake  <eblake@redhat.com>
1194
1195         net_if: new module
1196         * modules/net_if: New module, borrowing ideas from netinet_in.
1197         * m4/net_if_h.m4: New file.
1198         * lib/net_if.in.h: Likewise.
1199         * doc/posix-headers/net_if.texi (net/if.h): Document it.
1200         * MODULES.html.sh (lacking POSIX:2008): Likewise.
1201         * tests/test-net_if.c: Make function checks conditional.
1202         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
1203
1204 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
1205
1206         readutmp: fix non-portable UT_PID use
1207         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
1208         Use `UT_PID (u) > 0' as absolute condition.
1209
1210 2012-09-04  Jim Meyering  <meyering@redhat.com>
1211
1212         fts: reduce two or more trailing spaces to just one, usually
1213         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
1214         or more slashes, trim all but the final one.  But if a name consists
1215         solely of two slashes, don't modify it.  If it consists solely of
1216         three or more slashes, strip all but one.
1217
1218         This is part of the solution to a minor problem with rm:
1219         it would print a bogus ELOOP diagnostic when failing to remove
1220         the slash-decorated name of a symlink-to-directory:
1221
1222             $ mkdir d && ln -s d s && env rm -r s/
1223             rm: cannot remove 's': Too many levels of symbolic links
1224
1225         With the change below and a trivial don't-trim-trailing-slashes
1226         adjustment to remove.c, it does this:
1227
1228             $ env rm -r s/
1229             rm: cannot remove 's/': Not a directory
1230
1231         Improved by: Eric Blake
1232
1233         fts: when there is no risk of overlap, use memcpy, not memmove
1234         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
1235
1236 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
1237
1238         stdbool: be more compatible with mixed C/C++ compiles
1239         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
1240         Define to bool, true, false, respectively, as GCC's builtin
1241         stdbool.h does.  Problem reported by Michael Goffioul in
1242         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
1243
1244 2012-08-28  Jim Meyering  <meyering@redhat.com>
1245
1246         revert last change: it was not needed
1247         * tests/test-vc-list-files-git.sh: There's already a test for
1248         a working git, just below.
1249
1250 2012-08-28  Jim Meyering  <meyering@redhat.com>
1251
1252         tests: test-vc-list-files-git.sh: skip if git is not available
1253         * tests/test-vc-list-files-git.sh: Skip this test when git is
1254         not available.
1255
1256 2012-08-26  Bruno Haible  <bruno@clisp.org>
1257
1258         gnulib-tool: Remove no-op option --no-changelog.
1259         * gnulib-tool (func_usage): Don't mention --no-changelog.
1260         (do_changelog): Remove variable.
1261         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1262
1263 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1264
1265         doc: remove fdl-1.2.texi
1266         It is no longer used or maintained, and its use of @acronym
1267         is problematic.  See the thread containing
1268         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
1269         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
1270         * doc/old-licenses/fdl-1.2.texi: Remove.
1271
1272         execinfo: port to FreeBSD
1273         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
1274         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
1275         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
1276         * modules/execinfo (Link): Add $(LIB_EXECINFO).
1277
1278 2012-08-23  Jim Meyering  <meyering@redhat.com>
1279
1280         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
1281         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
1282         to placate gcc's -Wold-style-declaration.
1283
1284 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1285
1286         doc: do not use @acronym
1287         * doc/inet_ntoa.texi (inet_ntoa):
1288         * doc/parse-datetime.texi (Seconds since the Epoch)
1289         (Specifying time zone rules):
1290         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
1291         Don't use @acronym.  Problem reported by John Darlington in
1292         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
1293
1294 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1295
1296         stdnoreturn: port to newer GCCs
1297         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
1298         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
1299         Problem reported by Jim Meyering in
1300         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
1301         Also, rename the 'test' function to a void a clash with the
1302         already-supplied 'main' function; this fixes a bug that incorrectly
1303         rejected GCC 4.7.1's <stdnoreturn.h>.
1304         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
1305         Document GCC problem.
1306
1307 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
1308
1309         pipe-filter: fix comment typo
1310         * lib/pipe-filter.h: Mention correct function.
1311
1312 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
1313
1314         execinfo: new module
1315         This is for Emacs.  Currently, it provides a no-effect stub
1316         on all platforms where it does not already work.
1317         It already works on glibc-based systems, and on Solaris 11.
1318         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
1319         New files.
1320         * doc/glibc-headers/execinfo.texi (execinfo.h):
1321         * MODULES.html.sh (Misc): Document it.
1322
1323 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
1324
1325         extern-inline: support old GCC 'inline'
1326         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
1327         if available.  This applies to GCC versions 2.7 through 4.2, or
1328         when newer GCC is using -fgnu89-inline.  The goal is to address
1329         some of the performance issues mentioned by Bruno Haible in
1330         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
1331
1332 2012-08-20  Eric Blake  <eblake@redhat.com>
1333
1334         maint.mk: avoid redundant file name in message
1335         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
1336         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
1337         (sc_makefile_path_separator_check): Remove bogus $(ME).
1338
1339 2012-08-20  Mike Frysinger <vapier@gentoo.org>
1340
1341         timer-time: fix link order when static linking on glibc
1342         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
1343         _after_ -lrt so that it's significant.
1344
1345 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
1346
1347         timespec: omit unnecessary AC_C_INLINE
1348         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
1349
1350         stat-time: omit unnecessary AC_C_INLINE
1351         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
1352         Do not require AC_C_INLINE.
1353
1354         ignore-value: omit unnecessary AC_C_INLINE
1355         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
1356
1357         sys_select: avoid 'static inline'
1358         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
1359
1360         mktime: avoid 'static inline'
1361         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
1362         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
1363
1364 2012-08-19  Bruno Haible  <bruno@clisp.org>
1365
1366         gnulib-tool: Improve coding style.
1367         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
1368         func_emit_lib_Makefile_am.
1369         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1370
1371 2012-08-19  Bruno Haible  <bruno@clisp.org>
1372
1373         gnulib-tool: Fix indentation.
1374         * gnulib-tool (func_import): Fix indentation.
1375
1376 2012-08-19  Bruno Haible  <bruno@clisp.org>
1377
1378         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
1379         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
1380         on the list of removed files.
1381
1382 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
1383
1384         test-parse-datetime: avoid glibc leap-second glitch
1385         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
1386         with the 2012 rules.  Problem reported by Bruce Dubbs in
1387         <http://bugs.gnu.org/12206>.
1388
1389 2012-08-14  Bruno Haible  <bruno@clisp.org>
1390
1391         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
1392         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
1393         from argument.
1394         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1395
1396 2012-08-14  Eric Blake  <eblake@redhat.com>
1397
1398         ldexp: relax license
1399         * modules/ldexp (License): Trivial relax, since the module only
1400         provides a permissively licensed m4 file.
1401
1402 2012-08-13  Bruno Haible  <bruno@clisp.org>
1403
1404         gnulib-tool: Fix persistence of --witness-c-macro option.
1405         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
1406         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
1407
1408 2012-08-11  Eric Blake  <eblake@redhat.com>
1409
1410         count-leading-zeros: use a lookup table on non-gcc compilers
1411         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
1412         alternate implementation, suggested by Jim Meyering.
1413
1414 2012-08-10  Eric Blake  <eblake@redhat.com>
1415
1416         count-leading-zeros: new module
1417         * modules/count-leading-zeros: New module.
1418         * m4/count-leading-zeros.m4: New file.
1419         * lib/count-leading-zeros.h: Likewise.
1420         * modules/count-leading-zeros-tests: New test.
1421         * tests/test-count-leading-zeros.c: New file.
1422         * MODULES.html.sh (Integer arithmetic functions): Document it.
1423
1424 2012-08-07  Simon Josefsson  <simon@josefsson.org>
1425             Jim Meyering  <meyering@redhat.com>
1426
1427         maintainer-makefile: Fix syntax error with dash.
1428         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
1429         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
1430
1431 2012-08-05  Jim Meyering  <meyering@redhat.com>
1432
1433         extern-inline: also ignore -Wmissing-declarations
1434         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
1435         required with gcc-4.8.0-to-be.
1436
1437         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
1438         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
1439         for /error ?([^,]*)/.  This avoids false-positives for strings like
1440         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
1441
1442 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
1443
1444         gnumakefile: better interaction with Automake-NG
1445         * modules/gnumakefile [Makefile.am]: The makefiles generated by
1446         Automake-NG always contain a definition of VPATH, even in non-VPATH
1447         builds (its value being simply '.' in that case).  So, in the
1448         'clean-GNUmakefile' rule, to determine whether running under a
1449         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
1450         '$(VPATH)' expands to the empty string.
1451
1452 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
1453
1454         base64: Use extern C scope in header file, for C++.
1455         * lib/base64.h: Add C++ namespace protection.
1456
1457 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
1458
1459         stat-time, timespec, u64: support naive out-of-dir builds
1460         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
1461         Use '#include "foo.h"', not '#include <foo.h>', when including
1462         one's own interface.  This works better when configuring with
1463         out-of-directory builds, since packages need not add an
1464         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
1465
1466 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
1467
1468         utimens: use extern-inline
1469         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
1470         * lib/utimens.h: Add copyright notice, since this is now large enough
1471         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1472         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
1473         * modules/utimens (Depends-on): Add extern-inline.
1474
1475         u64: use extern-inline
1476         * lib/u64.c: New file.
1477         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1478         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
1479         * modules/u64 (Files): Add lib/u64.c.
1480         (Depends-on): Add extern-inline.
1481         (configure.ac): No need to require AC_C_INLINE, since extern-inline
1482         does that now.
1483         (lib_SOURCES): Add u64.c.
1484
1485         timespec: use extern-inline
1486         * lib/timespec.c: New file.
1487         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1488         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
1489         * modules/timespec (Files): Add lib/timespec.c.
1490         (Depends-on): Add extern-inline.
1491         (lib_SOURCES): Add timespec.c.
1492
1493         stat-time: use extern-inline
1494         * lib/stat-time.c: New file.
1495         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1496         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
1497         * modules/stat-time (Files): Add lib/stat-time.c.
1498         (Depends-on): Add extern-inline.
1499         (lib_SOURCES): Add stat-time.c.
1500
1501         extern-inline: new module
1502         * modules/extern-inline, m4/extern-inline.m4: New files.
1503         This is for better support of 'extern inline' a la ISO C99,
1504         with a portable alternative on compilers that do not support
1505         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
1506         of the Emacs executable, when compiled with debugging disabled,
1507         which is a typical way that Emacs is built while developing.
1508
1509 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
1510
1511         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
1512         * build-aux/do-release-commit-and-tag: Move variable definitions
1513         together.
1514         ($branch): Instead of defaulting to "master", default to the current
1515         branch (as gnu-web-doc-update does).
1516         (help): Display the current values of the option arguments.
1517         * top/maint.mk (release-commit): New.
1518         * top/README-release: Simplify the corresponding step.
1519
1520 2012-07-30  Eric Blake  <eblake@redhat.com>
1521
1522         passfd: fix comment on recvfd
1523         * lib/passfd.c (recvfd): Fix comment.
1524         Reported by Jann Horn <jannhorn@googlemail.com>.
1525
1526 2012-07-30  Jim Meyering  <meyering@redhat.com>
1527
1528         maint.mk: avoid a sub-shell
1529         * top/maint.mk (release-prep): Remove unneeded sub-shell.
1530
1531 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1532
1533         maint.mk: use silent-rules support from Automake
1534         * top/maint.mk (news-check, vc-diff-check, announcement)
1535         (no-submodule-changes, alpha beta stable, release-prep)
1536         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
1537
1538 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1539
1540         maint.mk: provide a web-manual-update target
1541         * top/maint.mk: here.
1542         * top/README-release: Use it to simplify the web manual update step.
1543
1544 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1545
1546         README-release: shorten the circuit to post a news
1547         * top/README-release: Point directly to the news submission form.
1548
1549 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1550
1551         gnu-web-doc-update: fix --help
1552         * build-aux/gnu-web-doc-update: The information "top level" was written
1553         twice.
1554
1555 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
1556
1557         maint.mk: absolute VPATH issue
1558         * top/maint.mk (release-prep): Help Git find .git/.
1559         From Jim Meyering.
1560
1561 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
1562
1563         gitlog-to-changelog: fix previous change
1564         * build-aux/gitlog-to-changelog: Fix condition.
1565         Add missing ";".
1566
1567 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
1568
1569         gitlog-to-changelog: don't expect .git to be in $srcdir
1570         Reported by Bruno Haible.
1571         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
1572         * build-aux/gitlog-to-changelog (&git_dir_option): New.
1573         Use it.
1574
1575 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
1576
1577         maint.mk: absolute VPATH build fix
1578         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
1579         $(srcdir) is not a parent of $(builddir).
1580
1581 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
1582
1583         clean-temp: Fix memory leak.
1584         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
1585         'files' members of tmpdir.
1586
1587 2012-07-27  Jim Meyering  <meyering@redhat.com>
1588
1589         maint.mk: new rule: refresh-gnulib-patches
1590         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
1591         Use this rule to refresh them.
1592         * top/maint.mk (refresh-gnulib-patches): New rule.
1593
1594 2012-07-24  Bruno Haible  <bruno@clisp.org>
1595
1596         gnulib-tool: Fix handling of inctests variable.
1597         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
1598         Reported by Nick Bowler <nbowler@elliptictech.com>.
1599
1600 2012-07-22  Bruno Haible  <bruno@clisp.org>
1601
1602         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
1603         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
1604         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
1605         Remove exemption for getpass.h.
1606         Suggested by Eric Blake.
1607
1608 2012-07-20  Eric Blake  <eblake@redhat.com>
1609
1610         verify: document conflict with -Wnested-externs
1611         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
1612
1613         maint.mk: forbid exit(-1)
1614         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
1615
1616 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
1617
1618         fsusage: port back to Solaris
1619         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
1620         error (fsd not declared) on Solaris 10.  Reported privately by
1621         Andrew Borodin.
1622
1623 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
1624
1625         gnu-web-doc-update: fix error messages
1626         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
1627
1628         gnu-web-doc-update: check the requirements.
1629         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
1630         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
1631         * build-aux/bootstrap (find_tool): Comment change.
1632
1633 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
1634
1635         maint.mk: minor simplication.
1636         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
1637         for default values.
1638
1639 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
1640
1641         gitlog-to-changelog: VPATH build issues
1642         If builddir is not a subdirectory of srcdir, running git from it will
1643         fail.
1644         * build-aux/gitlog-to-changelog (--srcdir): New option.
1645
1646 2012-07-15  Bruno Haible  <bruno@clisp.org>
1647
1648         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
1649         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
1650         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
1651         Remove exemption for fpending.h.
1652         Suggested by Eric Blake.
1653
1654 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1655
1656         pthread_sigmask: fix bug on FreeBSD 9
1657         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
1658         Include string.h.
1659         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
1660         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
1661         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
1662         but pthread_sigmask (1729, NULL, NULL) returns zero.
1663         See <http://bugs.gnu.org/11884>.
1664         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
1665         by inspecting whether the main call changed the old mask.
1666
1667 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
1668
1669         README-release: make it more legible
1670         * top/README-release: Improve typography slightly.
1671
1672 2012-07-15  Jim Meyering  <meyering@redhat.com>
1673
1674         maint: require that each sc_... command start with "@"
1675         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
1676         "make sc_maint" helps us avoid this nit.
1677
1678 2012-07-15  Jim Meyering  <meyering@redhat.com>
1679
1680         maint.mk: add leading "@" to quiet new "make syntax-check" rule
1681         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
1682
1683 2012-07-13  Eric Blake  <eblake@redhat.com>
1684
1685         maint.mk: new syntax check for HAVE_DECL checks
1686         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
1687         * cfg.mk
1688         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
1689         Exempt some false positives.
1690         Based on a report by Karel Zak.
1691
1692         argp: make HAVE_DECL usage consistent
1693         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
1694         macros, not whether they are defined.
1695         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
1696         convention with other declaration checks.
1697         Reported by Karel Zak, with suggestions from Paul Eggert.
1698
1699         stat-time: relax license to LGPLv2+
1700         * modules/stat-time (License): Relax, with consent of all authors.
1701
1702         strndup: fix m4 usage error
1703         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
1704         defined, to either 0 or 1.
1705         Reported by Karel Zak.
1706
1707 2012-07-11  Jim Meyering  <meyering@redhat.com>
1708
1709         maint: enable the sc_avoid_if_before_free syntax-check rule
1710         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
1711         (if_before_free_offenders_): Define.
1712         (if_before_free_basename_re_): Define.
1713         Exempt current files with useless if-before-free.
1714
1715 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
1716
1717         gettext: do not assume '#define ... defined ...' behavior
1718         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
1719         Do not use '#define FOO ... defined BAR ...', as the C standard says
1720         it's not portable to expect that this works after macro expansion.
1721         Problem reported for gzip by Steven M. Schweda in
1722         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
1723
1724 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
1725
1726         getloadavg: clean out old Emacs and Autoconf cruft
1727         See Glenn Morris in <http://bugs.gnu.org/11905>.
1728         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
1729         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
1730         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
1731         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
1732
1733 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
1734
1735         bootstrap: let warn be like tests/init.sh's warn_
1736         Reported by Jim Meyering.
1737         * build-aux/bootstrap (warn): Remove, replaced by...
1738         (warnf_, warn_): these.
1739         Adjust callers.
1740         Shorten messages that no longer fit in 80 columns.
1741
1742 2012-07-09  Bruno Haible  <bruno@clisp.org>
1743
1744         getopt: Simplify after Emacs changed.
1745         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
1746         (gl_GETOPT_IFELSE): Remove macro.
1747
1748 2012-07-09  Jim Meyering  <meyering@redhat.com>
1749
1750         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
1751         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
1752
1753         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
1754         Bugs in both of those conspired to make the
1755         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
1756         _sc_search_regexp's handling of non-empty $in_files would filter
1757         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
1758         choice of in_files value meant there would be no match in most
1759         projects, due to the presence of two or more Makefile.in files.
1760         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
1761         Fix a bug in how a non-empty $$in_files was processed:
1762         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
1763         in spite of the name, it's a regexp, not a list of file names.
1764
1765 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
1766
1767         getloadavg, getopt: fix commentary re configure.in
1768         Autoconf is deprecating the name 'configure.in', so change it to
1769         to the new name 'configure.ac' in a couple of places.
1770         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
1771         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
1772         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
1773         Emacs has renamed it to configure.ac, and it no longer refers
1774         to these macros anyway.
1775
1776         timespec: mark functions with const attributes
1777         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
1778         Mark with _GL_ATTRIBUTE_CONST.
1779
1780 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
1781
1782         canonicalize[-lgpl]: handle "guessing" values when cross-building
1783         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
1784         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
1785         matches "*yes" instead of just "yes".  Regression introduced in commit
1786         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
1787
1788 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
1789             Bruno Haible  <bruno@clisp.org>
1790
1791         canonicalize: make the right guess when cross-compiling to GNU
1792         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
1793         determine whether cross-compiling to glibc systems, so as to
1794         include GNU/Hurd.
1795
1796 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
1797
1798         timespec-sub: avoid duplicate include
1799         * lib/timespec-sub.c: Do not include <config.h> twice.
1800         Reported by Juanma Barranquero.
1801
1802 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
1803
1804         bootstrap: use a more consistent error reporting scheme
1805         * build-aux/bootstrap (warn, die): New.
1806         Use them.
1807
1808 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1809
1810         sys_time: allow too-wide tv_sec
1811         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
1812         timeval even if tv_sec is wider than time_t.  This allows
1813         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
1814         as without this patch gnulib replaces struct timeval
1815         and OpenBSD futimes therefore has a type mismatch.
1816         * doc/posix-headers/sys_time.texi: Mention this.
1817
1818         pthread: check for both pthread_create and pthread_join
1819         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
1820         alter the check so that it tests for both pthread_create and
1821         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
1822         Suggested by Bruno Haible and Richard Yao in
1823         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
1824
1825         parse-datetime: doc tuneup
1826         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
1827         spacing issues.
1828
1829 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
1830
1831         do-release-commit-and-tag: fix the previous commit
1832         * build-aux/do-release-commit-and-tag: Actually the test was right,
1833         but the comment and the error message were misleading.
1834         Fix comment, and improve error message.
1835         Perform check first, so that NEWS is not modified uselessly.
1836
1837         do-release-commit-and-tag: fix typo
1838         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
1839         _not_ start with a stub.
1840
1841 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
1842
1843         pthread: check for pthread_create, not pthread_join
1844         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
1845         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
1846         pthread_join in libc.  I hope this removes the need for all the
1847         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
1848         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
1849
1850 2012-07-04  Jim Meyering  <meyering@redhat.com>
1851
1852         parse-datetime: fix failure to diagnose invalid input
1853         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
1854         rather than diagnosing the invalid input.  Now it reports this:
1855         date: invalid date '\260'
1856         * lib/parse-datetime.y (to_uchar): Define.
1857         (yylex): Don't sign-extend "other" bytes.
1858         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
1859         Thanks to Bruno Haible for the patch to this file.
1860         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
1861         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
1862
1863 2012-07-03  Jim Meyering  <meyering@redhat.com>
1864
1865         bootstrap: do not require now-removed build-aux/missing
1866         Now that build-aux/missing is, er, missing, bootstrap would
1867         silently fail.
1868         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
1869         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
1870         no longer part of gnulib.
1871         Diagnose the failure.
1872
1873 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
1874
1875         alloca: add support for HP NonStop TNS/E native
1876         * lib/alloca.in.h (alloca): Support the new host.
1877         From a suggestion by Joachim Schmitz in
1878         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
1879
1880 2012-07-02  Pádraig Brady  <P@draigBrady.com>
1881
1882         fsusage: remove code not needed on non GNU/Linux systems.
1883
1884         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
1885         Don't include headers no longer needed in this case.
1886         * lib/fsusage.c [STAT_STATVFS &&
1887         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
1888         STAT_STATFS2_FRSIZE to exclude code not used in this case.
1889
1890 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1891
1892         fsusage: include files needed for glibc 2.6 fallback
1893         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
1894         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
1895         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
1896         Problem reported by Ludovic Courtès in
1897         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
1898
1899         fsusage: avoid needless check on GNU/Linux
1900         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
1901         on GNU/Linux systems, since it can't possibly work.
1902
1903 2012-07-01  Bruno Haible  <bruno@clisp.org>
1904
1905         log: Fix an autoconf >= 2.64 warning.
1906         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
1907         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
1908
1909 2012-06-28  Bruno Haible  <bruno@clisp.org>
1910
1911         log10f: Fix possible configuration problem.
1912         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
1913         $LOGF_LIBM.
1914         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
1915
1916 2012-06-28  Bruno Haible  <bruno@clisp.org>
1917
1918         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
1919         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
1920         not gl_cv_func_unlink_works.
1921         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
1922
1923 2012-06-27  Eric Blake  <eblake@redhat.com>
1924
1925         config: drop scripts that automake says are not independent
1926         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
1927         * build-aux/elisp-comp: Delete.
1928         * build-aux/missing: Likewise.
1929         * build-aux/ylwrap: Likewise.
1930         * modules/elisp-comp: Likewise.
1931         * MODULES.html.sh: Drop mention of elisp-comp.
1932         * NEWS: Mention this.
1933
1934 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
1935
1936         root-uid: new module
1937         This is for portability to Tandem's NonStop Kernel.
1938         * lib/root-uid.h, modules/root-uid: New files.
1939         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
1940         * lib/write-any-file.c, tests/test-sethostname2.c:
1941         Include "root-uid.h".
1942         * lib/euidaccess.c (euidaccess):
1943         * lib/pt_chown.c (main):
1944         * lib/unlinkdir.c (cannot_unlink_dir):
1945         * lib/write-any-file.c (can_write_any_file):
1946         * m4/mknod.m4 (gl_FUNC_MKNOD):
1947         * tests/test-sethostname2.c (geteuid, main):
1948         Don't assume ROOT_UID == 0.
1949         * modules/euidaccess (Depends-on):
1950         * modules/pt_chown (Depends-on):
1951         * modules/sethostname-tests (Depends-on):
1952         * modules/unlinkdir (Depends-on):
1953         * modules/write-any-file (Depends-on):
1954         Add root-uid.
1955
1956         regex: use locale-independent comparison for codeset name
1957         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
1958         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
1959         for codeset name.
1960         * lib/regex_internal.h: Do not include <strings.h>, since we
1961         no longer use strcasecmp.
1962         * modules/regex (Depends-on): Remove strcase.
1963
1964 2012-06-23  Bruno Haible  <bruno@clisp.org>
1965
1966         getopt-posix: No longer guarantee that option processing is resettable.
1967         * doc/posix-functions/getopt.texi: Drop description of problem with
1968         internal state. Fix info about mingw and msvc9.
1969         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
1970         option processing by getopt(). Run three test programs instead of one.
1971         Simplify cross-compilation guess.
1972         * NEWS: Mention the change.
1973         Reported by Rich Felker <dalias@aerifal.cx>.
1974
1975 2012-06-26  Bruno Haible  <bruno@clisp.org>
1976
1977         argp, regex: Ensure strcasecmp gets declared.
1978         * lib/argp-help.c: Include <strings.h>.
1979         * lib/regex_internal.h: Likewise.
1980         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
1981
1982 2012-06-24  Bruno Haible  <bruno@clisp.org>
1983
1984         ptsname_r: Make it consistent with ptsname on AIX.
1985         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
1986         implementation as for OSF/1.
1987         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
1988         a pty master.
1989
1990         ptsname_r: Make it consistent with ptsname on OSF/1.
1991         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
1992         OSF/1.
1993
1994 2012-06-24  Bruno Haible  <bruno@clisp.org>
1995
1996         ttyname_r: Fix result on OSF/1, Solaris.
1997         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
1998
1999 2012-06-24  Bruno Haible  <bruno@clisp.org>
2000
2001         ptsname_r: Add support for Solaris.
2002         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2003         Solaris.
2004
2005         ptsname_r: Fix test failure on native Windows.
2006         * modules/ptsname_r (Depends-on): Add isatty.
2007
2008         ptsname_r: Fix test failures on IRIX, Solaris.
2009         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
2010         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
2011         accordingly.
2012         * lib/ptsname_r.c: Include <fcntl.h>.
2013         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
2014         set errno if fd is invalid.
2015         * tests/test-isatty.c (main): Update comments.
2016
2017 2012-06-24  Bruno Haible  <bruno@clisp.org>
2018
2019         ptsname test: Extend test.
2020         * tests/test-ptsname.c: Include <errno.h>.
2021         (main): Test behaviour with invalid file descriptor.
2022
2023 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2024
2025         time: fix obsolete comment
2026         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
2027         reference to HAVE_STRUCT_TIMESPEC in comment.
2028
2029 2012-06-23  Bruno Haible  <bruno@clisp.org>
2030
2031         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
2032         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
2033         does not handle abbreviated long options with equivalent
2034         disambiguations, set gl_replace_getopt to yes.
2035         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
2036
2037 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2038
2039         time_r: fix typo that always overrode localtime_r decl
2040         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
2041         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
2042         not in a standard include.
2043
2044 2012-06-22  Bruno Haible  <bruno@clisp.org>
2045
2046         Write "Mac OS X" instead of "MacOS X".
2047         * README: Write "Mac OS X" instead of "MacOS X".
2048         * build-aux/bootstrap: Likewise.
2049         * build-aux/install-reloc: Likewise.
2050         * lib/acl-internal.h: Likewise.
2051         * lib/acl_entries.c: Likewise.
2052         * lib/argp-ba.c: Likewise.
2053         * lib/argp-pv.c: Likewise.
2054         * lib/config.charset: Likewise.
2055         * lib/copy-acl.c: Likewise.
2056         * lib/csharpexec.c: Likewise.
2057         * lib/euidaccess.c: Likewise.
2058         * lib/fbufmode.c: Likewise.
2059         * lib/fflush.c: Likewise.
2060         * lib/file-has-acl.c: Likewise.
2061         * lib/filemode.h: Likewise.
2062         * lib/fpurge.c: Likewise.
2063         * lib/freadable.c: Likewise.
2064         * lib/freadahead.c: Likewise.
2065         * lib/freading.c: Likewise.
2066         * lib/freadptr.c: Likewise.
2067         * lib/freadseek.c: Likewise.
2068         * lib/fseeko.c: Likewise.
2069         * lib/fseterr.c: Likewise.
2070         * lib/fsusage.c: Likewise.
2071         * lib/fwritable.c: Likewise.
2072         * lib/fwriting.c: Likewise.
2073         * lib/get-rusage-as.c: Likewise.
2074         * lib/get-rusage-data.c: Likewise.
2075         * lib/getdomainname.c: Likewise.
2076         * lib/idpriv-drop.c: Likewise.
2077         * lib/idpriv-droptemp.c: Likewise.
2078         * lib/localcharset.c: Likewise.
2079         * lib/locale.in.h: Likewise.
2080         * lib/localename.c: Likewise.
2081         * lib/mbsrtowcs-state.c: Likewise.
2082         * lib/nproc.c: Likewise.
2083         * lib/passfd.c: Likewise.
2084         * lib/posix_openpt.c: Likewise.
2085         * lib/printf-parse.c: Likewise.
2086         * lib/progreloc.c: Likewise.
2087         * lib/safe-read.h: Likewise.
2088         * lib/safe-write.h: Likewise.
2089         * lib/sched.in.h: Likewise.
2090         * lib/set-mode-acl.c: Likewise.
2091         * lib/signal.in.h: Likewise.
2092         * lib/stdint.in.h: Likewise.
2093         * lib/stdio-impl.h: Likewise.
2094         * lib/stdlib.in.h: Likewise.
2095         * lib/strtod.c: Likewise.
2096         * lib/sys_select.in.h: Likewise.
2097         * lib/tcgetsid.c: Likewise.
2098         * lib/unistd.in.h: Likewise.
2099         * lib/unlockpt.c: Likewise.
2100         * lib/vasnprintf.c: Likewise.
2101         * lib/vma-iter.c: Likewise.
2102         * lib/wcsrtombs-state.c: Likewise.
2103         * m4/acl.m4: Likewise.
2104         * m4/acosl.m4: Likewise.
2105         * m4/asinl.m4: Likewise.
2106         * m4/atanl.m4: Likewise.
2107         * m4/c-stack.m4: Likewise.
2108         * m4/cosl.m4: Likewise.
2109         * m4/expl.m4: Likewise.
2110         * m4/extensions.m4: Likewise.
2111         * m4/fdatasync.m4: Likewise.
2112         * m4/fmal.m4: Likewise.
2113         * m4/frexp.m4: Likewise.
2114         * m4/frexpf.m4: Likewise.
2115         * m4/frexpl.m4: Likewise.
2116         * m4/fsusage.m4: Likewise.
2117         * m4/getdomainname.m4: Likewise.
2118         * m4/getloadavg.m4: Likewise.
2119         * m4/getopt.m4: Likewise.
2120         * m4/gettext.m4: Likewise.
2121         * m4/gnulib-common.m4: Likewise.
2122         * m4/intdiv0.m4: Likewise.
2123         * m4/intlmacosx.m4: Likewise.
2124         * m4/largefile.m4: Likewise.
2125         * m4/ldexpl.m4: Likewise.
2126         * m4/link-follow.m4: Likewise.
2127         * m4/locale-ar.m4: Likewise.
2128         * m4/locale-fr.m4: Likewise.
2129         * m4/locale-ja.m4: Likewise.
2130         * m4/locale-tr.m4: Likewise.
2131         * m4/locale-zh.m4: Likewise.
2132         * m4/locale_h.m4: Likewise.
2133         * m4/lock.m4: Likewise.
2134         * m4/logl.m4: Likewise.
2135         * m4/mathfunc.m4: Likewise.
2136         * m4/minus-zero.m4: Likewise.
2137         * m4/mktime.m4: Likewise.
2138         * m4/mmap-anon.m4: Likewise.
2139         * m4/multiarch.m4: Likewise.
2140         * m4/nanosleep.m4: Likewise.
2141         * m4/nocrash.m4: Likewise.
2142         * m4/poll.m4: Likewise.
2143         * m4/printf-frexpl.m4: Likewise.
2144         * m4/printf.m4: Likewise.
2145         * m4/signbit.m4: Likewise.
2146         * m4/sinl.m4: Likewise.
2147         * m4/sqrtl.m4: Likewise.
2148         * m4/strerror_r.m4: Likewise.
2149         * m4/tanl.m4: Likewise.
2150         * m4/threadlib.m4: Likewise.
2151         * m4/ttyname_r.m4: Likewise.
2152         * m4/unlink.m4: Likewise.
2153         * m4/visibility.m4: Likewise.
2154         * m4/wcwidth.m4: Likewise.
2155         * tests/minus-zero.h: Likewise.
2156         * tests/test-alloca-opt.c: Likewise.
2157         * tests/test-copy-acl.sh: Likewise.
2158         * tests/test-copy-file.sh: Likewise.
2159         * tests/test-fdatasync.c: Likewise.
2160         * tests/test-file-has-acl.sh: Likewise.
2161         * tests/test-flock.c: Likewise.
2162         * tests/test-fsync.c: Likewise.
2163         * tests/test-localename.c: Likewise.
2164         * tests/test-malloca.c: Likewise.
2165         * tests/test-nonblocking-pipe.h: Likewise.
2166         * tests/test-nonblocking-socket.h: Likewise.
2167         * tests/test-openpty.c: Likewise.
2168         * tests/test-posix_openpt.c: Likewise.
2169         * tests/test-ptsname.c: Likewise.
2170         * tests/test-ptsname_r.c: Likewise.
2171         * tests/test-sameacls.c: Likewise.
2172         * tests/test-select.h: Likewise.
2173         * tests/test-set-mode-acl.sh: Likewise.
2174         * tests/test-snprintf-posix.h: Likewise.
2175         * tests/test-sprintf-posix.h: Likewise.
2176         * tests/test-strtod.c: Likewise.
2177         * tests/test-time.c: Likewise.
2178         * tests/test-vasnprintf-posix.c: Likewise.
2179         * tests/test-vasprintf-posix.c: Likewise.
2180         * doc/acl-resources.txt: Likewise.
2181         * doc/**/*.texi: Likewise.
2182         Reported by Max Horn <max@quendi.de>.
2183
2184 2012-06-22  Bruno Haible  <bruno@clisp.org>
2185
2186         grantpt: Relax requirement regarding invalid file descriptors.
2187         * lib/grantpt.c: Don't include <fcntl.h>.
2188         (grantpt): Don't verify the validity of the file descriptor.
2189         * modules/grantpt (Depends-on): Remove fcntl-h.
2190         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
2191         file descriptors.
2192         * doc/posix-functions/grantpt.texi: Document more platforms on which
2193         grantpt succeeds for invalid file descriptors.
2194         Reported by Rich Felker <dalias@aerifal.cx>.
2195
2196 2012-06-22  Bruno Haible  <bruno@clisp.org>
2197
2198         fbufmode test: Don't test unportable behaviour.
2199         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
2200         (main): Invoke it three times.
2201         Reported by Szabolcs Nagy <nsz@port70.net>
2202         and Rich Felker <dalias@aerifal.cx>.
2203
2204 2012-06-21  Bruno Haible  <bruno@clisp.org>
2205
2206         gnulib-tool: Refactor inctests variable.
2207         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
2208         (func_modules_transitive_closure,
2209         func_modules_transitive_closure_separately,
2210         func_import, func_create_testdir): Update.
2211
2212         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
2213         * gnulib-tool: Accept option --without-tests.
2214         (func_usage): Document --without-tests option. Rearrange.
2215         (inctests): Normalize according to the mode.
2216         * NEWS: Mention the change.
2217         Suggested by Simon Josefsson.
2218
2219 2012-06-21  Bruce Korb  <bkorb@gnu.org>
2220
2221         parse-duration test: Avoid spurious output.
2222         * tests/test-parse-duration.sh: Reindent with leading tabs.
2223
2224 2012-06-21  Jim Meyering  <meyering@redhat.com>
2225
2226         maint: disable the strncpy prohibition
2227         * cfg.mk: Do not prohibit strncpy here.
2228
2229 2012-06-21  Bruno Haible  <bruno@clisp.org>
2230
2231         nonblocking: Avoid compilation error on mingw64.
2232         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
2233         fscanf.
2234         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
2235         * modules/vfscanf (configure.ac): Likewise.
2236         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
2237         definition only if stdio.h has prepared it.
2238         Reported by Daniel P. Berrange <berrange@redhat.com>.
2239
2240 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
2241
2242         gnulib-tool: Use readlink if it is available.
2243         * gnulib-tool (func_readlink): Choose function more appropriately.
2244
2245 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2246
2247         posixtm-tests: port to buggy compiler
2248         Problem reported by Simon Josefsson in
2249         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
2250         * modules/posixtm-tests (Depends-on): Add stdint.
2251         * tests/test-posixtm.c (struct posixtm_test.t_expected):
2252         Now of type int_least64_t, not int64_t, both because that's
2253         what INT64_C returns and because int_least64_t works even
2254         on 72-bit hosts.
2255         (T): Use INT64_C on constants outside the traditional int range,
2256         to work around compiler bug noted by Simon.
2257
2258         mktime: fix integer overflow in 'configure'-time test
2259         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
2260         after integer overflow.  Problem reported by Rich Felker in
2261         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
2262         Also, don't look for further instances of a bug if we've already
2263         found one instance; this helps 'configure' run faster.
2264
2265 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
2266
2267         tmpfile, clean-temp: Fix invocation of GetVersionEx.
2268         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
2269         GetVersionEx correctly.
2270         * lib/clean-temp.c (supports_delete_on_close): Likewise.
2271
2272 2012-06-20  Bruno Haible  <bruno@clisp.org>
2273
2274         fdopen: Allow implementations that don't reject invalid fd arguments.
2275         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
2276         succeeds.
2277         Reported by Rich Felker <dalias@aerifal.cx>.
2278
2279 2012-06-20  Simon Josefsson  <simon@josefsson.org>
2280
2281         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
2282         bring in LIBINTL.
2283
2284 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2285
2286         init.sh: do not rely on autoupated PWD
2287         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
2288         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
2289         Although Nelson's bug was not necessarily fixed by this patch,
2290         it seems wise to make the change for safety.
2291         * tests/init.sh (path_prepend_): Do not rely on PWD updating
2292         automagically after 'cd'; this is not reliable on older shells.
2293         (setup_): Fail if we cannot cd to temporary directory.
2294
2295 2012-06-19  Bruno Haible  <bruno@clisp.org>
2296
2297         stat, fstat: Avoid warnings on mingw64.
2298         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
2299         redefining.
2300         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
2301         Reported by Daniel P. Berrange <berrange@redhat.com>.
2302
2303 2012-06-19  Bruno Haible  <bruno@clisp.org>
2304
2305         stdioext: Add support for musl libc.
2306
2307         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
2308         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
2309
2310         * m4/fseterr.m4: New file.
2311         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
2312         function exists.
2313         * modules/fseterr (Files): Add m4/fseterr.m4.
2314         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
2315         __fseterr does not exist.
2316         (Makefile.am): Remove fseterr.c from lib_SOURCES.
2317
2318         * lib/freadable.h: Update comment.
2319
2320         * lib/fwritable.h: Update comment.
2321
2322         * lib/freading.h: Update comment.
2323
2324         * lib/fwriting.h: Update comment.
2325
2326         * m4/freadahead.m4: New file.
2327         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
2328         that function exists.
2329         * modules/freadahead (Files): Add m4/freadahead.m4.
2330         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
2331         __freadahead does not exist.
2332         (Makefile.am): Remove freadahead.c from lib_SOURCES.
2333
2334         * m4/freadptr.m4: New file.
2335         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
2336         function exists.
2337         * modules/freadptr (Files): Add m4/freadptr.m4.
2338         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
2339         __freadptr does not exist.
2340         (Makefile.am): Remove freadptr.c from lib_SOURCES.
2341
2342         * m4/freadseek.m4: New file.
2343         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
2344         exists.
2345         * modules/freadseek (Files): Add m4/freadseek.m4.
2346         (configure.ac): Invoke gl_FUNC_FREADSEEK.
2347
2348         * lib/fpurge.c (fpurge): Update comment.
2349
2350         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
2351
2352 2012-06-19  Bruno Haible  <bruno@clisp.org>
2353
2354         *printf-posix: Put more info into config.log.
2355         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
2356         exit code into config.log.
2357
2358 2012-06-19  Bruno Haible  <bruno@clisp.org>
2359
2360         getopt-gnu: Fix exit code overflow in autoconf test.
2361         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
2362         to keep them below < 128.
2363
2364 2012-06-17  Jim Meyering  <meyering@redhat.com>
2365
2366         maint.mk: fix typo in code to derive GPG key at release time
2367         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
2368
2369 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
2370
2371         regex: avoid warning when pointers are not long
2372         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
2373         and uintptr_t, not long, for portability to hosts where pointers and
2374         long have different sizes.  Issue noted by Daniel P. Berrange in
2375         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
2376         and fix suggested by Bruno Haible in
2377         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
2378
2379 2012-06-17  Bruno Haible  <bruno@clisp.org>
2380
2381         dummy: Relicense into the public domain.
2382         * modules/dummy (License): Set to "public domain".
2383         Suggested by Reuben Thomas.
2384
2385 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
2386
2387         announce-gen: VPATH issues
2388         * build-aux/announce-gen (--srcdir): New option, used to trim the
2389         $srcdir part of the path from $builddir to NEWS.
2390         * top/maint.mk (announcement): Adjust.
2391
2392 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
2393
2394         gnu-web-doc-update: VPATH builds
2395         * build-aux/gnu-web-doc-update (--builddir): New option.
2396         Revamp the handling of options.
2397         Prefer $(...) to `...`.
2398         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
2399         the template, and it is GNU mktemp specific.
2400         Prefer set -e to long series of &&.
2401         Restore the initial git branch, not "master".
2402         Properly initialize submodules (don't rely only on bootstrap).
2403         Do not reconfigure blindly, use config.status.
2404         * top/README-release: Update instructions for gnu-web-doc-update.
2405
2406 2012-06-11  Jim Meyering  <meyering@redhat.com>
2407
2408         maint.mk: revert most of the previous change re "all these"
2409         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
2410         For rationale, see the discussion at
2411         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
2412
2413 2012-06-10  Karl Berry  <karl@gnu.org>
2414
2415         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
2416
2417         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
2418
2419 2012-06-10  Bruce Korb  <bkorb@gnu.org>
2420
2421         parse-duration: Relicense under LGPLv2+.
2422         * modules/parse-duration (License): Change to LGPLv2+.
2423
2424 2012-06-10  Jim Meyering  <meyering@redhat.com>
2425
2426         maint.mk: prohibit common grammar error: "all these"
2427         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
2428         the list of prohibited word sequences.  It should be "all of these".
2429         * lib/tempname.c (__gen_tempname): Fix one of them.
2430
2431 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
2432
2433         do-release-commit-and-tag: support VPATH builds
2434         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
2435         (noteworthy): Defined earlier to factor its value.
2436         (noteworthy_stub): New.
2437         Use it to factor.
2438         (help_version): Split into...
2439         (help, version): these.
2440         Adjust the option processing part.
2441         Support "--option=value" in addition to "--option value".
2442         (builddir): New.
2443         (--builddir): New option.
2444         * top/README-release: Document this.
2445         Reword slightly so that the reader cannot understand that he
2446         has to do these steps before calling do-release-commit-and-tag.
2447
2448 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
2449
2450         readme-release: also require announce-gen and maintainer-makefile
2451         * modules/readme-release (Depends-on): here.
2452         * modules/announce-gen, modules/do-release-commit-and-tag,
2453         modules/gnu-web-doc-update, modules/maintainer-makefile
2454         (Description): Point to readme-release.
2455
2456 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
2457
2458         maint.mk: fix VPATH issues.
2459         * top/maint.mk (news-check): GNU Make understand $< very well.
2460         (release-prep): NEWS is in $(srcdir).
2461
2462 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
2463
2464         readme-release: require the promoted modules.
2465         * modules/readme-release (Depends-on): Add
2466         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
2467         in this text.
2468
2469 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
2470             Bruno Haible  <bruno@clisp.org>
2471
2472         error, strerror-override: Support mingw64 from Fedora 17.
2473         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
2474         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
2475         EINPROGRESS.
2476         * lib/strerror-override.h (strerror_override): Test it.
2477         * lib/strerror-override.c (strerror_override): Likewise.
2478         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
2479
2480 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
2481             Bruno Haible  <bruno@clisp.org>
2482
2483         error, strerror-override: Support mingw64 from Fedora 17.
2484         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
2485         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
2486         * lib/strerror-override.h (strerror_override): Test it.
2487         * lib/strerror-override.c (strerror_override): Likewise.
2488
2489 2012-06-03  Bruno Haible  <bruno@clisp.org>
2490
2491         error, strerror-override: Support new errno values from POSIX:2008.
2492         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
2493         ENOTRECOVERABLE.
2494         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
2495         platforms.
2496         * lib/strerror-override.c (strerror_override): Conditionalize the
2497         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
2498         * lib/strerror-override.h (strerror_override): Declare also if
2499         GNULIB_defined_EOWNERDEAD is defined.
2500         * tests/test-errno.c (e130, e131): New variables.
2501         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
2502         ENOTRECOVERABLE.
2503         Reported by Paolo Bonzini.
2504
2505 2012-05-31  Jim Meyering  <meyering@redhat.com>
2506
2507         savewd: add missing dependency on sys_wait module
2508         * modules/savewd (Depends-on): Add sys_wait, needed at least
2509         for MSVC.  Report and suggested change by Michael Goffioul.
2510
2511 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2512
2513         system-quote-tests: port to CentOS 5
2514         Problem reported by Tom G. Christensen in
2515         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
2516         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
2517
2518 2012-05-29  Jim Meyering  <meyering@redhat.com>
2519
2520         maint: fix typos in comments and ChangeLog
2521         Culprits identified and fixed mostly automatically using these commands:
2522         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
2523         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
2524         using http://github.com/lyda/misspell-check
2525         * ChangeLog: Fix typos.
2526         * doc/solaris-versions: Likewise.
2527         * lib/regexec.c (re_search_stub): Likewise.
2528         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
2529
2530 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
2531
2532         manywarnings: remove duplicate -Wmultichar entry
2533         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
2534         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
2535         so keep the entry marked as documented.
2536
2537 2012-05-27  Karl Berry  <karl@gnu.org>
2538
2539         * config/srclist.txt (mktime.c): remove last libc sync,
2540         perhaps just temporarily.
2541
2542 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
2543
2544         regex: don't assume uint64_t or uint32_t
2545         * lib/regcomp.c (init_word_char): Don't assume that the types
2546         uint64_t and uint32_t exist.  The C standard doesn't guarantee
2547         them, and on some 32-bit compilers there is no uint64_t.
2548         Problem reported by Gianluigi Tiesi in
2549         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
2550
2551 2012-05-25  Jim Meyering  <meyering@redhat.com>
2552
2553         maint.mk: add strncpy-prohibiting syntax-check rule
2554         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
2555
2556 2012-05-24  Jim Meyering  <meyering@redhat.com>
2557
2558         maint.mk: compute $(gpg_key_ID) more portably
2559         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
2560         That use of sed is not portable to some fringe systems.
2561         Reported by Paul Eggert in
2562         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
2563
2564 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
2565
2566         mktime: sync from glibc
2567         * config/srclist.txt: Uncomment mktime.c.
2568         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
2569         First, indent with tabs, since glibc uses tabs and doesn't want to
2570         change and we'd rather be identical to glibc.  Also, two small
2571         coding changes:
2572         (isdst_differ): Use &&, not &, as && is the usual style.
2573         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
2574         for clarity.
2575
2576 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
2577
2578         announce-gen: du -h is more portable than du --human
2579         * build-aux/announce-gen (sizes): Invoke du with -h instead
2580         of --human.  Accept leading white space in its output.
2581
2582 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
2583
2584         announce-gen: Improve diagnostics.
2585         * build-aux/announce-gen: When parsing command line options,
2586         prefer "announce-gen: option --release-type requires an argument"
2587         to "Option release-type requires an argument".
2588
2589 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
2590
2591         maint.mk: gpg_key_ID: use sed more portably
2592         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
2593         the closing brace.
2594         (refresh-po): Fuse two sed invocations into one.
2595
2596 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
2597
2598         gitlog-to-changelog: support the log message format used in Bison.
2599         * build-aux/gitlog-to-changelog: Support --strip-tab and
2600         --strip-cherry-picked.
2601
2602 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
2603
2604         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
2605         the rest of the current time slice to another thread in the current
2606         process. So if the thread that feeds the file decscriptor we're
2607         polling is not in the current process, we get busy-waiting.
2608         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
2609         Patch from Theodore Leblond.
2610         * lib/select.c: Split polling out of the loop that sets the output
2611         fd_sets.  Check for zero result and loop if the wait timeout is
2612         infinite.
2613
2614 2012-05-21  Simon Josefsson  <simon@josefsson.org>
2615
2616         select: Fix build error on IRIX 6.5.
2617         * lib/select.c: Include stddef.h for NULL.
2618
2619 2012-05-21  Simon Josefsson  <simon@josefsson.org>
2620
2621         gc: fix libgcrypt detection on older machines.
2622         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
2623         copyright years because the file has been distributed every year
2624         since it was created.
2625
2626 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
2627
2628         crypto: fix bug in large buffer handling
2629         Problem reported by Serge Belyshev for glibc in
2630         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
2631         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
2632         * lib/md4.c (md4_process_block):
2633         * lib/md5.c (md5_process_block):
2634         * lib/sha1.c (sha1_process_block):
2635         * lib/sha256.c (sha256_process_block):
2636         Don't assume the buffer length is less than 2**32.
2637         * lib/sha512.c (sha512_process_block): Likewise.
2638         Here, the bug is present only in the rare case where the host does
2639         not support uint64_t or where size_t is wider than 64 bits.
2640         Use u64size to work around the problems.
2641         * lib/u64.h (u64size): New macro.
2642
2643 2012-05-15  Pádraig Brady  <P@draigBrady.com>
2644
2645         fsusage: fix block size returned on older Linux 2.6
2646
2647         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
2648         which is available since Linux 2.6.
2649         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
2650         when the member is available so it can be used as a fallback.
2651         * doc/posix-functions/statvfs.texi: Mention the hang issue
2652         on Linux < 2.6.36.
2653
2654 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
2655
2656         bootstrap: suppress stderr chatter
2657         * build-aux/bootstrap (insert_sorted_if_absent, main program):
2658         Omit unnecessary chatter to stderr.  The main program chatter
2659         was there only inadvertantly.
2660
2661         bootstrap: .gitignore files created by autopoint, libtool
2662         I ran into this problem when bootstrapping the latest diffutils.
2663         After './bootstrap', 'git status' reported lots of untracked files
2664         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
2665         autopoint and do not need to be version-controlled.
2666         * build-aux/bootstrap: Put into .gitignore the files that
2667         autopoint and libtool create, by keeping track of files that exist
2668         after but not before these programs are run.
2669         (version_controlled_file): Move up.  2nd arg is now full file
2670         name, not base name; this is more convenient.  Put CVS at the end,
2671         as it's now somewhat deprecated.
2672
2673 2012-05-14  Jim Meyering  <meyering@redhat.com>
2674
2675         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
2676         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
2677         definition.  Reported by Bruno Haible.
2678
2679 2012-05-13  Bruno Haible  <bruno@clisp.org>
2680             Paul Eggert  <eggert@cs.ucla.edu>
2681
2682         binary-io: Define set_binary_mode function.
2683         * lib/binary-io.h (set_binary_mode): New function.
2684         (SET_BINARY): Define in terms of set_binary_mode.
2685         * modules/binary-io (configure.ac): Require AC_C_INLINE.
2686         * tests/test-binary-io.c (main): Accept an argument, and test either
2687         set_binary_mode or SET_BINARY depending on the argument.
2688         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
2689         argument. Clean up also t-bin-out0.tmp.
2690
2691 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
2692
2693         bootstrap: take advantage of POSIX shell features
2694
2695         The 'bootstrap' script offered by Gnulib script already uses POSIX
2696         shell features (like $((...)) arithmetic expansions) that are not
2697         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
2698         means that bootstrap must already be run using a proper POSIX shell,
2699         which will thus provide more features, like ${var#pattern} parameter
2700         expansion or inversion of a command exit status with '!'.  We can
2701         thus use these features to improve the clarity and the performances
2702         of the bootstrap script.
2703
2704         Suggested by Eric Blake.
2705
2706         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
2707         of sed/expr plus command substitutions, to save some forks.  While
2708         we are at it, prefer the POSIX $(...) form of command substitution,
2709         rather than the legacy form `...` (since the former is visually
2710         clearer and interacts better with quoting), and prefer the idiom:
2711           "if ! CMD; then ACTION ..."
2712         over the idiom:
2713           "if CMD; then :; else ACTION ..."
2714         which was required by legacy Bourne shells not supporting '!'.
2715
2716 2012-05-12  Bruno Haible  <bruno@clisp.org>
2717
2718         system-quote: Add more comments.
2719         * lib/system-quote.h: Add more comments about wilcards and limitations.
2720         Suggested by Eli Zaretskii <eliz@gnu.org>.
2721
2722         sh-quote, system-quote: Add comments about wildcards.
2723         * lib/sh-quote.h: Clarify what happens with wildcard characters.
2724         * lib/system-quote.h: Likewise.
2725         Reported by Eli Zaretskii <eliz@gnu.org>.
2726
2727 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
2728
2729         fsusage: check for GNU/Linux statvfs problem dynamically
2730         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
2731         Define STAT_STATFS2_BSIZE too, since in this case the code now
2732         checks dynamically whether statvfs is reliable, falling back on
2733         Linux-style statfs otherwise.
2734         (statvfs_works): New function, for dynamically testing statvfs.
2735         (get_fs_usage) [STAT_STATVFS]: Use it.
2736         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
2737         statvfs on GNU/Linux hosts, since it's now done dynamically.
2738
2739 2012-05-10  Bruno Haible  <bruno@clisp.org>
2740
2741         system-quote, execute, spawn-pipe: Escape '?' on Windows.
2742         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
2743         '?' character.
2744         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
2745         * tests/test-system-quote-main.c (check_all): Check also strings like
2746         "??????????".
2747         Reported by Eli Zaretskii <eliz@gnu.org>.
2748
2749 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
2750
2751         _Noreturn: port config.h to gcc -Wundef
2752         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
2753         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
2754         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
2755
2756 2012-05-10  Bruno Haible  <bruno@clisp.org>
2757
2758         system-quote: Refactor.
2759         * lib/system-quote.h (system_quote_copy): Fix comment.
2760         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
2761         New functions, extracted from system_quote_copy.
2762         (system_quote_length, system_quote_copy): Use these functions.
2763         Reported by Paul Eggert.
2764
2765 2012-05-08  Bruno Haible  <bruno@clisp.org>
2766
2767         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
2768         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
2769
2770 2012-05-08  Bruno Haible  <bruno@clisp.org>
2771
2772         Tests for module 'system-quote'.
2773         * modules/system-quote-tests: New file.
2774         * tests/test-system-quote.sh: New file.
2775         * tests/test-system-quote-main.c: New file.
2776         * tests/test-system-quote-child.c: New file.
2777
2778         New module 'system-quote'.
2779         * lib/system-quote.h: New file.
2780         * lib/system-quote.c: New file.
2781         * modules/system-quote: New file.
2782
2783 2012-05-08  Bruno Haible  <bruno@clisp.org>
2784
2785         sh-quote: Make C++ safe and allow multiple inclusion.
2786         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
2787         declarations in extern "C".
2788
2789 2012-05-08  Bruno Haible  <bruno@clisp.org>
2790
2791         sh-quote tests: Make tests stricter.
2792         * tests/test-sh-quote.c (check_one): Check the return value of
2793         shell_quote_copy.
2794         (main): Check a string with a CR character. Check a string that
2795         contains UCHAR_MAX.
2796
2797 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
2798
2799         warnings.m4: provide a means to specify the program to compile.
2800         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
2801         (gl_WARN_ADD): here.
2802         Use gl_AS_VAR_APPEND.
2803         Support an argument to specify the program to compile.
2804         (gl_WARN_ADD): Accept an argument to specify the program to compile.
2805         AC_SUBST the WARN_CFLAGS when they are used.
2806         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
2807         leave this to gl_WARN_ADD.
2808
2809 2012-05-08  Eric Blake  <eblake@redhat.com>
2810
2811         doc: recommendations on gettext version
2812         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
2813         choice between versions.
2814         * DEPENDENCIES (gettext): Cover both approaches.
2815
2816 2012-05-08  Jim Meyering  <meyering@redhat.com>
2817
2818         init.sh: explain why EXEEXT support uses aliases rather than functions
2819         * tests/init.sh: Add a comment.
2820
2821         init.sh: don't let bash aliases interfere with tests
2822         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
2823         is bash.  This avoids problems for those who alias standard commands to
2824         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
2825         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
2826
2827 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
2828
2829         stdint: be more consistent with glibc, SunOS libc
2830         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
2831         (gl_int_fast16_t, gl_uint_fast16_t)
2832         (gl_int_fast32_t, gl_uint_fast32_t)
2833         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
2834         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
2835         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
2836         Be consistent with glibc by default, and with SunOS 5.10 and later
2837         if __sun is defined.  This lessens the likelihood of clashes if
2838         code compiled for older hosts is combined with code compiled for
2839         newer ones.  Problem reported by Niels Möller in
2840         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
2841
2842 2012-05-07  Eric Blake  <eblake@redhat.com>
2843
2844         isatty: relax license to LGPLv2+
2845         * modules/isatty (License): Relax license.
2846
2847 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
2848
2849         stat-size: comment fix
2850         * lib/stat-size.h: Remove obsolete comment about indenting.
2851
2852 2012-05-06  Bruno Haible  <bruno@clisp.org>
2853
2854         Tests for module 'sh-quote'.
2855         * modules/sh-quote-tests: New file.
2856         * tests/test-sh-quote.c: New file.
2857
2858 2012-05-06  Bruno Haible  <bruno@clisp.org>
2859
2860         sh-quote: Improve shell_quote_argv's signature.
2861         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
2862         * lib/sh-quote.c (shell_quote_argv): Likewise.
2863
2864 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
2865
2866         stdint: document issues with int_fast8_t etc.
2867         * doc/posix-headers/stdint.texi (stdint.h): Say that other
2868         stdint.h substitutes may define these types differently.  See
2869         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
2870
2871 2012-05-05  Bruno Haible  <bruno@clisp.org>
2872
2873         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
2874         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
2875         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
2876         or 'guessing no (mishandles large arguments)'.
2877
2878 2012-05-05  Bruno Haible  <bruno@clisp.org>
2879
2880         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
2881         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
2882         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
2883         set gl_cv_func_link_follows_symlink to "guessing no".
2884
2885 2012-05-05  Bruno Haible  <bruno@clisp.org>
2886
2887         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
2888         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
2889         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
2890         "guessing no".
2891         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
2892
2893 2012-05-05  Bruno Haible  <bruno@clisp.org>
2894
2895         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
2896         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
2897         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
2898         set gl_cv_struct_dirent_d_ino to "guessing yes".
2899
2900 2012-05-05  Bruno Haible  <bruno@clisp.org>
2901
2902         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
2903         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
2904         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
2905         "guessing yes".
2906
2907 2012-05-05  Bruno Haible  <bruno@clisp.org>
2908
2909         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
2910         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
2911         compiling to a glibc system, set gl_cv_func_signbit and
2912         gl_cv_func_signbit_gcc to "guessing yes".
2913
2914 2012-05-05  Bruno Haible  <bruno@clisp.org>
2915
2916         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
2917         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
2918         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
2919         to "guessing yes".
2920         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
2921         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
2922
2923 2012-05-05  Bruno Haible  <bruno@clisp.org>
2924
2925         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
2926         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
2927         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
2928         gl_cv_func_realpath_works to "guessing yes".
2929
2930 2012-05-05  Bruno Haible  <bruno@clisp.org>
2931
2932         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
2933         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
2934         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
2935
2936 2012-05-04  Bruno Haible  <bruno@clisp.org>
2937
2938         Tweak last commit.
2939         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
2940         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
2941
2942 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
2943
2944         unistd_h: make it easier to avoid sys_types_h
2945         This is useful for Emacs, which has its own method of porting to
2946         Windows, and which therefore does not need the sys_types_h module.
2947         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
2948         code moved here from gl_SYS_TYPES_H.
2949         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
2950         using the code directly.
2951         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
2952         gl_SYS_TYPES_H.
2953         * modules/sys_types (Files):
2954         * modules/unistd (Files): Add m4/off_t.m4.
2955
2956 2012-05-03  Bruno Haible  <bruno@clisp.org>
2957
2958         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
2959         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
2960         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
2961         "guessing yes" or "guessing no".
2962         (gl_FUNC_LSTAT): Update.
2963         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
2964         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
2965         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
2966
2967 2012-05-03  Bruno Haible  <bruno@clisp.org>
2968
2969         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
2970         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
2971         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
2972         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
2973         cross-compiling, choose the first alternative on glibc systems.
2974         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
2975
2976 2012-05-03  Bruno Haible  <bruno@clisp.org>
2977
2978         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
2979         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
2980         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
2981
2982 2012-05-03  Bruno Haible  <bruno@clisp.org>
2983
2984         chown: Avoid "guessing no" when cross-compiling to glibc systems.
2985         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
2986
2987 2012-05-03  Bruno Haible  <bruno@clisp.org>
2988
2989         Avoid "guessing no" guesses when cross-compiling to glibc systems.
2990         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
2991         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
2992         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
2993         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
2994         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
2995         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
2996         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
2997         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
2998         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
2999         compiling to glibc systems, set gl_cv_func_chown_slash_works,
3000         gl_cv_func_chown_ctime_works to "guessing yes".
3001         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
3002         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
3003         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
3004         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
3005         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
3006         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
3007         compiling to glibc systems, set gl_cv_func_open_directory_works to
3008         "guessing yes".
3009         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
3010         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
3011         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
3012         "guessing yes".
3013         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
3014         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
3015         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
3016         compiling to glibc systems, set gl_cv_func_floorf_ieee to
3017         "guessing yes".
3018         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
3019         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
3020         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
3021         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
3022         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
3023         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
3024         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
3025         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
3026         "guessing yes".
3027         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
3028         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
3029         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
3030         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
3031         "guessing yes".
3032         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
3033         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
3034         "guessing yes".
3035         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
3036         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
3037         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
3038         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
3039         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
3040         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
3041         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
3042         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
3043         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
3044         compiling to glibc systems, set gl_cv_func_log10f_ieee to
3045         "guessing yes".
3046         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
3047         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
3048         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
3049         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
3050         "guessing yes".
3051         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
3052         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
3053         "guessing yes".
3054         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
3055         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
3056         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
3057         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
3058         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
3059         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
3060         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
3061         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
3062         compiling to glibc systems, set gl_cv_func_mkfifo_works to
3063         "guessing yes".
3064         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
3065         compiling to glibc systems, set gl_cv_func_mknod_works to
3066         "guessing yes".
3067         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
3068         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
3069         "guessing yes".
3070         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
3071         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
3072         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
3073         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
3074         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
3075         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
3076         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
3077         compiling to glibc systems, set gl_cv_func_svid_putenv to
3078         "guessing yes".
3079         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
3080         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
3081         "guessing yes".
3082         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
3083         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
3084         "guessing yes".
3085         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
3086         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
3087         to "guessing yes".
3088         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
3089         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
3090         to "guessing yes".
3091         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
3092         compiling to glibc systems, set gl_cv_func_rmdir_works to
3093         "guessing yes".
3094         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
3095         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
3096         gl_cv_func_unlink_parent_fails to "guessing yes".
3097         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
3098         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
3099         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
3100         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
3101         gl_cv_func_rename_dest_works to "guessing yes".
3102         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
3103         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
3104         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
3105         compiling to glibc systems, set gl_cv_func_roundf_ieee to
3106         "guessing yes".
3107         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
3108         compiling to glibc systems, set gl_cv_func_roundl_ieee to
3109         "guessing yes".
3110         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
3111         compiling to glibc systems, set gl_cv_func_setenv_works to
3112         "guessing yes".
3113         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
3114         compiling to glibc systems, set gl_cv_func_unsetenv_works to
3115         "guessing yes".
3116         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
3117         compiling to glibc systems, set gl_cv_func_sleep_works to
3118         "guessing yes".
3119         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
3120         compiling to glibc systems, set gl_cv_func_stat_file_slash to
3121         "guessing yes".
3122         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
3123         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
3124         "guessing yes".
3125         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
3126         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
3127         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
3128         compiling to glibc systems, set gl_cv_func_truncf_ieee to
3129         "guessing yes".
3130         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
3131         compiling to glibc systems, set gl_cv_func_truncl_ieee to
3132         "guessing yes".
3133         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
3134         compiling to glibc systems, set gl_cv_func_usleep_works to
3135         "guessing yes".
3136         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
3137         compiling to glibc systems, set gl_cv_func_futimesat_works to
3138         "guessing yes".
3139
3140 2012-05-03  Bruno Haible  <bruno@clisp.org>
3141
3142         Say "guessing yes" or "guessing no" when cross-compiling.
3143         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
3144         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
3145         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
3146         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
3147         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
3148         am_cv_func_working_getline to "guessing yes" or "guessing no".
3149         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
3150         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
3151         (gl_FUNC_MEMMEM): When cross-compiling, set
3152         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
3153         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
3154         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
3155         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
3156         set gl_cv_func_strcasestr_works_always to "guessing yes" or
3157         "guessing no".
3158         (gl_FUNC_STRCASESTR): When cross-compiling, set
3159         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
3160         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
3161         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
3162         (gl_FUNC_STRSTR): When cross-compiling, set
3163         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
3164         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
3165         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
3166         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
3167         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
3168
3169 2012-05-01  Bruno Haible  <bruno@clisp.org>
3170
3171         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
3172         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
3173         * build-aux/reloc-ldflags: Likewise.
3174         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
3175
3176 2012-05-01  Bruno Haible  <bruno@clisp.org>
3177
3178         gnulib-tool: Remove transitional code.
3179         * gnulib-tool: Don't warn about --import with 0 arguments any more.
3180         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
3181
3182 2012-05-01  Bruno Haible  <bruno@clisp.org>
3183
3184         getcwd: Fix misindentation.
3185         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
3186
3187 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
3188
3189         exclude: process exclude and include directives in order
3190         This restores the pre-2009 behavior, and is part of a fix of a
3191         grep bug reported by Quentin Arce in
3192         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
3193         * lib/exclude.c (struct exclude): Remove 'tail' member.
3194         (new_exclude_segment): Prepend the new segment instead of appending.
3195         Return void, since that's now more convenient.
3196         (file_pattern_matches): Renamed from excluded_file_pattern_p.
3197         (file_name_matches): Renamed from excluded_file_name_p.
3198         (file_pattern_matches, file_name_matches):
3199         Return true if the pattern matches, not if it excludes.
3200         All callers changed.
3201         (excluded_file_name): Process the list in reverse order;
3202         since the list is now reversed this restores the pre-2009 behavior.
3203         (add_exclude): Adjust to new reversed-order list.  Use local var
3204         rather than macro, for clarity.
3205         * tests/test-exclude7.sh: Adjust to corrected behavior.
3206
3207         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
3208         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
3209         it's not possible here.  Handle the case of \ at end of pattern
3210         without dumping core.
3211         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
3212
3213         _Noreturn: future-proof non-GNU and non-MSVC compilers
3214         * build-aux/snippet/_Noreturn.h (_Noreturn):
3215         * m4/gnulib-common.m4 (gl_COMMON_BODY):
3216         Do not define _Noreturn if __STDC_VERSION__ indicates this is
3217         C11 or later.  This is more likely to work with random future C
3218         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
3219         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
3220
3221         exclude: handle wildcards with FNM_EXTMATCH
3222         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
3223         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
3224         comment that "has wildcards" really means "has or may have
3225         wildcards".  Simplify by avoiding the need to call strcspn.
3226
3227 2012-04-29  Bruno Haible  <bruno@clisp.org>
3228
3229         gnulib-tool: Fix list of authors.
3230         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
3231
3232 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
3233
3234         bootstrap: support Automake-NG in $buildreq
3235         * bootstrap (check_versions): Handle automake and aclocal from
3236         Automake-NG specially.  They can be specified as respectively
3237         the "automake-ng" and "aclocal-ng" requirements.
3238
3239 2012-04-25  Eric Blake  <eblake@redhat.com>
3240
3241         bootstrap: only force latest Makefile.in.in for gettext module
3242         * build-aux/bootstrap (with_gettext): Only install latest
3243         Makefile.in.in for projects requesting bleeding edge gettext.
3244
3245 2012-04-22  Bruno Haible  <bruno@clisp.org>
3246
3247         doc: Mention reason for replacement on glibc/Linux systems.
3248         * doc/posix-functions/dprintf.texi: Mention the problem with special
3249         'long double' values.
3250         * doc/posix-functions/fprintf.texi: Likewise.
3251         * doc/posix-functions/printf.texi: Likewise.
3252         * doc/posix-functions/snprintf.texi: Likewise.
3253         * doc/posix-functions/sprintf.texi: Likewise.
3254         * doc/posix-functions/vdprintf.texi: Likewise.
3255         * doc/posix-functions/vfprintf.texi: Likewise.
3256         * doc/posix-functions/vprintf.texi: Likewise.
3257         * doc/posix-functions/vsnprintf.texi: Likewise.
3258         * doc/posix-functions/vsprintf.texi: Likewise.
3259         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
3260         platforms with F_DUPFD_CLOEXEC problems.
3261         * doc/posix-functions/glob.texi: Mention which platforms are affected
3262         by the problem with symbolic links.
3263         * doc/posix-functions/linkat.texi: Mention the problem with
3264         AT_SYMLINK_FOLLOW on Linux.
3265
3266 2012-04-22  Bruno Haible  <bruno@clisp.org>
3267
3268         pwrite: Don't replace on all platforms.
3269         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
3270
3271 2012-04-22  Bruno Haible  <bruno@clisp.org>
3272
3273         rint* tests: Avoid gcc warnings.
3274         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
3275         * tests/test-rintf.c (INFINITY, NAN): Likewise.
3276         * tests/test-rintl.c (INFINITY, NAN): Likewise.
3277
3278 2012-04-21  Bruno Haible  <bruno@clisp.org>
3279
3280         users.txt: Update.
3281         * users.txt: Add freedink, wdiff. Update URLs for projects that have
3282         switched from CVS to git, bzr, or svn.
3283
3284 2012-04-21  Bruno Haible  <bruno@clisp.org>
3285
3286         Large File Support for native Windows platforms.
3287
3288         * m4/largefile.m4 (gl_LARGEFILE): New macro.
3289         * modules/largefile (configure.ac): Require gl_LARGEFILE.
3290
3291         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
3292         type.
3293         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
3294         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
3295         * doc/posix-headers/sys_types.texi: Mention the effect of the
3296         'largefile' module.
3297
3298         * lib/fcntl.in.h: Add comments about off_t.
3299         * modules/fcntl-h (Depends-on): Add sys_types.
3300
3301         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
3302         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
3303         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
3304         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
3305         * modules/unistd (Depends-on): Add sys_types.
3306         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
3307
3308         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
3309         instead of lseek.
3310         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
3311         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
3312         * modules/lseek (Depends-on): Add sys_types.
3313
3314         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
3315         msvc-nothrow.h.
3316         (SetFileSize): New function.
3317         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
3318         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
3319         if Large File Support is requested.
3320         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
3321         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
3322
3323         * lib/stdio.in.h: Add comments about off_t.
3324         * modules/stdio (Depends-on): Add sys_types.
3325
3326         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
3327         instead of ftello.
3328         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
3329         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
3330         (gl_PREREQ_FTELLO): New macro.
3331         * modules/ftello (Depends-on): Add sys_types.
3332         (configure.ac): Incoke gl_PREREQ_FTELLO.
3333
3334         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
3335         instead of fseeko.
3336         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
3337         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
3338         (gl_PREREQ_FSEEKO): New macro.
3339         * modules/fseeko (Depends-on): Add sys_types.
3340         (configure.ac): Invoke gl_PREREQ_FSEEKO.
3341
3342         * lib/sys_stat.in.h: Add comments about off_t.
3343         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
3344         64-bit integer for st_size in 'struct stat'.
3345         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
3346         Define _GL_WINDOWS_64_BIT_ST_SIZE.
3347         * modules/sys_stat (Depends-on): Add sys_types.
3348         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
3349
3350         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
3351         instead of stat or _stat.
3352
3353         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
3354         'struct _stati64' instead of fstat and 'struct stat'.
3355         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
3356         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
3357
3358         Reported by Ray Satiro <raysatiro@yahoo.com>.
3359
3360 2012-04-19  Eric Blake  <eblake@redhat.com>
3361
3362         bootstrap: accommodate older libtool
3363         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
3364         Reported by Daniel P. Berrange.
3365
3366 2012-04-19  Jim Meyering  <meyering@redhat.com>
3367
3368         announce-gen: avoid failure due to lack of Digest::SHA1
3369         Even with the preferred Digest::SHA available, this script
3370         would fail when the backup module, Digest::SHA1, was not installed.
3371         * build-aux/announce-gen: Quote the conditional use of "use".
3372         Reported by Reuben Thomas in:
3373         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
3374
3375         bootstrap: don't let a user's CDPATH setting affect this script
3376         When CDPATH is set, cd will sometimes generate output.
3377         When "cd" is run in a subshell whose output matters, that
3378         surprising-to-some output can cause malfunction.
3379         Unsetting CDPATH turns off this shell "feature."
3380         * build-aux/bootstrap (CDPATH): Unset.
3381         Reported by Reuben Thomas in:
3382         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
3383         and inspired by his patch here:
3384         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
3385
3386 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
3387         and Jim Meyering  <meyering@redhat.com>
3388
3389         maint.mk: catch "see @xref{}" and similar
3390         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
3391         prohibit "See also @xref{", "Also see @pxref{", and similar.
3392
3393 2012-04-16  Jim Meyering  <meyering@redhat.com>
3394
3395         bootstrap: really use gnulib's po/Makefile.in.in
3396         * build-aux/bootstrap: Correct the source file name in previous change.
3397         Reported by Akim Demaille.
3398
3399         configmake: correct minor inconsistency in Makefile rule
3400         * modules/configmake (Makefile.am): All other rules like this one
3401         run the final "mv -f ..." in the same backslash-continued command
3402         as the one that does everything else.  This one put the mv -f ...
3403         command on a separate, non-backslash-continued line.
3404         Make it like the others.
3405
3406         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
3407         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
3408         the one from gettext.  Reported by Akim Demaille.
3409
3410 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
3411
3412         Fix recursion of install-* into po directories.
3413         Bison's install-pdf bug reported by Hans Aberg at
3414         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
3415         * build-aux/po/Makefile.in.in (install-dvi, install-html)
3416         (install-info, install-pdf, install-ps): New targets.
3417
3418 2012-04-16  Jim Meyering  <meyering@redhat.com>
3419
3420         maint: avoid spurious "make sc_maint" failure
3421         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
3422         exempt all *.class file names, for lib/javaversion.class.
3423
3424 2012-04-15  Bruno Haible  <bruno@clisp.org>
3425
3426         lseek: Make configure test independent of environment.
3427         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
3428         Windows, we know that lseek() on pipes is broken; skip the runtime
3429         test.
3430
3431 2012-04-14  Bruno Haible  <bruno@clisp.org>
3432
3433         stat: Bypass buggy override in mingw64.
3434         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
3435         * lib/stat.c (stat) [mingw64]: Define to _stat.
3436         * doc/posix-functions/stat.texi: Mention mingw64 bug.
3437
3438 2012-04-14  Bruno Haible  <bruno@clisp.org>
3439
3440         pathmax: Fix compilation error on MSVC 9.
3441         * modules/pathmax (Depends-on): Add unistd.
3442
3443 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
3444
3445         README: document pointer comparison assumption
3446         * README (Portability guidelines): Document assumption about
3447         pointer comparisons, in response to a recent bug-gnulib comment by
3448         Jeffrey Kegler.
3449
3450 2012-04-12  Bruno Haible  <bruno@clisp.org>
3451
3452         Tests for module 'getrusage'.
3453         * modules/getrusage-tests: New file.
3454         * tests/test-getrusage.c: New file.
3455
3456         New module 'getrusage'.
3457         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
3458         warn-on-use.h.
3459         (getrusage): New declaration.
3460         * lib/getrusage.c: New file.
3461         * m4/getrusage.m4: New file.
3462         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
3463         is declared.
3464         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
3465         HAVE_GETRUSAGE.
3466         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
3467         snippet/c++defs, snippet/warn-on-use.
3468         (Makefile.am): Update generation of sys/resource.h. Substitute
3469         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
3470         * modules/getrusage: New file.
3471         * doc/posix-functions/getrusage.texi: Mention the new module.
3472
3473 2012-04-12  Bruno Haible  <bruno@clisp.org>
3474
3475         Tests for module 'sys_resource'.
3476         * modules/sys_resource-tests: New file.
3477         * tests/test-sys_resource.c: New file.
3478
3479         New module 'sys_resource'.
3480         * lib/sys_resource.in.h: New file.
3481         * m4/sys_resource_h.m4: New file.
3482         * modules/sys_resource: New file.
3483         * doc/posix-headers/sys_resource.texi: Mention the new module.
3484
3485 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
3486
3487         ioctl: Fix compilation error on mingw.
3488         * lib/ioctl.c: Include <windows.h>.
3489         Also reported by Ray Satiro <raysatiro@yahoo.com>.
3490
3491 2012-04-04  Jim Meyering  <meyering@redhat.com>
3492
3493         regex: correct #pragma guard expression
3494         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
3495         not 4.3.  Correct its cpp guard expression.
3496
3497 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
3498
3499         regex: remove unnecessary type punning
3500         Problem reported by Vladimir Serbinenko in
3501         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
3502         * lib/regex.h (struct re_pattern_buffer): Change the type of
3503         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
3504         Fix comment to match code.
3505         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
3506         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
3507         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
3508         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
3509         (set_regs):
3510         Omit no-longer-necessary casts.
3511
3512 2012-04-03  Bruno Haible  <bruno@clisp.org>
3513
3514         Tests for module 'ilogbl'.
3515         * modules/ilogbl-tests: New file.
3516         * tests/test-ilogbl.c: New file.
3517
3518         New module 'ilogbl'.
3519         * lib/math.in.h (ilogbl): New declaration.
3520         * lib/ilogbl.c: New file.
3521         * m4/ilogbl.m4: New file.
3522         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
3523         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
3524         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
3525         Split sed invocation, to avoid the limit of 100 substitutions of
3526         HP-UX 'sed'.
3527         * modules/ilogbl: New file.
3528         * tests/test-math-c++.cc: Check the declaration of ilogbl.
3529         * doc/posix-functions/ilogbl.texi: Mention the new module.
3530
3531 2012-04-03  Bruno Haible  <bruno@clisp.org>
3532
3533         Tests for module 'ilogbf'.
3534         * modules/ilogbf-tests: New file.
3535         * tests/test-ilogbf.c: New file.
3536
3537         New module 'ilogbf'.
3538         * lib/math.in.h (ilogbf): New declaration.
3539         * lib/ilogbf.c: New file.
3540         * m4/ilogbf.m4: New file.
3541         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
3542         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
3543         REPLACE_ILOGBF.
3544         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
3545         REPLACE_ILOGBF.
3546         * modules/ilogbf: New file.
3547         * tests/test-math-c++.cc: Check the declaration of ilogbf.
3548         * doc/posix-functions/ilogbf.texi: Mention the new module.
3549
3550 2012-04-03  Bruno Haible  <bruno@clisp.org>
3551
3552         Tests for module 'ilogb'.
3553         * modules/ilogb-tests: New file.
3554         * tests/test-ilogb.c: New file.
3555         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
3556         tests/test-logb-ieee.h.
3557
3558         New module 'ilogb'.
3559         * lib/math.in.h (ilogb): New declaration.
3560         * lib/ilogb.c: New file.
3561         * m4/ilogb.m4: New file.
3562         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
3563         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
3564         REPLACE_ILOGB.
3565         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
3566         REPLACE_ILOGB.
3567         * modules/ilogb: New file.
3568         * tests/test-math-c++.cc: Check the declaration of ilogb.
3569         * doc/posix-functions/ilogb.texi: Mention the new module.
3570
3571 2012-04-03  Bruno Haible  <bruno@clisp.org>
3572
3573         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
3574         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
3575         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
3576         (main): Check their values.
3577         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
3578         problem.
3579
3580 2012-04-03  Bruno Haible  <bruno@clisp.org>
3581
3582         Tests for module 'logbl-ieee'.
3583         * modules/logbl-ieee-tests: New file.
3584         * tests/test-logbl-ieee.c: New file.
3585
3586         New module 'logbl-ieee'.
3587         * modules/logbl-ieee: New file.
3588
3589         Tests for module 'logb-ieee'.
3590         * modules/logb-ieee-tests: New file.
3591         * tests/test-logb-ieee.c: New file.
3592
3593         New module 'logb-ieee'.
3594         * modules/logb-ieee: New file.
3595
3596         Tests for module 'logbf-ieee'.
3597         * modules/logbf-ieee-tests: New file.
3598         * tests/test-logbf-ieee.c: New file.
3599         * tests/test-logb-ieee.h: New file.
3600
3601         New module 'logbf-ieee'.
3602         * modules/logbf-ieee: New file.
3603
3604 2012-04-03  Bruno Haible  <bruno@clisp.org>
3605
3606         Tests for module 'logbl'.
3607         * modules/logbl-tests: New file.
3608         * tests/test-logbl.c: New file.
3609
3610         New module 'logbl'.
3611         * lib/math.in.h (logbl): New declaration.
3612         * lib/logbl.c: New file.
3613         * m4/logbl.m4: New file.
3614         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
3615         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
3616         REPLACE_LOGBL.
3617         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
3618         REPLACE_LOGBL.
3619         * modules/logbl: New file.
3620         * tests/test-math-c++.cc: Check the declaration of logbl.
3621         * doc/posix-functions/logbl.texi: Mention the new module.
3622
3623 2012-04-02  Bruno Haible  <bruno@clisp.org>
3624
3625         Tests for module 'logbf'.
3626         * modules/logbf-tests: New file.
3627         * tests/test-logbf.c: New file.
3628
3629         New module 'logbf'.
3630         * lib/math.in.h (logbf): New declaration.
3631         * lib/logbf.c: New file.
3632         * m4/logbf.m4: New file.
3633         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
3634         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
3635         REPLACE_LOGBF.
3636         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
3637         REPLACE_LOGBF.
3638         * modules/logbf: New file.
3639         * tests/test-math-c++.cc: Check the declaration of logbf.
3640         * doc/posix-functions/logbf.texi: Mention the new module.
3641
3642 2012-04-02  Bruno Haible  <bruno@clisp.org>
3643
3644         logb tests: More tests.
3645         * tests/test-logb.h: New file, based on tests/test-logb.c and
3646         tests/test-frexp.h.
3647         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
3648         (main): Just invoke test_function.
3649         * modules/logb-tests (Files): Add tests/test-logb.h,
3650         tests/minus-zero.h, tests/randomd.c.
3651         (Makefile.am): Add randomd.c to test_logb_SOURCES.
3652
3653         logb: Provide replacement and workarounds.
3654         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
3655         is 1.
3656         * lib/logb.c: New file.
3657         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
3658         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
3659         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
3660         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
3661         * modules/logb (Files): Add lib/logb.c.
3662         (Depends-on): Add isfinite, frexp, isnand.
3663         (configure.ac): Compile the replacement code logb.c if needed.
3664         * tests/test-math-c++.cc: Check the declaration of logb.
3665         * doc/posix-functions/logb.texi: Mention the replacement and the bug
3666         with subnormal numbers.
3667
3668 2012-04-02  Bruno Haible  <bruno@clisp.org>
3669
3670         log10* tests: Speed up.
3671         * tests/test-log10.h (test_function): Reduce amount of random numbers
3672         to test.
3673
3674 2012-04-01  Bruno Haible  <bruno@clisp.org>
3675
3676         logf-ieee: Fix test whether logf works.
3677         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
3678
3679 2012-04-01  Bruno Haible  <bruno@clisp.org>
3680
3681         log10l: Work around log10l-ieee test failure on IRIX 6.5.
3682         * lib/log10l.c: Include <float.h>
3683         (log10l): On IRIX, normalize the +Infinity value.
3684         * modules/log10l (Depends-on): Add 'float'.
3685         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
3686         +Infinity.
3687
3688         log10f-ieee: Work around test failure on NetBSD 5.1.
3689         * m4/log10f-ieee.m4: New file.
3690         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
3691         test whether log10f works with a negative argument. Replace it if not.
3692         * lib/log10f.c (log10f): For negative arguments, return NaN.
3693         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
3694         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
3695         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
3696
3697         log10f-ieee: Work around test failure on Solaris 9.
3698         * modules/log10f-ieee (Depends-on): Add log10-ieee.
3699         (configure.ac): Require gl_FUNC_LOG10F.
3700
3701         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
3702         * m4/log10-ieee.m4: New file.
3703         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
3704         whether log10 works with a negative argument. Replace it if not.
3705         * lib/log10.c (log10): For negative arguments, return NaN.
3706         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
3707         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
3708         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
3709
3710         Tests for module 'log10l-ieee'.
3711         * modules/log10l-ieee-tests: New file.
3712         * tests/test-log10l-ieee.c: New file.
3713
3714         New module 'log10l-ieee'.
3715         * modules/log10l-ieee: New file.
3716
3717         Tests for module 'log10-ieee'.
3718         * modules/log10-ieee-tests: New file.
3719         * tests/test-log10-ieee.c: New file.
3720
3721         New module 'log10-ieee'.
3722         * modules/log10-ieee: New file.
3723
3724         Tests for module 'log10f-ieee'.
3725         * modules/log10f-ieee-tests: New file.
3726         * tests/test-log10f-ieee.c: New file.
3727         * tests/test-log10-ieee.h: New file.
3728
3729         New module 'log10f-ieee'.
3730         * modules/log10f-ieee: New file.
3731
3732 2012-04-01  Bruno Haible  <bruno@clisp.org>
3733
3734         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
3735         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
3736         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
3737         workaround.
3738         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
3739         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
3740         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
3741         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
3742         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
3743         (Depends-on): Update conditions.
3744         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
3745         IRIX 6.5, OSF/1 5.1 problems.
3746
3747 2012-04-01  Bruno Haible  <bruno@clisp.org>
3748
3749         log10f: Work around OSF/1 5.1 bug.
3750         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
3751         * lib/log10f.c (log10f): If logf exists, use it and provide just the
3752         workaround.
3753         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
3754         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
3755         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
3756         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
3757         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
3758         (Depends-on): Update conditions.
3759         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
3760
3761 2012-04-01  Bruno Haible  <bruno@clisp.org>
3762
3763         log10: Work around OSF/1 5.1 bug.
3764         * lib/math.in.h (log10): New declaration.
3765         * lib/log10.c: New file.
3766         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
3767         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
3768         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
3769         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
3770         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
3771         * modules/log10 (Files): Add lib/log10.c.
3772         (Depends-on): Add math.
3773         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
3774         * tests/test-math-c++.cc: Check the declaration of log10.
3775         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
3776
3777 2012-03-31  Bruno Haible  <bruno@clisp.org>
3778
3779         log10l tests: More tests.
3780         * modules/log10l-tests (Files): Add tests/test-log10l.h,
3781         tests/minus-zero.h, tests/randoml.c.
3782         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
3783         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
3784         (main): Invoke test_function.
3785
3786         log10f tests: More tests.
3787         * modules/log10f-tests (Files): Add tests/test-log10.h,
3788         tests/minus-zero.h, tests/randomf.c.
3789         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
3790         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
3791         (main): Invoke test_function.
3792
3793         log10 tests: More tests.
3794         * tests/test-log10.h: New file.
3795         * modules/log10-tests (Files): Add tests/test-log10.h,
3796         tests/minus-zero.h, tests/randomd.c.
3797         (Makefile.am): Add randomd.c to test_log10_SOURCES.
3798         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
3799         (main): Invoke test_function.
3800
3801 2012-03-31  Simon Josefsson  <simon@josefsson.org>
3802
3803         fflush: Fix syntax error.
3804         * lib/fflush.c: Include unused-parameter.h, needed for
3805         _GL_UNUSED_PARAMETER.
3806         * modules/fflush (Depends-on): Add snippet/unused-parameter.
3807
3808 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
3809
3810         regex: pacify GCC when compiling GRUB
3811         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
3812         a diagnostic.  Reported by Vladimir Serbinenko in
3813         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
3814
3815 2012-03-29  Eric Blake  <eblake@redhat.com>
3816
3817         stdio: don't assume gets any more
3818         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
3819         support.
3820         * modules/stdio (Makefile.am): Likewise.
3821         * lib/stdio-read.c (gets): Likewise.
3822         * tests/test-stdio-c++.cc: Likewise.
3823         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
3824         * lib/stdio.in.h (gets): Make warning occur in more places.
3825         * doc/posix-functions/gets.texi (gets): Update documentation.
3826         Reported by Christer Solskogen.
3827
3828         maint.mk: fix syntax checks without exclusions
3829         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
3830         Reported by Daniel P. Berrange.
3831
3832         strerror_r: avoid compiler warning
3833         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
3834         level.
3835
3836         fflush: avoid compiler warning
3837         * lib/fflush.c (update_fpos_cache): Mark variables that are
3838         potentially unused.
3839
3840 2012-03-25  Bruno Haible  <bruno@clisp.org>
3841
3842         Tests for module 'localeconv'.
3843         * modules/localeconv-tests: New file.
3844         * tests/test-localeconv.c: New file.
3845
3846         New module 'localeconv'.
3847         * lib/locale.in.h (localeconv): New declaration.
3848         * lib/localeconv.c: New file.
3849         * m4/localeconv.m4: New file.
3850         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
3851         REPLACE_LOCALECONV.
3852         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
3853         REPLACE_LOCALECONV.
3854         * modules/localeconv: New file.
3855         * modules/nl_langinfo (Depends-on): Add localeconv.
3856         * modules/human (Depends-on): Likewise.
3857         * doc/posix-functions/localeconv.texi: Mention the new module.
3858
3859 2012-03-25  Bruno Haible  <bruno@clisp.org>
3860
3861         locale: Provide a complete 'struct lconv'.
3862         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
3863         'struct lconv' does not contain int_p_cs_precedes.
3864         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
3865         * doc/posix-headers/locale.texi: Update.
3866
3867         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
3868         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
3869         * doc/posix-headers/locale.texi: Update.
3870
3871         locale: Provide a working 'struct lconv'.
3872         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
3873         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
3874         'struct lconv' does not even contain decimal_point.
3875         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
3876         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
3877         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
3878         * doc/posix-headers/locale.texi: Mention the problems with
3879         'struct lconv'.
3880         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
3881
3882 2012-03-24  Bruno Haible  <bruno@clisp.org>
3883
3884         Enable common subexpression optimization in GCC.
3885         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
3886         macros.
3887         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
3888         GCC attribute 'const'.
3889         (uc_locale_language): Declare with GCC attribute 'pure'.
3890         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
3891         with GCC attribute 'const'.
3892         * lib/unictype.in.h (uc_is_general_category_withtable,
3893         uc_combining_class, uc_combining_class_name,
3894         uc_combining_class_long_name, uc_bidi_class_name,
3895         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
3896         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
3897         uc_decimal_value, uc_digit_value, uc_numeric_value,
3898         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
3899         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
3900         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
3901         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
3902         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
3903         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
3904         Declare with GCC attribute 'const'.
3905         (uc_general_category_name, uc_general_category_long_name,
3906         uc_general_category_byname, uc_general_category,
3907         uc_is_general_category, uc_combining_class_byname,
3908         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
3909         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
3910         Declare with GCC attribute 'pure'.
3911         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
3912         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
3913         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
3914         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
3915         with GCC attribute 'pure'.
3916         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
3917         'const'.
3918         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
3919         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
3920         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
3921         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
3922         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
3923         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
3924         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
3925         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
3926         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
3927         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
3928         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
3929         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
3930         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
3931         GCC attribute 'pure'.
3932         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
3933         'const'.
3934         * lib/uniwidth.in.h (uc_width): Simplify declaration.
3935         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
3936         u32_strwidth): Declare with GCC attribute 'pure'.
3937
3938         Enable common subexpression optimization in GCC.
3939         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
3940         (alphasort): Declare with GCC attribute 'pure'.
3941         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
3942         (atoll): Declare with GCC attribute 'pure'.
3943         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
3944         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
3945         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
3946         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
3947         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
3948         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
3949         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
3950
3951 2012-03-24  Bruno Haible  <bruno@clisp.org>
3952
3953         gnulib-tool: Avoid unintended error output from 'cmp'.
3954         * gnulib-tool (func_add_file, func_update_file, func_import): Use
3955         "cmp -s", not "cmp > /dev/null".
3956
3957 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
3958
3959         gnulib-tool: fix imprecise comments w.r.t. an automake bug
3960
3961         It's not just Automake versions < 1.9b that creates an empty
3962         pkgdatadir at installation time if pkgdata_DATA is specified
3963         to empty; modern automake versions do this as well, at least
3964         until automake 1.11.4 (not yet released at the moment of writing,
3965         but soon to appear).  That behaviour was generally considered a
3966         feature rather than a bug, at least until this discussion:
3967         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
3968
3969         See also automake bugs #10997 and #11030.
3970
3971         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
3972         reference to relevant automake bug numbers.
3973         (func_emit_tests_Makefile_am): Likewise.
3974
3975 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
3976
3977         announce-gen: use Digest::SHA when possible
3978         * build-aux/announce-gen: Use Digest::SHA when possible, falling
3979         back to Digest::SHA1 if necessary.
3980
3981 2012-03-20  Jim Meyering  <meyering@redhat.com>
3982
3983         tests: avoid gcc warnings about argv vs. const initializers
3984         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
3985         warnings about discarding 'const' qualifier from pointer target type.
3986         * tests/test-posix_spawn2.c (main): Likewise.
3987
3988 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
3989
3990         README-release: simplify slightly
3991         * top/README-release: Run "git checkout master" only once.
3992
3993 2012-03-15  Mark Wielaard  <mark@klomp.org>
3994
3995         git-merge-changelog: add specific example on how to use with hg.
3996         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
3997
3998 2012-03-18  Mark Wielaard  <mark@klomp.org>
3999
4000         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
4001
4002 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
4003
4004         git-version-gen: don't let "prefix" envvar cause trouble
4005         * build-aux/git-version-gen (prefix): Initialize properly,
4006         so as not to use a value specified via the environment.
4007         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
4008
4009 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4010
4011         regex: diagnose too-large repeat counts in EREs
4012         Previously, the code did not diagnose the too-large repeat count
4013         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
4014         as if it were 'b\{1000000000}', which is unexpected.
4015         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
4016         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
4017         is a reasonable one for this problem.  Another option would be to
4018         create a new REG_OVERFLOW error for repeat counts that are too large.
4019         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
4020         count is too large, so that the caller can distinguish the two cases.
4021         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
4022         "Too large" return code, and that repeat counts are one example of this.
4023
4024 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
4025
4026         doc: some glibc x32 integer width issues
4027         * doc/posix-headers/sys_types.texi (sys/types.h):
4028         * doc/posix-headers/time.texi (time.h):
4029         Mention that glibc x32 does not conform to POSIX in a couple of
4030         areas related to integer widths.
4031
4032 2012-03-15  Bruno Haible  <bruno@clisp.org>
4033
4034         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
4035         * lib/fma.c (VOLATILE): New macro.
4036         (FUNC): Use it to work around a GCC compiler bug.
4037
4038 2012-03-13  Bruno Haible  <bruno@clisp.org>
4039
4040         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4041         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
4042         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
4043         REPLACE_HYPOTL to 1.
4044         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
4045
4046 2012-03-13  Bruno Haible  <bruno@clisp.org>
4047
4048         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4049         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
4050         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
4051         REPLACE_REMAINDERL to 1.
4052         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
4053         bug.
4054
4055 2012-03-13  Bruno Haible  <bruno@clisp.org>
4056
4057         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4058         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
4059         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
4060         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
4061         too big rounding errors.
4062         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
4063         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
4064         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
4065         (Depends-on): Update conditions.
4066         * tests/test-sqrtl.c (my_ldexpl): New function.
4067         (main): Add test of a particular value.
4068         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
4069
4070 2012-03-13  Pádraig Brady  <P@draigBrady.com>
4071
4072         doc: Update timer_* platform portability notes.
4073         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
4074         that always return ENOSYS.
4075         * doc/posix-functions/timer_delete.texi: Likewise.
4076         * doc/posix-functions/timer_gettime.texi: Likewise.
4077         * doc/posix-functions/timer_settime.texi: Likewise.
4078
4079 2012-03-13  Bruno Haible  <bruno@clisp.org>
4080
4081         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
4082         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
4083         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
4084         REPLACE_CBRTL to 1.
4085         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
4086
4087 2012-03-13  Bruno Haible  <bruno@clisp.org>
4088
4089         remainderl: Avoid compilation error on AIX >= 5.2.
4090         * lib/math.in.h (remainderl): Undefine macro from the system header.
4091
4092 2012-03-13  Bruno Haible  <bruno@clisp.org>
4093
4094         Avoid compilation errors with MSVC option -fp:strict.
4095         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
4096         * lib/cbrtf.c: Likewise.
4097         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
4098
4099 2012-03-12  Bruno Haible  <bruno@clisp.org>
4100
4101         uninorm: Don't crash in out-of-memory conditions.
4102         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
4103         gracefully.
4104         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
4105         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
4106
4107 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
4108
4109         quote: fix syntax-check
4110         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
4111         also exports quote_quoting_options.
4112
4113 2012-03-12  Simon Josefsson  <simon@josefsson.org>
4114
4115         Collapse list of copyright years to ranges.  See
4116         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
4117         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
4118         build-aux/csharpexec.sh.in, build-aux/gnupload,
4119         build-aux/install-reloc, build-aux/javacomp.sh.in,
4120         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
4121         build-aux/move-if-change, build-aux/reloc-ldflags,
4122         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
4123
4124 2012-03-11  Bruno Haible  <bruno@clisp.org>
4125
4126         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
4127         * m4/log2f-ieee.m4: New file.
4128         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
4129         whether log2f works with a minus zero argument. Replace it if not.
4130         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
4131         (Depends-on): Add log2-ieee.
4132         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
4133         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
4134
4135         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
4136         * m4/log2-ieee.m4: New file.
4137         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
4138         whether log2 works with a minus zero argument. Replace it if not.
4139         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
4140         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
4141         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
4142
4143         Tests for module 'log2l-ieee'.
4144         * modules/log2l-ieee-tests: New file.
4145         * tests/test-log2l-ieee.c: New file.
4146
4147         New module 'log2l-ieee'.
4148         * modules/log2l-ieee: New file.
4149
4150         Tests for module 'log2-ieee'.
4151         * modules/log2-ieee-tests: New file.
4152         * tests/test-log2-ieee.c: New file.
4153
4154         New module 'log2-ieee'.
4155         * modules/log2-ieee: New file.
4156
4157         Tests for module 'log2f-ieee'.
4158         * modules/log2f-ieee-tests: New file.
4159         * tests/test-log2f-ieee.c: New file.
4160         * tests/test-log2-ieee.h: New file.
4161
4162         New module 'log2f-ieee'.
4163         * modules/log2f-ieee: New file.
4164
4165 2012-03-11  Bruno Haible  <bruno@clisp.org>
4166
4167         Tests for module 'log2l'.
4168         * modules/log2l-tests: New file.
4169         * tests/test-log2l.c: New file.
4170
4171         New module 'log2l'.
4172         * lib/math.in.h (log2l): New declaration.
4173         * lib/log2l.c: New file.
4174         * m4/log2l.m4: New file.
4175         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
4176         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
4177         REPLACE_LOG2L.
4178         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
4179         REPLACE_LOG2L.
4180         * modules/log2l: New file.
4181         * tests/test-math-c++.cc: Check the declaration of log2l.
4182         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
4183         and OSF/1 problems.
4184
4185 2012-03-11  Bruno Haible  <bruno@clisp.org>
4186
4187         Tests for module 'log2f'.
4188         * modules/log2f-tests: New file.
4189         * tests/test-log2f.c: New file.
4190
4191         New module 'log2f'.
4192         * lib/math.in.h (log2f): New declaration.
4193         * lib/log2f.c: New file.
4194         * m4/log2f.m4: New file.
4195         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
4196         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
4197         REPLACE_LOG2F.
4198         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
4199         REPLACE_LOG2F.
4200         * modules/log2f: New file.
4201         * tests/test-math-c++.cc: Check the declaration of log2f.
4202         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
4203         and OSF/1 and Cygwin problems.
4204
4205 2012-03-11  Bruno Haible  <bruno@clisp.org>
4206
4207         Tests for module 'log2'.
4208         * modules/log2-tests: New file.
4209         * tests/test-log2.c: New file.
4210         * tests/test-log2.h: New file.
4211
4212         New module 'log2'.
4213         * lib/math.in.h (log2): New declaration.
4214         * lib/log2.c: New file.
4215         * m4/log2.m4: New file.
4216         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
4217         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
4218         REPLACE_LOG2.
4219         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
4220         REPLACE_LOG2.
4221         * modules/log2: New file.
4222         * tests/test-math-c++.cc: Check the declaration of log2.
4223         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
4224         and OSF/1 and Cygwin problems.
4225
4226 2012-03-11  Bruno Haible  <bruno@clisp.org>
4227
4228         exp2* tests: More tests.
4229         * tests/test-exp2.h (test_function): Test all integral arguments that
4230         don't need to overflow or denormalized numbers.
4231         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
4232         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
4233         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
4234
4235 2012-03-10  Bruno Haible  <bruno@clisp.org>
4236
4237         log1pl-ieee: Work around test failure on AIX 7.1.
4238         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
4239
4240         log1pl-ieee: Work around test failure on IRIX 6.5.
4241         * m4/log1pl-ieee.m4: New file.
4242         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
4243         test whether log1pl works with a minus zero argument. Replace it if
4244         not.
4245         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
4246         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
4247         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
4248         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
4249         (Depends-on): Update conditions.
4250         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
4251         m4/signbit.m4.
4252         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
4253         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
4254
4255         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
4256         * m4/log1pf-ieee.m4: New file.
4257         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
4258         test whether log1pf works with a minus zero argument. Replace it if
4259         not.
4260         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
4261         m4/signbit.m4.
4262         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
4263         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
4264
4265         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
4266         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
4267         (configure.ac): Require gl_FUNC_LOG1PF.
4268
4269         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
4270         * m4/log1p-ieee.m4: New file.
4271         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
4272         whether log1p works with a minus zero argument. Replace it if not.
4273         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
4274         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
4275         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
4276         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
4277         (Depends-on): Update conditions.
4278         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
4279         m4/signbit.m4.
4280         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
4281         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
4282
4283         Tests for module 'log1pl-ieee'.
4284         * modules/log1pl-ieee-tests: New file.
4285         * tests/test-log1pl-ieee.c: New file.
4286
4287         New module 'log1pl-ieee'.
4288         * modules/log1pl-ieee: New file.
4289
4290         Tests for module 'log1p-ieee'.
4291         * modules/log1p-ieee-tests: New file.
4292         * tests/test-log1p-ieee.c: New file.
4293
4294         New module 'log1p-ieee'.
4295         * modules/log1p-ieee: New file.
4296
4297         Tests for module 'log1pf-ieee'.
4298         * modules/log1pf-ieee-tests: New file.
4299         * tests/test-log1pf-ieee.c: New file.
4300         * tests/test-log1p-ieee.h: New file.
4301
4302         New module 'log1pf-ieee'.
4303         * modules/log1pf-ieee: New file.
4304
4305 2012-03-10  Bruno Haible  <bruno@clisp.org>
4306
4307         Tests for module 'log1pl'.
4308         * modules/log1pl-tests: New file.
4309         * tests/test-log1pl.c: New file.
4310
4311         New module 'log1pl'.
4312         * lib/math.in.h (log1pl): New declaration.
4313         * lib/log1pl.c: New file.
4314         * m4/log1pl.m4: New file.
4315         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
4316         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
4317         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
4318         * modules/log1pl: New file.
4319         * tests/test-math-c++.cc: Check the declaration of log1pl.
4320         * doc/posix-functions/log1pl.texi: Mention the new module.
4321
4322 2012-03-10  Bruno Haible  <bruno@clisp.org>
4323
4324         Tests for module 'log1pf'.
4325         * modules/log1pf-tests: New file.
4326         * tests/test-log1pf.c: New file.
4327
4328         New module 'log1pf'.
4329         * lib/math.in.h (log1pf): New declaration.
4330         * lib/log1pf.c: New file.
4331         * m4/log1pf.m4: New file.
4332         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
4333         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
4334         REPLACE_LOG1PF.
4335         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
4336         REPLACE_LOG1PF.
4337         * modules/log1pf: New file.
4338         * tests/test-math-c++.cc: Check the declaration of log1pf.
4339         * doc/posix-functions/log1pf.texi: Mention the new module.
4340
4341 2012-03-10  Bruno Haible  <bruno@clisp.org>
4342
4343         log1p tests: More tests.
4344         * tests/test-log1p.h: New file.
4345         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
4346         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
4347         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
4348         (main): Invoke test_function.
4349
4350         log1p: Provide replacement for Minix and MSVC.
4351         * lib/math.in.h (log1p): New declaration.
4352         * lib/log1p.c: New file.
4353         * m4/log1p.m4: New file.
4354         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
4355         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
4356         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
4357         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
4358         (Depends-on): Add math, isnand, log, round.
4359         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
4360         HAVE_LOG1P is 0.
4361         * tests/test-math-c++.cc: Check the declaration of log1p.
4362         * doc/posix-functions/log1p.texi: Mention the replacement.
4363
4364 2012-03-10  Bruno Haible  <bruno@clisp.org>
4365
4366         math tests: Small simplification.
4367         * tests/test-exp.h (test_function): Use the same err_bound for
4368         'double' on platforms with sizeof (long double) == sizeof (double)
4369         than on platforms with sizeof (long double) > sizeof (double).
4370         * tests/test-exp2.h (test_function): Likewise.
4371         * tests/test-expm1.h (test_function): Likewise.
4372         * tests/test-log.h (test_function): Likewise.
4373
4374 2012-03-10  Bruno Haible  <bruno@clisp.org>
4375
4376         Fix some comments.
4377         * lib/expl.c: Fix an ambiguous comment.
4378         * lib/expm1.c: Likewise.
4379         * lib/expm1l.c: Likewise.
4380         * lib/exp2.c: Likewise.
4381         * lib/exp2l.c: Likewise.
4382
4383 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
4384
4385         regex: allow inclusion of <regex.h> before <limits.h>
4386         Without this patch, portable programs had to include <limits.h> before
4387         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
4388         I ran into this problem with a test version of GNU grep on Solaris 8.
4389         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
4390         This is done conditionally so that this change can be merged
4391         back to glibc.
4392         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
4393         using the included regex.
4394
4395         fts: depend on fdopendir
4396         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
4397         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
4398         problem was introduced when fdopendir was split out.
4399
4400 2012-03-10  Bruno Haible  <bruno@clisp.org>
4401
4402         Remove unused variables.
4403         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
4404         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
4405
4406 2012-03-10  Bruno Haible  <bruno@clisp.org>
4407
4408         isnanf-nolibm: Fix last commit.
4409         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
4410
4411         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
4412         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
4413
4414 2012-03-10  Bruno Haible  <bruno@clisp.org>
4415
4416         logf-ieee: Work around test failure on NetBSD 5.1.
4417         * m4/logf-ieee.m4: New file.
4418         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
4419         whether logf works with a negative argument. Replace it if not.
4420         * lib/logf.c (logf): For negative arguments, return NaN.
4421         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
4422         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
4423         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
4424
4425         logf-ieee: Work around test failure on Solaris 9.
4426         * modules/logf-ieee (Depends-on): Add log-ieee.
4427         (configure.ac): Require gl_FUNC_LOGF.
4428
4429         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4430         * m4/log-ieee.m4: New file.
4431         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
4432         log works with a negative argument. Replace it if not.
4433         * lib/log.c (log): For negative arguments, return NaN.
4434         * modules/log-ieee (Files): Add m4/log-ieee.m4.
4435         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
4436         * doc/posix-functions/log.texi: Mention the log-ieee module.
4437
4438         Tests for module 'logl-ieee'.
4439         * modules/logl-ieee-tests: New file.
4440         * tests/test-logl-ieee.c: New file.
4441
4442         New module 'logl-ieee'.
4443         * modules/logl-ieee: New file.
4444
4445         Tests for module 'log-ieee'.
4446         * modules/log-ieee-tests: New file.
4447         * tests/test-log-ieee.c: New file.
4448
4449         New module 'log-ieee'.
4450         * modules/log-ieee: New file.
4451
4452         Tests for module 'logf-ieee'.
4453         * modules/logf-ieee-tests: New file.
4454         * tests/test-logf-ieee.c: New file.
4455         * tests/test-log-ieee.h: New file.
4456
4457         New module 'logf-ieee'.
4458         * modules/logf-ieee: New file.
4459
4460 2012-03-10  Bruno Haible  <bruno@clisp.org>
4461
4462         log: Fix bug introduced on 2012-03-09.
4463         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
4464
4465 2012-03-10  Pádraig Brady  <P@draigBrady.com>
4466
4467         timer-time: link explicitly with pthreads on glibc
4468         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
4469         to support static linking, when newer glibc is
4470         detected, as that contains pthread emulation of
4471         POSIX timer functions where required.
4472         * modules/timer-time: Depend on threadlib to
4473         pull in the appropriate library to link.
4474
4475 2012-03-10  Bruno Haible  <bruno@clisp.org>
4476
4477         log* tests: More tests.
4478         * tests/test-log.h: New file.
4479         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
4480         (main): Invoke test_function.
4481         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
4482         (main): Invoke test_function.
4483         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
4484         (main): Invoke test_function.
4485         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
4486         tests/randomd.c.
4487         (Makefile.am): Add randomd.c to test_log_SOURCES.
4488         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
4489         tests/randomf.c.
4490         (Makefile.am): Add randomf.c to test_logf_SOURCES.
4491         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
4492         tests/randoml.c.
4493         (Depends-on): Add 'float'.
4494         (Makefile.am): Add randoml.c to test_logl_SOURCES.
4495
4496 2012-03-09  Bruno Haible  <bruno@clisp.org>
4497
4498         logl: Work around OSF/1 5.1 bug.
4499         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
4500         * lib/logl.c (logl): If logl exists, use it and provide just the
4501         workaround.
4502         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
4503         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
4504         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
4505         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
4506         * modules/logl (configure.ac): Consider REPLACE_LOGL.
4507         (Depends-on): Update conditions.
4508         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
4509
4510 2012-03-09  Bruno Haible  <bruno@clisp.org>
4511
4512         logf: Work around OSF/1 5.1 bug.
4513         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
4514         * lib/logf.c (logf): If logf exists, use it and provide just the
4515         workaround.
4516         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
4517         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
4518         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
4519         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
4520         * modules/logf (configure.ac): Consider REPLACE_LOGF.
4521         (Depends-on): Update conditions.
4522         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
4523
4524 2012-03-09  Bruno Haible  <bruno@clisp.org>
4525
4526         log: Work around OSF/1 5.1 bug.
4527         * lib/math.in.h (log): New declaration.
4528         * lib/log.c: New file.
4529         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
4530         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
4531         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
4532         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
4533         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
4534         * modules/log (Files): Add lib/log.c.
4535         (Depends-on): Add math.
4536         (configure.ac): If REPLACE_LOG is 1, compile an override.
4537         * tests/test-math-c++.cc: Check the declaration of log.
4538         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
4539
4540 2012-03-09  Jim Meyering  <meyering@redhat.com>
4541
4542         readtokens.c: adjust wording in a comment
4543         * lib/readtokens.c: Insert omitted "that" in a comment.
4544
4545 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
4546
4547         modechange: add notations +40, 00440, etc.
4548         * lib/modechange.c (mode_compile): Support new notations
4549         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
4550
4551 2012-03-08  Bruno Haible  <bruno@clisp.org>
4552
4553         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
4554         * m4/exp2l-ieee.m4: New file.
4555         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
4556         test whether exp2l works with a NaN argument and with a negative
4557         infinity argument. Replace it if not.
4558         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
4559         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
4560         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
4561         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
4562         (Depends-on): Update conditions.
4563         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
4564         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
4565         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
4566
4567         Tests for module 'exp2l-ieee'.
4568         * modules/exp2l-ieee-tests: New file.
4569         * tests/test-exp2l-ieee.c: New file.
4570
4571         New module 'exp2l-ieee'.
4572         * modules/exp2l-ieee: New file.
4573
4574         Tests for module 'exp2-ieee'.
4575         * modules/exp2-ieee-tests: New file.
4576         * tests/test-exp2-ieee.c: New file.
4577
4578         New module 'exp2-ieee'.
4579         * modules/exp2-ieee: New file.
4580
4581         Tests for module 'exp2f-ieee'.
4582         * modules/exp2f-ieee-tests: New file.
4583         * tests/test-exp2f-ieee.c: New file.
4584         * tests/test-exp2-ieee.h: New file.
4585
4586         New module 'exp2f-ieee'.
4587         * modules/exp2f-ieee: New file.
4588
4589 2012-03-08  Bruno Haible  <bruno@clisp.org>
4590
4591         Tests for module 'exp2l'.
4592         * modules/exp2l-tests: New file.
4593         * tests/test-exp2l.c: New file.
4594
4595         New module 'exp2l'.
4596         * lib/math.in.h (exp2l): New declaration.
4597         * lib/exp2l.c: New file.
4598         * lib/expl-table.c: New file, extracted from lib/expl.c.
4599         * lib/expl.c (gl_expl_table): New declaration.
4600         (expl): Remove expl_table. Update reference.
4601         * m4/exp2l.m4: New file.
4602         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
4603         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
4604         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
4605         * modules/exp2l: New file.
4606         * modules/expl (Files): Add lib/expl-table.c.
4607         (configure.ac): Compile also expl-table.c.
4608         * tests/test-math-c++.cc: Check the declaration of exp2l.
4609         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
4610         problem.
4611
4612 2012-03-08  Bruno Haible  <bruno@clisp.org>
4613
4614         Tests for module 'exp2f'.
4615         * modules/exp2f-tests: New file.
4616         * tests/test-exp2f.c: New file.
4617
4618         New module 'exp2f'.
4619         * lib/math.in.h (exp2f): New declaration.
4620         * lib/exp2f.c: New file.
4621         * m4/exp2f.m4: New file.
4622         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
4623         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
4624         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
4625         * modules/exp2f: New file.
4626         * tests/test-math-c++.cc: Check the declaration of exp2f.
4627         * doc/posix-functions/exp2f.texi: Mention the new module and the
4628         IRIX problem.
4629
4630 2012-03-08  Bruno Haible  <bruno@clisp.org>
4631
4632         Tests for module 'exp2'.
4633         * modules/exp2-tests: New file.
4634         * tests/test-exp2.c: New file.
4635         * tests/test-exp2.h: New file.
4636
4637         New module 'exp2'.
4638         * lib/math.in.h (exp2): New declaration.
4639         * lib/exp2.c: New file.
4640         * m4/exp2.m4: New file.
4641         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
4642         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
4643         REPLACE_EXP2.
4644         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
4645         REPLACE_EXP2.
4646         * modules/exp2: New file.
4647         * tests/test-math-c++.cc: Check the declaration of exp2.
4648         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
4649         and OpenBSD problems.
4650
4651 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
4652
4653         savedir: fix comment typo
4654         * lib/savedir.c (savedirstream): Fix typo in comment.
4655
4656 2012-03-08  Bruno Haible  <bruno@clisp.org>
4657
4658         test-readtokens.c: use const; remove unwarranted cast
4659         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
4660
4661 2012-03-08  Bruno Haible  <bruno@clisp.org>
4662
4663         fmal: Avoid compilation error on AIX.
4664         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
4665         AIX 5.2..7.1.
4666
4667 2012-03-08  Bruno Haible  <bruno@clisp.org>
4668
4669         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
4670         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
4671         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
4672         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
4673         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
4674         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
4675         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
4676
4677 2012-03-08  Bruno Haible  <bruno@clisp.org>
4678
4679         remainderf: Override buggy system function on IRIX 6.5.
4680         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
4681         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
4682         when it exists.
4683         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
4684
4685 2012-03-08  Jim Meyering  <meyering@redhat.com>
4686
4687         test-readtokens.c: avoid const-related compilation warnings
4688         * tests/test-readtokens.c: Avoid const-related compilation warnings.
4689
4690 2012-03-07  Jim Meyering  <meyering@redhat.com>
4691             Bruno Haible  <bruno@clisp.org>
4692
4693         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
4694         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
4695         tests/randomd.c.
4696         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
4697         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
4698         tests/randoml.c.
4699         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
4700
4701 2012-03-07  Bruno Haible  <bruno@clisp.org>
4702
4703         expm1l: Avoid compilation error on AIX.
4704         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
4705         AIX 5.2..7.1.
4706
4707 2012-03-07  Bruno Haible  <bruno@clisp.org>
4708
4709         expm1l: Don't override undeclared system function on IRIX 6.5.
4710         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
4711         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
4712         it exists. Set HAVE_DECL_EXPM1L.
4713         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
4714         HAVE_EXPM1L.
4715         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
4716         HAVE_EXPM1L.
4717         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
4718
4719 2012-03-07  Bruno Haible  <bruno@clisp.org>
4720
4721         remainderl: Don't override undeclared system function on IRIX 6.5.
4722         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
4723         HAVE_REMAINDERL.
4724         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
4725         declared when it exists. Set HAVE_DECL_REMAINDERL.
4726         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
4727         not HAVE_REMAINDERL.
4728         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
4729         HAVE_REMAINDERL.
4730         * doc/posix-functions/remainderl.texi: Mention missing declaration
4731         problem.
4732
4733 2012-03-07  Bruno Haible  <bruno@clisp.org>
4734
4735         rintf: Don't override undeclared system function on IRIX 6.5.
4736         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
4737         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
4738         exists. Set HAVE_DECL_RINTF.
4739         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
4740         HAVE_RINTF.
4741         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
4742         HAVE_RINTF.
4743         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
4744
4745 2012-03-07  Bruno Haible  <bruno@clisp.org>
4746
4747         roundl: Avoid compilation error on AIX.
4748         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
4749         AIX 5.2..7.1.
4750
4751 2012-03-07  Bruno Haible  <bruno@clisp.org>
4752
4753         roundl: Don't override undeclared system function on IRIX 6.5.
4754         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
4755         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
4756         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
4757         * modules/roundl (configure.ac): For replacement code, test
4758         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
4759         (Depends-on): Update conditions.
4760         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
4761
4762 2012-03-07  Bruno Haible  <bruno@clisp.org>
4763
4764         roundf: Don't override undeclared system function on IRIX 6.5.
4765         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
4766         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
4767         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
4768         * modules/roundf (configure.ac): For replacement code, test
4769         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
4770         (Depends-on): Update conditions.
4771         * modules/roundf-ieee (Depends-on): Update conditions.
4772         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
4773
4774 2012-03-07  Bruno Haible  <bruno@clisp.org>
4775
4776         round: Don't override undeclared system function on IRIX 6.5.
4777         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
4778         argument.
4779         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
4780         also when it is not declared. Set HAVE_ROUND. For replacement code,
4781         test HAVE_ROUND, not HAVE_DECL_ROUND.
4782         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
4783         not HAVE_DECL_ROUND.
4784         (Depends-on): Update conditions.
4785         * modules/round-ieee (Depends-on): Update conditions.
4786         * doc/posix-functions/round.texi: Mention the IRIX problem.
4787
4788 2012-03-07  Bruno Haible  <bruno@clisp.org>
4789
4790         copysignf: Don't override undeclared system function on IRIX 6.5.
4791         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
4792         HAVE_COPYSIGNF.
4793         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
4794         declared when it exists. Set HAVE_DECL_COPYSIGNF.
4795         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
4796         not HAVE_COPYSIGNF.
4797         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
4798         HAVE_COPYSIGNF.
4799         * doc/posix-functions/copysignf.texi: Mention missing declaration
4800         problem.
4801
4802 2012-03-07  Jim Meyering  <meyering@redhat.com>
4803
4804         readtokens: add tests
4805         * modules/readtokens-tests: New file.
4806         * tests/test-readtokens.c: New file.
4807
4808 2012-03-07  Jim Meyering  <meyering@redhat.com>
4809
4810         quotearg: the module must now include quote.h
4811         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
4812         So must the module.
4813         * modules/quotearg (Files): Add quote.h.
4814
4815 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
4816
4817         readtokens: avoid core dumps with unusual calling patterns
4818         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
4819         * lib/readtokens.c: Include limits.h.
4820         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
4821         (readtoken): Don't cache the delimiters; the cache code was buggy
4822         if !delim && saved_delim, or if the new n_delim differs from the old.
4823         Also, it wasn't thread-safe.
4824
4825 2012-03-07  Bruno Haible  <bruno@clisp.org>
4826
4827         quote: Adhere to common module description layout.
4828         * modules/quote (Makefile.am): Add back empty section.
4829
4830 2012-03-06  Akim Demaille  <demaille@gostai.com>
4831
4832         quote: fuse into quotearg
4833         This patch is made for the benefit of Bison.
4834         quote does not leave the choice of the quoting style to the user.
4835         quoting_style provides poor customizability, yet quoting_options,
4836         which is very rich, is hidden inside quotearg.c.  So in order to
4837         allow quote customization, move its implementation to quotearg.c.
4838         * lib/quote.c: Remove.
4839         * modules/quote: Adjust.
4840         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
4841         warning: provide all the members of literal structs.
4842         (quote_quoting_options): New.
4843         (quote, quote_n): Import implementation from quote.c.
4844         * lib/quote.h: Import the comments from quote.c.
4845         (quote_quoting_options): New.
4846
4847 2012-03-06  Bruno Haible  <bruno@clisp.org>
4848
4849         Tests for module 'expm1l-ieee'.
4850         * modules/expm1l-ieee-tests: New file.
4851         * tests/test-expm1l-ieee.c: New file.
4852
4853         New module 'expm1l-ieee'.
4854         * modules/expm1l-ieee: New file.
4855
4856         Tests for module 'expm1f-ieee'.
4857         * modules/expm1f-ieee-tests: New file.
4858         * tests/test-expm1f-ieee.c: New file.
4859
4860         New module 'expm1f-ieee'.
4861         * modules/expm1f-ieee: New file.
4862
4863         Tests for module 'expm1-ieee'.
4864         * modules/expm1-ieee-tests: New file.
4865         * tests/test-expm1-ieee.c: New file.
4866         * tests/test-expm1-ieee.h: New file.
4867
4868         New module 'expm1-ieee'.
4869         * modules/expm1-ieee: New file.
4870         * m4/expm1-ieee.m4: New file.
4871         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
4872         whether expm1 works with a minus zero argument. Replace it if not.
4873         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
4874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
4875         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
4876         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
4877         (Depends-on): Update conditions.
4878         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
4879         AIX problem.
4880
4881 2012-03-06  Bruno Haible  <bruno@clisp.org>
4882
4883         Work around expm1f bug on IRIX 6.5.
4884         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
4885         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
4886         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
4887         not work.
4888         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
4889         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
4890         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
4891         (Depends-on): Update conditions.
4892         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
4893
4894 2012-03-06  Bruno Haible  <bruno@clisp.org>
4895
4896         Tests for module 'expm1l'.
4897         * modules/expm1l-tests: New file.
4898         * tests/test-expm1l.c: New file.
4899
4900         New module 'expm1l'.
4901         * lib/math.in.h (expm1l): New declaration.
4902         * lib/expm1l.c: New file.
4903         * m4/expm1l.m4: New file.
4904         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
4905         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
4906         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
4907         * modules/expm1l: New file.
4908         * tests/test-math-c++.cc: Check the declaration of expm1l.
4909         * doc/posix-functions/expm1l.texi: Mention the new module.
4910
4911 2012-03-06  Bruno Haible  <bruno@clisp.org>
4912
4913         Tests for module 'expm1f'.
4914         * modules/expm1f-tests: New file.
4915         * tests/test-expm1f.c: New file.
4916
4917         New module 'expm1f'.
4918         * lib/math.in.h (expm1f): New declaration.
4919         * lib/expm1f.c: New file.
4920         * m4/expm1f.m4: New file.
4921         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
4922         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
4923         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
4924         * modules/expm1f: New file.
4925         * tests/test-math-c++.cc: Check the declaration of expm1f.
4926         * doc/posix-functions/expm1f.texi: Mention the new module.
4927
4928 2012-03-06  Bruno Haible  <bruno@clisp.org>
4929
4930         Tests for module 'expm1'.
4931         * modules/expm1-tests: New file.
4932         * tests/test-expm1.c: New file.
4933         * tests/test-expm1.h: New file.
4934
4935         New module 'expm1'.
4936         * lib/math.in.h (expm1): New declaration.
4937         * lib/expm1.c: New file.
4938         * m4/expm1.m4: New file.
4939         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
4940         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
4941         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
4942         * modules/expm1: New file.
4943         * tests/test-math-c++.cc: Check the declaration of expm1.
4944         * doc/posix-functions/expm1.texi: Mention the new module.
4945
4946 2012-03-06  Bruno Haible  <bruno@clisp.org>
4947
4948         math: Ensure declarations of math functions.
4949         * modules/acosf (Depends-on): Add 'extensions'.
4950         * modules/asinf (Depends-on): Likewise.
4951         * modules/atan2f (Depends-on): Likewise.
4952         * modules/atanf (Depends-on): Likewise.
4953         * modules/cbrt (Depends-on): Likewise.
4954         * modules/cbrtf (Depends-on): Likewise.
4955         * modules/cbrtl (Depends-on): Likewise.
4956         * modules/copysignf (Depends-on): Likewise.
4957         * modules/copysignl (Depends-on): Likewise.
4958         * modules/cosf (Depends-on): Likewise.
4959         * modules/coshf (Depends-on): Likewise.
4960         * modules/expf (Depends-on): Likewise.
4961         * modules/fabsf (Depends-on): Likewise.
4962         * modules/fabsl (Depends-on): Likewise.
4963         * modules/fmaf (Depends-on): Likewise.
4964         * modules/fmal (Depends-on): Likewise.
4965         * modules/fmodf (Depends-on): Likewise.
4966         * modules/fmodl (Depends-on): Likewise.
4967         * modules/frexpf (Depends-on): Likewise.
4968         * modules/frexpl (Depends-on): Likewise.
4969         * modules/hypot (Depends-on): Likewise.
4970         * modules/hypotf (Depends-on): Likewise.
4971         * modules/hypotl (Depends-on): Likewise.
4972         * modules/ldexpf (Depends-on): Likewise.
4973         * modules/ldexpl (Depends-on): Likewise.
4974         * modules/log10f (Depends-on): Likewise.
4975         * modules/log10l (Depends-on): Likewise.
4976         * modules/log1p (Depends-on): Likewise.
4977         * modules/logb (Depends-on): Likewise.
4978         * modules/logf (Depends-on): Likewise.
4979         * modules/modff (Depends-on): Likewise.
4980         * modules/modfl (Depends-on): Likewise.
4981         * modules/powf (Depends-on): Likewise.
4982         * modules/remainderf (Depends-on): Likewise.
4983         * modules/remainderl (Depends-on): Likewise.
4984         * modules/rintf (Depends-on): Likewise.
4985         * modules/rintl (Depends-on): Likewise.
4986         * modules/sinf (Depends-on): Likewise.
4987         * modules/sinhf (Depends-on): Likewise.
4988         * modules/sqrtf (Depends-on): Likewise.
4989         * modules/tanf (Depends-on): Likewise.
4990         * modules/tanhf (Depends-on): Likewise.
4991         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
4992         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
4993         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
4994         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
4995         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
4996         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
4997         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
4998         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
4999         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
5000         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
5001         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
5002         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
5003         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
5004         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
5005         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
5006         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
5007         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5008         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5009         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
5010         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
5011         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
5012         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
5013         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
5014         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
5015         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
5016         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
5017         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
5018         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
5019         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
5020         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
5021         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5022         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
5023         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5024         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
5025         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5026         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5027         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
5028         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
5029         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
5030         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
5031         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
5032
5033 2012-03-06  Bruno Haible  <bruno@clisp.org>
5034
5035         math: Update module names in warnings.
5036         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
5037         tanl): Use specific module name in warn-on-use warning.
5038
5039 2012-03-06  Bruno Haible  <bruno@clisp.org>
5040
5041         expl: Simplify computation.
5042         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
5043
5044 2012-03-05  Bruno Haible  <bruno@clisp.org>
5045
5046         exp* tests: More tests.
5047         * tests/test-exp.h: New file.
5048         * tests/test-exp.c: Include <float.h> and test-exp.h.
5049         (main): Invoke test_function.
5050         * tests/test-expf.c: Include <float.h> and test-exp.h.
5051         (main): Invoke test_function.
5052         * tests/test-expl.c: Include <float.h> and test-exp.h.
5053         (main): Invoke test_function.
5054         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
5055         (Makefile.am): Add randomd.c to test_exp_SOURCES.
5056         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
5057         (Makefile.am): Add randomf.c to test_expf_SOURCES.
5058         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
5059         (Depends-on): Add 'float'.
5060         (Makefile.am): Add randoml.c to test_expl_SOURCES.
5061
5062         expl: Fix precision of computed result.
5063         * lib/expl.c: Completely rewritten.
5064         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
5065         (Maintainer): Add me.
5066         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
5067
5068 2012-03-05  Bruno Haible  <bruno@clisp.org>
5069
5070         cbrt* tests: More tests.
5071         * tests/test-cbrt.h: New file.
5072         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
5073         (main): Invoke test_function.
5074         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
5075         (main): Invoke test_function.
5076         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
5077         (main): Invoke test_function.
5078         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
5079         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
5080         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
5081         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
5082         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
5083         (Depends-on): Add 'float'.
5084         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
5085
5086 2012-03-05  Bruno Haible  <bruno@clisp.org>
5087
5088         hypot* tests: More tests.
5089         * tests/test-hypot.h: New file, partially extracted from
5090         tests/test-hypotl.c.
5091         * tests/test-hypot.c: Include test-hypot.h.
5092         (main): Invoke test_function.
5093         * tests/test-hypotf.c: Include test-hypot.h.
5094         (main): Invoke test_function.
5095         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
5096         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
5097         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
5098         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
5099         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
5100         tests/randomf.c.
5101         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
5102         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
5103         tests/randoml.c.
5104         (Depends-on): Add 'fpucw', 'float'.
5105         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
5106
5107 2012-03-05  Bruno Haible  <bruno@clisp.org>
5108
5109         fpucw: Doc about FreeBSD.
5110         * lib/fpucw.h: Mention FreeBSD in comments.
5111
5112 2012-03-04  Bruno Haible  <bruno@clisp.org>
5113
5114         sqrt* tests: More tests.
5115         * tests/test-sqrt.h: New file.
5116         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
5117         (main): Invoke test_function.
5118         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
5119         (main): Invoke test_function.
5120         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
5121         (main): Invoke test_function.
5122         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
5123         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
5124         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
5125         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
5126         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
5127         (Depends-on): Add 'float'.
5128         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
5129
5130 2012-03-04  Bruno Haible  <bruno@clisp.org>
5131
5132         remainder* tests: More tests.
5133         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
5134         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
5135         (main): Invoke test_function.
5136         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
5137         (main): Invoke test_function.
5138         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
5139         (main): Invoke test_function.
5140         * modules/remainder-tests (Files): Add tests/test-remainder.h,
5141         tests/randomd.c.
5142         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
5143         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
5144         tests/randomf.c.
5145         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
5146         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
5147         tests/randoml.c.
5148         (Depends-on): Add 'float'.
5149         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
5150
5151 2012-03-04  Bruno Haible  <bruno@clisp.org>
5152
5153         remainder, remainderf, remainderl: Fix computation for large quotients.
5154         * lib/remainder.c: Completely rewritten.
5155         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
5156         USE_FLOAT.
5157         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
5158         USE_LONG_DOUBLE.
5159         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
5160         isnand, isinf. Remove round, fma.
5161         * modules/remainderf (Files): Add lib/remainder.c.
5162         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
5163         Remove roundf, fmaf.
5164         * modules/remainderl (Files): Add lib/remainder.c.
5165         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
5166         isinf. Remove roundl, fmal.
5167         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
5168         REMAINDER_LIBM.
5169         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
5170         REMAINDERF_LIBM.
5171         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
5172         REMAINDERL_LIBM.
5173
5174 2012-03-04  Bruno Haible  <bruno@clisp.org>
5175
5176         fmod* tests: More tests.
5177         * tests/test-fmod.h (my_ldexp): New function.
5178         (test_function): Reduce amount of random numbers to test. Add tests
5179         of very large quotients x / y.
5180         * tests/test-fmod.c (MAX_EXP): New macro.
5181         * tests/test-fmodf.c (MAX_EXP): Likewise.
5182         * tests/test-fmodl.c (MAX_EXP): Likewise.
5183
5184 2012-03-04  Bruno Haible  <bruno@clisp.org>
5185
5186         fmod, fmodl: Fix computation for large quotients x / y.
5187         * lib/fmod.c: Completely rewritten.
5188         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
5189         USE_LONG_DOUBLE.
5190         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
5191         isnand. Remove fma.
5192         * modules/fmodl (Files): Add lib/fmod.c.
5193         (Depends-on): Add float, isfinite, signbit, fabsl,
5194         frexpl, ldexpl, isnanl. Remove fma.
5195         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
5196         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
5197
5198 2012-03-03  Bruno Haible  <bruno@clisp.org>
5199
5200         fmod* tests: More tests.
5201         * tests/test-fmod.h: New file.
5202         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
5203         (main): Invoke test_function.
5204         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
5205         (main): Invoke test_function.
5206         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
5207         (main): Invoke test_function.
5208         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
5209         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
5210         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
5211         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
5212         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
5213         (Depends-on): Add 'float'.
5214         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
5215
5216 2012-03-03  Bruno Haible  <bruno@clisp.org>
5217
5218         rint* tests: More tests.
5219         * tests/test-rint.h: New file, partially extracted from
5220         tests/test-rintl.c.
5221         * tests/test-rint.c: Include test-rint.h.
5222         (main): Invoke test_function.
5223         * tests/test-rintf.c: Include test-rint.h.
5224         (main): Invoke test_function.
5225         * tests/test-rintl.c: Include test-rint.h.
5226         (main): Invoke test_function.
5227         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
5228         (Makefile.am): Add randomd.c to test_rint_SOURCES.
5229         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
5230         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
5231         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
5232         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
5233
5234 2012-03-03  Bruno Haible  <bruno@clisp.org>
5235
5236         modf* tests: More tests.
5237         * tests/test-modf.h: New file.
5238         * tests/test-modf.c: Include <float.h> and test-modf.h.
5239         (main): Invoke test_function.
5240         * tests/test-modff.c: Include <float.h> and test-modf.h.
5241         (main): Invoke test_function.
5242         * tests/test-modfl.c: Include <float.h> and test-modf.h.
5243         (main): Invoke test_function.
5244         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
5245         (Makefile.am): Add randomd.c to test_modf_SOURCES.
5246         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
5247         (Makefile.am): Add randomf.c to test_modff_SOURCES.
5248         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
5249         (Depends-on): Add 'float'.
5250         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
5251
5252 2012-03-03  Bruno Haible  <bruno@clisp.org>
5253
5254         fabs* tests: More tests.
5255         * tests/test-fabs.h: New file, partially extracted from
5256         tests/test-fabsl.c.
5257         * tests/test-fabs.c (RANDOM): New macro.
5258         * tests/test-fabsf.c (RANDOM): New macro.
5259         * tests/test-fabsl.c (RANDOM): New macro.
5260         * modules/fabs-tests (Files): Add tests/randomd.c.
5261         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
5262         * modules/fabsf-tests (Files): Add tests/randomf.c.
5263         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
5264         * modules/fabsl-tests (Files): Add tests/randoml.c.
5265         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
5266
5267 2012-03-03  Bruno Haible  <bruno@clisp.org>
5268
5269         ldexp* tests: More tests.
5270         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
5271         * tests/test-ldexp.c (RANDOM): New macro.
5272         * tests/test-ldexpf.c (RANDOM): New macro.
5273         * tests/test-ldexpl.c (RANDOM): New macro.
5274         * modules/ldexp-tests (Files): Add tests/randomd.c.
5275         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
5276         * modules/ldexpf-tests (Files): Add tests/randomf.c.
5277         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
5278         * modules/ldexpl-tests (Files): Add tests/randoml.c.
5279         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
5280
5281 2012-03-03  Bruno Haible  <bruno@clisp.org>
5282
5283         frexp* tests: More tests.
5284         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
5285         * tests/test-frexp.c (RANDOM): New macro.
5286         * tests/test-frexpf.c (RANDOM): New macro.
5287         * tests/test-frexpl.c (RANDOM): New macro.
5288         * modules/frexp-tests (Files): Add tests/randomd.c.
5289         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
5290         * modules/frexpf-tests (Files): Add tests/randomf.c.
5291         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
5292         * modules/frexpl-tests (Files): Add tests/randoml.c.
5293         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
5294
5295 2012-03-03  Bruno Haible  <bruno@clisp.org>
5296
5297         Support for pseudo-random numbers in tests.
5298         * tests/randomf.c: New file.
5299         * tests/randomd.c: New file.
5300         * tests/randoml.c: New file.
5301         * tests/macros.h (randomf, randomd, randoml): New declarations.
5302
5303 2012-03-03  Bruno Haible  <bruno@clisp.org>
5304
5305         frexp* tests: Refactor.
5306         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
5307         * tests/test-frexp.c: Include and use it.
5308         * tests/test-frexpf.c: Likewise.
5309         * tests/test-frexpl.c: Likewise.
5310         * modules/frexp-tests (Files): Add tests/test-frexp.h.
5311         * modules/frexpf-tests (Files): Likewise.
5312         * modules/frexpl-tests (Files): Likewise.
5313
5314 2012-03-02  Jim Meyering  <meyering@redhat.com>
5315
5316         maint: don't specify XZ_OPT=-9ev in dist-related rule
5317         Using xz's -9 option is warranted only if you have a very large
5318         tarball (see xz's documentation for the sizes vs. presets), and
5319         requires 64MiB of memory at decompression time.
5320         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
5321         Automake's default of just "-e" is fine.  Override on a
5322         per-package basis by setting XZ_OPT e.g., in cfg.mk.
5323
5324 2012-03-01  Eric Blake  <eblake@redhat.com>
5325
5326         maint.mk: allow announcement for non-gnulib project
5327         * maint.mk (announcement): Skip gnulib version if not used.
5328
5329 2012-03-01  Jim Meyering  <meyering@redhat.com>
5330
5331         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
5332         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
5333         envvar settings cannot interfere.  Otherwise, setting envvars like
5334         prohibit=foo require=bar, etc. would cause spurious test failures.
5335
5336 2012-03-01  Eric Blake  <eblake@redhat.com>
5337
5338         maint.mk: add per-line exclusions to prohibitions
5339         * maint.mk (_sc_search_regexp): Add $exclude parameter.
5340         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
5341         (sc_const_long_option): Use it.
5342
5343 2012-03-01  Bruno Haible  <bruno@clisp.org>
5344
5345         Tests for module 'expl-ieee'.
5346         * modules/expl-ieee-tests: New file.
5347         * tests/test-expl-ieee.c: New file.
5348
5349         New module 'expl-ieee'.
5350         * modules/expl-ieee: New file.
5351
5352         Tests for module 'exp-ieee'.
5353         * modules/exp-ieee-tests: New file.
5354         * tests/test-exp-ieee.c: New file.
5355
5356         New module 'exp-ieee'.
5357         * modules/exp-ieee: New file.
5358
5359         Tests for module 'expf-ieee'.
5360         * modules/expf-ieee-tests: New file.
5361         * tests/test-expf-ieee.c: New file.
5362         * tests/test-exp-ieee.h: New file.
5363
5364         New module 'expf-ieee'.
5365         * modules/expf-ieee: New file.
5366
5367 2012-02-29  Bruno Haible  <bruno@clisp.org>
5368
5369         cbrtl-ieee: Work around test failure on IRIX 6.5.
5370         * m4/cbrtl-ieee.m4: New file.
5371         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
5372         test whether cbrtl works with a minus zero argument. Replace it if not.
5373         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
5374         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
5375         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
5376         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
5377         (Depends-on): Update conditions.
5378         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
5379         m4/signbit.m4.
5380         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
5381         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
5382         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
5383
5384         Tests for module 'cbrtl-ieee'.
5385         * modules/cbrtl-ieee-tests: New file.
5386         * tests/test-cbrtl-ieee.c: New file.
5387
5388         New module 'cbrtl-ieee'.
5389         * modules/cbrtl-ieee: New file.
5390
5391         Tests for module 'cbrt-ieee'.
5392         * modules/cbrt-ieee-tests: New file.
5393         * tests/test-cbrt-ieee.c: New file.
5394
5395         New module 'cbrt-ieee'.
5396         * modules/cbrt-ieee: New file.
5397
5398         Tests for module 'cbrtf-ieee'.
5399         * modules/cbrtf-ieee-tests: New file.
5400         * tests/test-cbrtf-ieee.c: New file.
5401         * tests/test-cbrt-ieee.h: New file.
5402
5403         New module 'cbrtf-ieee'.
5404         * modules/cbrtf-ieee: New file.
5405
5406 2012-02-29  Bruno Haible  <bruno@clisp.org>
5407
5408         cbrtf: Work around bug in IRIX 6.5 system function.
5409         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
5410         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
5411         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
5412         work.
5413         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
5414         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
5415         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
5416         (Depends-on): Update conditions.
5417         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
5418
5419 2012-02-29  Bruno Haible  <bruno@clisp.org>
5420
5421         Tests for module 'cbrtl'.
5422         * modules/cbrtl-tests: New file.
5423         * tests/test-cbrtl.c: New file.
5424
5425         New module 'cbrtl'.
5426         * lib/math.in.h (cbrtl): New declaration.
5427         * lib/cbrtl.c: New file.
5428         * m4/cbrtl.m4: New file.
5429         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
5430         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
5431         HAVE_DECL_CBRTL.
5432         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
5433         HAVE_DECL_CBRTL.
5434         * modules/cbrtl: New file.
5435         * tests/test-math-c++.cc: Check the declaration of cbrtl.
5436         * doc/posix-functions/cbrtl.texi: Mention the new module.
5437
5438 2012-02-29  Bruno Haible  <bruno@clisp.org>
5439
5440         Tests for module 'cbrtf'.
5441         * modules/cbrtf-tests: New file.
5442         * tests/test-cbrtf.c: New file.
5443
5444         New module 'cbrtf'.
5445         * lib/math.in.h (cbrtf): New declaration.
5446         * lib/cbrtf.c: New file.
5447         * m4/cbrtf.m4: New file.
5448         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
5449         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
5450         HAVE_DECL_CBRTF.
5451         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
5452         HAVE_DECL_CBRTF.
5453         * modules/cbrtf: New file.
5454         * tests/test-math-c++.cc: Check the declaration of cbrtf.
5455         * doc/posix-functions/cbrtf.texi: Mention the new module.
5456
5457 2012-02-29  Bruno Haible  <bruno@clisp.org>
5458
5459         cbrt: Provide replacement on MSVC and Minix.
5460         * lib/math.in.h (cbrt): New declaration.
5461         * lib/cbrt.c: New file.
5462         * m4/cbrt.m4: New file.
5463         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
5464         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
5465         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
5466         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
5467         (Depends-on): Add dependencies.
5468         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
5469         * tests/test-math-c++.cc: Check the declaration of cbrt.
5470         * doc/posix-functions/cbrt.texi: Mention that the module provides a
5471         replacement.
5472
5473 2012-02-29  Bruno Haible  <bruno@clisp.org>
5474
5475         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
5476         * m4/hypotl-ieee.m4: New file.
5477         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
5478         test whether hypotl works with mixed NaN and Infinity arguments.
5479         Replace it if not.
5480         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
5481         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
5482         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
5483         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
5484         (Depends-on): Update conditions.
5485         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
5486         (Depends-on): Add hypot-ieee.
5487         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
5488         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
5489
5490         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
5491         * m4/hypotf-ieee.m4: New file.
5492         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
5493         test whether hypotf works with mixed NaN and Infinity arguments.
5494         Replace it if not.
5495         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
5496         (Depends-on): Add hypot-ieee.
5497         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
5498         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
5499
5500         hypot-ieee: Work around test failure on OSF/1 and native Windows.
5501         * lib/math.in.h (hypot): New declaration.
5502         * lib/hypot.c: New file.
5503         * m4/hypot-ieee.m4: New file.
5504         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
5505         whether hypot works with mixed NaN and Infinity arguments. Replace it
5506         if not.
5507         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
5508         REPLACE_HYPOT.
5509         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
5510         * modules/hypot (Files): Add lib/hypot.c.
5511         (Depends-on): Add dependencies.
5512         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
5513         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
5514         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
5515         * tests/test-math-c++.cc: Check the declaration of hypot.
5516         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
5517
5518         Tests for module 'hypotl-ieee'.
5519         * modules/hypotl-ieee-tests: New file.
5520         * tests/test-hypotl-ieee.c: New file.
5521
5522         New module 'hypotl-ieee'.
5523         * modules/hypotl-ieee: New file.
5524
5525         Tests for module 'hypot-ieee'.
5526         * modules/hypot-ieee-tests: New file.
5527         * tests/test-hypot-ieee.c: New file.
5528
5529         New module 'hypot-ieee'.
5530         * modules/hypot-ieee: New file.
5531
5532         Tests for module 'hypotf-ieee'.
5533         * modules/hypotf-ieee-tests: New file.
5534         * tests/test-hypotf-ieee.c: New file.
5535         * tests/test-hypot-ieee.h: New file.
5536
5537         New module 'hypotf-ieee'.
5538         * modules/hypotf-ieee: New file.
5539
5540 2012-02-29  Bruno Haible  <bruno@clisp.org>
5541
5542         Remove unused variables.
5543         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
5544         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5545         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
5546         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
5547
5548 2012-02-29  Eric Blake  <eblake@redhat.com>
5549
5550         termios: fix pid_t always, not just for tcgetsid
5551         * doc/posix-headers/termios.texi (termios.h): Mention problem.
5552         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
5553         just when building tcgetsid.
5554
5555 2012-02-29  Bruno Haible  <bruno@clisp.org>
5556
5557         Tests for module 'hypotl'.
5558         * modules/hypotl-tests: New file.
5559         * tests/test-hypotl.c: New file.
5560
5561         New module 'hypotl'.
5562         * lib/math.in.h (hypotl): New declaration.
5563         * lib/hypotl.c: New file.
5564         * m4/hypotl.m4: New file.
5565         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
5566         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
5567         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
5568         * modules/hypotl: New file.
5569         * tests/test-math-c++.cc: Check the hypotl declaration.
5570         * doc/posix-functions/hypotl.texi: Mention the new module.
5571
5572 2012-02-29  Eric Blake  <eblake@redhat.com>
5573
5574         tcgetsid: fix cygwin header bug
5575         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
5576
5577         docs: update cygwin progress
5578         * doc/posix-functions/llround.texi (llround): Added in cygwin
5579         1.7.8.
5580         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
5581         * doc/glibc-functions/program_invocation_name.texi
5582         (program_invocation_name): Likewise.
5583         * doc/glibc-functions/program_invocation_short_name.texi
5584         (program_invocation_short_name): Likewise.
5585         * doc/glibc-functions/madvise.texi (madvise): Likewise.
5586         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
5587         Likewise.
5588         * doc/posix-functions/pthread_spin_destroy.texi
5589         (pthread_spin_destroy): Added in cygwin 1.7.10.
5590         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
5591         Likewise.
5592         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
5593         Likewise.
5594         * doc/posix-functions/pthread_spin_trylock.texi
5595         (pthread_spin_trylock): Likewise.
5596         * doc/posix-functions/pthread_spin_unlock.texi
5597         (pthread_spin_unlock): Likewise.
5598         * doc/posix-functions/pthread_setschedprio.texi
5599         (pthread_setschedprio): Likewise.
5600         * doc/posix-functions/pthread_attr_getstack.texi
5601         (pthread_attr_getstack): Likewise.
5602         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
5603         (pthread_attr_getstackaddr): Likewise.
5604         * doc/glibc-functions/pthread_getattr_np.texi
5605         (pthread_getattr_np): Likewise.
5606         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
5607         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
5608         * doc/posix-functions/clock_settime.texi (clock_settime):
5609         Likewise.
5610         * doc/posix-functions/pthread_attr_getguardsize.texi
5611         (pthread_attr_getguardsize): Likewise.
5612         * doc/posix-functions/pthread_attr_setguardsize.texi
5613         (pthread_attr_setguardsize): Likewise.
5614         * doc/posix-functions/pthread_attr_setstack.texi
5615         (pthread_attr_setstack): Likewise.
5616         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
5617         (pthread_attr_setstackaddr): Likewise.
5618         * doc/posix-functions/clock_getcpuclockid.texi
5619         (clock_getcpuclockid): Likewise.
5620         * doc/posix-functions/pthread_getcpuclockid.texi
5621         (pthread_getcpuclockid): Likewise.
5622         * doc/glibc-functions/error.texi (error): Likewise.
5623         * doc/glibc-functions/error_at_line.texi (error_at_line):
5624         Likewise.
5625         * doc/glibc-functions/error_message_count.texi
5626         (error_message_count): Likewise.
5627         * doc/glibc-functions/error_one_per_line.texi
5628         (error_one_per_line): Likewise.
5629         * doc/glibc-functions/error_print_progname.texi
5630         (error_print_progname): Likewise.
5631         * doc/posix-functions/pthread_condattr_getclock.texi
5632         (pthread_condattr_getclock): Likewise.
5633         * doc/posix-functions/pthread_condattr_setclock.texi
5634         (pthread_condattr_setclock): Likewise.
5635         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
5636         Likewise.
5637         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
5638         * doc/glibc-functions/getpt.texi (getpt): Likewise.
5639         * doc/glibc-functions/get_current_dir_name.texi
5640         (get_current_dir_name): Likewise.
5641         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
5642         Likewise.
5643         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
5644         wrong return type.
5645         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
5646         1.7.11.
5647
5648 2012-02-29  Bruno Haible  <bruno@clisp.org>
5649
5650         Tests for module 'hypotf'.
5651         * modules/hypotf-tests: New file.
5652         * tests/test-hypotf.c: New file.
5653
5654         New module 'hypotf'.
5655         * lib/math.in.h (hypotf): New declaration.
5656         * lib/hypotf.c: New file.
5657         * m4/hypotf.m4: New file.
5658         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
5659         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
5660         REPLACE_HYPOTF.
5661         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
5662         REPLACE_HYPOTF.
5663         * modules/hypotf: New file.
5664         * tests/test-math-c++.cc: Check the hypotf declaration.
5665         * doc/posix-functions/hypotf.texi: Mention the new module.
5666
5667         hypot: Prepare for hypotf module.
5668         * m4/hypot.m4: New file.
5669         * modules/hypot (Files): Add m4/hypot.m4.
5670         (configure.ac): Invoke gl_FUNC_HYPOT.
5671
5672 2012-02-29  Bruno Haible  <bruno@clisp.org>
5673
5674         hypot tests: More tests.
5675         * tests/test-hypot.c: Include <float.h>.
5676         (main): Add tests about overflow and underflow.
5677
5678 2012-02-29  Bruno Haible  <bruno@clisp.org>
5679
5680         math code: Add comments.
5681         * lib/acosl.c: Add comment about related glibc source files.
5682         * lib/asinl.c: Likewise.
5683         * lib/atanl.c: Likewise.
5684         * lib/expl.c: Likewise.
5685         * lib/logl.c: Likewise.
5686         * lib/sincosl.c: Likewise.
5687         * lib/sinl.c: Likewise.
5688         * lib/tanl.c: Likewise.
5689         * lib/trigl.c: Likewise.
5690         * lib/cosl.c: Likewise. Fix comments.
5691
5692 2012-02-28  Bruno Haible  <bruno@clisp.org>
5693
5694         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
5695         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
5696         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
5697         HUGE_VALL are defined.
5698         (numeric_equald): Renamed from numeric_equal.
5699         (numeric_equalf, numeric_equall): New functions.
5700         (main): Check also HUGE_VALF, HUGE_VALL.
5701         * modules/math-tests (Files): Add tests/macros.h.
5702         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
5703         HUGE_VALL.
5704
5705 2012-02-28  Bruno Haible  <bruno@clisp.org>
5706
5707         doc: Move ISO C11 feature notes into POSIX chapters.
5708         * doc/posix-functions/aligned_alloc.texi: Renamed from
5709         doc/glibc-functions/aligned_alloc.texi.
5710         * doc/posix-functions/quick_exit.texi: Renamed from
5711         doc/glibc-functions/quick_exit.texi.
5712         * doc/posix-headers/uchar.texi: Renamed from
5713         doc/glibc-headers/uchar.texi.
5714         * doc/posix-functions/c16rtomb.texi: Renamed from
5715         doc/glibc-functions/c16rtomb.texi.
5716         * doc/posix-functions/c32rtomb.texi: Renamed from
5717         doc/glibc-functions/c32rtomb.texi.
5718         * doc/posix-functions/mbrtoc16.texi: Renamed from
5719         doc/glibc-functions/mbrtoc16.texi.
5720         * doc/posix-functions/mbrtoc32.texi: Renamed from
5721         doc/glibc-functions/mbrtoc32.texi.
5722         * doc/gnulib.texi: Update.
5723         (Glibc uchar.h): Remove section.
5724         Suggested by Eric Blake.
5725
5726 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
5727
5728         stdnoreturn: port to MSVC better
5729         MSVC standard headers use __declspec(noreturn), so #define noreturn
5730         to empty on that platform.  Reported by Bruno Haible in
5731         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
5732         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
5733         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
5734
5735 2012-02-28  Bruno Haible  <bruno@clisp.org>
5736
5737         doc: Mention new glibc headers and functions.
5738         * doc/glibc-headers/uchar.texi: New file.
5739         * doc/glibc-functions/aligned_alloc.texi: New file.
5740         * doc/glibc-functions/c16rtomb.texi: New file.
5741         * doc/glibc-functions/c32rtomb.texi: New file.
5742         * doc/glibc-functions/clock_adjtime.texi: New file.
5743         * doc/glibc-functions/fanotify_init.texi: New file.
5744         * doc/glibc-functions/fanotify_mark.texi: New file.
5745         * doc/glibc-functions/inet6_opt_append.texi: New file.
5746         * doc/glibc-functions/inet6_opt_find.texi: New file.
5747         * doc/glibc-functions/inet6_opt_finish.texi: New file.
5748         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
5749         * doc/glibc-functions/inet6_opt_init.texi: New file.
5750         * doc/glibc-functions/inet6_opt_next.texi: New file.
5751         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
5752         * doc/glibc-functions/inet6_rth_add.texi: New file.
5753         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
5754         * doc/glibc-functions/inet6_rth_init.texi: New file.
5755         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
5756         * doc/glibc-functions/inet6_rth_segments.texi: New file.
5757         * doc/glibc-functions/inet6_rth_space.texi: New file.
5758         * doc/glibc-functions/login.texi: New file.
5759         * doc/glibc-functions/mbrtoc16.texi: New file.
5760         * doc/glibc-functions/mbrtoc32.texi: New file.
5761         * doc/glibc-functions/name_to_handle_at.texi: New file.
5762         * doc/glibc-functions/ntp_gettimex.texi: New file.
5763         * doc/glibc-functions/open_by_handle_at.texi: New file.
5764         * doc/glibc-functions/prlimit.texi: New file.
5765         * doc/glibc-functions/process_vm_readv.texi: New file.
5766         * doc/glibc-functions/process_vm_writev.texi: New file.
5767         * doc/glibc-functions/recvmmsg.texi: New file.
5768         * doc/glibc-functions/scandirat.texi: New file.
5769         * doc/glibc-functions/sendmmsg.texi: New file.
5770         * doc/glibc-functions/setns.texi: New file.
5771         * doc/glibc-functions/timespec_get.texi: New file.
5772         * doc/gnulib.texi: Include them.
5773         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
5774         sections.
5775         Reported by Eric Blake.
5776
5777 2012-02-28  Bruno Haible  <bruno@clisp.org>
5778
5779         Avoid compilation errors with MSVC option -fp:strict.
5780         * lib/floor.c: Use MSVC specific pragma fenv_access.
5781         * lib/ceil.c: Likewise.
5782         * lib/trunc.c: Likewise.
5783         * lib/round.c: Likewise.
5784         * lib/rint.c: Likewise.
5785         * lib/fma.c: Likewise.
5786         * lib/integer_length.c: Likewise.
5787         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
5788         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
5789         * tests/test-floor2.c: Likewise.
5790         * tests/test-floorf2.c: Likewise.
5791         * tests/test-ceil2.c: Likewise.
5792         * tests/test-ceilf2.c: Likewise.
5793         * tests/test-trunc2.c: Likewise.
5794         * tests/test-truncf2.c: Likewise.
5795         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5796
5797 2012-02-27  Bruno Haible  <bruno@clisp.org>
5798
5799         Tests for module 'sqrtl-ieee'.
5800         * modules/sqrtl-ieee-tests: New file.
5801         * tests/test-sqrtl-ieee.c: New file.
5802
5803         New module 'sqrtl-ieee'.
5804         * modules/sqrtl-ieee: New file.
5805
5806         Tests for module 'sqrt-ieee'.
5807         * modules/sqrt-ieee-tests: New file.
5808         * tests/test-sqrt-ieee.c: New file.
5809
5810         New module 'sqrt-ieee'.
5811         * modules/sqrt-ieee: New file.
5812
5813         Tests for module 'sqrtf-ieee'.
5814         * modules/sqrtf-ieee-tests: New file.
5815         * tests/test-sqrtf-ieee.c: New file.
5816         * tests/test-sqrt-ieee.h: New file.
5817
5818         New module 'sqrtf-ieee'.
5819         * modules/sqrtf-ieee: New file.
5820
5821 2012-02-27  Bruno Haible  <bruno@clisp.org>
5822
5823         remainderl-ieee: Work around test failure on OSF/1.
5824         * m4/remainderl-ieee.m4: New file.
5825         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
5826         present, test whether remainderl works with a zero second argument.
5827         Replace it if not.
5828         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
5829         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
5830         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
5831         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
5832         (Depends-on): Update conditions.
5833         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
5834         (Depends-on): Add remainder-ieee.
5835         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
5836         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
5837         module.
5838
5839         remainderf-ieee: Work around test failure on OSF/1.
5840         * m4/remainderf-ieee.m4: New file.
5841         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
5842         present, test whether remainderf works with a zero second argument.
5843         Replace it if not.
5844         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
5845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
5846         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
5847         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
5848         (Depends-on): Update conditions.
5849         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
5850         (Depends-on): Add remainder-ieee.
5851         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
5852         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
5853         module.
5854
5855         remainder-ieee: Work around test failure on OSF/1.
5856         * m4/remainder-ieee.m4: New file.
5857         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
5858         present, test whether remainder works with a zero second argument.
5859         Replace it if not.
5860         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
5861         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
5862         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
5863         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
5864         (Depends-on): Update dependencies.
5865         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
5866         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
5867         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
5868
5869         Tests for module 'remainderl-ieee'.
5870         * modules/remainderl-ieee-tests: New file.
5871         * tests/test-remainderl-ieee.c: New file.
5872
5873         New module 'remainderl-ieee'.
5874         * modules/remainderl-ieee: New file.
5875
5876         Tests for module 'remainder-ieee'.
5877         * modules/remainder-ieee-tests: New file.
5878         * tests/test-remainder-ieee.c: New file.
5879
5880         New module 'remainder-ieee'.
5881         * modules/remainder-ieee: New file.
5882
5883         Tests for module 'remainderf-ieee'.
5884         * modules/remainderf-ieee-tests: New file.
5885         * tests/test-remainderf-ieee.c: New file.
5886         * tests/test-remainder-ieee.h: New file.
5887
5888         New module 'remainderf-ieee'.
5889         * modules/remainderf-ieee: New file.
5890
5891 2012-02-27  Bruno Haible  <bruno@clisp.org>
5892
5893         modff, modfl: Fix configure syntax error.
5894         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
5895         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
5896
5897 2012-02-27  Bruno Haible  <bruno@clisp.org>
5898
5899         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
5900         * m4/fmodl-ieee.m4: New file.
5901         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
5902         whether fmodl works with zero arguments. Replace it if not.
5903         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
5904         (Depends-on): Add fmod-ieee.
5905         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
5906         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
5907
5908         fmodf-ieee: Work around test failure on OSF/1.
5909         * m4/fmodf-ieee.m4: New file.
5910         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
5911         whether fmodf works with zero arguments. Replace it if not.
5912         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
5913         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
5914         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
5915         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
5916         (Depends-on): Update dependencies.
5917         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
5918         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
5919         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
5920
5921         fmodf-ieee: Work around test failure on MSVC 9.
5922         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
5923         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
5924
5925         fmod-ieee: Work around test failures on OSF/1, mingw.
5926         * m4/fmod-ieee.m4: New file.
5927         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
5928         whether fmod works with zero arguments. Replace it if not.
5929         * lib/math.in.h (fmod): New declaration.
5930         * lib/fmod.c: New file.
5931         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
5932         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
5933         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
5934         * modules/fmod (Files): Add lib/fmod.c.
5935         (Depends-on): Add math, isinf, trunc, fma.
5936         (configure.ac): Arrange to compile lib/fmod.c if needed.
5937         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
5938         m4/signbit.m4.
5939         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
5940         * tests/test-math-c++.cc: Check the declaration of fmod.
5941         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
5942
5943         fmodl-ieee: Fix test failures.
5944         * lib/fmodl.c (fmodl): Treat Inf specially.
5945         * modules/fmodl (Depends-on): Add isinf.
5946
5947         Tests for module 'fmodl-ieee'.
5948         * modules/fmodl-ieee-tests: New file.
5949         * tests/test-fmodl-ieee.c: New file.
5950
5951         New module 'fmodl-ieee'.
5952         * modules/fmodl-ieee: New file.
5953
5954         Tests for module 'fmod-ieee'.
5955         * modules/fmod-ieee-tests: New file.
5956         * tests/test-fmod-ieee.c: New file.
5957
5958         New module 'fmod-ieee'.
5959         * modules/fmod-ieee: New file.
5960
5961         Tests for module 'fmodf-ieee'.
5962         * modules/fmodf-ieee-tests: New file.
5963         * tests/test-fmodf-ieee.c: New file.
5964         * tests/test-fmod-ieee.h: New file.
5965
5966         New module 'fmodf-ieee'.
5967         * modules/fmodf-ieee: New file.
5968
5969 2012-02-27  Bruno Haible  <bruno@clisp.org>
5970
5971         Tests for module 'rintl-ieee'.
5972         * modules/rintl-ieee-tests: New file.
5973         * tests/test-rintl-ieee.c: New file.
5974
5975         New module 'rintl-ieee'.
5976         * modules/rintl-ieee: New file.
5977
5978         Tests for module 'rint-ieee'.
5979         * modules/rint-ieee-tests: New file.
5980         * tests/test-rint-ieee.c: New file.
5981
5982         New module 'rint-ieee'.
5983         * modules/rint-ieee: New file.
5984
5985         Tests for module 'rintf-ieee'.
5986         * modules/rintf-ieee-tests: New file.
5987         * tests/test-rintf-ieee.c: New file.
5988         * tests/test-rint-ieee.h: New file.
5989
5990         New module 'rintf-ieee'.
5991         * modules/rintf-ieee: New file.
5992
5993 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
5994
5995         regex: re_search etc. should return -2 when memory exhausted
5996         This bug was uncovered when testing 'grep'.  Without the fix,
5997         re_search and friends return -1 when memory is exhausted, but -1
5998         means no match, and this causes grep to falsely report no-match
5999         instead of memory-exhaustion.  See
6000         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
6001         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
6002         trouble; this can occur if re_search_internal ran out of memory.
6003
6004 2012-02-26  Bruno Haible  <bruno@clisp.org>
6005
6006         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
6007         * m4/modfl-ieee.m4: New file.
6008         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
6009         whether modfl works with Inf. Replace it if not.
6010         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
6011         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
6012         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
6013         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
6014         (Depends-on): Update dependencies.
6015         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
6016         m4/signbit.m4.
6017         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
6018         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
6019
6020         modfl-ieee: Fix dependencies.
6021         * modules/modfl-ieee (Depends-on): Add modf-ieee.
6022
6023         modfl-ieee: Fix test failures.
6024         * lib/modfl.c (modfl): Treat NaN and Inf specially.
6025         * modules/modfl (Depends-on): Add isfinite, isinf.
6026
6027         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
6028         * m4/modff-ieee.m4: New file.
6029         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
6030         whether modff works with NaN and Inf. Replace it if not.
6031         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
6032         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
6033         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
6034         * modules/modff (configure.ac): Consider REPLACE_MODFF.
6035         (Depends-on): Update dependencies.
6036         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
6037         m4/signbit.m4.
6038         (Depends-on): Add modf-ieee.
6039         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
6040         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
6041
6042         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
6043         * m4/modf-ieee.m4: New file.
6044         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
6045         whether modf works with NaN and Inf. Replace it if not.
6046         * lib/math.in.h (modf): New declaration.
6047         * lib/modf.c: New file.
6048         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
6049         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
6050         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
6051         * modules/modf (Files): Add lib/modf.c.
6052         (Depends-on): Add math, isfinite, trunc, isinf.
6053         (configure.ac): Addrange to compile lib/modf.c if needed.
6054         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
6055         m4/signbit.m4.
6056         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
6057         * tests/test-math-c++.cc: Check the declaration of modf.
6058         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
6059
6060         Tests for module 'modfl-ieee'.
6061         * modules/modfl-ieee-tests: New file.
6062         * tests/test-modfl-ieee.c: New file.
6063
6064         New module 'modfl-ieee'.
6065         * modules/modfl-ieee: New file.
6066
6067         Tests for module 'modf-ieee'.
6068         * modules/modf-ieee-tests: New file.
6069         * tests/test-modf-ieee.c: New file.
6070
6071         New module 'modf-ieee'.
6072         * modules/modf-ieee: New file.
6073
6074         Tests for module 'modff-ieee'.
6075         * modules/modff-ieee-tests: New file.
6076         * tests/test-modff-ieee.c: New file.
6077         * tests/test-modf-ieee.h: New file.
6078
6079         New module 'modff-ieee'.
6080         * modules/modff-ieee: New file.
6081
6082 2012-02-26  Bruno Haible  <bruno@clisp.org>
6083
6084         Tests for module 'fabsl-ieee'.
6085         * modules/fabsl-ieee-tests: New file.
6086         * tests/test-fabsl-ieee.c: New file.
6087
6088         New module 'fabsl-ieee'.
6089         * modules/fabsl-ieee: New file.
6090
6091         Tests for module 'fabs-ieee'.
6092         * modules/fabs-ieee-tests: New file.
6093         * tests/test-fabs-ieee.c: New file.
6094
6095         New module 'fabs-ieee'.
6096         * modules/fabs-ieee: New file.
6097
6098         Tests for module 'fabsf-ieee'.
6099         * modules/fabsf-ieee-tests: New file.
6100         * tests/test-fabsf-ieee.c: New file.
6101         * tests/test-fabs-ieee.h: New file.
6102
6103         New module 'fabsf-ieee'.
6104         * modules/fabsf-ieee: New file.
6105
6106 2012-02-26  Bruno Haible  <bruno@clisp.org>
6107
6108         Tests for module 'fmal-ieee'.
6109         * modules/fmal-ieee-tests: New file.
6110         * tests/test-fmal-ieee.c: New file.
6111
6112         New module 'fmal-ieee'.
6113         * modules/fmal-ieee: New file.
6114
6115         Tests for module 'fma-ieee'.
6116         * modules/fma-ieee-tests: New file.
6117         * tests/test-fma-ieee.c: New file.
6118
6119         New module 'fma-ieee'.
6120         * modules/fma-ieee: New file.
6121
6122         Tests for module 'fmaf-ieee'.
6123         * modules/fmaf-ieee-tests: New file.
6124         * tests/test-fmaf-ieee.c: New file.
6125         * tests/test-fma-ieee.h: New file.
6126
6127         New module 'fmaf-ieee'.
6128         * modules/fmaf-ieee: New file.
6129
6130 2012-02-26  Bruno Haible  <bruno@clisp.org>
6131
6132         Tests for module 'ldexpl-ieee'.
6133         * modules/ldexpl-ieee-tests: New file.
6134         * tests/test-ldexpl-ieee.c: New file.
6135
6136         New module 'ldexpl-ieee'.
6137         * modules/ldexpl-ieee: New file.
6138
6139         Tests for module 'ldexp-ieee'.
6140         * modules/ldexp-ieee-tests: New file.
6141         * tests/test-ldexp-ieee.c: New file.
6142
6143         New module 'ldexp-ieee'.
6144         * modules/ldexp-ieee: New file.
6145
6146         Tests for module 'ldexpf-ieee'.
6147         * modules/ldexpf-ieee-tests: New file.
6148         * tests/test-ldexpf-ieee.c: New file.
6149         * tests/test-ldexp-ieee.h: New file.
6150
6151         New module 'ldexpf-ieee'.
6152         * modules/ldexpf-ieee: New file.
6153
6154 2012-02-26  Bruno Haible  <bruno@clisp.org>
6155
6156         Refactor frexp*-ieee tests.
6157         * tests/test-frexp-ieee.h: New file.
6158         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
6159         (main): Just call test_function.
6160         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
6161         (main): Just call test_function.
6162         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
6163         (main): Just call test_function.
6164         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
6165         * modules/frexp-ieee-tests (Files): Likewise.
6166         * modules/frexpl-ieee-tests (Files): Likewise.
6167
6168         Tests for module 'frexpl-ieee'.
6169         * modules/frexpl-ieee-tests: New file.
6170         * tests/test-frexpl-ieee.c: New file.
6171
6172         New module 'frexpl-ieee'.
6173         * modules/frexpl-ieee: New file.
6174
6175         Tests for module 'frexp-ieee'.
6176         * modules/frexp-ieee-tests: New file.
6177         * tests/test-frexp-ieee.c: New file.
6178
6179         New module 'frexp-ieee'.
6180         * modules/frexp-ieee: New file.
6181
6182         Tests for module 'frexpf-ieee'.
6183         * modules/frexpf-ieee-tests: New file.
6184         * tests/test-frexpf-ieee.c: New file.
6185
6186         New module 'frexpf-ieee'.
6187         * modules/frexpf-ieee: New file.
6188
6189 2012-02-26  Bruno Haible  <bruno@clisp.org>
6190
6191         roundl-ieee tests: More tests.
6192         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6193         (main): Add tests for [MX] shaded specification in POSIX.
6194         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6195         (Depends-on): Add isnanl-nolibm.
6196
6197         round-ieee tests: More tests.
6198         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6199         (main): Add tests for [MX] shaded specification in POSIX.
6200         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6201         (Depends-on): Add isnand-nolibm.
6202
6203         roundf-ieee tests: More tests.
6204         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6205         (main): Add tests for [MX] shaded specification in POSIX.
6206         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6207         (Depends-on): Add isnanf-nolibm.
6208
6209         truncl-ieee tests: More tests.
6210         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6211         (main): Add tests for [MX] shaded specification in POSIX.
6212         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6213         (Depends-on): Add isnanl-nolibm.
6214
6215         trunc-ieee tests: More tests.
6216         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6217         (main): Add tests for [MX] shaded specification in POSIX.
6218         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6219         (Depends-on): Add isnand-nolibm.
6220
6221         truncf-ieee tests: More tests.
6222         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6223         (main): Add tests for [MX] shaded specification in POSIX.
6224         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6225         (Depends-on): Add isnanf-nolibm.
6226
6227         ceill-ieee tests: More tests.
6228         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6229         (main): Add tests for [MX] shaded specification in POSIX.
6230         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6231         (Depends-on): Add isnanl-nolibm.
6232
6233         ceil-ieee tests: More tests.
6234         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6235         (main): Add tests for [MX] shaded specification in POSIX.
6236         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6237         (Depends-on): Add isnand-nolibm.
6238
6239         ceilf-ieee tests: More tests.
6240         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6241         (main): Add tests for [MX] shaded specification in POSIX.
6242         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6243         (Depends-on): Add isnanf-nolibm.
6244
6245         floorl-ieee tests: More tests.
6246         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
6247         (main): Add tests for [MX] shaded specification in POSIX.
6248         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6249         (Depends-on): Add isnanl-nolibm.
6250
6251         floor-ieee tests: More tests.
6252         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
6253         (main): Add tests for [MX] shaded specification in POSIX.
6254         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6255         (Depends-on): Add isnand-nolibm.
6256
6257         floorf-ieee tests: More tests.
6258         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
6259         (main): Add tests for [MX] shaded specification in POSIX.
6260         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
6261         (Depends-on): Add isnanf-nolibm.
6262
6263 2012-02-26  Bruno Haible  <bruno@clisp.org>
6264
6265         fpieee: More comments.
6266         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
6267
6268 2012-02-25  Bruno Haible  <bruno@clisp.org>
6269
6270         Tests for module 'log10l'.
6271         * modules/log10l-tests: New file.
6272         * tests/test-log10l.c: New file.
6273         * tests/test-math-c++.cc: Check the declaration of log10l.
6274
6275         New module 'log10l'.
6276         * lib/math.in.h (log10l): New declaration.
6277         * lib/log10l.c: New file.
6278         * m4/log10l.m4: New file.
6279         * modules/log10l: New file.
6280         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
6281         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
6282         HAVE_DECL_LOG10L.
6283         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
6284         HAVE_DECL_LOG10L.
6285         * doc/posix-functions/log10l.texi: Mention the new module.
6286
6287 2012-02-25  Bruno Haible  <bruno@clisp.org>
6288
6289         fmodl, remainder*: Avoid wrong results due to rounding errors.
6290         * lib/fmodl.c (fmodl): Correct the result if it is not within the
6291         expected bounds.
6292         * lib/remainderf.c (remainderf): Likewise.
6293         * lib/remainder.c (remainder): Likewise.
6294         * lib/remainderl.c (remainderl): Likewise.
6295
6296 2012-02-25  Bruno Haible  <bruno@clisp.org>
6297
6298         Tests for module 'remainderl'.
6299         * modules/remainderl-tests: New file.
6300         * tests/test-remainderl.c: New file.
6301         * tests/test-math-c++.cc: Check the declaration of remainderl.
6302
6303         New module 'remainderl'.
6304         * lib/math.in.h (remainderl): New declaration.
6305         * lib/remainderl.c: New file.
6306         * m4/remainderl.m4: New file.
6307         * modules/remainderl: New file.
6308         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
6309         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
6310         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
6311         HAVE_REMAINDERL.
6312         * doc/posix-functions/remainderl.texi: Mention the new module.
6313
6314 2012-02-25  Bruno Haible  <bruno@clisp.org>
6315
6316         Tests for module 'remainderf'.
6317         * modules/remainderf-tests: New file.
6318         * tests/test-remainderf.c: New file.
6319         * tests/test-math-c++.cc: Check the declaration of remainderf.
6320
6321         New module 'remainderf'.
6322         * lib/math.in.h (remainderf): New declaration.
6323         * lib/remainderf.c: New file.
6324         * m4/remainderf.m4: New file.
6325         * modules/remainderf: New file.
6326         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
6327         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
6328         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
6329         HAVE_REMAINDERF.
6330         * doc/posix-functions/remainderf.texi: Mention the new module.
6331
6332 2012-02-25  Bruno Haible  <bruno@clisp.org>
6333
6334         remainder: Support for MSVC.
6335         * lib/math.in.h (remainder): New declaration.
6336         * lib/remainder.c: New file.
6337         * m4/remainder.m4: New file.
6338         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
6339         (Depends-on): Add math, round, fma.
6340         (configure.ac): Use results of gl_FUNC_REMAINDER.
6341         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
6342         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
6343         HAVE_DECL_REMAINDER.
6344         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
6345         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
6346         * tests/test-math-c++.cc: Check the declaration of remainder.
6347         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
6348         problems are fixed.
6349
6350 2012-02-25  Bruno Haible  <bruno@clisp.org>
6351
6352         Tests for module 'fmodl'.
6353         * modules/fmodl-tests: New file.
6354         * tests/test-fmodl.c: New file.
6355         * tests/test-math-c++.cc: Check the declaration of fmodl.
6356
6357         New module 'fmodl'.
6358         * lib/math.in.h (fmodl): New declaration.
6359         * lib/fmodl.c: New file.
6360         * m4/fmodl.m4: New file.
6361         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
6362         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
6363         REPLACE_FMODL.
6364         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
6365         REPLACE_FMODL.
6366         * modules/fmodl: New file.
6367         * doc/posix-functions/fmodl.texi: Mention the new module.
6368
6369 2012-02-25  Bruno Haible  <bruno@clisp.org>
6370
6371         Tests for module 'modfl'.
6372         * modules/modfl-tests: New file.
6373         * tests/test-modfl.c: New file.
6374         * tests/test-math-c++.cc: Check the declaration of modfl.
6375
6376         New module 'modfl'.
6377         * lib/math.in.h (modfl): New declaration.
6378         * lib/modfl.c: New file.
6379         * m4/modfl.m4: New file.
6380         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
6381         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
6382         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
6383         * modules/modfl: New file.
6384         * doc/posix-functions/modfl.texi: Mention the new module.
6385
6386 2012-02-25  Bruno Haible  <bruno@clisp.org>
6387
6388         Tests for module 'fabsl'.
6389         * modules/fabsl-tests: New file.
6390         * tests/test-fabsl.c: New file.
6391         * tests/test-math-c++.cc: Check the declaration of fabsl.
6392
6393         New module 'fabsl'.
6394         * lib/math.in.h (fabsl): New declaration.
6395         * lib/fabsl.c: New file.
6396         * m4/fabsl.m4: New file.
6397         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
6398         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
6399         REPLACE_FABSL.
6400         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
6401         REPLACE_FABSL.
6402         * modules/fabsl: New file.
6403         * doc/posix-functions/fabsl.texi: Mention the new module.
6404
6405 2012-02-25  Bruno Haible  <bruno@clisp.org>
6406
6407         fabs tests: More tests.
6408         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
6409         (zero): New variable.
6410         (main): Add tests for signed zero.
6411         * modules/fabs-tests (Files): Add tests/minus-zero.h.
6412
6413         fabsf tests: More tests.
6414         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
6415         (zero): New variable.
6416         (main): Add tests for signed zero.
6417         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
6418
6419 2012-02-24  Bruno Haible  <bruno@clisp.org>
6420
6421         atanl: Provide function definition on MSVC.
6422         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
6423         function pointer.
6424         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
6425
6426 2012-02-24  Bruno Haible  <bruno@clisp.org>
6427
6428         acosl: Provide function definition on MSVC.
6429         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
6430         function pointer.
6431         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
6432
6433 2012-02-24  Bruno Haible  <bruno@clisp.org>
6434
6435         asinl: Provide function definition on MSVC.
6436         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
6437         function pointer.
6438         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
6439
6440 2012-02-24  Bruno Haible  <bruno@clisp.org>
6441
6442         tanl: Provide function definition on MSVC.
6443         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
6444         function pointer.
6445         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
6446
6447 2012-02-24  Bruno Haible  <bruno@clisp.org>
6448
6449         cosl: Provide function definition on MSVC.
6450         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
6451         function pointer.
6452         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
6453
6454 2012-02-24  Bruno Haible  <bruno@clisp.org>
6455
6456         sinl: Provide function definition on MSVC.
6457         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
6458         function pointer.
6459         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
6460
6461 2012-02-24  Bruno Haible  <bruno@clisp.org>
6462
6463         logl: Provide function definition on MSVC.
6464         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
6465         function pointer.
6466         * lib/math.in.h (logl): Undefine if it does not exist as a function.
6467
6468 2012-02-24  Bruno Haible  <bruno@clisp.org>
6469
6470         expl: Provide function definition on MSVC.
6471         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
6472         function pointer.
6473         * lib/math.in.h (expl): Undefine if it does not exist as a function.
6474
6475 2012-02-24  Bruno Haible  <bruno@clisp.org>
6476
6477         sqrtl: Provide function definition on MSVC.
6478         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
6479         a function pointer.
6480         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
6481
6482 2012-02-24  Bruno Haible  <bruno@clisp.org>
6483
6484         ceill: Provide function definition on MSVC.
6485         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
6486         used as a function pointer.
6487         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
6488
6489 2012-02-24  Bruno Haible  <bruno@clisp.org>
6490
6491         floorl: Provide function definition on MSVC.
6492         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
6493         used as a function pointer.
6494         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
6495
6496 2012-02-24  Bruno Haible  <bruno@clisp.org>
6497
6498         ceilf: Provide function definition on MSVC.
6499         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
6500         used as a function pointer.
6501         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
6502
6503 2012-02-24  Bruno Haible  <bruno@clisp.org>
6504
6505         floorf: Provide function definition on MSVC.
6506         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
6507         used as a function pointer.
6508         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
6509
6510 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
6511
6512         stdnoreturn: new module
6513         This implements a replacement for C11's <stdnoreturn.h>.
6514         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
6515         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
6516         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
6517         * tests/test-stdnoreturn.c: New files.
6518
6519 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
6520
6521         regex: fix false multibyte matches in some regular expressions
6522         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
6523         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
6524         * lib/regex_internal.c (re_string_skip_chars):
6525         Fix miscomputation of remain_len that may cause incomplete
6526         multi-byte character and false match.
6527
6528 2012-02-24  Jim Meyering  <meyering@redhat.com>
6529
6530         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
6531         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
6532         uses with "==" *before* the call, e.g., 0 == strcmp (...)
6533         Remove now-unnecessary str''cmp obfuscation.
6534         Suggested by Akim Demaille.
6535
6536 2012-02-24  Bruno Haible  <bruno@clisp.org>
6537
6538         streq: Rename macro.
6539         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
6540         * NEWS: Mention the change.
6541         * lib/mbrtowc.c (mbrtowc): Update.
6542         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
6543         * lib/wcwidth.c (wcwidth): Update.
6544         Suggested by Akim Demaille and Jim Meyering.
6545
6546 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
6547
6548         regex: fix typo in definition of MIN
6549         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
6550         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
6551
6552 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
6553             Bruno Haible  <bruno@clisp.org>
6554
6555         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
6556         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
6557         entries into a stack-allocated buffer directly.
6558         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
6559
6560 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
6561             Bruno Haible  <bruno@clisp.org>
6562
6563         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
6564
6565          - There were several instances of this pattern:
6566
6567              for (;;) {
6568                n = acl (f, GETACLCNT, 0, NULL);
6569                [ allocate an array A of size N ]
6570                if (acl (f, GETACL, n, a) == n)
6571                  break;
6572              }
6573
6574            This loop might never terminate if some other process is constantly
6575            manipulating the file's ACL.  The loop should be rewritten to
6576            terminate.
6577
6578          - The acl (... GETACLNT ...) call is merely an optimization; its value
6579            is merely a hint as to how big to make the array.  A better
6580            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
6581            and just guess a reasonably-big size, growing the size and trying
6582            again if it's not large enough.  This guarantees termination, and
6583            saves a system call.
6584
6585         * lib/acl-internal.h: Include <limits.h>.
6586         (MIN, SIZE_MAX): New macros.
6587         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
6588         a stack-allocated buffer, and use malloc if it does not fit. Don't
6589         use GETACLCNT.
6590         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
6591
6592 2012-02-19  Bruno Haible  <bruno@clisp.org>
6593
6594         acl: Fix endless loop on Solaris with vxfs.
6595         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
6596         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
6597         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
6598         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
6599         * tests/test-sameacls.c (main)[Solaris]: Likewise.
6600         Reported by Bill Jones in
6601         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
6602
6603 2012-02-19  Bruno Haible  <bruno@clisp.org>
6604
6605         acl: Fix copy-acl test failure on Solaris 11 2011-11.
6606         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
6607         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
6608         that this function returns 0 in some more cases.
6609
6610 2012-02-19  Bruno Haible  <bruno@clisp.org>
6611
6612         acl: Update doc references.
6613         * doc/acl-resources.txt: Update links to Solaris documentation.
6614
6615 2012-02-19  Bruno Haible  <bruno@clisp.org>
6616
6617         Fix test failure in many locales on Solaris 11.
6618         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
6619         'tr' arguments.
6620         * tests/test-pipe-filter-ii1.c (main): Likewise.
6621         * build-aux/bootstrap (check_versions): Run 'tr' command with range
6622         expressions in the C locale.
6623         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
6624         * m4/host-os.m4 (gl_HOST_OS): Likewise.
6625
6626 2012-02-19  Bruno Haible  <bruno@clisp.org>
6627
6628         gnulib-tool: Improve usage message.
6629         * gnulib-tool (func_usage): Move doc of --help and --version to the
6630         section "Operation modes".
6631
6632 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
6633
6634         README-release: make it easier to execute commands
6635         * top/README-release: break commands out on to separate lines.
6636
6637 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
6638
6639         GNUmakefile: simplify detection of unconfigured trees
6640         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
6641         whether the tree make is being run from is already configured or
6642         not.  Related simplifications.
6643
6644 2012-02-13  Simon Josefsson  <simon@josefsson.org>
6645
6646         * gnulib-tool (func_usage): Document --help and --version.
6647
6648 2012-02-11  Jim Meyering  <meyering@redhat.com>
6649
6650         bootstrap: don't exit 0 upon gnulib-tool failure
6651         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
6652         its exit status, not 0.
6653
6654 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
6655
6656         README-release: various improvements
6657         * top/README-release: Give a command to push changes for the
6658         release.  Add "distcheck" to list of other pre-release checks.
6659         Fix instance of "make stable" which should be "make TYPE".
6660
6661 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
6662
6663         maint: replace FSF snail-mail addresses with URLs
6664         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
6665         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
6666         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
6667         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
6668         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
6669         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
6670         * lib/check-version.c, lib/check-version.h, lib/config.charset:
6671         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
6672         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
6673         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
6674         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
6675         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
6676         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
6677         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
6678         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
6679         * lib/glthread/thread.c, lib/glthread/thread.h:
6680         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
6681         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
6682         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
6683         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
6684         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
6685         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
6686         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
6687         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
6688         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
6689         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
6690         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
6691         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
6692         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
6693         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
6694         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
6695         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
6696         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
6697         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
6698         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
6699         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
6700         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
6701         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
6702         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
6703         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
6704         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
6705         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
6706         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
6707         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
6708         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
6709         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
6710         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
6711         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
6712         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
6713         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
6714         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
6715         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
6716         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
6717         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
6718         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
6719         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
6720         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
6721         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
6722         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
6723         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
6724         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
6725         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
6726         * tests/test-poll.c, tests/test-quotearg-simple.c:
6727         * tests/test-quotearg.c, tests/test-quotearg.h:
6728         * tests/test-round-ieee.c, tests/test-round1.c:
6729         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
6730         * tests/test-roundl-ieee.c, tests/test-roundl.c:
6731         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
6732         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
6733         * tests/test-strerror.c, tests/test-strerror_r.c:
6734         * tests/test-strsignal.c, tests/test-strverscmp.c:
6735         * tests/test-xmemdup0.c:
6736         Replace FSF snail mail addresses with URLs, as per GNU coding
6737         standards.  See glibc bug
6738         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
6739
6740 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
6741
6742         README-release: capitalize a word and split a line
6743         * top/README-release: Fix punctuation and spacing.
6744
6745 2012-02-08  Akim Demaille  <demaille@gostai.com>
6746
6747         fatal-signal: use C prototypes (with explicit void).
6748         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
6749         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
6750
6751 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6752
6753         regex: spelling fix
6754         * lib/regexec.c: spelling fix
6755
6756         regex: rely on stdint.h for SIZE_MAX
6757         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
6758
6759 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
6760
6761         regex: merge glibc changes
6762
6763         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
6764         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
6765         (init_word_char): Work even if bitset words are not exactly 32 or
6766         64 bits wide.  Don't assume there are no padding bits.
6767         * lib/regex.c [_LIBC]: Do not include <config.h>.
6768         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
6769         and -Wtype-limits.
6770         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
6771         needless disagreement with glibc.  All uses changed.  Define it to
6772         1 only if _GNU_SOURCE, to match glibc.
6773         (_REG_RM_NAME): Remove; no longer needed, since the names in
6774         question are now all protected by __USE_GNU.
6775         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
6776         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
6777         * lib/regex_internal.h (MIN): New macro.
6778
6779         2012-01-03 Ulrich Drepper <drepper@gmail.com>
6780         * lib/regcomp.c (init_word_char): Optimize regex a bit.
6781
6782         2011-12-30 Jakub Jelinek <jakub@redhat.com>
6783         * lib/regex_internal.c (re_string_fetch_byte_case):
6784         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
6785         is miscompiled, and it turns out it is because of an incorrect
6786         attribute on re_string_fetch_byte_case.  Unlike
6787         re_string_peek_byte_case, this one is really not pure, it modifies
6788         memory (increments pstr->cur_idx), and with the pure attribute GCC
6789         assumed it doesn't and it cached the presumed value of
6790         regexp->cur_idx in a variable across the
6791          for (;; ++i)
6792            {
6793              if (i >= BRACKET_NAME_BUF_SIZE)
6794                return REG_EBRACK;
6795              if (token->type == OP_OPEN_CHAR_CLASS)
6796                ch = re_string_fetch_byte_case (regexp);
6797              else
6798                ch = re_string_fetch_byte (regexp);
6799              if (re_string_eoi(regexp))
6800                return REG_EBRACK;
6801              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
6802                break;
6803              elem->opr.name[i] = ch;
6804            }
6805
6806         2011-11-29 Andreas Schwab <schwab@redhat.com>
6807         * lib/regcomp.c (build_equiv_class):
6808         Fix access after end of search string in regex matcher.
6809
6810         2011-11-12 Ulrich Drepper <drepper@redhat.com>
6811         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
6812
6813         2011-10-12 Ulrich Drepper <drepper@redhat.com>
6814         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
6815
6816         2011-10-11 Ulrich Drepper <drepper@redhat.com>
6817         * lib/regcomp.c (parse_branch, parse_sub_exp):
6818         More regex memory leak fixes and tests.
6819         (parse_sub_exp, parse_bracket_exp):
6820         Fix memory leak for some invalid regular expressions.
6821
6822         2011-05-28 Ulrich Drepper <drepper@gmail.com>
6823         * lib/regex_internal.c, lib/regexec.c:
6824         Fix unnecessary overallocation due to incomplete character.  When
6825         incomplete characters are found at the end of a string the code
6826         ran amok and allocated lots of memory.  Stricter limits are now in
6827         place.
6828
6829         2011-05-20 Reuben Thomas <rrt@sc3d.org>
6830         * lib/regex.h: Update documentation.
6831
6832         2011-05-16 Aharon Robbins <arnold@skeeve.com>
6833         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
6834
6835         2010-05-05 Andreas Schwab <schwab@redhat.com>
6836         * lib/regexec.c (find_collation_sequence_value):
6837         Fix lookup of collation sequence value during regexp matching.
6838
6839         2010-01-22 Ulrich Drepper <drepper@redhat.com>
6840         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
6841
6842         2008-01-16 Ulrich Drepper <drepper@redhat.com>
6843         * lib/regex.h: Cleanup namespace.
6844
6845         2007-11-26 Ulrich Drepper <drepper@redhat.com>
6846         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
6847
6848         2007-08-26 Ulrich Drepper <drepper@redhat.com>
6849         * lib/regex_internal.h: Prevent some declarations and definitions
6850         to be seen when used in tests.
6851
6852         2005-05-06 Ulrich Drepper <drepper@redhat.com>
6853         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
6854         __libc_lock_* macros if not _LIBC.
6855         (struct re_dfa_t): Add lock.
6856
6857 2012-02-07  Eric Blake  <eblake@redhat.com>
6858
6859         maint.mk: also prohibit lower-case @var@
6860         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
6861         lower case, like @top_srcdir@.
6862
6863 2012-02-04  Eric Blake  <eblake@redhat.com>
6864
6865         canonicalize: avoid uninitialized memory use
6866         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
6867         random '/' left in dest.
6868         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
6869
6870 2012-02-04  Bruno Haible  <bruno@clisp.org>
6871
6872         isatty: Fix test failure of ptsname_r on native Windows.
6873         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
6874         and don't set errno.
6875         (isatty): Test first whether fd is valid. Set errno when returning 0.
6876
6877 2012-02-04  Bruno Haible  <bruno@clisp.org>
6878
6879         spawn-pipe tests: Fix a NULL program name in a diagnostic.
6880         * tests/test-spawn-pipe-main.c: Include progname.h.
6881         (main): Invoke set_program_name.
6882         * modules/spawn-pipe-tests (Depends-on): Add progname.
6883
6884         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
6885         * tests/test-nonblocking-socket-main.c: Include progname.h.
6886         (main): Invoke set_program_name.
6887         * modules/nonblocking-socket-tests (Depends-on): Add progname.
6888
6889         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
6890         * tests/test-nonblocking-pipe-main.c: Include progname.h.
6891         (main): Invoke set_program_name.
6892         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
6893
6894 2012-02-04  Eric Blake  <eblake@redhat.com>
6895
6896         canonicalize-lgpl: fix // handling
6897         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
6898
6899         canonicalize: fix // handling
6900         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
6901         /// to //, since only // is special.
6902
6903 2012-02-04  Bruno Haible  <bruno@clisp.org>
6904
6905         ioctl: Fix test failure on native Windows.
6906         * lib/ioctl.c: Include msvc-nothrow.h.
6907         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
6908
6909 2012-02-04  Bruno Haible  <bruno@clisp.org>
6910
6911         fsync: Avoid test failure on native Windows.
6912         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
6913         read-only.
6914
6915 2012-02-04  Bruno Haible  <bruno@clisp.org>
6916
6917         sys_select: Avoid syntax error on OpenBSD 5.0.
6918         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
6919         currently being included, just include the system's <sys/select.h>.
6920
6921 2012-02-04  Bruno Haible  <bruno@clisp.org>
6922
6923         sys_select: Avoid syntax error on OpenBSD 5.0.
6924         * lib/sys_select.in.h: Include <signal.h> only after the include_next
6925         <sys/select.h>, not before.
6926         Reported by Jiri B <jirib@devio.us>.
6927
6928 2012-02-04  Bruno Haible  <bruno@clisp.org>
6929
6930         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
6931         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
6932         global variables.
6933         * tests/test-get-rusage-data.c (main): Likewise.
6934         Reported by Jim Meyering.
6935
6936 2012-02-04  Bruno Haible  <bruno@clisp.org>
6937
6938         stdioext: Fix last commit.
6939         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
6940
6941 2012-02-03  Bruno Haible  <bruno@clisp.org>
6942
6943         stdioext: Add tentative support for Plan9.
6944         * lib/stdio-impl.h: Include <errno.h>.
6945         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
6946         * lib/freadable.c (freadable): Likewise.
6947         * lib/fwritable.c (fwritable): Likewise.
6948         * lib/fbufmode.c (fbufmode): Likewise.
6949         * lib/freading.c (freading): Likewise.
6950         * lib/fwriting.c (fwriting): Likewise.
6951         * lib/freadptr.c (freadptr): Likewise.
6952         * lib/freadseek.c (freadptrinc): Likewise.
6953         * lib/freadahead.c (freadahead): Likewise.
6954         * lib/fpurge.c (fpurge): Likewise.
6955         * lib/fseeko.c (rpl_fseeko): Likewise.
6956         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
6957         Reported by Jens Staal <staal1978@gmail.com>.
6958
6959 2012-02-02  Jim Meyering  <meyering@redhat.com>
6960
6961         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
6962         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
6963         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
6964         not even to try to add the attribute.  Instead, add a pragma to suppress
6965         the suggestion/warning.
6966
6967 2012-01-31  Karl Berry  <karl@gnu.org>
6968
6969         setstate doc: typo.
6970         * doc/posix-functions/setstate.texi (setstate): { not (.
6971
6972 2012-01-31  Bruno Haible  <bruno@clisp.org>
6973
6974         popen: Make more robust on Windows.
6975         * lib/popen.c: On native Windows, use the _popen based code even if
6976         HAVE_POPEN is set.
6977         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
6978         environment variable on native Windows.
6979
6980 2012-01-30  Bruno Haible  <bruno@clisp.org>
6981
6982         pclose: Fix typo.
6983         * lib/stdio.in.h (pclose): Fix typo in warning message.
6984
6985 2012-01-30  Bruno Haible  <bruno@clisp.org>
6986
6987         doc about getlogin_r, setstate.
6988         * doc/posix-functions/getlogin_r.texi: List the incompatible
6989         declaration problem under "not fixed by gnulib".
6990         * doc/posix-functions/setstate.texi: Mention incompatible declaration
6991         problem on Solaris 11 and other platforms.
6992
6993 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
6994             Bruno Haible  <bruno@clisp.org>
6995
6996         poll tests: Make test more robust.
6997         * tests/test-poll.c: Include macros.h.
6998         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
6999         return value of various I/O operations.
7000         * modules/poll-tests (Files): Add tests/macros.h.
7001
7002 2012-01-30  Bruno Haible  <bruno@clisp.org>
7003
7004         sys_stat: Fix support for mingw64 and MSVC.
7005         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
7006         header files already do it.
7007         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
7008         stat itself.
7009         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
7010
7011 2012-01-30  Bruno Haible  <bruno@clisp.org>
7012
7013         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
7014         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
7015         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
7016
7017 2012-01-29  Bruno Haible  <bruno@clisp.org>
7018
7019         quotearg: Fix test failure on MacOS X 10.5.
7020         * tests/test-quotearg-simple.c: Include localcharset.h.
7021         (main): If the locale encoding is not ASCII, bypass the tests of
7022         locale_quoting_style and clocale_quoting_style.
7023         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
7024
7025 2012-01-29  Jim Meyering  <meyering@redhat.com>
7026
7027         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
7028         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
7029         detect uses of canonicalize_file_name.
7030
7031 2012-01-28  Bruno Haible  <bruno@clisp.org>
7032
7033         test-framework-sh: Fix test failure with AIX 7.1 diff.
7034         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
7035         in column 1, like 'diff -c' does.
7036         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
7037         whether 'diff -u' is used. Instead, test whether the output contains
7038         some '@' character.
7039
7040 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
7041
7042         strtoimax: eliminate need for stdint.h, inttypes.h checks
7043         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
7044         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
7045         the prerequisites for a recently-introduced strtoimax test.
7046         I guess this might cause strtoimax to be replaced when not
7047         strictly necessary on older hosts, but this shouldn't introduce
7048         any bugs and it should make Emacs 'configure' faster on typical
7049         modern hosts.  Problem discovered when importing the latest gnulib
7050         to an Emacs test version.
7051         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
7052
7053 2012-01-28  Bruno Haible  <bruno@clisp.org>
7054
7055         sys_time: Override 'struct timeval' on some native Windows platforms.
7056         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
7057         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
7058         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
7059         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
7060         needs to be overridden.
7061         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
7062         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
7063         * tests/test-sys_select.c: Check that the tv_sec member has the same
7064         size as a 'time_t'.
7065         * tests/test-sys_time.c: Likewise.
7066         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
7067         is set, set also REPLACE_GETTIMEOFDAY.
7068         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
7069         convert the resulting 'struct timeval' before returning.
7070         * lib/select.c: Include <sys/time.h>.
7071         (select, timeval): Undefine at the right place.
7072         * modules/select (Depends-on): Add sys_time.
7073         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
7074         some Windows platforms.
7075         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
7076
7077 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7078
7079         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
7080         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
7081         an integer.
7082         * lib/fcntl.c (dupfd): Likewise.
7083         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
7084
7085 2012-01-28  Bruno Haible  <bruno@clisp.org>
7086
7087         fcntl: Avoid compilation error on native Windows.
7088         * modules/fcntl (Depends-on): Add 'close'.
7089
7090 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7091
7092         select, poll, isatty: Avoid warnings on x86_64 mingw64.
7093         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
7094         pointer to an integer.
7095         * lib/poll.c (IsConsoleHandle): Likewise.
7096         * lib/isatty.c (IsConsoleHandle): Likewise.
7097
7098 2012-01-28  Jim Meyering  <meyering@redhat.com>
7099
7100         doc: clarify README-release
7101         * top/README-release: Clarify: you should make a point to have
7102         the latest stable versions of build tools in your PATH, and the
7103         reference to buildreq is solely for its list of tool names, not
7104         for its minimal-functional version numbers.
7105         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
7106
7107         maint.mk: use more readable (yet functionally equivalent) quoting
7108         It is common to quote a single quote in a single quoted string like
7109         this:  '...'\''...'.  Unless you know the idiom, that looks like
7110         gibberish, so prefer to double-quote the string when possible.
7111         Then you can use a more readable, lone single quote: "...'..."
7112         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
7113         "don't" is more readable than the equivalent 'don'\''t'.
7114         (sc_cast_of_x_alloc_return_value): Likewise.
7115         (sc_cast_of_alloca_return_value): Likewise.
7116         (sc_makefile_path_separator_check): Similar: use ":" in '...',
7117         rather than '\'':'\''.
7118
7119 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7120
7121         stdalign: relax _Alignof and tighten _Alignas test
7122         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
7123         as it was too strict: alignof must divide offsetof, but it need
7124         not equal offsetof.  Inspired by Joseph S. Myers's comment
7125         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
7126         Conversely, tighten the _Alignas test a bit, as the resulting
7127         alignment must be exactly 8.
7128
7129 2012-01-27  Bruno Haible  <bruno@clisp.org>
7130
7131         stdalign: Document the last change.
7132         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
7133
7134 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
7135
7136         stdalign: check that alignof and offsetof are consistent
7137         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
7138         Problem reported for gnulib by Richard W.M. Jones in
7139         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
7140
7141 2012-01-27  Jim Meyering  <meyering@redhat.com>
7142
7143         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
7144         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
7145         convert a sequence with gaps to the minimal containing range.
7146         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
7147         * tests/test-update-copyright.sh: Test for this.
7148         The FSF confirmed it is ok to do this, assuming there is at
7149         least one significant change per year in the affected range:
7150         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
7151
7152 2012-01-26  Bruno Haible  <bruno@clisp.org>
7153
7154         pipe2: refine doc about thread-safety
7155         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
7156         multithread-safety problem.
7157         * doc/glibc-functions/accept4.texi: Likewise.
7158
7159 2012-01-26  Bruno Haible  <bruno@clisp.org>
7160
7161         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
7162         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
7163         In the test program, include <fcntl.h>, for O_RDONLY.
7164
7165 2012-01-26  Eric Blake  <eblake@redhat.com>
7166
7167         pipe2: document lack of thread-safety in replacement
7168         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
7169         issue in replacement.
7170         * doc/glibc-functions/accept4.texi (accept4): Likewise.
7171         Based on a report by Eric Wong.
7172
7173 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
7174             Bruno Haible  <bruno@clisp.org>
7175
7176         malloca: Avoid warnings on x86_64 mingw64.
7177         * lib/malloca.c: Include <stdint.h>.
7178         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
7179         * modules/malloca (Depends-on): Add stdint.
7180         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
7181
7182 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
7183
7184         obstack: remove __STDC__ conditionals
7185         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
7186         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
7187         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
7188         m4/include_next.m4 as the only gnulib-maintained places that still
7189         refer to __STDC__.
7190
7191 2012-01-24  Bruno Haible  <bruno@clisp.org>
7192
7193         havelib: Modern quoting.
7194         * build-aux/config.rpath: Quote 'like this', not `like this', as per
7195         the recent change to the GNU coding standards.
7196
7197 2012-01-24  Bruno Haible  <bruno@clisp.org>
7198
7199         stdint: Improve support for Android.
7200         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
7201         Reported by Simon Josefsson <simon@josefsson.org>.
7202
7203 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
7204
7205         doc: omit trailing empty lines from INSTALL etc.
7206         * doc/Makefile (INSTALL): Omit trailing empty lines.
7207         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
7208         omit trailing empty lines.  This simplifies the build procedure.
7209
7210 2012-01-23  Jim Meyering  <meyering@redhat.com>
7211
7212         tests: avoid spurious warnings about gl_sockets_startup
7213         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
7214         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
7215         reporting a "statement with no effect".
7216         * tests/test-accept.c (main): Mark as "(void)".
7217         * tests/test-accept4.c (main): Likewise.
7218         * tests/test-bind.c (main): Likewise.
7219         * tests/test-connect.c (main): Likewise.
7220         * tests/test-getpeername.c (main): Likewise.
7221         * tests/test-getsockname.c (main): Likewise.
7222         * tests/test-getsockopt.c (main): Likewise.
7223         * tests/test-listen.c (main): Likewise.
7224         * tests/test-recv.c (main): Likewise.
7225         * tests/test-recvfrom.c (main): Likewise.
7226         * tests/test-send.c (main): Likewise.
7227         * tests/test-sendto.c (main): Likewise.
7228         * tests/test-setsockopt.c (main): Likewise.
7229         * tests/test-shutdown.c (main): Likewise.
7230
7231 2012-01-21  Bruno Haible  <bruno@clisp.org>
7232
7233         locale-fr.m4: Fix for Android.
7234         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
7235         failure of the test program on Bionic libc.
7236
7237 2012-01-21  Jim Meyering  <meyering@redhat.com>
7238
7239         bootstrap: fail when bootstrap_post_import_hook fails
7240         Otherwise, it's far too easy to miss diagnostics emitted
7241         between gnulib-tool's output and that of running configure.
7242         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
7243
7244 2012-01-17  Jim Meyering  <meyering@redhat.com>
7245
7246         maint: enable sc_trailing_blank
7247         * build-aux/pmccabe.css: Remove trailing blanks.
7248         * doc/acl-cygwin.txt: Likewise.
7249         * doc/gnu-oids.texi: Likewise
7250         * cfg.mk: Enable sc_trailing_blank.
7251         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
7252
7253 2012-01-17  Jim Meyering  <meyering@redhat.com>
7254
7255         maint: enable sc_prohibit_openat_without_use
7256         * cfg.mk: Enable sc_prohibit_openat_without_use.
7257         Exempt lib/selinux-at.c.
7258
7259 2012-01-17  Jim Meyering  <meyering@redhat.com>
7260
7261         maint: enable sc_prohibit_cloexec_without_use
7262         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
7263         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
7264
7265 2012-01-17  Jim Meyering  <meyering@redhat.com>
7266
7267         maint: enable sc_prohibit_intprops_without_use
7268         * cfg.mk: Enable sc_prohibit_intprops_without_use
7269         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
7270
7271 2012-01-17  Jim Meyering  <meyering@redhat.com>
7272
7273         maint: enable sc_prohibit_hash_pjw_without_use
7274         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
7275         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
7276         to match any use of \<hash_pjw\>, i.e., not necessarily with a
7277         following " (".
7278
7279 2012-01-17  Jim Meyering  <meyering@redhat.com>
7280
7281         maint: enable double-word-prohibiting rule
7282         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
7283         Exempt three files.
7284
7285 2012-01-17  Jim Meyering  <meyering@redhat.com>
7286
7287         maint: remove empty lines at EOF, but excluding modules/*
7288         Apply syntax rules at home as well as abroad.  Most changes
7289         were induced by running this:
7290           make srcdir=. _build-aux=build-aux -f top/maint.mk \
7291             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
7292             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
7293         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
7294         Exempt modules/* and two binary files.
7295         Also exempt doc/INSTALL*, per request from Bruno Haible.
7296         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
7297         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
7298         * doc/Copyright/request-assign.future: Likewise.
7299         * doc/Copyright/request-disclaim.changes: Likewise.
7300         * doc/INSTALL: Likewise.
7301         * doc/INSTALL.ISO: Likewise.
7302         * doc/INSTALL.UTF-8: Likewise.
7303         * doc/acl-cygwin.txt: Likewise.
7304         * doc/acl-resources.txt: Likewise.
7305         * doc/fdl-1.2.texi: Likewise.
7306         * doc/fdl-1.3.texi: Likewise.
7307         * doc/fdl.texi: Likewise.
7308         * lib/argp-pin.c: Likewise.
7309         * lib/round.c: Likewise.
7310         * lib/unicase/u16-totitle.c: Likewise.
7311         * lib/unictype/block_test.c: Likewise.
7312         * lib/uninorm/canonical-decomposition.c: Likewise.
7313         * m4/README: Likewise.
7314         * m4/relocatable-lib.m4: Likewise.
7315         * tests/test-isnand-nolibm.c: Likewise.
7316         * tests/test-isnand.c: Likewise.
7317         * tests/uninorm/NormalizationTest.txt: Likewise.
7318
7319 2012-01-17  Jim Meyering  <meyering@redhat.com>
7320
7321         maint: add framework to run syntax-check rules against gnulib sources
7322         * cfg.mk: New file, to disable all currently-failing tests.
7323         We'll enable them one by one, as they are made to pass.
7324         * Makefile (sc_maint): New rule.
7325
7326 2012-01-21  Bruno Haible  <bruno@clisp.org>
7327
7328         stdint: Add support for Android.
7329         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
7330         include the system's <stdint.h>.
7331         Reported by Simon Josefsson <simon@josefsson.org>.
7332
7333 2012-01-19  Jim Meyering  <meyering@redhat.com>
7334
7335         bootstrap: add bootstrap_post_import_hook
7336         Bison does still need something like the gnulib_mk_hook whose
7337         invocation I had to remove along with slurp in commit 767ccd40.
7338         Technically, we could get along without it, but doing so would
7339         have required living with a warning and a mandatory post-bootstrap
7340         automake rerun.
7341         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
7342         (bootstrap_post_import_hook): New function.
7343         Invoke it after gnulib-tool --import and before autoreconf.
7344
7345 2012-01-18  Jim Meyering  <meyering@redhat.com>
7346
7347         gitlog-to-changelog: don't use "no_"-prefixed variable name
7348         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
7349         to enable both --cluster and --no-cluster.  Change variable name,
7350         s/\$no_cluster/$cluster/, and reverse usage to match.
7351
7352         gitlog-to-changelog: use "||", not "or" in expressions
7353         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
7354         expressions.
7355
7356 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
7357
7358         gitlog-to-changelog: new option --no-cluster
7359         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
7360         clustering of adjacent commit messages.
7361
7362 2012-01-17  Jim Meyering  <meyering@redhat.com>
7363
7364         maint: spell file systems with two words, not one
7365         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
7366         two words, not one.
7367
7368 2012-01-16  Jim Meyering  <meyering@redhat.com>
7369
7370         bootstrap: add a FIXME comment to ensure we eventually remove the hack
7371         * build-aux/bootstrap (gnulib_tool_options): Add comment.
7372
7373 2012-01-16  Eric Blake  <eblake@redhat.com>
7374
7375         bootstrap: cater to autoconf 2.59
7376         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
7377         is not available.
7378
7379         bootstrap: properly check for libtool
7380         * build-aux/bootstrap (libtoolize): Also run libtool when older
7381         usage is detected.
7382
7383 2012-01-15  Bruno Haible  <bruno@clisp.org>
7384
7385         Improve support for MSVC 9.
7386         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
7387         clashes on MSVC.
7388         * lib/fcntl.in.h: Likewise.
7389         * lib/stdlib.in.h: Likewise.
7390         * lib/sys_stat.in.h: Likewise.
7391
7392 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
7393
7394         gnupload: we hold the master copy of this script now
7395         For motivation and more information, see:
7396         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
7397         * build-aux/gnupload: Make it clear in the heading comments that the
7398         master copy of this file is maintained by gnulib.  Since we are at
7399         it, bump its copyright year and ...
7400         ($scriptversion): ... the date in its version.
7401         ($usage): Patches and bug reports should be sent to the gnulib list,
7402         not the automake one.
7403         * config/srclist.txt: Don't try to sync 'gnupload' from automake
7404         anymore.
7405
7406 2012-01-15  Bruno Haible  <bruno@clisp.org>
7407
7408         Fix module 'random'.
7409         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
7410         initstate, setstate are declared.
7411
7412 2012-01-14  Bruno Haible  <bruno@clisp.org>
7413
7414         Tests for module 'random'.
7415         * modules/random-tests: New file.
7416         * tests/test-random.c: New file, based on tests/test-random_r.c.
7417
7418         New module 'random'.
7419         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
7420         declarations.
7421         * lib/random.c: New file, based on glibc/stdlib/random.c.
7422         * m4/random.m4: New file.
7423         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
7424         HAVE_RANDOM.
7425         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
7426         * modules/random: New file.
7427         * config/srclist.txt: Add an entry for random.c.
7428         * doc/posix-functions/random.texi: Mention the 'random' module.
7429         * doc/posix-functions/initstate.texi: Likewise.
7430         * doc/posix-functions/setstate.texi: Likewise.
7431         * doc/posix-functions/srandom.texi: Likewise.
7432
7433 2012-01-12  Bruno Haible  <bruno@clisp.org>
7434
7435         random_r: Use common idioms.
7436         * lib/random_r.c: Include <stdlib.h> first.
7437
7438         random_r: Override incompatible API on AIX, OSF/1.
7439         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
7440         Override the system function if REPLACE_RANDOM_R is 1.
7441         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
7442         and OSF/1, set REPLACE_RANDOM_R.
7443         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
7444         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
7445         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
7446         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
7447         * doc/glibc-functions/random_r.texi: Likewise.
7448         * doc/glibc-functions/setstate_r.texi: Likewise.
7449
7450         random_r: Support for MSVC 9.
7451         * lib/random_r.c: Include stdint.h, not inttypes.h.
7452
7453 2012-01-12  Eric Blake  <eblake@redhat.com>
7454
7455         inet_ntop: guard extra work by IF_LINT
7456         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
7457         better code generation when not checking for warnings.
7458         Suggested by Paul Eggert and Jim Meyering.
7459
7460         strptime: fix regression on mingw
7461         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
7462         Fix regression.  Reported by Bruno Haible.
7463
7464 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
7465             Bruno Haible  <bruno@clisp.org>
7466
7467         copy-file: add error-code-returning variant.
7468         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
7469         (qcopy_file_preserving): New declaration.
7470         * lib/copy-file.c (qcopy_file_preserving): Renamed from
7471         copy_file_preserving. Change return type to 'int'. Don't emit an error
7472         message here.
7473         (copy_file_preserving): New function.
7474         * tests/test-copy-file.c: Include <stdlib.h>.
7475         (main): Test qcopy_file_preserving if the environment variable
7476         NO_STDERR_OUTPUT is set.
7477         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
7478         with NO_STDERR_OUTPUT
7479         * tests/test-copy-file-2.sh: Likewise.
7480
7481 2012-01-10  Bruno Haible  <bruno@clisp.org>
7482
7483         copy-file: Use 'quote' module consistently.
7484         * lib/copy-file.c (copy_file_preserving): Use quote().
7485
7486         copy-file: Refactor.
7487         * lib/copy-file.c: Include quote.h.
7488         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
7489         message here.
7490         * modules/copy-file (Depends-on): Add quote.
7491
7492         acl: Export qcopy_acl.
7493         * lib/acl.h (qcopy_acl): New declaration.
7494         * lib/copy-acl.c (qcopy_acl): Make non-static.
7495
7496         acl: Rename a local variable.
7497         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
7498
7499         acl: Align return values of copy_acl and qcopy_acl.
7500         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
7501         maybe < -1.
7502
7503 2012-01-11  Eric Blake  <eblake@redhat.com>
7504
7505         strptime: silence gcc warnings
7506         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
7507         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
7508         Reported by Daniel P. Berrange.
7509
7510         inet_ntop: silence gcc warning
7511         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
7512         Reported by Daniel P. Berrange.
7513
7514 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
7515
7516         getloadavg test: skip the test on GNU/Linux without /proc mounted
7517         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
7518         file.  When /proc is not mounted, it always fails with ENOENT.
7519         * tests/test-getloadavg.c (main): Treat ENOENT return code from
7520         getloadavg(3) the same way as ENOSYS and ENOTSUP.
7521
7522 2012-01-10  Bruno Haible  <bruno@clisp.org>
7523
7524         regex: Avoid link error on MSVC 9.
7525         * modules/regex (Depends-on): Add wctype.
7526
7527 2012-01-10  Bruno Haible  <bruno@clisp.org>
7528
7529         doc: Mention --with-tests option.
7530         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
7531         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
7532         --with-tests.
7533         Reported by Reuben Thomas.
7534
7535 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
7536
7537         users.txt: order package names lexicographically.
7538         * users.txt: Order package names lexicographically.
7539
7540 2012-01-10  Jim Meyering  <meyering@redhat.com>
7541
7542         maint.mk: fix description in comment
7543         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
7544
7545         ignore-value: remove deprecated ignore_ptr function
7546         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
7547         * NEWS: Note this.
7548
7549 2012-01-09  Jim Meyering  <meyering@redhat.com>
7550
7551         test-init.sh: avoid a subshell
7552         * tests/test-init.sh: Remove protective subshell.
7553         Suggested by Bernhard Voelker.  While a subshell is normally
7554         required to protect against older shells (Solaris, FreeBSD) that
7555         warn about a missing program before performing redirection, the
7556         shell-selection tests performed by init.sh probably exclude any
7557         offending shell.
7558
7559 2012-01-08  Bruno Haible  <bruno@clisp.org>
7560
7561         setlocale tests: Avoid test failure on Solaris 11 2011-11.
7562         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
7563         variable.
7564
7565 2012-01-08  Bruno Haible  <bruno@clisp.org>
7566
7567         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
7568         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
7569         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
7570         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
7571         macro.
7572         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
7573         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
7574         * lib/spawn_faction_addopen.c: Add workaround implementation if
7575         HAVE_WORKING_POSIX_SPAWN.
7576         * modules/spawn (Makefile): Substitute
7577         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
7578         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
7579         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
7580         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
7581         (Depends-on): Update conditions.
7582         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
7583         the Solaris 11 bug.
7584
7585 2012-01-08  Bruno Haible  <bruno@clisp.org>
7586
7587         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
7588         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
7589         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
7590         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
7591         macro.
7592         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
7593         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
7594         * lib/spawn_faction_adddup2.c: Add workaround implementation if
7595         HAVE_WORKING_POSIX_SPAWN.
7596         * modules/spawn (Makefile): Substitute
7597         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
7598         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
7599         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
7600         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
7601         (Depends-on): Update conditions.
7602         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
7603         the Solaris 11 bug.
7604
7605 2012-01-08  Bruno Haible  <bruno@clisp.org>
7606
7607         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
7608         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
7609         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
7610         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
7611         HAVE_WORKING_POSIX_SPAWN.
7612         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
7613         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
7614         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
7615         * lib/spawn_faction_addclose.c: Add workaround implementation if
7616         HAVE_WORKING_POSIX_SPAWN.
7617         * modules/spawn (Makefile): Substitute
7618         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
7619         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
7620         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
7621         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
7622         (Depends-on): Update conditions.
7623         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
7624         the Solaris 11 bug.
7625
7626 2012-01-08  Bruno Haible  <bruno@clisp.org>
7627
7628         doc: Update for Solaris 11 2011-11.
7629         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
7630         * m4/printf.m4: Update comments.
7631
7632 2012-01-08  Bruno Haible  <bruno@clisp.org>
7633
7634         mktime: Avoid compilation error on Solaris 11.
7635         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
7636
7637 2012-01-08  Bruno Haible  <bruno@clisp.org>
7638
7639         doc: Small fix.
7640         * doc/posix-headers/nl_types.texi: Correct platforms list.
7641
7642 2012-01-08  Simon Josefsson  <simon@josefsson.org>
7643
7644         Add lgpl-3.0 module.
7645         * MODULES.html.sh (Support for building documentation): Add
7646         lgpl-3.0.
7647         * modules/lgpl-3.0: New file.
7648
7649 2012-01-08  Jim Meyering  <meyering@redhat.com>
7650
7651         select.c: indent with spaces, not TABs
7652         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
7653
7654 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
7655
7656         quotearg: do not use grave accent for left quote
7657         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
7658         locale_quoting_style.
7659         (quotearg_buffer_restyled): Fix example.
7660         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
7661
7662 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
7663
7664         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
7665         Most programs do not have translation catalogs for English and much
7666         less separate catalogs for British and American English.  Drop the
7667         suggestion to translators about these two, and provide it
7668         automatically for Unicode locales.  Like most programs, even those
7669         using American English, we use single quotation marks.  This conflicts
7670         with the American typographic convention, but works better when you
7671         cite the entire error message within double quotes.  It also tries not
7672         to clash with established practice and with what non-gnulib programs
7673         will usually do.
7674         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
7675         using an UTF-8 or GB-18030 locale.  The list of other locales with
7676         quotes was provided by Bruno Haible.
7677         (quotearg_buffer_restyled): Adjust instructions to translators.
7678         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
7679         text, since this would be wrong when using Unicode.
7680         * modules/quotearg: Depend on c-strcaseeq.
7681
7682 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
7683
7684         quotearg: fix Wikipedia link
7685         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
7686
7687 2012-01-07  Simon Josefsson  <simon@josefsson.org>
7688
7689         Fix for mingw with MSVC9.
7690         * m4/ld-version-script.m4: Check that compiler rejects version
7691         scripts with syntax errors.  Reported by Bruno Haible
7692         <bruno@clisp.org>.
7693
7694 2012-01-06  Bruno Haible  <bruno@clisp.org>
7695
7696         Talk about "native Windows API", not "Woe32".
7697         * lib/accept4.c: Update comments to mention native Windows.
7698         * lib/execute.c: Likewise.
7699         * lib/fatal-signal.c: Likewise.
7700         * lib/localcharset.c: Likewise.
7701         * lib/nanosleep.c: Likewise.
7702         * lib/nl_langinfo.c: Likewise.
7703         * lib/pclose.c: Likewise.
7704         * lib/pipe-filter-gi.c: Likewise.
7705         * lib/pipe-filter-ii.c: Likewise.
7706         * lib/pipe.c: Likewise.
7707         * lib/pipe2.c: Likewise.
7708         * lib/popen.c: Likewise.
7709         * lib/progreloc.c: Likewise.
7710         * lib/relocatable.c: Likewise.
7711         * lib/sigaction.c: Likewise.
7712         * lib/sigprocmask.c: Likewise.
7713         * lib/spawn-pipe.h: Likewise.
7714         * lib/spawn-pipe.c: Likewise.
7715         * lib/spawni.c: Likewise.
7716         * lib/stat-time.h: Likewise.
7717         * lib/w32spawn.h: Likewise.
7718         * tests/test-isatty.c: Likewise.
7719         * lib/config.charset: More comments.
7720         * doc/gnulib-intro.texi: Mention native Windows.
7721         * doc/posix-functions/_Exit_C99.texi: Likewise.
7722         * doc/posix-headers/fcntl.texi: Likewise.
7723
7724 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
7725
7726         argp: Avoid crash if translator uses % characters in a translation.
7727         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
7728         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
7729
7730 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
7731
7732         doc: C11 and C++11 are now official
7733         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
7734         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
7735         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
7736         * modules/stdalign:
7737         Replace references to draft C1X to C11, and to draft C++0X to C++11.
7738
7739 2012-01-06  Bruno Haible  <bruno@clisp.org>
7740
7741         uc-is-grapheme-break tests: Tweak.
7742         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
7743         message.
7744
7745 2012-01-06  Bruno Haible  <bruno@clisp.org>
7746
7747         test-init.sh: correct the test for diff -u
7748         * tests/test-init.sh: Also redirect stdout to /dev/null.
7749
7750 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
7751
7752         Use ', not `, for quoting output.
7753         * build-aux/announce-gen (usage, sizes, print_news_deltas)
7754         (print_changelog_deltas, get_tool_versions, main program):
7755         * build-aux/git-version-gen:
7756         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
7757         * build-aux/move-if-change (help):
7758         * build-aux/useless-if-before-free (usage, main program):
7759         * check-module (parse_module_file, usage)
7760         (find_included_lib_files, check_module):
7761         * lib/argmatch.c (main) [TEST]:
7762         * lib/argp-help.c (_help):
7763         * lib/getopt1.c (main) [TEST]:
7764         * lib/git-merge-changelog.c (usage):
7765         * lib/xstrtol-error.c (xstrtol_error):
7766         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
7767         * m4/argz.m4 (gl_FUNC_ARGZ):
7768         * m4/bison.m4 (gl_BISON):
7769         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
7770         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
7771         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
7772         * m4/fpending.m4 (gl_PREREQ_FPENDING):
7773         * m4/gc-random.m4 (gl_GC_RANDOM):
7774         * m4/intl.m4 (gt_CHECK_DECL):
7775         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
7776         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
7777         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
7778         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
7779         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
7780         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
7781         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
7782         * tests/test-dirname.c (main):
7783         * tests/test-getpass.c (main):
7784         * tests/test-iconvme.c (main):
7785         * tests/test-parse-datetime.c (LOG):
7786         * tests/test-xstrtoimax.sh:
7787         * tests/test-xstrtol.sh:
7788         * tests/test-xstrtoll.sh:
7789         * tests/test-xstrtoumax.sh:
7790         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
7791         * top/GNUmakefile (abort-due-to-no-makefile):
7792         Quote 'like this', not `like this', as per the recent change to
7793         the GNU coding standards.
7794
7795 2012-01-05  Bruno Haible  <bruno@clisp.org>
7796
7797         strtoimax: Don't force a replacement on systems where intmax_t is int.
7798         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
7799         'intmax_t' is not larger than 'int'.
7800         Reported by Pádraig Brady <P@draigBrady.com>.
7801
7802 2012-01-05  Bruno Haible  <bruno@clisp.org>
7803
7804         doc: Mention NetBSD bugs.
7805         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
7806         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
7807
7808 2012-01-05  Bruno Haible  <bruno@clisp.org>
7809
7810         strtoumax tests: Enhance tests.
7811         * tests/test-strtoumax.c (main): Add tests for large values.
7812
7813 2012-01-05  Bruno Haible  <bruno@clisp.org>
7814
7815         strtoimax: Work around AIX 5.1 bug.
7816         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
7817         definition.
7818         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
7819         Set HAVE_STRTOIMAX.
7820         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
7821         REPLACE_STRTOIMAX.
7822         * modules/inttypes-incomplete (Makefile.am): Substitute
7823         REPLACE_STRTOIMAX.
7824         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
7825         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
7826         (Depends-on): Update conditions.
7827         * tests/test-strtoimax.c (main): Add tests for large values.
7828         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
7829
7830 2012-01-05  Bruno Haible  <bruno@clisp.org>
7831
7832         inttypes: Modernize.
7833         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
7834         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
7835         (Makefile.am): Update inttypes.h rule.
7836
7837 2012-01-05  Jim Meyering  <meyering@redhat.com>
7838
7839         init.sh: don't waste a subshell just to redirect stderr
7840         * tests/init.sh: In testing for diff -u and diff -c, use a
7841         stderr-redirecting exec inside `...` rather than a subshell.
7842
7843         test-init.sh: avoid failure on HP-UX 11.00
7844         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
7845         resolves to diff -c or cmp.  Reported by Bruno Haible.
7846
7847 2012-01-05  Bruno Haible  <bruno@clisp.org>
7848
7849         Tests for module 'strtoull'.
7850         * modules/strtoull-tests: New file.
7851         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
7852
7853 2012-01-05  Bruno Haible  <bruno@clisp.org>
7854
7855         Tests for module 'strtoll'.
7856         * modules/strtoll-tests: New file.
7857         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
7858
7859 2012-01-05  Bruno Haible  <bruno@clisp.org>
7860
7861         Tests for module 'strtoul'.
7862         * modules/strtoul-tests: New file.
7863         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
7864
7865 2012-01-05  Bruno Haible  <bruno@clisp.org>
7866
7867         Tests for module 'strtol'.
7868         * modules/strtol-tests: New file.
7869         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
7870
7871 2012-01-04  Jim Meyering  <meyering@redhat.com>
7872
7873         test-init.sh: accommodate Solaris 5.10's different diff -u output
7874         * tests/test-init.sh: Also exempt @@ lines from the comparison
7875         of diff output, since Solaris 5.10 and GNU diff formats differ.
7876         Reported by Stefano Lattarini.
7877
7878 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
7879
7880         test-posixtm: don't assume signed integer wraparound
7881         * tests/test-posixtm.c (main): Don't assume wraparound semantics
7882         after signed integer overflow.  Inspired by (though it may not
7883         fix) Bruno Haible's bug report in
7884         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
7885
7886         Spell out "Windows 9x" and "Windows XP".
7887         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
7888         "Windows 9x" and "WinXP" with "Windows XP".
7889
7890 2012-01-04  Jim Meyering  <meyering@redhat.com>
7891
7892         test-vc-list-files-cvs.sh: remove obsolete comment
7893         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
7894         double exit.  Now that's all encapsulated via skip_ and Exit.
7895
7896 2012-01-04  Bruno Haible  <bruno@clisp.org>
7897
7898         Talk about "native Windows API", not "Win32".
7899         * lib/classpath.c: Update comments to mention native Windows.
7900         * lib/csharpexec.c: Likewise.
7901         * lib/dup2.c: Likewise.
7902         * lib/error.c: Likewise.
7903         * lib/fcntl.c: Likewise.
7904         * lib/filename.h: Likewise.
7905         * lib/findprog.c: Likewise.
7906         * lib/get-rusage-as.c: Likewise.
7907         * lib/get-rusage-data.c: Likewise.
7908         * lib/getpagesize.c: Likewise.
7909         * lib/javaexec.c: Likewise.
7910         * lib/msvc-inval.c: Likewise.
7911         * lib/msvc-nothrow.c: Likewise.
7912         * lib/nanosleep.c: Likewise.
7913         * lib/nonblocking.c: Likewise.
7914         * lib/printf-parse.c: Likewise.
7915         * lib/setlocale.c: Likewise.
7916         * lib/sigaction.c: Likewise.
7917         * lib/strerror_r.c: Likewise.
7918         * lib/tmpdir.c: Likewise.
7919         * lib/vasnprintf.c: Likewise.
7920         * lib/w32spawn.h: Likewise.
7921         * lib/waitpid.c: Likewise.
7922         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
7923         * m4/locale-ar.m4: Likewise.
7924         * m4/locale-fr.m4: Likewise.
7925         * m4/locale-ja.m4: Likewise.
7926         * m4/locale-tr.m4: Likewise.
7927         * m4/locale-zh.m4: Likewise.
7928         * m4/printf.m4: Likewise.
7929         * tests/test-cloexec.c: Likewise.
7930         * tests/test-copy-acl.sh: Likewise.
7931         * tests/test-copy-file.sh: Likewise.
7932         * tests/test-file-has-acl.sh: Likewise.
7933         * tests/test-set-mode-acl.sh: Likewise.
7934         * tests/test-dup-safer.c: Likewise.
7935         * tests/test-dup2.c: Likewise.
7936         * tests/test-dup3.c: Likewise.
7937         * tests/test-fcntl.c: Likewise.
7938         * tests/test-nonblocking-pipe.h: Likewise.
7939         * tests/test-nonblocking-socket.h: Likewise.
7940         * tests/test-pipe.c: Likewise.
7941         * tests/test-pipe2.c: Likewise.
7942         * tests/test-spawn-pipe-child.c: Likewise.
7943         * doc/acl-resources.txt: Likewise.
7944         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
7945         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
7946         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
7947         * lib/localcharset.c: Update comments to mention native Windows.
7948         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
7949         * lib/localename.c: Likewise.
7950         * lib/progreloc.c: Likewise.
7951         * lib/relocatable.c: Likewise.
7952         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
7953         (windows_compute_revents): Renamed from win32_compute_revents.
7954         (windows_compute_revents_socket): Renamed from
7955         win32_compute_revents_socket.
7956         * lib/select.c: Update comments to mention native Windows.
7957         (windows_poll_handle): Renamed from win32_poll_handle.
7958         * m4/threadlib.m4: Update comments to mention native Windows.
7959         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
7960         --enable-threads=windows instead of --enable-threads=win32. Set
7961         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
7962         * lib/glthread/lock.h: Update comments to mention native Windows.
7963         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
7964         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
7965         USE_WIN32_THREADS.
7966         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
7967         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
7968         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
7969         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
7970         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
7971         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
7972         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
7973         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
7974         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
7975         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
7976         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
7977         * tests/test-tls.c: Likewise.
7978         Rationale:
7979         Microsoft renamed the "Win32 API" to "Windows API", as it is available
7980         on both 32-bit and 64-bit Windows systems.
7981         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
7982         line of distinction is between "native Windows" on one side and Unix/
7983         POSIX systems on the other side. More details in
7984         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
7985         Suggested by Paul Eggert.
7986
7987 2012-01-03  Bruno Haible  <bruno@clisp.org>
7988
7989         isatty: Support for MSVC 9.
7990         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
7991         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
7992         (_isatty_nothrow): New function.
7993         (isatty): Use it instead of _isatty.
7994         (IsConsoleHandle): Add comment, from Paolo Bonzini.
7995         * lib/poll.c (IsConsoleHandle): Likewise.
7996         * lib/select.c (IsConsoleHandle): Likewise.
7997         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
7998         (gl_PREREQ_ISATTY): New macro.
7999         * modules/isatty (Depends-on): Add msvc-inval.
8000         (configure.ac): Invoke gl_PREREQ_ISATTY.
8001
8002 2012-01-03  Jim Meyering  <meyering@redhat.com>
8003
8004         maint.mk: remove temporary transition aid from over 1.5 years ago
8005         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
8006         purpose was to aid in the transition (avoiding silent malfunction)
8007         from that old name to the new _sc_search_regexp.  This shim was
8008         added by commit 219c504b.
8009
8010         init.sh: do not try to accommodate compare arguments starting with "-"
8011         * tests/init.sh (compare_dev_null_): Do not try to accommodate
8012         compare arguments that start with "-".  Besides, we do not worry
8013         about this when invoking diff or cmp; why start now with sed?
8014         Using "--" to separate options from argument would trigger sed
8015         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
8016         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
8017
8018 2012-01-02  Bruno Haible  <bruno@clisp.org>
8019
8020         Enhance tests for module 'isatty'.
8021         * modules/isatty-tests (Depends-on): Add pipe-posix.
8022         * tests/test-isatty.c: Include <fcntl.h>.
8023         (DEV_NULL): New macro.
8024         (main): Test the resut of isatty() also on regular files, pipes, and
8025         /dev/null.
8026
8027         New module 'isatty'.
8028         * lib/unistd.in.h (isatty): New declaration.
8029         * lib/isatty.c: New file, based on an idea of
8030         Bastien Roucariès <roucaries.bastien@gmail.com>.
8031         * m4/isatty.m4: New file.
8032         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
8033         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
8034         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
8035         REPLACE_ISATTY.
8036         * modules/isatty: New file.
8037         * doc/posix-functions/isatty.texi: Mention the new module.
8038         Suggested by Paolo Bonzini.
8039
8040 2012-01-02  Bruno Haible  <bruno@clisp.org>
8041
8042         canonicalize: Tweak 2011-12-29 commit.
8043         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
8044         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
8045
8046 2012-01-02  Jim Meyering  <meyering@redhat.com>
8047
8048         gitlog-to-changelog: describe input syntax in --help output
8049         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
8050
8051         gitlog-to-changelog: fix typo in --help: show backslash before email @
8052         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
8053         in sources, but not in actual output.
8054
8055 2011-12-30  Jim Meyering  <meyering@redhat.com>
8056
8057         gitlog-to-changelog: don't malfunction when name contains %-directive
8058         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
8059         in a name string cause trouble.  E.g., with a user name of "%s",
8060         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
8061
8062 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
8063
8064         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
8065         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
8066         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
8067         the "  (tiny change)" notation that is appended to the standard
8068         ChangeLog "date  name  email" header line.
8069
8070 2012-01-01  Jim Meyering  <meyering@redhat.com>
8071
8072         test-framework-sh: init.sh: fix "make dist" failure
8073         When using gnulib-tool's --with-tests option and any module that
8074         depends on test-framework-sh, "make dist" would fail due to the
8075         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
8076         in the gltests directory, and not in the gllib/ directory.
8077         One way to work around that is to move the EXTRA_DIST += init.sh
8078         from the primary module to the -tests one:
8079         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
8080         * modules/test-framework-sh (Makefile.am): ...not here.
8081         Reported by Tom G. Christensen in
8082         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
8083
8084         version-etc: update copyright year reported by --version
8085         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
8086
8087 2011-12-31  Pádraig Brady  <P@draigBrady.com>
8088
8089         canonicalize: only stat() if required
8090         * lib/canonicalize.c (canonicalize_filename_mode):
8091         Avoid calling l?stat() when both CAN_MISSING,
8092         and CAN_NOLINKS are set, as we neither need
8093         to resolve symlinks or test component existence.
8094
8095 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
8096
8097         doc: cover st_ino issues once; add OpenVMS etc.
8098         * doc/posix-functions/stat.texi (stat):
8099         * doc/posix-functions/lstat.texi (lstat):
8100         * doc/posix-functions/fstatat.texi (fstatat):
8101         * doc/posix-functions/fstat.texi (fstat):
8102         Move general 'struct stat' stuff to sys_stat.texi,
8103         leaving behind a pointer.
8104         * doc/posix-headers/sys_stat.texi (sys/stat.h):
8105         Merge duplicate info about 'struct stat' problems into here.
8106         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
8107         and suggest partial workarounds.
8108
8109         same-inode: port to OpenVMS
8110         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
8111         three st_ino values.
8112
8113 2011-12-30  Pádraig Brady  <P@draigBrady.com>
8114
8115         canonicalize: fix references to stat() and lstat()
8116         * lib/canonicalize.c (canonicalize_filename_mode):
8117         Ensure references always resolve to a replacement
8118         function if required (even via a macro).
8119
8120 2011-12-30  Jim Meyering  <meyering@redhat.com>
8121
8122         gitlog-to-changelog: remove a little duplication
8123         * build-aux/gitlog-to-changelog (main): Grep @lines once,
8124         rather than twice.
8125
8126 2011-12-29  Pádraig Brady  <P@draigBrady.com>
8127
8128         canonicalize: add support for not resolving symlinks
8129         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
8130         indicate we don't want to follow symlinks.  Also
8131         provide CAN_MODE_MASK to aid setting these existing
8132         mutually exclusive values.
8133         * lib/canonicalize.c (canonicalize_filename_mode):
8134         Extract the flags from can_mode parameter, which
8135         are currently just used to select between stat()
8136         and lstat().  Also ensure that mutually exclusive
8137         values are flagged immediately as invalid.
8138         * tests/test-canonicalize.c: Verify symlinks are
8139         not followed, and that invalid flag combinations
8140         are diagnosed.
8141
8142 2011-12-25  Jim Meyering  <meyering@redhat.com>
8143
8144         gitlog-to-changelog: do not clump multi-paragraph entries
8145         Identical header lines (date,name,email+coauthors) are suppressed,
8146         thus putting all entries with those same characteristics under
8147         a single header.  However, when a log entry consists of two or
8148         more paragraphs, it may not be clear where it starts and ends.
8149         This change makes it so that such an entry is always separated
8150         from others by a header line, even when that header would
8151         otherwise be suppressed.
8152         * build-aux/gitlog-to-changelog: Implement the above.
8153         Inspired by a related request from Stefano Lattarini in
8154         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
8155
8156 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
8157
8158         announce-gen: fix `cmd' typo in diagnostic
8159         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
8160         diagnostic: a missing '$' meant that the command was not output.
8161
8162 2011-12-23  Jim Meyering  <meyering@redhat.com>
8163
8164         test-framework-sh: distribute init.sh
8165         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
8166         Otherwise, "make -C gnulib-tests check" (at least in grep) would
8167         fail due to the lack of init.sh.
8168
8169         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
8170         * modules/atexit-tests: Rather than listing tests/init.sh,
8171         now that there's a module for it, simply depend on that new module.
8172         * modules/closein-tests: Likewise.
8173         * modules/exclude-tests: Likewise.
8174         * modules/getcwd-tests: Likewise.
8175         * modules/perror-tests: Likewise.
8176         * modules/pread-tests: Likewise.
8177         * modules/pwrite-tests: Likewise.
8178         * modules/vc-list-files-tests: Likewise.
8179         * modules/verify-tests: Likewise.
8180         * modules/xalloc-die-tests: Likewise.
8181         * modules/xstrtoimax-tests: Likewise.
8182         * modules/xstrtol-tests: Likewise.
8183         * modules/xstrtoll-tests: Likewise.
8184         * modules/xstrtoumax-tests: Likewise.
8185         * modules/yesno-tests: Likewise.
8186
8187 2011-12-22  Jim Meyering  <meyering@redhat.com>
8188
8189         test-framework-sh: add minimal tests of init.sh's compare function
8190         * modules/test-framework-sh-tests: New file.
8191         * tests/test-init.sh: New file.
8192
8193         test-framework-sh: new module
8194         * modules/test-framework-sh: New file.
8195         * MODULES.html.sh (Support for maintaining and releasing projects):
8196         List it.
8197
8198         init.sh: do not emit simulated diff output to stderr
8199         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
8200
8201 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8202
8203         .gitignore: ignore gnulib.dvi and regex.info
8204         * doc/.gitignore:add gnulib.dvi and regex.info
8205
8206 2011-12-22  Jim Meyering  <meyering@redhat.com>
8207
8208         init.sh: correct previous change
8209         * tests/init.sh (compare): My previous change was wrong.
8210         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
8211
8212         init.sh: avoid unwarranted test failure when using "set -e"
8213         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
8214         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
8215         a use like "compare exp out" would get evoke an unconditional failure.
8216
8217 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
8218
8219         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
8220         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
8221         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
8222         autoreconf that did not.
8223         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
8224         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8225
8226 2011-12-17  Jim Meyering  <meyering@redhat.com>
8227
8228         bootstrap: remove some now-unneeded code
8229         This script arose back when gnulib-tool was young.
8230         Since then, it has seen improvements that render much of this
8231         script unnecessary.  In particular, it can now make symlinks
8232         to the files it uses.  Also, I no longer see as much value in
8233         marking files as read-only via comments.
8234         If you relied on the symlink-creation feature of the preceding
8235         version of this script, you can get most of that functionality
8236         by adding the --symlink option to the definition of
8237         gnulib_tool_option_extras in your bootstrap.conf file.
8238         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
8239         Run autopoint and libtoolize *before* gnulib-tool.
8240         After it, run an abbreviated autoreconf, rather than a loop around
8241         all tools.
8242         (slirp, bt_mark_as_generated): Remove functions.
8243
8244 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8245
8246         ftoastr: fix typo
8247         * lib/ftoastr.h: Fix misspelling in comment.
8248
8249 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
8250
8251         * top/README-release: fix punctuation.
8252
8253 2011-12-17  Jim Meyering  <meyering@redhat.com>
8254
8255         bootstrap: correct the recent buildreq change
8256         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
8257         had no effect.
8258         * build-aux/bootstrap (buildreq): Bracket each search term with
8259         "*...*", so that the shell "case" statement works as intended.
8260         Add comments.
8261
8262 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
8263
8264         build: let bootstrap resort to wget when downloading .po files
8265         * build-aux/bootstrap (download_po_files): Fallback to wget when
8266         downloading the .po files via rsync fails.  This is necessary to
8267         bootstrap from behind a strict firewall.
8268
8269 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
8270
8271         stdint: don't assume C++11 when compiling with g++
8272         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
8273         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
8274         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
8275         work also in C++ before C++11, as that improperly inhibits
8276         generating a substitute stdint.h for that case.
8277
8278 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
8279
8280         alloca: protect comment from gnulib-tool
8281         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
8282         that gnulib-tool doesn't think it's a license, and munge it to
8283         say "GCC version 3".
8284
8285 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
8286
8287         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
8288         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
8289         $(abs_top_builddir) instead of $(top_builddir).
8290
8291 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
8292
8293         strftime-tests: also test nanoseconds
8294         * tests/test-strftime.c (T): Add a test of %N.
8295
8296 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
8297
8298         inttypes, stdint: add C++11 support
8299         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
8300         when including inttypes.h and stdint.h.  Support this change to
8301         the standard.
8302         * doc/posix-headers/inttypes.texi (inttypes.h):
8303         * doc/posix-headers/stdint.texi (stdint.h): Document this.
8304         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
8305         Define if not defined already, for the benefit of pre-C++11 hosts.
8306         Define the standard format macros (e.g., PRId8) always.
8307         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
8308         Likewise, if __cpluspus.  Define the standard constant and limit
8309         macros (e.g., INT8_C, INT8_MAX) always.
8310         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
8311         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
8312         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
8313         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
8314         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
8315         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
8316         Likewise.
8317
8318 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
8319
8320         nonblocking tests: Fix test failure on Linux/PPC.
8321         Suggested by Prerna Saxena in
8322         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
8323         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
8324         Set to 1100000.
8325
8326 2011-12-12  Jim Meyering  <meyering@redhat.com>
8327
8328         argmatch: don't hard-code `' when listing valid option arguments
8329         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
8330         use the quote function to add quotes.  Use fputs rather than
8331         fprintf for the format string with no format directive.
8332
8333 2011-12-07  Eric Blake  <eblake@redhat.com>
8334
8335         bootstrap: detect tools required by gnulib-tool
8336         * build-aux/bootstrap (buildreq): Provide minimum implicit
8337         dependencies.
8338         * DEPENDENCIES: Mention patch as a prereq.
8339
8340 2011-12-04  Bruno Haible  <bruno@clisp.org>
8341
8342         sethostname: Port to Windows platforms.
8343         * lib/sethostname.c: Provide an alternate implementation for Windows
8344         platforms.
8345         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
8346         (main): Skip the test if sethostname() fails with EPERM. On Windows
8347         platforms, don't check the result of gethostname().
8348
8349 2011-12-04  Bruno Haible  <bruno@clisp.org>
8350             Jim Meyering  <meyering@redhat.com>
8351
8352         tests: Avoid spurious error message on platforms without mktemp program.
8353         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
8354
8355 2011-12-04  Bruno Haible  <bruno@clisp.org>
8356
8357         sethostname: Fix documentation.
8358         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
8359         "not fixed" section.
8360
8361 2011-12-03  Bruno Haible  <bruno@clisp.org>
8362
8363         gnulib-tool: Verify that the License field is present and non-empty.
8364         * gnulib-tool (func_get_license_raw): New function, extracted from
8365         func_get_license.
8366         (func_get_license): Use it. Warn if the module is not a test module and
8367         has no license.
8368         Suggested by Jim Meyering.
8369
8370 2011-12-03  Bruno Haible  <bruno@clisp.org>
8371
8372         sethostname tests: Fix link error on mingw.
8373         * tests/test-sethostname1.c: New file, extracted from
8374         tests/test-sethostname.c.
8375         * tests/test-sethostname2.c: New file, extracted from
8376         tests/test-sethostname.c.
8377         * tests/test-sethostname.c: Remove file.
8378         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
8379         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
8380         (Depends-on): Add gethostname.
8381         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
8382         Link the latter with $(GETHOSTNAME_LIB).
8383
8384         sethostname tests: Fix compilation error on mingw.
8385         * tests/test-sethostname.c: Don't include <sys/types.h>.
8386         (geteuid): Use a dummy value without uid_t.
8387         * modules/sethostname-tests (Depends-on): Remove sys_types.
8388
8389         sethostname tests: Avoid a gcc warning.
8390         * tests/test-sethostname.c (main): Remove an unused variable.
8391
8392         Tweak last commit.
8393         * modules/sethostname-tests (Files): Sort by decreasing importance.
8394         (configure.ac): Check for geteuid.
8395         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
8396         the test when there's nothing to test. Drop an unnecessary cast.
8397         Improve an error message. Verify that the final sethostname() call
8398         succeeds.
8399
8400 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
8401
8402         Add a test suite for the sethostname module.
8403         * modules/sethostname-tests: New file.  A test program
8404         for the sethostname module.
8405         * tests/test-sethostname.c: Likewise.
8406
8407 2011-12-03  Bruno Haible  <bruno@clisp.org>
8408
8409         Tweak last commit.
8410         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
8411         Fix preprocessor directives indentation. Fix typos.
8412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
8413         * modules/unistd (Makefile): Likewise.
8414
8415 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
8416
8417         Integrate the sethostname module into unistd.
8418         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
8419         into the unistd.h header.
8420         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
8421         preprocessor directives.
8422         * modules/unistd: Setup the Makefile substitutions of the
8423         SETHOSTNAME preprocessor directives.
8424
8425 2011-12-03  Bruno Haible  <bruno@clisp.org>
8426
8427         Tweak last commit.
8428         * lib/sethostname.c: Don't include <string.h>.
8429         (sethostname): No need to copy the argument string to the stack. Don't
8430         call clearerr. Preserve errno when fprintf failed.
8431         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
8432         Don't invoke AC_REPLACE_FUNCS.
8433         * modules/sethostname (Link): Remove empty section.
8434         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
8435         failure problem.
8436
8437 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
8438
8439         New module 'sethostname'.
8440         * lib/sethostname.c (sethostname): New file.  Provide sethostname
8441         for systems that lack it.
8442         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
8443         sethostname declaration and function.
8444         * modules/sethostname: New file.  Define the sethostname module.
8445
8446 2011-12-03  Bruno Haible  <bruno@clisp.org>
8447
8448         Tweak last commit.
8449         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
8450
8451 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
8452
8453         Split the HOST_NAME_MAX detection into a separate m4 macro.
8454         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
8455         macro so it can be used by the pending sethostname module.
8456
8457 2011-12-03  Bruno Haible  <bruno@clisp.org>
8458
8459         Fix module descriptions syntax.
8460         * modules/argv-iter (License): Fix syntax.
8461         * modules/di-set (License): Likewise.
8462         * modules/ino-map (License): Likewise.
8463         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
8464
8465 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
8466
8467         stdalign: port to Clang 3.0
8468         Problem reported by Simon Josefsson in
8469         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
8470         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
8471         which has <stdalign.h> but which does not define alignof.
8472         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
8473
8474 2011-12-01  Eric Blake  <eblake@redhat.com>
8475
8476         mktempd: silence dd usage
8477         * build-aux/mktempd (rand_bytes): Silence dd.
8478
8479 2011-11-30  Simon Josefsson  <simon@josefsson.org>
8480
8481         manywarnings: Don't mention gcc version in docstring.
8482         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
8483         Jim Meyering <meyering@redhat.com>.
8484
8485 2011-11-30  Jim Meyering  <meyering@redhat.com>
8486
8487         hash: mark a few floating point constants with "f" suffix
8488         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
8489         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
8490         floating point constants with "f", since they're destined to be
8491         saved/used as "float"s.
8492
8493 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
8494
8495         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
8496         * tests/test-float.c (test_long_double): Correct and re-enable the
8497         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
8498
8499 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
8500
8501         Avoid subtracting two pointers that don't point into the same block.
8502         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
8503         only pointers into the same memory block are subtracted. We cannot
8504         assume that sizeof (ptrdiff_t) == sizeof (void *).
8505
8506 2011-11-29  Eric Blake  <eblake@redhat.com>
8507
8508         maint.mk: add syntax check for use of compare from init.sh
8509         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
8510         moved here from coreutils.
8511
8512         manywarnings: drop -Wunsuffixed-float-constants
8513         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
8514         '1.0D', which is the only way to silence this warning for 'double'.
8515
8516 2011-11-29  Jim Meyering  <meyering@redhat.com>
8517
8518         hash: mark compute_bucket_size with the pure attribute
8519         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
8520
8521         quotearg, propername: correct pragma guard expression
8522         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
8523         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
8524
8525 2011-11-28  Jim Meyering  <meyering@redhat.com>
8526
8527         propername: do not mark proper_name with the const attribute
8528         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
8529         since it examines data pointed to by its parameter.
8530         * lib/propername.c (proper_name): Instead, add a pragma to suppress
8531         the suggestion from -Wsuggest-attribute=const.
8532
8533         propername: mark one more function as const
8534         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
8535
8536 2011-11-27  Jim Meyering  <meyering@redhat.com>
8537
8538         mark functions with const and pure attributes
8539
8540         Mark functions per suggestions from gcc-4.6 when using these options:
8541         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
8542         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
8543         Follow these guidelines: when possible, apply the attribute to
8544         an extern declaration, not to its definition.  Apply it to the
8545         definition only when the definition is static.
8546         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
8547         * lib/argv-iter.h (argv_iter_n_args): Likewise.
8548         * lib/base64.h (isbase64): Likewise.
8549         * lib/basename-lgpl.c (last_component, base_len): Likewise.
8550         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
8551         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
8552         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
8553         (c_tolower, c_toupper): Likewise.
8554         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
8555         * lib/chdir-long.c (find_non_slash): Likewise.
8556         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
8557         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
8558         * lib/file-type.h (file_type): Likewise.
8559         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
8560         * lib/filevercmp.c (verrevcmp): Likewise.
8561         * lib/freadahead.h (freadahead): Likewise.
8562         * lib/fts.c (fts_maxarglen): Likewise.
8563         * lib/hash-pjw.h (hash_pjw): Likewise.
8564         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
8565         * lib/hash.c (is_prime, next_prime): Likewise.
8566         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
8567         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
8568         (hash_table_ok, hash_get_first, hash_string): Likewise.
8569         (compute_bucket_size): Likewise.
8570         * lib/i-ring.h (i_ring_empty): Likewise.
8571         * lib/isnan.c (isnanl): Likewise.
8572         * lib/math.h (isnanl, rpl_isnanl): Likewise.
8573         * lib/memcasecmp.h (memcasecmp): Likewise.
8574         * lib/memchr2.h (memchr2): Likewise.
8575         * lib/memcmp2.h (memcmp2): Likewise.
8576         * lib/parse-datetime.y (lookup_zone): Likewise.
8577         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
8578         [!WINDOWS_SOCKETS]: Likewise.
8579         * lib/strnlen1.h (strnlen1): Likewise.
8580         * lib/uniwidth.in.h (uc_width): Likewise.
8581         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
8582         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
8583         (quoting_options_from_style): Add a comment.
8584         * lib/propername.h (proper_name): Add a comment.
8585
8586 2011-11-27  Bruno Haible  <bruno@clisp.org>
8587
8588         Remove unused macros from !_LIBC code in glibc-borrowed files.
8589         * lib/fnmatch.c (STRCOLL): Remove macro.
8590         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
8591         * lib/glob.c (__stat, __readdir64): Remove macros.
8592         * lib/tempname.c (__open64, __xstat64): Remove macros.
8593         Suggested by Paul Eggert.
8594
8595 2011-11-27  Bruno Haible  <bruno@clisp.org>
8596
8597         getcwd: Fix link error on MSVC 9.
8598         * modules/getcwd (Depends-on): Add readdir, rewinddir.
8599
8600 2011-11-27  Bruno Haible  <bruno@clisp.org>
8601
8602         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
8603         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
8604         HAVE_OPENDIR is 0.
8605         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
8606         HAVE_CLOSEDIR is 0.
8607         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
8608         is 0.
8609         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
8610
8611 2011-11-27  Bruno Haible  <bruno@clisp.org>
8612
8613         getcwd: Fix bug from 2011-08-17.
8614         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
8615         platforms that need it.
8616         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
8617         code of 4 to be a failure, not a success. This ensures that
8618         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
8619
8620 2011-11-27  Bruno Haible  <bruno@clisp.org>
8621
8622         binary-io tests: Avoid test failure on mingw when libtool is used.
8623         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
8624         Don't verify the size of t-bin-out1.tmp here.
8625         * tests/test-binary-io.sh: Verify it here.
8626         Reported by Simon Josefsson.
8627
8628 2011-11-26  Bruno Haible  <bruno@clisp.org>
8629
8630         Fix conflict between two instantiations of module 'unistd'.
8631         * gnulib-tool (func_emit_autoconf_snippet): Substitute
8632         ${include_guard_prefix} also in the autoconf snippet.
8633         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
8634         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
8635         GNULIB_UNISTD_H_GETOPT.
8636         * modules/getopt-posix (configure.ac): Set the
8637         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
8638         * modules/getopt-gnu (configure.ac): Likewise.
8639         * modules/unistd (Makefile.am): Change the substitution value of
8640         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
8641         Reported by Simon Josefsson.
8642
8643 2011-11-25  Bruno Haible  <bruno@clisp.org>
8644
8645         pagealign_alloc: Doc and comments.
8646         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
8647         module.
8648         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
8649
8650 2011-11-25  Jim Meyering  <meyering@redhat.com>
8651
8652         test-update-copyright.sh: avoid false-positive failure
8653         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
8654         around false positive failure on Cygwin/Windows.  The latter was
8655         matching erroneously-created files with names like
8656         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
8657
8658 2011-11-25  Simon Josefsson  <simon@josefsson.org>
8659
8660         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
8661         * m4/valgrind-tests.m4: Check that the parameters that will be
8662         used works, not just a subset of them.  Reported by Bruno Haible
8663         <bruno@clisp.org>.
8664
8665 2011-11-24  Jim Meyering  <meyering@redhat.com>
8666
8667         test-stdalign.c: comment out long double tests
8668         * tests/test-stdalign.c: Don't try to reduce alignment of long double
8669         variables.  That provokes errors like this from gcc-4.7.0 20111124:
8670         error: '_Alignas' specifiers cannot reduce alignment of \
8671         'static_longdouble_alignas'.
8672
8673 2011-11-22  Jim Meyering  <meyering@redhat.com>
8674
8675         init.sh: make "compare /dev/null FILE" output more readable
8676         * tests/init.sh (compare_): Document the preferred order of arguments.
8677         (emit_diff_u_header_): New function.
8678         (compare_dev_null_): Emit a simulated diff, rather than just the
8679         contents of the unexpected file.  Suggestion from Bruno Haible.
8680
8681 2011-11-21  Jim Meyering  <meyering@redhat.com>
8682             Eric Blake  <eblake@redhat.com>
8683
8684         init.sh: work around OSF/1 5.1's mishandling of /dev/null
8685         * tests/init.sh: Make our compare function slightly more portable.
8686         Reported by Bruno Haible in
8687         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
8688
8689 2011-11-21  Simon Josefsson  <simon@josefsson.org>
8690
8691         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
8692         before using it, in code that ends up in config.h.
8693
8694 2011-11-20  Bruno Haible  <bruno@clisp.org>
8695
8696         getcwd: Work around getcwd bug on AIX 5..7.
8697         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
8698         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
8699         Use a different value for gl_cv_func_getcwd_path_max. Move the
8700         definition of HAVE_PARTLY_WORKING_GETCWD from here...
8701         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
8702         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
8703         Define HAVE_MINIMALLY_WORKING_GETCWD.
8704         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
8705         where it is not even minimally working, that is, on AIX.
8706         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
8707         m4/getcwd-path-max.m4.
8708         (main): Update exit code computation.
8709         * doc/posix-functions/getcwd.texi: Mention list of platforms where
8710         getcwd does not handle long file names.
8711
8712 2011-11-20  Bruno Haible  <bruno@clisp.org>
8713
8714         getcwd: Fix bug from 2009-09-10.
8715         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
8716         like "no".
8717
8718 2011-11-20  Simon Josefsson  <simon@josefsson.org>
8719
8720         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
8721
8722 2011-11-20  Bruno Haible  <bruno@clisp.org>
8723
8724         fma tests: Avoid shadowing local variables.
8725         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
8726         expected.
8727
8728 2011-11-20  Bruno Haible  <bruno@clisp.org>
8729
8730         copysignf tests: Fix.
8731         * tests/test-copysignf.c: Fix signature check.
8732
8733 2011-11-20  Bruno Haible  <bruno@clisp.org>
8734
8735         fma: Remove unused code.
8736         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
8737         unused macros.
8738
8739 2011-11-20  Bruno Haible  <bruno@clisp.org>
8740
8741         sethostname: Fix doc about AIX.
8742         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
8743         sethostname; it has it.
8744
8745         sethostname: Mention more portability problems.
8746         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
8747         problem.
8748         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
8749
8750 2011-11-19  Bruno Haible  <bruno@clisp.org>
8751
8752         Depend on module fcntl-h when AT_FDCWD is used.
8753         * modules/utimens (Depends-on): Add fcntl-h.
8754         * modules/areadlinkat (Depends-on): Likewise.
8755         * modules/areadlinkat-with-size (Depends-on): Likewise.
8756         * modules/faccessat (Depends-on): Likewise.
8757         * modules/fchmodat (Depends-on): Likewise.
8758         * modules/fchownat (Depends-on): Likewise.
8759         * modules/getcwd (Depends-on): Likewise.
8760         * modules/mkdirat (Depends-on): Likewise.
8761         * modules/mkfifoat (Depends-on): Likewise.
8762         * modules/readlinkat (Depends-on): Likewise.
8763         * modules/symlinkat (Depends-on): Likewise.
8764         * modules/dup2-tests (Depends-on): Likewise.
8765         * modules/fdutimensat-tests (Depends-on): Likewise.
8766         * modules/futimens-tests (Depends-on): Likewise.
8767
8768 2011-11-19  Bruno Haible  <bruno@clisp.org>
8769
8770         euidaccess: Update a comment.
8771         * lib/euidaccess.c: Update comment about platforms with faccessat.
8772
8773 2011-11-19  Bruno Haible  <bruno@clisp.org>
8774
8775         openat: Fix file list.
8776         * modules/openat (Files): Remove lib/at-func.c.
8777
8778 2011-11-19  Bruno Haible  <bruno@clisp.org>
8779
8780         fstatat: Simplify.
8781         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
8782         gnulib should define rpl_fstatat, there is a
8783         "#define fstatat rpl_fstatat" in <sys/stat.h>.
8784
8785 2011-11-19  Bruno Haible  <bruno@clisp.org>
8786
8787         Ensure 'inline' can be used in tests/test-utimens-common.h.
8788         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
8789         * modules/futimens-tests (configure.ac): Likewise.
8790         * modules/utimens-tests (configure.ac): Likewise.
8791         * modules/utimensat-tests (configure.ac): Likewise.
8792
8793 2011-11-19  Simon Josefsson  <simon@josefsson.org>
8794
8795         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
8796         not hash_insert0.
8797         (hash_insert_if_absent): Doc fix.
8798
8799 2011-11-19  Simon Josefsson  <simon@josefsson.org>
8800
8801         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
8802
8803 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
8804
8805         test-getcwd: disambiguate exit status
8806         * tests/test-getcwd.c (test_long_name): Return 0..7.
8807         (main): Exit with an unambiguous exit status.  The old
8808         code yielded a mysterious mixture of two failure codes.
8809
8810         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
8811         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
8812         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
8813         rpl_fstatat or fstatat.  This should fix the other problem
8814         reported by Kai Habel in
8815         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
8816         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
8817         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
8818         and I reproduced it on a Solaris 8 host we still have in production.
8819
8820 2011-11-18  Jim Meyering  <meyering@redhat.com>
8821
8822         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
8823         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
8824         Add a sentence to the comment.
8825         (hash_insert0): New function that simply calls hash_insert_if_absent.
8826         * lib/hash.h (hash_insert_if_absent): Declare it.
8827         (hash_insert0): Add deprecation attribute.
8828         (_GL_ATTRIBUTE_DEPRECATED): Define.
8829         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
8830         not hash_insert0.
8831         * NEWS: Mention it, even though it's not really an incompatible change.
8832
8833 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
8834
8835         openat: avoid compilation failure due to lack of <errno.h> inclusion
8836         * lib/openat.c: Include <errno.h>.
8837
8838 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8839
8840         * modules/getcwd (Depends-on): Add fdopendir.
8841         This fixes one of the two problems reported by Kai Habel in
8842         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
8843
8844         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
8845         stdalign problem reported by Ian Beckwith in
8846         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
8847         * modules/crypto/gc-arcfour (Depends-on):
8848         Depend conditionally on crypto/arcfour.
8849         * modules/crypto/gc-arctwo (Depends-on):
8850         Depend conditionally on crypto/arctwo.
8851         * modules/crypto/gc-des (Depends-on):
8852         Depend conditionally on crypto/des.
8853         * modules/crypto/gc-hmac-md5 (Depends-on):
8854         Depend conditionally on crypto/hmac-md5.
8855         * modules/crypto/gc-hmac-sha1 (Depends-on):
8856         Depend conditionally on crypto/hmac-sha1.
8857         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
8858         * modules/crypto/gc-md4 (Depends-on):
8859         Depend conditionally on crypto/md4.
8860         * modules/crypto/gc-md5 (Depends-on):
8861         Depend conditionally on crypto/md5.
8862         * modules/crypto/gc-rijndael (Depends-on):
8863         Depend conditionally on crypto/rijndael.
8864         * modules/crypto/gc-sha1 (Depends-on):
8865         Depend conditionally on crypto/sha1.
8866         * modules/crypto/gc-arcfour:
8867         * modules/crypto/gc-arctwo:
8868         * modules/crypto/gc-des:
8869         * modules/crypto/gc-hmac-md5:
8870         * modules/crypto/gc-hmac-sha1:
8871         * modules/crypto/gc-md2:
8872         * modules/crypto/gc-md4:
8873         * modules/crypto/gc-md5:
8874         * modules/crypto/gc-rijndael:
8875         * modules/crypto/gc-sha1:
8876         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
8877         now that the conditional dependencies do the work for us.
8878
8879 2011-11-17  Jim Meyering  <meyering@redhat.com>
8880
8881         tests: factor st_ctime-comparison out of two headers
8882         * tests/test-utimens-common.h (ctime_compare): Define.
8883         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
8884         * tests/test-lutimens.h (test_lutimens): Likewise.
8885         * tests/test-utimens.h (test_utimens): Likewise.
8886
8887         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
8888         Invoke the test program via an init.sh-using wrapper.
8889         * tests/test-getcwd.sh: New file.
8890         * modules/getcwd-tests (Files): Add it.
8891         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
8892
8893 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
8894
8895         gitlog-to-changelog: support multi-author commits.
8896         The FSF cares about keeping track of all authors of patches to its
8897         projects, but Git doesn't provide obvious support for multi-author
8898         changesets. Consensus seems to be forming around the use of extra
8899         Signed-off-by inspired lines in the log message formatted as
8900         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
8901         multi-author commits between version control systems.
8902         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
8903         log message and output in standard ChangeLog multi-author format.
8904         Reported by Peter Rosin <peda@lysator.liu.se>
8905
8906 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
8907             Bruno Haible  <bruno@clisp.org>
8908
8909         Fix some modules' file list.
8910         * modules/fstatat (Files): Add m4/lstat.m4.
8911         * modules/openat (Files): Likewise.
8912         * modules/unlinkat (Files): Likewise.
8913
8914 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
8915
8916         maint.mk: fix tight-scope.mk generation in VPATH builds.
8917         * top/maint.mk (tight-scope.mk): Make sure to prefix file
8918         reference with $(srcdir) so that the file is found correctly even
8919         when running `make syntax-check' in a VPATH build.
8920
8921 2011-11-13  Bruno Haible  <bruno@clisp.org>
8922             Jim Meyering  <meyering@redhat.com>
8923
8924         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
8925         * tests/init.sh (compare): Remove "No differences encountered" or
8926         synonymous output from the 'diff' program.
8927
8928 2011-11-13  Bruno Haible  <bruno@clisp.org>
8929
8930         Makefile: Tweak indentation.
8931         * Makefile: Use tab as first character in every line that contains rule
8932         commands.
8933
8934 2011-11-13  Bruno Haible  <bruno@clisp.org>
8935
8936         Syntax check for copyright statements.
8937         * check-copyright: New file.
8938         * Makefile (sc_check_copyright): New rule.
8939
8940 2011-11-13  Simon Josefsson  <simon@josefsson.org>
8941
8942         * build-aux/git-version-gen: Add --prefix to configure the tag
8943         match string.
8944
8945 2011-11-13  Simon Josefsson  <simon@josefsson.org>
8946
8947         * build-aux/git-version-gen: Add --help and --version.
8948
8949 2011-11-12  Jim Meyering  <meyering@redhat.com>
8950
8951         revamp the other test-exclude?.sh scripts to use init.sh, too
8952         * tests/test-exclude1.sh: Use init.sh.
8953         * tests/test-exclude2.sh: Likewise.
8954         * tests/test-exclude3.sh: Likewise.
8955         * tests/test-exclude4.sh: Likewise.
8956         * tests/test-exclude5.sh: Likewise.
8957         * tests/test-exclude6.sh: Likewise.
8958         * tests/test-exclude7.sh: Likewise.
8959         * tests/test-exclude8.sh: Likewise.
8960         * modules/exclude-tests (Files): List init.sh.
8961
8962         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
8963         These shell scripts ignored failure of the binary test-exclude,
8964         so making the latter return 77 didn't cause them to be skipped.
8965         * tests/test-exclude5.sh: Exit with test-exclude's error status
8966         when that program fails.  Revamp to use init.sh.
8967         * tests/test-exclude2.sh: Likewise.
8968
8969         test-exclude: fix a typo
8970         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
8971
8972 2011-11-11  Bruno Haible  <bruno@clisp.org>
8973
8974         obstack: Fix compilation error on MSVC 9.
8975         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
8976
8977 2011-11-11  Jim Meyering  <meyering@redhat.com>
8978
8979         test-exclude: skip tests rather than failing on deficient systems
8980         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
8981         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
8982         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
8983         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
8984
8985 2011-11-10  Bruno Haible  <bruno@clisp.org>
8986
8987         ptsname_r test: Avoid gcc warning on glibc systems.
8988         * tests/test-ptsname_r.c (null_ptr): New function.
8989         (test_errors): Use it.
8990
8991 2011-11-10  Bruno Haible  <bruno@clisp.org>
8992
8993         ptsname_r: Avoid compilation error on OSF/1 5.1.
8994         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
8995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
8996         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
8997         function is not declared or incompatibly declared.
8998         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
8999         * modules/ptsname_r (Depends-on, configure.ac): Update.
9000         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
9001
9002 2011-11-10  Bruno Haible  <bruno@clisp.org>
9003
9004         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
9005         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
9006         When cross-compiling, guess yes on all platforms except AIX.
9007         Reported by Ludovic Courtès <ludo@gnu.org>.
9008
9009 2011-11-09  Bruno Haible  <bruno@clisp.org>
9010
9011         ptsname_r tests: Fix bugs.
9012         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
9013         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
9014
9015 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
9016
9017         fstatat: work with cross-compilation
9018         Problem reported by Ludovic Courtès in
9019         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
9020         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
9021         "cross-compiling" and assume the bug is present.  Replace
9022         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
9023         an inverted sense, to be more conservative about our assumptions.
9024         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
9025
9026 2011-11-09  Bruno Haible  <bruno@clisp.org>
9027
9028         Improve MODULES.html output.
9029         * modules/mkfifoat (Description): Use the word "function".
9030         * modules/readlinkat (Description): Likewise.
9031         * modules/symlinkat (Description): Likewise.
9032
9033 2011-11-09  Eric Blake  <eblake@redhat.com>
9034
9035         ptsname_r-tests: new test module
9036         * modules/ptsname_r-tests: New module.
9037         * tests/test-ptsname_r.c: New file.
9038
9039         ptsname_r: new module
9040         * modules/ptsname_r: New module.
9041         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
9042         * lib/ptsname.c (__ptsname_r): Split...
9043         * lib/ptsname_r.c: ...into new file.
9044         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
9045         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
9046         * modules/stdlib (Makefile.am): Substitute witnesses.
9047         * lib/stdlib.in.h (ptsname_r): Declare it.
9048         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
9049         * MODULES.html.sh (Misc): Likewise.
9050         * modules/ptsname (Depends-on): Alter dependency.
9051         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
9052
9053 2011-11-09  Jim Meyering  <meyering@redhat.com>
9054
9055         announce-gen: be more concise when there's only one URL+tarball
9056         * build-aux/announce-gen (get_tool_versions): When you distribute
9057         only one type of tarball, combine the first two "Here are..."
9058         sections and make the key-checking grammar independent of
9059         how many tarballs there are.
9060
9061 2011-11-09  Eric Blake  <eblake@redhat.com>
9062
9063         openpty: provide a stub on mingw
9064         * lib/pty.in.h (includes): Provide forward declarations.
9065         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
9066
9067         raise: fix mingw handling of SIGPIPE
9068         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
9069
9070 2011-11-08  Bruno Haible  <bruno@clisp.org>
9071
9072         More conditional dependencies.
9073         * modules/faccessat (Depends-on): Add conditions.
9074         * modules/fchmodat (Depends-on): Likewise.
9075         * modules/fchownat (Depends-on): Likewise.
9076         * modules/fstatat (Depends-on): Likewise.
9077         * modules/mkfifoat (Depends-on): Likewise.
9078         * modules/readlinkat (Depends-on): Likewise.
9079         * modules/symlinkat (Depends-on): Likewise.
9080         * modules/unlinkat (Depends-on): Likewise.
9081         * modules/utimensat (Depends-on): Likewise.
9082         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
9083         * modules/linkat (Depends-on): Refine the conditions.
9084         * modules/renameat (Depends-on): Likewise.
9085
9086 2011-11-08  Bruno Haible  <bruno@clisp.org>
9087
9088         faccessat: Move AC_LIBOBJ invocation to module description.
9089         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
9090         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
9091         invocation from here...
9092         * modules/faccessat (configure.ac): ... to here. Invoke
9093         gl_PREREQ_FACCESSAT.
9094
9095 2011-11-08  Bruno Haible  <bruno@clisp.org>
9096
9097         faccessat: Simplify autoconf macro.
9098         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
9099         gl_FUNC_EUIDACCESS.
9100
9101 2011-11-08  Bruno Haible  <bruno@clisp.org>
9102
9103         renameat: Fix dependencies.
9104         * modules/renameat (Depends-on): Add stdbool.
9105
9106 2011-11-08  Bruno Haible  <bruno@clisp.org>
9107
9108         mkfifoat: Fix module description.
9109         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
9110         not gl_UNISTD_MODULE_INDICATOR.
9111
9112 2011-11-08  Bruno Haible  <bruno@clisp.org>
9113
9114         fstatat: Remove unused dependency.
9115         * modules/fstatat (Depends-on): Remove fstat.
9116
9117 2011-11-08  Simon Josefsson  <simon@josefsson.org>
9118
9119         GNUmakefile: behave when Makefile is missing.
9120         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
9121
9122 2011-11-08  Bruno Haible  <bruno@clisp.org>
9123
9124         openat: Conditionalize dependencies.
9125         * lib/openat.c: Reduce the scope of some #includes.
9126         * modules/openat (Depends-on): Add conditions.
9127
9128 2011-11-07  Jim Meyering  <meyering@redhat.com>
9129
9130         maint.mk: extract GPG key ID without using a temporary file
9131         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
9132         without using a temporary file.  Based on a suggestion from Werner Koch
9133         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
9134
9135 2011-11-07  Eric Blake  <eblake@redhat.com>
9136
9137         grantpt: fix typo
9138         * lib/stdlib.in.h (grantpt): Check correct function.
9139
9140         maint.mk: silence new syntax check
9141         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
9142
9143 2011-11-06  Bruno Haible  <bruno@clisp.org>
9144
9145         Doc about floating-point and math API.
9146         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
9147         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
9148
9149 2011-11-06  Bruno Haible  <bruno@clisp.org>
9150
9151         stdalign tests: Skip the test when compiled by Sun C.
9152         * tests/test-stdalign.c (main): Skip the test on Sun C.
9153
9154 2011-11-06  Bruno Haible  <bruno@clisp.org>
9155
9156         ansi-c++-opt: Complete the 2011-06-05 change.
9157         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
9158         does not support namespaces, set the variable to "no", not to ":".
9159
9160 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
9161
9162         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
9163
9164 2011-11-06  Bruno Haible  <bruno@clisp.org>
9165
9166         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
9167         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
9168         (minus_zerol) [HP-UX]: New macro.
9169         (unary_minus) [HP-UX]: New function.
9170         (copysignl) [HP-UX]: Use unary_minus function.
9171
9172 2011-11-06  Bruno Haible  <bruno@clisp.org>
9173
9174         ldexp, ldexpf, ldexpl: Enhance tests.
9175         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
9176         and tests/test-ldexpl.c.
9177         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
9178         LDEXP, MIN_EXP, MAX_EXP): New macros.
9179         Include test-ldexp.h.
9180         (main): Just call test_function.
9181         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
9182         infinity.h, nan.h.
9183         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
9184         MAX_EXP): New macros.
9185         Include test-ldexp.h.
9186         (x, y): Remove variables.
9187         (main): Just call test_function.
9188         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
9189         infinity.h, nan.h.
9190         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
9191         MAX_EXP): New macros.
9192         Include test-ldexp.h.
9193         (x, y): Remove variables.
9194         (main): Just call test_function.
9195         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
9196         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
9197         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
9198         (Depends-on): Add isnand-nolibm, signbit, float.
9199         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
9200         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
9201         (Depends-on): Add isnanf-nolibm, signbit, float.
9202
9203 2011-11-06  Bruno Haible  <bruno@clisp.org>
9204
9205         math tests: Cosmetics.
9206         * tests/test-math-c++.cc: Reorder declarations.
9207
9208 2011-11-05  Bruno Haible  <bruno@clisp.org>
9209
9210         fma*: Simplify test.
9211         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
9212         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
9213
9214         Tests for module 'fmal'.
9215         * modules/fmal-tests: New file.
9216         * tests/test-fmal1.c: New file.
9217         * tests/test-fmal2.c: New file.
9218
9219         New module 'fmal'.
9220         * lib/math.in.h (fmal): New declaration.
9221         * lib/fmal.c: New file.
9222         * m4/fmal.m4: New file.
9223         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
9224         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
9225         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
9226         REPLACE_FMAL.
9227         * modules/fmal: New file.
9228         * doc/posix-functions/fmal.texi: Mention the new module and the various
9229         bugs.
9230
9231         Tests for module 'fmaf'.
9232         * modules/fmaf-tests: New file.
9233         * tests/test-fmaf1.c: New file.
9234         * tests/test-fmaf2.c: New file.
9235
9236         New module 'fmaf'.
9237         * lib/math.in.h (fmaf): New declaration.
9238         * lib/fmaf.c: New file.
9239         * m4/fmaf.m4: New file.
9240         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
9241         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
9242         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
9243         REPLACE_FMAF.
9244         * modules/fmaf: New file.
9245         * doc/posix-functions/fmaf.texi: Mention the new module and the various
9246         bugs.
9247
9248         Tests for module 'fma'.
9249         * modules/fma-tests: New file.
9250         * tests/test-fma1.c: New file.
9251         * tests/test-fma1.h: New file.
9252         * tests/test-fma2.c: New file.
9253         * tests/test-fma2.h: New file.
9254
9255         New module 'fma'.
9256         * lib/math.in.h (fma): New declaration.
9257         * lib/fma.c: New file.
9258         * m4/fma.m4: New file.
9259         * m4/fegetround.m4: New file.
9260         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
9261         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
9262         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
9263         REPLACE_FMA.
9264         * modules/fma: New file.
9265         * doc/posix-functions/fma.texi: Mention the new module and the various
9266         bugs.
9267
9268         Extend gl_MATHFUNC.
9269         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
9270         Support 'void' as argument type.
9271         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
9272
9273 2011-11-05  Jim Meyering  <meyering@redhat.com>
9274
9275         maint.mk: also prohibit inclusion of dirent.h without use
9276         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
9277
9278 2011-11-05  Bruno Haible  <bruno@clisp.org>
9279
9280         ldexpl tests: Avoid test failure on MSVC 9.
9281         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
9282         value. Needed in order to enforce the conversion from a value greater
9283         than LDBL_MAX to Infinity.
9284
9285 2011-11-05  Bruno Haible  <bruno@clisp.org>
9286
9287         New modules 'at-internal', 'openat-h', split off from module 'openat'.
9288         * modules/at-internal: New file, extracted from modules/openat.
9289         * modules/openat-h: New file.
9290         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
9291         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
9292         * modules/openat (Description): Add reference to POSIX function.
9293         (Files): Remove lib/openat.h, lib/openat-proc.c.
9294         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
9295         intprops, unistd.
9296         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
9297         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
9298         gl_FCNTL_MODULE_INDICATOR.
9299         (Include): Remove unistd.h, openat.h.
9300         * modules/areadlinkat (Files): Add lib/at-func.c.
9301         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
9302         openat-die, openat-h, save-cwd.
9303         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
9304         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
9305         openat-die, openat-h, save-cwd, unistd.
9306         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
9307         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9308         openat-h, save-cwd. Remove fcntl-h, openat.
9309         * modules/fchmodat (Files): Remove lib/openat.h.
9310         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
9311         openat, stdbool, unistd.
9312         * modules/fchownat (Files): Remove lib/openat.h.
9313         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
9314         openat, stdbool, sys_stat.
9315         * modules/fdopendir (Files): Remove lib/openat-priv.h,
9316         lib/openat-proc.c.
9317         (Depends-on): Add at-internal.
9318         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
9319         * modules/fstatat (Files): Remove lib/openat.h.
9320         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
9321         stdbool, unistd.
9322         * modules/fts (Depends-on): Add openat-h.
9323         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
9324         openat.
9325         * modules/mkdirat (Files): Remove lib/openat.h.
9326         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
9327         openat, stdbool, sys_stat.
9328         * modules/mkfifoat (Files): Add lib/at-func.c.
9329         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9330         openat-h, save-cwd. Remove fcntl-h, openat.
9331         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
9332         * modules/readlinkat (Files): Add lib/at-func.c.
9333         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9334         openat-h, save-cwd. Remove fcntl-h, openat.
9335         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
9336         openat.
9337         * modules/selinux-at (Files): Add lib/at-func.c.
9338         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
9339         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
9340         * modules/symlinkat (Files): Add lib/at-func.c.
9341         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
9342         openat-h, save-cwd. Remove fcntl-h, openat.
9343         * modules/unlinkat (Files): Remove lib/openat.h.
9344         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
9345         stdbool.
9346         * modules/utimensat (Files): Add lib/at-func.c.
9347         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
9348         openat-die, openat-h, save-cwd.
9349         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
9350         * modules/fdutimensat-tests (Depends-on): Add openat.
9351         * modules/fstatat-tests (Depends-on): Add openat-h.
9352         * modules/readlinkat-tests (Depends-on): Add openat.
9353         * modules/symlinkat-tests (Depends-on): Add openat.
9354
9355 2011-11-05  Bruno Haible  <bruno@clisp.org>
9356
9357         openat: Include <stdbool.h>.
9358         * lib/openat.c: Include <stdbool.h>.
9359
9360 2011-11-04  Bruno Haible  <bruno@clisp.org>
9361
9362         fchownat, renameat, unlinkat: Fix dependencies.
9363         * modules/fchownat (Depends-on): Add fstatat.
9364         * modules/renameat (Depends-on): Likewise.
9365         * modules/unlinkat (Depends-on): Likewise.
9366
9367 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
9368
9369         openat: remove direct dependency on dirent
9370         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
9371         and hasn't been needed ever since fdopendir was split into its own
9372         module on 2009-08-31.
9373         * modules/openat (Depends-on): Remove dirent.
9374
9375 2011-11-04  Bruno Haible  <bruno@clisp.org>
9376
9377         renameat: Optimize code size.
9378         * modules/renameat (configure.ac): Don't compile at-func2.c if
9379         REPLACE_RENAMEAT is 1.
9380
9381 2011-11-04  Bruno Haible  <bruno@clisp.org>
9382
9383         openat tests: Fix file list.
9384         * modules/openat-tests (Files): Add tests/test-open.h.
9385
9386 2011-11-04  Bruno Haible  <bruno@clisp.org>
9387
9388         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
9389         * modules/fchmodat (Depends-on): Add openat-die.
9390         * modules/fchownat (Depends-on): Likewise.
9391         * modules/linkat (Depends-on): Likewise.
9392         * modules/renameat (Depends-on): Likewise.
9393         * modules/openat (Depends-on): Add dirent.
9394
9395 2011-11-04  Jim Meyering  <meyering@redhat.com>
9396
9397         at-func*.c: fix comments
9398         * lib/at-func2.c: Correct/improve first-line comment.
9399         * lib/at-func.c: Correct grammar in first-line comment.
9400
9401 2011-11-04  Bruno Haible  <bruno@clisp.org>
9402
9403         New module 'mkdirat', split off from module 'openat'.
9404         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
9405         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
9406         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
9407         * modules/mkdirat: New file, extracted from modules/openat.
9408         * modules/openat (Files): Remove lib/mkdirat.c.
9409         (Depends-on): Remove mkdir.
9410         (configure.ac): Remove AC_LIBOBJ of mkdirat.
9411         (Include): Remove <sys/stat.h>.
9412         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
9413         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
9414         tests/test-mkdir.h.
9415         (Depends-on): Remove ignore-value.
9416         (Makefile.am): Remove rules for test-mkdirat.
9417         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
9418         of module 'openat'.
9419         * NEWS: Mention the change.
9420
9421 2011-11-04  Bruno Haible  <bruno@clisp.org>
9422
9423         closedir: Avoid warning on mingw.
9424         * lib/closedir.c: Include <unistd.h>.
9425
9426 2011-11-04  Bruno Haible  <bruno@clisp.org>
9427
9428         New module 'fstatat', split off from module 'openat'.
9429         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
9430         defined.
9431         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
9432         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
9433         gl_FUNC_FSTATAT.
9434         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
9435         * modules/fstatat: New file, extracted from modules/openat.
9436         * modules/openat (Files): Remove lib/fstatat.c.
9437         (Depends-on): Remove lstat.
9438         (configure.ac): Remove AC_LIBOBJ of fstatat.
9439         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
9440         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
9441         tests/test-lstat.h, tests/test-stat.h.
9442         (Depends-on): Remove getcwd-lgpl.
9443         (Makefile.am): Remove rules for test-fstatat.
9444         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
9445         of module 'openat'.
9446         * NEWS: Mention the change.
9447         * modules/getcwd (Depends-on): Add fstatat.
9448         * modules/linkat (Depends-on): Likewise.
9449         * modules/mkfifoat-tests (Depends-on): Likewise.
9450         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
9451
9452 2011-11-03  Bruno Haible  <bruno@clisp.org>
9453
9454         New module 'unlinkat', split off from module 'openat'.
9455         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
9456         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
9457         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
9458         * modules/unlinkat: New file, extracted from modules/openat. Correct
9459         the dependency conditions.
9460         * modules/openat (Files): Remove lib/unlinkat.c.
9461         (Depends-on): Remove rmdir, unlink.
9462         (configure.ac): Remove AC_LIBOBJ of unlinkat.
9463         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
9464         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
9465         tests/test-rmdir.h, tests/test-unlink.h.
9466         (Depends-on): Remove unlinkdir.
9467         (Makefile.am): Remove rules for test-unlinkat.
9468         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
9469         of module 'openat'.
9470         * NEWS: Mention the change.
9471         * modules/linkat-tests (Depends-on): Add unlinkat.
9472         * modules/mkfifoat-tests (Depends-on): Likewise.
9473         * modules/readlinkat-tests (Depends-on): Likewise.
9474
9475 2011-11-02  Bruno Haible  <bruno@clisp.org>
9476
9477         New module 'fchmodat', split off from module 'openat'.
9478         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
9479         defined.
9480         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
9481         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
9482         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
9483         * modules/fchmodat: New file, extracted from modules/openat.
9484         * modules/openat (Files): Remove lib/fchmodat.c.
9485         (configure.ac): Remove AC_LIBOBJ of fchmodat.
9486         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
9487         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
9488         (Makefile.am): Remove rules for test-fchmodat.
9489         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
9490         of module 'openat'.
9491         * NEWS: Mention the change.
9492
9493 2011-11-02  Jim Meyering  <meyering@redhat.com>
9494
9495         putenv: indent #definition of "environ" to placate cppi
9496         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
9497
9498         gitlog-to-changelog: provide a ChangeLog-repair mechanism
9499         Git logs are often treated as immutable, because editing them
9500         changes the SHA1 checksums of all descendants.  Thus, errors in
9501         git logs tend to stay there forever.  However, when we generate
9502         a ChangeLog file -- typically for distribution -- from that git log,
9503         we can actually make corrections in the generated file.  The key
9504         lies in recording in machine-readable/applicable form the desired
9505         corrections.  See --help for description and an example.
9506         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
9507         (usage): Describe it; alphabetize option descriptions.
9508         (main): Honor the new option, carefully.
9509
9510 2011-11-01  Jim Meyering  <meyering@redhat.com>
9511
9512         gitlog-to-changelog: avoid an infloop
9513         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
9514         that ends up being empty.
9515
9516 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
9517
9518         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
9519         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
9520         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
9521         contains (possibly-quoted) backslashes.  This should avoid
9522         all-too-common shell bugs if COMPLICATED contains backslashes in
9523         the "wrong" places.  Reported by David Evans in
9524         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
9525         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
9526         because we want ASCII ranges.  Is there some reason we don't use
9527         the C locale everywhere in this script?
9528         (func_module, top level): Avoid unwanted pathname expansion when
9529         $repo_url_prefix or $repo_url_suffix_repl contain shell
9530         metacharacters like '?' and '*'.
9531
9532 2011-11-01  Bruno Haible  <bruno@clisp.org>
9533
9534         fchownat: Improve description.
9535         * modules/fchownat (Description): Add link to function.
9536
9537 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
9538
9539         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
9540         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
9541         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
9542         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
9543
9544 2011-11-01  Bruno Haible  <bruno@clisp.org>
9545
9546         alignof: Avoid collision with stdalign module.
9547         * lib/alignof.h (alignof): Remove macro.
9548         * NEWS: Mention the change.
9549         Reported by Paul Eggert.
9550
9551 2011-11-01  Bruno Haible  <bruno@clisp.org>
9552
9553         New module 'fchownat', split off from module 'openat'.
9554         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
9555         defined.
9556         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
9557         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
9558         invoke gl_FUNC_FCHOWNAT.
9559         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
9560         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
9561         * modules/fchownat: New file, extracted from modules/openat.
9562         * modules/openat (Files): Remove lib/fchownat.c.
9563         (Depends-on): Remove lchown.
9564         (configure.ac): Remove AC_LIBOBJ of fchownat.
9565         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
9566         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
9567         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
9568         (Depends-on): Remove mgetgroups, usleep, stat-time.
9569         (configure.ac): Remove test for getegid.
9570         (Makefile.am): Remove rules for test-fchownat.
9571         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
9572         of module 'openat'.
9573         * NEWS: Mention the change.
9574
9575 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
9576
9577         stdalign: port better to MSVC and to Sun C 5.11
9578         This fixes some of the problems reported by Bruno Haible in
9579         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
9580         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
9581         shortcomings of MSVC and of Sun C 5.11.
9582         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
9583         around __declspec arg.
9584         * modules/stdalign-tests (Files): Add tests/macros.h.
9585         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
9586         Include macros.h, for ASSERT.
9587         (DECLARE_ALIGNED): Remove.
9588         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
9589         to catch bug), and to 1 if not (simplifies the rest of the code).
9590         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
9591         (CHECK_AUTO): Remove.
9592         (CHECK_ALIGNED): Check only the alignment of the static vars,
9593         since auto var alignment isn't supported by Sun C 5.11.
9594         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
9595         ASSERT failures are easier to diagnose.
9596
9597 2011-10-31  Bruno Haible  <bruno@clisp.org>
9598
9599         doc about some IRIX 5.3 problems.
9600         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
9601         on IRIX 5.3.
9602         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
9603         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
9604         5.3.
9605         * doc/posix-functions/grantpt.texi: Likewise.
9606         * doc/posix-functions/unlockpt.texi: Likewise.
9607         * doc/posix-functions/lgamma.texi: Likewise.
9608         * doc/posix-functions/nextafter.texi: Likewise.
9609         * doc/posix-functions/remainder.texi: Likewise.
9610         * doc/posix-functions/select.texi: Mention misplaced declaration on
9611         IRIX 5.3.
9612         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9613
9614 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
9615
9616         gitlog-to-changelog: fix git-log invocation.
9617         git-log mishandles date strings before 1970-01-01 UTC, and there is
9618         no use to specify --since=1970-01-01 by default anyway.
9619         * build-aux/gitlog-to-changelog: By default, when no --since option
9620         was given, do not specify explicit --since option to git-log.
9621
9622 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
9623
9624         gitlog-to-changelog: new option --append-dot.
9625         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
9626         first non-blank line of each commit message terminated with a dot.
9627
9628 2011-10-30  Bruno Haible  <bruno@clisp.org>
9629
9630         ffsl, ffsll: Avoid compilation error due to 'restrict'.
9631         * lib/ffsl.h: Include <config.h>.
9632         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
9633
9634 2011-10-30  Jim Meyering  <meyering@redhat.com>
9635
9636         GNUmakefile: reenable "make syntax-check" for most projects
9637         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
9638         build-aux variable", "syntax-check" would do nothing but succeed with
9639         the "No version control files detected..." diagnostic (unless you
9640         happened to override _build-aux via cfg.mk).
9641         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
9642         to precede inclusion of maint.mk.  Otherwise, these variables would
9643         be used undefined in any project that does not override the default.
9644
9645 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
9646
9647         gitlog-to-changelog: treat a message with only blank lines as empty.
9648         * build-aux/gitlog-to-changelog: Move the code that removes leading and
9649         trailing blank lines before the code that issues a warning about an
9650         empty commit message.
9651
9652 2011-10-30  Jim Meyering  <meyering@redhat.com>
9653
9654         test-parse-datetime.c: avoid new DST-related false positive test failure
9655         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
9656         based on the time/date we'll convert, not the current time.
9657         Otherwise, the moment we cross a DST boundary like today's in
9658         Europe, (CEST to CET), that offset ends up being one hour off.
9659
9660 2011-10-27  Bruno Haible  <bruno@clisp.org>
9661
9662         fstat: Tweak documentation.
9663         * modules/fstat (Description): More precise description.
9664
9665 2011-10-27  Bruno Haible  <bruno@clisp.org>
9666
9667         Update documentation regarding 'largefile' module.
9668         * doc/posix-functions/fstat.texi: Tweak wording.
9669         * doc/posix-functions/opendir.texi: Mention that the module fixes the
9670         problems with huge directories and/or small ino_t types.
9671         * doc/posix-functions/readdir.texi: Likewise.
9672         * doc/posix-functions/rewinddir.texi: Likewise.
9673
9674 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
9675
9676         maint.mk: don't maintain a second build-aux variable.
9677         * maint.mk (build_aux): Removed.  The maintainer-makefile module
9678         depends on GNUmakefile, which already maintains a cfg.mk
9679         overridable $(_build-aux) for projects with a non-standard
9680         build-aux directory location, although without the $(srcdir)
9681         prefix.  Use that variable consistently instead of introducing a
9682         second one.  Adjust all call sites.
9683
9684 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
9685
9686         Add stdalign module and use it in other modules.
9687         This is based on a previous proposal by Bruno Haible
9688         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
9689
9690         stdalign: new module
9691         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
9692         * modules/stdalign: New files.
9693         * MODULES.html.sh (c1x_core_properties): Add stdalign.
9694         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
9695
9696         stdalign-tests: new module
9697         * modules/stdalign-tests, tests/test-stdalign.c: New files.
9698
9699         argp: use stdalign
9700         * lib/argp-parse.c: Include <stdalign.h>.
9701         (alignof): Remove.
9702         * modules/argp (Depends-on): Add stdalign.
9703
9704         crypto libraries: use stdalign
9705         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
9706         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
9707         Do not include <stdlib.h> twice, in md4.c.
9708         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
9709         because we are accessing a pointer's bit-pattern, not a size.
9710         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
9711         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
9712         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
9713         * modules/crypto/sha512: Likewise.
9714
9715         sys_socket: use stdalign, not alignof
9716         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
9717         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
9718
9719 2011-10-27  Bruno Haible  <bruno@clisp.org>
9720
9721         raise test: Avoid a test failure on Linux/MIPS.
9722         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
9723         because 99 is a valid signal on Linux/MIPS.
9724
9725 2011-10-27  Bruno Haible  <bruno@clisp.org>
9726
9727         nonblocking tests: Fix test failure on Linux/MIPS.
9728         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
9729         Set to 270000.
9730
9731 2011-10-27  Bruno Haible  <bruno@clisp.org>
9732
9733         utimensat: Work around problem on Linux/hppa.
9734         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
9735         values.
9736         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
9737
9738 2011-10-25  Jim Meyering  <meyering@redhat.com>
9739
9740         maint.mk: fix a bug in sc_prohibit_stddef_without_use
9741         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
9742         after symbols like NULL, size_t, etc.
9743         Reported by Alfred M. Szmidt.
9744
9745         maint.mk: exempt ENODATA from a syntax-check rule
9746         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
9747         from the sc_prohibit_always-defined_macros syntax-check rule.
9748         Add a comment.  See this for more details:
9749         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
9750
9751 2011-10-23  Jim Meyering  <meyering@redhat.com>
9752
9753         fts: close parent dir FD before returning from post-traversal fts_read
9754         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
9755         unlink A, even though an FD open on A remained.  This is suboptimal
9756         (holding a file descriptor open longer than needed), but otherwise not
9757         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
9758         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
9759         that represents a real problem: it causes the removal of A to fail
9760         with e.g., "rm: cannot remove `A': Device or resource busy"
9761
9762         fts visits each directory twice and keeps a cache (fts_fd_ring) of
9763         directory file descriptors.  After completing the final, FTS_DP,
9764         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
9765         cache, but then proceeded to add a new FD to it via the subsequent
9766         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
9767         final file descriptor would be closed only via fts_close's call to
9768         fd_ring_clear.  Now, it is usually closed earlier, via the final
9769         FTS_DP-returning fts_read call.
9770         * lib/fts.c (restore_initial_cwd): New function, converted from
9771         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
9772         Update callers.
9773         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
9774         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
9775
9776 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
9777             Bruno Haible  <bruno@clisp.org>
9778             Jim Meyering  <jim@meyering.net>
9779
9780         readme-release: improve safety of release prep instructions.
9781         * README-release: Don't git pull all branches when only master
9782         is needed for the release process.
9783         Run make maintainer-clean before changing trees and merging.
9784         Don't try to run ./configure right after git pull in case files
9785         that influence the bootstrap process have changed, move the
9786         ./configure step to after running ./bootstrap.
9787         Don't bootstrap "one last time"... it's the first time!
9788
9789 2011-10-22  Bruno Haible  <bruno@clisp.org>
9790
9791         errno, strerror-override: Support for MSVC 10.
9792         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
9793         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
9794         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
9795         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
9796         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
9797         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
9798         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
9799         Assign values compatible with MSVC 10.
9800         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
9801         New macros.
9802         (GNULIB_defined_EWINSOCK): New macro.
9803         * lib/strerror-override.c (strerror_override): Update accordingly.
9804         * lib/strerror-override.h: Likewise.
9805         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
9806         longer equal to the corresponding errno value.
9807         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9808
9809 2011-10-22  Bruno Haible  <bruno@clisp.org>
9810
9811         perror: Recognize when test program crashes.
9812         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
9813         strerror, set gl_cv_func_perror_works to no.
9814         Reported by Daniel Richard G. <skunk@iskunk.org>.
9815
9816         perror: Fix indentation.
9817         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
9818
9819 2011-10-22  Bruno Haible  <bruno@clisp.org>
9820
9821         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
9822         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
9823         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
9824         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
9825         functions, not as a macro.
9826         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
9827         macros.
9828         (isfinite, isinf, isnan, signbit): Check overloaded functions and
9829         absence of macro.
9830         Suggested by Eric Blake.
9831         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
9832
9833 2011-10-21  Bruno Haible  <bruno@clisp.org>
9834
9835         relocatable-prog-wrapper: Don't leave object files behind.
9836         * build-aux/install-reloc: Re-synchronize list of .o files to be
9837         removed with list of compilation units.
9838
9839 2011-10-20  Bruno Haible  <bruno@clisp.org>
9840
9841         openpty, posix_openpt: Remove code duplication.
9842         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
9843         * lib/openpty.c: Include <stdlib.h>.
9844         (openpty): Use posix_openpt on all platforms except IRIX.
9845         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
9846
9847 2011-10-20  Bruno Haible  <bruno@clisp.org>
9848
9849         unlockpt: Detect invalid argument.
9850         * lib/unlockpt.c: Include <fcntl.h>.
9851         (unlockpt): Check whether fd is valid, using fcntl().
9852         * modules/unlockpt (Depends-on): Add fcntl-h.
9853
9854 2011-10-20  Bruno Haible  <bruno@clisp.org>
9855
9856         openpty: Avoid compilation error on AIX 6.1.
9857         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
9858
9859 2011-10-20  Bruno Haible  <bruno@clisp.org>
9860
9861         posix_openpt: Support for OpenBSD.
9862         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
9863         (posix_openpt) [OpenBSD]: New code.
9864         * lib/grantpt.c: Include <fcntl.h>.
9865         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
9866         * modules/grantpt (Depends-on): Add fcntl-h.
9867
9868 2011-10-20  Bruno Haible  <bruno@clisp.org>
9869
9870         posix_openpt test: Coding style.
9871         * tests/test-posix_openpt.c: Use GNU coding style.
9872
9873 2011-10-20  Bruno Haible  <bruno@clisp.org>
9874
9875         grantpt: Support --avoid=pt_chown.
9876         * modules/grantpt (Files): Add lib/pty-private.h.
9877
9878 2011-10-20  Bruno Haible  <bruno@clisp.org>
9879
9880         posix_openpt: Fix autoconf macro.
9881         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
9882         unneeded check for _getpty.
9883
9884 2011-10-20  Bruno Haible  <bruno@clisp.org>
9885
9886         openpty: Update comments.
9887         * lib/openpty.c: Add comments about Minix.
9888
9889 2011-10-19  Eric Blake  <eblake@redhat.com>
9890
9891         openpty: relax license
9892         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
9893
9894         pt_chown: use configmake to simplify build
9895         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
9896
9897         ptsname and others: relax license
9898         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
9899         * modules/unlockpt (License): Likewise.
9900         * modules/pt_chown (License): Likewise.
9901         * modules/ptsname (License): Likewise.
9902         * modules/ttyname_r (License): Likewise.
9903
9904 2011-10-19  Jim Meyering  <meyering@redhat.com>
9905
9906         posix_openpt: remove spurious #endif
9907         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
9908
9909 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
9910
9911         maint.mk: Respect $(build_aux) in web-manual rule.
9912         * top/maint.mk (web-manual): Find gen-announce script in user's
9913         $(build_aux) directory instead of hard-coding 'build-aux'.
9914
9915 2011-10-19  Bruno Haible  <bruno@clisp.org>
9916
9917         posix_openpt: Fix compilation error.
9918         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
9919         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
9920         Mention the openpty module as an alternative.
9921
9922 2011-10-19  Bruno Haible  <bruno@clisp.org>
9923
9924         Support for old NeXTstep 3.3 frexp().
9925         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
9926         execution time of the test to 5 seconds.
9927         Reported by Daniel Richard G. <skunk@iskunk.org>.
9928
9929 2011-10-19  Bruno Haible  <bruno@clisp.org>
9930
9931         Support for old NeXTstep 3.3 sed.
9932         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
9933         part, use /.../, not \|...|. Escape periods in the header file name.
9934         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
9935         Reported by Daniel Richard G. <skunk@iskunk.org>.
9936
9937 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
9938
9939         Support for old NeXTstep 3.3 gcc.
9940         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
9941         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
9942         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
9943         * lib/spawn.in.h (_Restrict_arr_): Likewise.
9944         * lib/regex.h (_Restrict_arr_): Likewise.
9945         * lib/regex_internal.h (re_token_t): Likewise.
9946         * lib/regexec.c (check_node_accept_bytes): Likewise.
9947         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
9948
9949 2011-10-18  Eric Blake  <eblake@redhat.com>
9950
9951         posix_openpt: new module
9952         * modules/posix_openpt: New module.
9953         * m4/posix_openpt.m4: New file.
9954         * lib/posix_openpt.c: Likewise.
9955         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
9956         (gl_STDLIB_H_DEFAULTS): Set defaults.
9957         * modules/stdlib (Makefile.am): Substitute macros.
9958         * lib/stdlib.in.h (posix_openpt): Declare.
9959         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
9960         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
9961         * modules/posix_openpt-tests: New test module.
9962         * tests/test-posix_openpt.c: New test.
9963
9964 2011-10-15  Bruno Haible  <bruno@clisp.org>
9965
9966         xstrtoll: Fix compilation failure.
9967         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
9968         from lib/strtol.c.
9969         * doc/posix-headers/limits.texi: Mention missing numerical limits on
9970         some platforms.
9971         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9972
9973 2011-10-15  Bruno Haible  <bruno@clisp.org>
9974
9975         vasnprintf: Optimize bit search operation.
9976         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
9977         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
9978         gl_DOUBLE_EXPONENT_LOCATION.
9979         * modules/vasnprintf (Files): Add m4/exponentd.m4.
9980         * modules/unistdio/u8-vasnprintf (Files): Likewise.
9981         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
9982         * modules/unistdio/u16-vasnprintf (Files): Likewise.
9983         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
9984         * modules/unistdio/u32-vasnprintf (Files): Likewise.
9985         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
9986         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
9987         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
9988
9989 2011-10-15  Bruno Haible  <bruno@clisp.org>
9990
9991         vasnprintf: Fix comments.
9992         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
9993
9994 2011-10-14  Bruno Haible  <bruno@clisp.org>
9995
9996         Tests for module 'integer_length_ll'.
9997         * modules/integer_length_ll-tests: New file.
9998         * tests/test-integer_length_ll.c: New file.
9999
10000         New module 'integer_length_ll'.
10001         * lib/integer_length_ll.c: New file.
10002         * modules/integer_length_ll: New file.
10003
10004 2011-10-14  Bruno Haible  <bruno@clisp.org>
10005
10006         Tests for module 'integer_length_l'.
10007         * modules/integer_length_l-tests: New file.
10008         * tests/test-integer_length_l.c: New file.
10009
10010         New module 'integer_length_l'.
10011         * lib/integer_length_l.c: New file.
10012         * modules/integer_length_l: New file.
10013
10014 2011-10-14  Bruno Haible  <bruno@clisp.org>
10015
10016         Tests for module 'integer_length'.
10017         * modules/integer_length-tests: New file.
10018         * tests/test-integer_length.c: New file.
10019
10020         New module 'integer_length'.
10021         * lib/integer_length.h: New file.
10022         * lib/integer_length.c: New file.
10023         * modules/integer_length: New file.
10024
10025 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10026
10027         popen: Fix dependency conditions.
10028         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
10029
10030 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10031
10032         perror: Fix autoconf test.
10033         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
10034         <stdlib.h> and <string.h>.
10035
10036 2011-10-14  Bruno Haible  <bruno@clisp.org>
10037
10038         ffsl: Optimize on 64-bit platforms.
10039         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
10040         unrolling.
10041
10042 2011-10-13  Bruno Haible  <bruno@clisp.org>
10043
10044         ffsl: Optimize on 32-bit platforms.
10045         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
10046         use ffs() without a loop.
10047
10048         ffsl, ffsll: Optimize for GCC.
10049         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
10050         * lib/ffsl.c (GCC_BUILTIN): New macro.
10051         * lib/ffsll.c (GCC_BUILTIN): Likewise.
10052
10053 2011-10-13  Bruno Haible  <bruno@clisp.org>
10054
10055         ffs, bcopy, memset: Support symbol renaming via config.h.
10056         * lib/ffs.c: Include <config.h>.
10057         * lib/bcopy.c: Likewise.
10058         * lib/memset.c: Likewise.
10059
10060 2011-10-10  Bruno Haible  <bruno@clisp.org>
10061
10062         atanl: Simplify for platforms where 'long double' == 'double'.
10063         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10064         alternative implementation.
10065         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10066         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10067         * modules/atanl (Depends-on): Add atan. Update conditions.
10068
10069 2011-10-10  Bruno Haible  <bruno@clisp.org>
10070
10071         acosl: Simplify for platforms where 'long double' == 'double'.
10072         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10073         alternative implementation.
10074         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10075         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10076         * modules/acosl (Depends-on): Add acos. Update conditions.
10077
10078 2011-10-10  Bruno Haible  <bruno@clisp.org>
10079
10080         asinl: Simplify for platforms where 'long double' == 'double'.
10081         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10082         alternative implementation.
10083         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10084         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10085         * modules/asinl (Depends-on): Add asin. Update conditions.
10086
10087 2011-10-10  Bruno Haible  <bruno@clisp.org>
10088
10089         tanl: Simplify for platforms where 'long double' == 'double'.
10090         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10091         implementation.
10092         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10093         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10094         * modules/tanl (Depends-on): Add tan. Update conditions.
10095         (configure.ac): Don't compile trigl.c if
10096         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10097
10098 2011-10-10  Bruno Haible  <bruno@clisp.org>
10099
10100         cosl: Simplify for platforms where 'long double' == 'double'.
10101         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10102         implementation.
10103         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10104         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10105         * modules/cosl (Depends-on): Add cos. Update conditions.
10106         (configure.ac): Don't compile sincosl.c and trigl.c if
10107         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10108
10109 2011-10-10  Bruno Haible  <bruno@clisp.org>
10110
10111         sinl: Simplify for platforms where 'long double' == 'double'.
10112         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10113         implementation.
10114         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10115         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10116         * modules/sinl (Depends-on): Add sin. Update conditions.
10117         (configure.ac): Don't compile sincosl.c and trigl.c if
10118         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10119
10120 2011-10-10  Bruno Haible  <bruno@clisp.org>
10121
10122         logl: Simplify for platforms where 'long double' == 'double'.
10123         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10124         implementation.
10125         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10126         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10127         * modules/logl (Depends-on): Add log. Update conditions.
10128
10129 2011-10-10  Bruno Haible  <bruno@clisp.org>
10130
10131         expl: Simplify for platforms where 'long double' == 'double'.
10132         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
10133         implementation.
10134         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10135         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10136         * modules/expl (Depends-on): Add exp. Update conditions.
10137
10138 2011-10-10  Bruno Haible  <bruno@clisp.org>
10139
10140         sqrtl: Simplify for platforms where 'long double' == 'double'.
10141         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10142         alternative implementation.
10143         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10144         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10145         * modules/sqrtl (Depends-on): Update conditions.
10146
10147 2011-10-10  Bruno Haible  <bruno@clisp.org>
10148
10149         ldexpl: Simplify for platforms where 'long double' == 'double'.
10150         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10151         alternative implementation.
10152         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10153         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10154         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
10155
10156 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
10157
10158         ffsll: set correct witness
10159         * modules/ffsll (configure.ac): Fix typo.
10160
10161 2011-10-10  Bruno Haible  <bruno@clisp.org>
10162
10163         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
10164         * lib/printf-frexpl.c: Include <config.h>.
10165         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10166         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
10167         second time.
10168         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
10169         gl_LONG_DOUBLE_VS_DOUBLE.
10170         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
10171         conditions.
10172
10173 2011-10-10  Bruno Haible  <bruno@clisp.org>
10174
10175         frexpl: Simplify for platforms where 'long double' == 'double'.
10176         * lib/frexpl.c: Include <config.h>.
10177         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10178         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10179         time.
10180         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10181         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10182         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
10183         * modules/frexpl (Depends-on): Add frexp. Update conditions.
10184         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
10185         conditions.
10186
10187 2011-10-10  Jim Meyering  <meyering@redhat.com>
10188
10189         test-renameat: don't leave behind a temporary file
10190         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
10191           ERROR: files left in build directory after distclean:
10192           ./gltests/test-renameat.too
10193           make[1]: *** [distcleancheck] Error 1
10194         Reported by Tom G. Christensen.
10195
10196 2011-10-09  Bruno Haible  <bruno@clisp.org>
10197
10198         rint: Determine RINT_LIBM correctly on AIX 7.
10199         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
10200         directly, not only through a function pointer. Also accept an optional
10201         4th argument with extra code.
10202         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
10203         rintf() call by gcc when optimizing.
10204
10205         mathfunc.m4: Refactor.
10206         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
10207         m4 variable.
10208
10209 2011-10-09  Bruno Haible  <bruno@clisp.org>
10210
10211         rintl: Simplify for platforms where 'long double' == 'double'.
10212         * lib/rintl.c: Include <config.h>.
10213         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10214         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10215         time.
10216         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10217         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10218         * modules/rintl (Depends-on): Add rint. Update conditions.
10219
10220 2011-10-09  Bruno Haible  <bruno@clisp.org>
10221
10222         roundl: Simplify for platforms where 'long double' == 'double'.
10223         * lib/roundl.c: Include <config.h>.
10224         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10225         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10226         time.
10227         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10228         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10229         * modules/roundl (Depends-on): Add round. Update conditions.
10230
10231 2011-10-09  Bruno Haible  <bruno@clisp.org>
10232
10233         truncl: Simplify for platforms where 'long double' == 'double'.
10234         * lib/truncl.c: Include <config.h>.
10235         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10236         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10237         time.
10238         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10239         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10240         * modules/truncl (Depends-on): Add trunc. Update conditions.
10241
10242 2011-10-09  Bruno Haible  <bruno@clisp.org>
10243
10244         ceill: Simplify for platforms where 'long double' == 'double'.
10245         * lib/ceill.c: Include <config.h>.
10246         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10247         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10248         time.
10249         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10250         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10251         * modules/ceill (Depends-on): Add ceil. Update conditions.
10252
10253 2011-10-09  Bruno Haible  <bruno@clisp.org>
10254
10255         floorl: Simplify for platforms where 'long double' == 'double'.
10256         * lib/floorl.c: Include <config.h>.
10257         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
10258         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
10259         time.
10260         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10261         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10262         * modules/floorl (Depends-on): Add floor. Update conditions.
10263
10264 2011-10-09  Bruno Haible  <bruno@clisp.org>
10265
10266         rint: Fix ordering constraints.
10267         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
10268         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
10269         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
10270
10271 2011-10-09  Bruno Haible  <bruno@clisp.org>
10272
10273         copysignl: Simplify for platforms where 'long double' == 'double'.
10274         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
10275         alternative.
10276         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10277         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
10278         * modules/copysignl (Depends-on): Add copysign. Update conditions.
10279
10280 2011-10-09  Bruno Haible  <bruno@clisp.org>
10281
10282         Tests for module 'rintl'.
10283         * modules/rintl-tests: New file.
10284         * tests/test-rintl.c: New file.
10285
10286         New module 'rintl'.
10287         * lib/math.in.h (rintl): New declaration.
10288         * lib/rintl.c: New file.
10289         * m4/rintl.m4: New file.
10290         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
10291         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
10292         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
10293         * modules/rintl: New file.
10294         * tests/test-math-c++.cc: Check the declaration of rintl.
10295         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
10296         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
10297         * doc/posix-functions/rintl.texi: Mention the new module.
10298
10299 2011-10-09  Bruno Haible  <bruno@clisp.org>
10300
10301         Tests for module 'rintf'.
10302         * modules/rintf-tests: New file.
10303         * tests/test-rintf.c: New file.
10304
10305         New module 'rintf'.
10306         * lib/math.in.h (rintf): New declaration.
10307         * lib/rintf.c: New file.
10308         * m4/rintf.m4: New file.
10309         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
10310         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
10311         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
10312         * modules/rintf: New file.
10313         * tests/test-math-c++.cc: Check the declaration of rintf.
10314         * doc/posix-functions/rintf.texi: Mention the new module.
10315
10316 2011-10-09  Bruno Haible  <bruno@clisp.org>
10317
10318         rint: Support for MSVC.
10319         * lib/math.in.h (rint): New declaration.
10320         * lib/rint.c: New file.
10321         * m4/rint.m4: New file.
10322         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
10323         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
10324         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
10325         * modules/rint (Description): Fix.
10326         (Files): Add lib/rint.c, m4/rint.m4.
10327         (Depends-on): Add math.
10328         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
10329         gl_MATH_MODULE_INDICATOR.
10330         * tests/test-math-c++.cc: Check the declaration of rint.
10331         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
10332         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
10333         * doc/posix-functions/rint.texi: Mention the replacement provided by
10334         the module.
10335
10336         rint tests: More tests.
10337         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
10338         minus-zero.h, infinity.h, nan.h.
10339         (main): Skip the test if the current rounding mode is not standard. Add
10340         tests for negative numbers, minus zero, infinity, NaN.
10341         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
10342         tests/nan.h.
10343         (Depends-on): Add isnand-nolibm.
10344
10345 2011-10-09  Bruno Haible  <bruno@clisp.org>
10346
10347         Tests for module 'copysignl'.
10348         * modules/copysignl-tests: New file.
10349         * tests/test-copysignl.c: New file.
10350
10351         New module 'copysignl'.
10352         * lib/math.in.h (copysignl): New declaration.
10353         * lib/copysignl.c: New file.
10354         * m4/copysignl.m4: New file.
10355         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
10356         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
10357         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
10358         HAVE_COPYSIGNL.
10359         * modules/copysignl: New file.
10360         * tests/test-math-c++.cc: Check the declaration of copysignl.
10361         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
10362         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
10363         * doc/posix-functions/copysignl.texi: Mention the new module.
10364
10365 2011-10-09  Bruno Haible  <bruno@clisp.org>
10366
10367         Tests for module 'copysignf'.
10368         * modules/copysignf-tests: New file.
10369         * tests/test-copysignf.c: New file.
10370
10371         New module 'copysignf'.
10372         * lib/math.in.h (copysignf): New declaration.
10373         * lib/copysignf.c: New file.
10374         * m4/copysignf.m4: New file.
10375         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
10376         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
10377         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
10378         HAVE_COPYSIGNF.
10379         * modules/copysignf: New file.
10380         * tests/test-math-c++.cc: Check the declaration of copysignf.
10381         * doc/posix-functions/copysignf.texi: Mention the new module.
10382
10383 2011-10-09  Bruno Haible  <bruno@clisp.org>
10384
10385         Ensure that HAVE_* variables are set to 1 before they are set to 0.
10386         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
10387         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
10388         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
10389         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
10390         gl_SIGNAL_H_DEFAULTS.
10391
10392 2011-10-09  Bruno Haible  <bruno@clisp.org>
10393
10394         poll: Make macro safer.
10395         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
10396         ac_cv_header_poll_h is not set.
10397
10398 2011-10-09  Bruno Haible  <bruno@clisp.org>
10399
10400         copysign: Provide replacement.
10401         * lib/math.in.h (copysign): New declaration.
10402         * lib/copysign.c: New file.
10403         * m4/copysign.m4: New file.
10404         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
10405         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
10406         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
10407         HAVE_COPYSIGN.
10408         * modules/copysign (Description): Clarify.
10409         (Files): Add lib/copysign.c, m4/copysign.m4.
10410         (Depends-on): Add math, signbit.
10411         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
10412         gl_MATH_MODULE_INDICATOR.
10413         * tests/test-math-c++.cc: Check the declaration of copysign.
10414         * doc/posix-functions/copysign.texi: Mention the effects of the module
10415         on Minix and MSVC.
10416
10417 2011-10-09  Bruno Haible  <bruno@clisp.org>
10418
10419         isinf: Ensure macro on AIX 5.1.
10420         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
10421         macro.
10422         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
10423
10424 2011-10-09  Bruno Haible  <bruno@clisp.org>
10425
10426         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
10427         * modules/snprintf-posix-tests (configure.ac): Require
10428         gl_LONG_DOUBLE_VS_DOUBLE.
10429         * modules/sprintf-posix-tests (configure.ac): Likewise.
10430         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
10431         * modules/vasprintf-posix-tests (configure.ac): Likewise.
10432         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
10433         * modules/vsprintf-posix-tests (configure.ac): Likewise.
10434         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
10435         tests on platforms where 'long double' is the same as 'double'.
10436         * tests/test-sprintf-posix.h (test_function): Likewise.
10437         * tests/test-vasnprintf-posix.c (test_function): Likewise.
10438         * tests/test-vasprintf-posix.c (test_function): Likewise.
10439
10440         *printf: Fix for platforms where 'long double' == 'double'.
10441         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
10442         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
10443         * modules/dprintf-posix (Files): Add m4/math_h.m4.
10444         * modules/fprintf-posix (Files): Likewise.
10445         * modules/obstack-printf-posix (Files): Likewise.
10446         * modules/snprintf-posix (Files): Likewise.
10447         * modules/sprintf-posix (Files): Likewise.
10448         * modules/vasnprintf (Files): Likewise.
10449         * modules/vasnprintf-posix (Files): Likewise.
10450         * modules/vasprintf-posix (Files): Likewise.
10451         * modules/vdprintf-posix (Files): Likewise.
10452         * modules/vfprintf-posix (Files): Likewise.
10453         * modules/vsnprintf-posix (Files): Likewise.
10454         * modules/vsprintf-posix (Files): Likewise.
10455         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10456         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10457         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10458         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10459         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10460         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10461         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10462
10463         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
10464         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
10465         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
10466         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
10467         'long double'.
10468         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
10469
10470         isinf: Fix for platforms where 'long double' == 'double'.
10471         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
10472         Don't blindly assume 80-bit 'long double'.
10473
10474         isfinite: Fix for platforms where 'long double' == 'double'.
10475         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
10476         Don't blindly assume 80-bit 'long double'.
10477
10478         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
10479         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
10480         * modules/isfinite-tests (configure.ac): Require
10481         gl_LONG_DOUBLE_VS_DOUBLE.
10482         * modules/isinf-tests (configure.ac): Likewise.
10483         * modules/isnan-tests (configure.ac): Likewise.
10484         * modules/isnanl-tests (configure.ac): Likewise.
10485         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
10486         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
10487         tests on platforms where 'long double' is the same as 'double'.
10488         * tests/test-isinf.c (test_isinfl): Likewise.
10489         * tests/test-isnan.c (test_long_double): Likewise.
10490         * tests/test-isnanl.h (main): Likewise.
10491
10492 2011-10-08  Bruno Haible  <bruno@clisp.org>
10493
10494         Tests for module 'tanhf'.
10495         * modules/tanhf-tests: New file.
10496         * tests/test-tanhf.c: New file.
10497
10498         New module 'tanhf'.
10499         * lib/math.in.h (tanhf): New declaration.
10500         * lib/tanhf.c: New file.
10501         * m4/tanhf.m4: New file.
10502         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
10503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
10504         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
10505         * modules/tanhf: New file.
10506         * tests/test-math-c++.cc: Check the declaration of tanhf.
10507         * doc/posix-functions/tanhf.texi: Mention the new module.
10508
10509         tanh: Use a .m4 file.
10510         * m4/tanh.m4: New file.
10511         * modules/tanh (Files): Add it.
10512         (configure.ac): Just invoke gl_FUNC_TANH.
10513
10514 2011-10-08  Bruno Haible  <bruno@clisp.org>
10515
10516         Tests for module 'coshf'.
10517         * modules/coshf-tests: New file.
10518         * tests/test-coshf.c: New file.
10519
10520         New module 'coshf'.
10521         * lib/math.in.h (coshf): New declaration.
10522         * lib/coshf.c: New file.
10523         * m4/coshf.m4: New file.
10524         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
10525         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
10526         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
10527         * modules/coshf: New file.
10528         * tests/test-math-c++.cc: Check the declaration of coshf.
10529         * doc/posix-functions/coshf.texi: Mention the new module.
10530
10531         cosh: Use a .m4 file.
10532         * m4/cosh.m4: New file.
10533         * modules/cosh (Files): Add it.
10534         (configure.ac): Just invoke gl_FUNC_COSH.
10535
10536 2011-10-08  Bruno Haible  <bruno@clisp.org>
10537
10538         Tests for module 'sinhf'.
10539         * modules/sinhf-tests: New file.
10540         * tests/test-sinhf.c: New file.
10541
10542         New module 'sinhf'.
10543         * lib/math.in.h (sinhf): New declaration.
10544         * lib/sinhf.c: New file.
10545         * m4/sinhf.m4: New file.
10546         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
10547         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
10548         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
10549         * modules/sinhf: New file.
10550         * tests/test-math-c++.cc: Check the declaration of sinhf.
10551         * doc/posix-functions/sinhf.texi: Mention the new module.
10552
10553         sinh: Use a .m4 file.
10554         * m4/sinh.m4: New file.
10555         * modules/sinh (Files): Add it.
10556         (configure.ac): Just invoke gl_FUNC_SINH.
10557
10558 2011-10-08  Bruno Haible  <bruno@clisp.org>
10559
10560         Tests for module 'atan2f'.
10561         * modules/atan2f-tests: New file.
10562         * tests/test-atan2f.c: New file.
10563
10564         New module 'atan2f'.
10565         * lib/math.in.h (atan2f): New declaration.
10566         * lib/atan2f.c: New file.
10567         * m4/atan2f.m4: New file.
10568         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
10569         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
10570         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
10571         * modules/atan2f: New file.
10572         * tests/test-math-c++.cc: Check the declaration of atan2f.
10573         * doc/posix-functions/atan2f.texi: Mention the new module.
10574
10575         atan2: Use a .m4 file.
10576         * m4/atan2.m4: New file.
10577         * modules/atan2 (Files): Add it.
10578         (configure.ac): Just invoke gl_FUNC_ATAN2.
10579
10580 2011-10-08  Bruno Haible  <bruno@clisp.org>
10581
10582         Tests for module 'atanf'.
10583         * modules/atanf-tests: New file.
10584         * tests/test-atanf.c: New file.
10585
10586         New module 'atanf'.
10587         * lib/math.in.h (atanf): New declaration.
10588         * lib/atanf.c: New file.
10589         * m4/atanf.m4: New file.
10590         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
10591         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
10592         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
10593         * modules/atanf: New file.
10594         * tests/test-math-c++.cc: Check the declaration of atanf.
10595         * doc/posix-functions/atanf.texi: Mention the new module.
10596
10597         atan: Use a .m4 file.
10598         * m4/atan.m4: New file.
10599         * modules/atan (Files): Add it.
10600         (configure.ac): Just invoke gl_FUNC_ATAN.
10601
10602 2011-10-08  Bruno Haible  <bruno@clisp.org>
10603
10604         Tests for module 'acosf'.
10605         * modules/acosf-tests: New file.
10606         * tests/test-acosf.c: New file.
10607
10608         New module 'acosf'.
10609         * lib/math.in.h (acosf): New declaration.
10610         * lib/acosf.c: New file.
10611         * m4/acosf.m4: New file.
10612         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
10613         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
10614         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
10615         * modules/acosf: New file.
10616         * tests/test-math-c++.cc: Check the declaration of acosf.
10617         * doc/posix-functions/acosf.texi: Mention the new module.
10618
10619         acos: Use a .m4 file.
10620         * m4/acos.m4: New file.
10621         * modules/acos (Files): Add it.
10622         (configure.ac): Just invoke gl_FUNC_ACOS.
10623
10624 2011-10-08  Bruno Haible  <bruno@clisp.org>
10625
10626         Tests for module 'asinf'.
10627         * modules/asinf-tests: New file.
10628         * tests/test-asinf.c: New file.
10629
10630         New module 'asinf'.
10631         * lib/math.in.h (asinf): New declaration.
10632         * lib/asinf.c: New file.
10633         * m4/asinf.m4: New file.
10634         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
10635         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
10636         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
10637         * modules/asinf: New file.
10638         * tests/test-math-c++.cc: Check the declaration of asinf.
10639         * doc/posix-functions/asinf.texi: Mention the new module.
10640
10641         asin: Use a .m4 file.
10642         * m4/asin.m4: New file.
10643         * modules/asin (Files): Add it.
10644         (configure.ac): Just invoke gl_FUNC_ASIN.
10645
10646 2011-10-08  Bruno Haible  <bruno@clisp.org>
10647
10648         Tests for module 'tanf'.
10649         * modules/tanf-tests: New file.
10650         * tests/test-tanf.c: New file.
10651
10652         New module 'tanf'.
10653         * lib/math.in.h (tanf): New declaration.
10654         * lib/tanf.c: New file.
10655         * m4/tanf.m4: New file.
10656         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
10657         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
10658         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
10659         * modules/tanf: New file.
10660         * tests/test-math-c++.cc: Check the declaration of tanf.
10661         * doc/posix-functions/tanf.texi: Mention the new module.
10662
10663         tan: Use a .m4 file.
10664         * m4/tan.m4: New file.
10665         * modules/tan (Files): Add it.
10666         (configure.ac): Just invoke gl_FUNC_TAN.
10667
10668 2011-10-08  Bruno Haible  <bruno@clisp.org>
10669
10670         Tests for module 'cosf'.
10671         * modules/cosf-tests: New file.
10672         * tests/test-cosf.c: New file.
10673
10674         New module 'cosf'.
10675         * lib/math.in.h (cosf): New declaration.
10676         * lib/cosf.c: New file.
10677         * m4/cosf.m4: New file.
10678         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
10679         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
10680         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
10681         * modules/cosf: New file.
10682         * tests/test-math-c++.cc: Check the declaration of cosf.
10683         * doc/posix-functions/cosf.texi: Mention the new module.
10684
10685         cos: Use a .m4 file.
10686         * m4/cos.m4: New file.
10687         * modules/cos (Files): Add it.
10688         (configure.ac): Just invoke gl_FUNC_COS.
10689
10690 2011-10-08  Bruno Haible  <bruno@clisp.org>
10691
10692         Tests for module 'sinf'.
10693         * modules/sinf-tests: New file.
10694         * tests/test-sinf.c: New file.
10695
10696         New module 'sinf'.
10697         * lib/math.in.h (sinf): New declaration.
10698         * lib/sinf.c: New file.
10699         * m4/sinf.m4: New file.
10700         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
10701         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
10702         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
10703         * modules/sinf: New file.
10704         * tests/test-math-c++.cc: Check the declaration of sinf.
10705         * doc/posix-functions/sinf.texi: Mention the new module.
10706
10707         sin: Use a .m4 file.
10708         * m4/sin.m4: New file.
10709         * modules/sin (Files): Add it.
10710         (configure.ac): Just invoke gl_FUNC_SIN.
10711
10712 2011-10-08  Bruno Haible  <bruno@clisp.org>
10713
10714         Tests for module 'powf'.
10715         * modules/powf-tests: New file.
10716         * tests/test-powf.c: New file.
10717
10718         New module 'powf'.
10719         * lib/math.in.h (powf): New declaration.
10720         * lib/powf.c: New file.
10721         * m4/powf.m4: New file.
10722         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
10723         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
10724         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
10725         * modules/powf: New file.
10726         * tests/test-math-c++.cc: Check the declaration of powf.
10727         * doc/posix-functions/powf.texi: Mention the new module.
10728
10729         pow: Use a .m4 file.
10730         * m4/pow.m4: New file.
10731         * modules/pow (Files): Add it.
10732         (configure.ac): Just invoke gl_FUNC_POW.
10733
10734 2011-10-08  Bruno Haible  <bruno@clisp.org>
10735
10736         Tests for module 'log10f'.
10737         * modules/log10f-tests: New file.
10738         * tests/test-log10f.c: New file.
10739
10740         New module 'log10f'.
10741         * lib/math.in.h (log10f): New declaration.
10742         * lib/log10f.c: New file.
10743         * m4/log10f.m4: New file.
10744         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
10745         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
10746         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
10747         * modules/log10f: New file.
10748         * tests/test-math-c++.cc: Check the declaration of log10f.
10749         * doc/posix-functions/log10f.texi: Mention the new module.
10750
10751         log10: Use a .m4 file.
10752         * m4/log10.m4: New file.
10753         * modules/log10 (Files): Add it.
10754         (configure.ac): Just invoke gl_FUNC_LOG10.
10755
10756 2011-10-08  Bruno Haible  <bruno@clisp.org>
10757
10758         Tests for module 'logf'.
10759         * modules/logf-tests: New file.
10760         * tests/test-logf.c: New file.
10761
10762         New module 'logf'.
10763         * lib/math.in.h (logf): New declaration.
10764         * lib/logf.c: New file.
10765         * m4/logf.m4: New file.
10766         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
10767         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
10768         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
10769         * modules/logf: New file.
10770         * tests/test-math-c++.cc: Check the declaration of logf.
10771         * doc/posix-functions/logf.texi: Mention the new module.
10772
10773         log: Use a .m4 file.
10774         * m4/log.m4: New file.
10775         * modules/log (Files): Add it.
10776         (configure.ac): Just invoke gl_FUNC_LOG.
10777
10778 2011-10-08  Bruno Haible  <bruno@clisp.org>
10779
10780         Tests for module 'expf'.
10781         * modules/expf-tests: New file.
10782         * tests/test-expf.c: New file.
10783
10784         New module 'expf'.
10785         * lib/math.in.h (expf): New declaration.
10786         * lib/expf.c: New file.
10787         * m4/expf.m4: New file.
10788         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
10789         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
10790         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
10791         * modules/expf: New file.
10792         * tests/test-math-c++.cc: Check the declaration of expf.
10793         * doc/posix-functions/expf.texi: Mention the new module.
10794
10795         exp: Use a .m4 file.
10796         * m4/exp.m4: New file.
10797         * modules/exp (Files): Add it.
10798         (configure.ac): Just invoke gl_FUNC_EXP.
10799
10800 2011-10-08  Bruno Haible  <bruno@clisp.org>
10801
10802         Tests for module 'sqrtf'.
10803         * modules/sqrtf-tests: New file.
10804         * tests/test-sqrtf.c: New file.
10805
10806         New module 'sqrtf'.
10807         * lib/math.in.h (sqrtf): New declaration.
10808         * lib/sqrtf.c: New file.
10809         * m4/sqrtf.m4: New file.
10810         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
10811         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
10812         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
10813         * modules/sqrtf: New file.
10814         * tests/test-math-c++.cc: Check the declaration of sqrtf.
10815         * doc/posix-functions/sqrtf.texi: Mention the new module.
10816
10817 2011-10-08  Bruno Haible  <bruno@clisp.org>
10818
10819         Tests: Avoid link failures w.r.t. libintl.
10820         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
10821         $(LIBINTL).
10822         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
10823         $(LIBINTL).
10824         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
10825         against $(LIBINTL).
10826         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
10827         $(LIBINTL).
10828         * modules/openat-tests (Makefile.am): Link test-fchmodat against
10829         $(LIBINTL).
10830         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
10831
10832 2011-10-08  Bruno Haible  <bruno@clisp.org>
10833
10834         pow tests: Defeat compiler optimizations.
10835         * tests/test-pow.c (main): Assign arguments to x and y before use.
10836
10837 2011-10-08  Bruno Haible  <bruno@clisp.org>
10838
10839         gnulib-tool: Improve last commit.
10840         * gnulib-tool (func_modules_transitive_closure): Simplify code.
10841         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
10842         ignore dependencies that are not among the modules list.
10843
10844 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
10845
10846         gnulib-tool: don't follow dependencies to avoided modules
10847         This fixes a bug that is related to the previous one.
10848         * gnulib-tool (func_modules_transitive_closure)
10849         (func_emit_autoconf_snippets):
10850         Check whether a dependency is acceptable before using it.
10851         (--extract-dependencies): Report an error if --avoid is also used,
10852         since this combination of options is not yet supported.
10853
10854         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
10855         Problem reported by Peter Dyballa in
10856         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
10857         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
10858         when echoing "$condition".
10859
10860 2011-10-07  Bruno Haible  <bruno@clisp.org>
10861
10862         Fix documentation about math functions on MacOS X.
10863         * doc/posix-functions/exp2.texi: Don't say the function is missing on
10864         MacOS X 10.5.
10865         * doc/posix-functions/fdim.texi: Likewise.
10866         * doc/posix-functions/feclearexcept.texi: Likewise.
10867         * doc/posix-functions/fegetenv.texi: Likewise.
10868         * doc/posix-functions/fegetround.texi: Likewise.
10869         * doc/posix-functions/feholdexcept.texi: Likewise.
10870         * doc/posix-functions/feraiseexcept.texi: Likewise.
10871         * doc/posix-functions/fesetenv.texi: Likewise.
10872         * doc/posix-functions/fesetround.texi: Likewise.
10873         * doc/posix-functions/fetestexcept.texi: Likewise.
10874         * doc/posix-functions/feupdateenv.texi: Likewise.
10875         * doc/posix-functions/fmax.texi: Likewise.
10876         * doc/posix-functions/fmin.texi: Likewise.
10877         * doc/posix-functions/log2.texi: Likewise.
10878         * doc/posix-functions/modff.texi: Likewise.
10879         * doc/posix-functions/nan.texi: Likewise.
10880         * doc/posix-functions/nanf.texi: Likewise.
10881         * doc/posix-functions/nextafterf.texi: Likewise.
10882         * doc/posix-functions/remquo.texi: Likewise.
10883
10884 2011-10-07  Bruno Haible  <bruno@clisp.org>
10885
10886         modff: Drop assumption about library that defines modff.
10887         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
10888         AC_CHECK_FUNCS.
10889         * modules/modff (Files): Add m4/mathfunc.m4.
10890
10891 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
10892
10893         raise tests: Avoid a GCC warning.
10894         * tests/test-raise.c (handler): Use _Noreturn.
10895
10896 2011-10-07  Bruno Haible  <bruno@clisp.org>
10897
10898         Tests for module 'ldexpf'.
10899         * modules/ldexpf-tests: New file.
10900         * tests/test-ldexpf.c: New file.
10901
10902         New module 'ldexpf'.
10903         * lib/math.in.h (ldexpf): New declaration.
10904         * lib/ldexpf.c: New file.
10905         * m4/ldexpf.m4: New file.
10906         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
10907         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
10908         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
10909         * modules/ldexpf: New file.
10910         * tests/test-math-c++.cc: Check the declaration of ldexpf.
10911         * doc/posix-functions/ldexpf.texi: Mention the new module.
10912
10913 2011-10-06  Bruno Haible  <bruno@clisp.org>
10914
10915         frexpf: Work around problems on IRIX and mingw.
10916         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
10917         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
10918         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
10919         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
10920         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
10921         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
10922         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
10923
10924 2011-10-06  Bruno Haible  <bruno@clisp.org>
10925
10926         fabsf: Drop assumption about library that defines fabsf.
10927         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
10928         AC_CHECK_FUNCS.
10929         * modules/fabsf (Files): Add m4/mathfunc.m4.
10930
10931 2011-10-06  Bruno Haible  <bruno@clisp.org>
10932
10933         frexpf: Drop assumption about library that defines frexpf.
10934         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
10935         'int *', 'float *', 'long double *', 'float', 'long double'.
10936         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
10937         AC_CHECK_FUNCS.
10938         * modules/frexpf (Files): Add m4/mathfunc.m4.
10939
10940         Tests for module 'frexpf'.
10941         * modules/frexpf-tests: New file.
10942         * tests/test-frexpf.c: New file.
10943
10944         New module 'frexpf'.
10945         * lib/math.in.h (frexpf): New declaration.
10946         * lib/frexpf.c: New file.
10947         * m4/frexpf.m4: New file.
10948         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
10949         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
10950         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
10951         * modules/frexpf: New file.
10952         * tests/test-math-c++.cc: Check the declaration of frexpf.
10953         * doc/posix-functions/frexpf.texi: Mention the new module.
10954
10955 2011-10-06  Bruno Haible  <bruno@clisp.org>
10956
10957         math: Sort function declarations of math.in.h.
10958         * lib/math.in.h (frexp, logb): Move declarations.
10959
10960 2011-10-05  Bruno Haible  <bruno@clisp.org>
10961
10962         Tests for module 'modff'.
10963         * modules/modff-tests: New file.
10964         * tests/test-modff.c: New file.
10965
10966         New module 'modff'.
10967         * lib/math.in.h (modff): New declaration.
10968         * lib/modff.c: New file.
10969         * m4/modff.m4: New file.
10970         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
10971         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
10972         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
10973         * modules/modff: New file.
10974         * tests/test-math-c++.cc: Check the declaration of modff.
10975         * doc/posix-functions/modff.texi: Mention the new module.
10976
10977         modf tests: Make test sharper.
10978         * tests/test-modf.c (main): Strengthen upper bound.
10979
10980         modf: Use a .m4 file.
10981         * m4/modf.m4: New file.
10982         * modules/modf (Files): Add it.
10983         (configure.ac): Just invoke gl_FUNC_MODF.
10984
10985 2011-10-05  Bruno Haible  <bruno@clisp.org>
10986
10987         Tests for module 'fmodf'.
10988         * modules/fmodf-tests: New file.
10989         * tests/test-fmodf.c: New file.
10990
10991         New module 'fmodf'.
10992         * lib/math.in.h (fmodf): New declaration.
10993         * lib/fmodf.c: New file.
10994         * m4/fmodf.m4: New file.
10995         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
10996         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
10997         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
10998         * modules/fmodf: New file.
10999         * tests/test-math-c++.cc: Check the declaration of fmodf.
11000         * doc/posix-functions/fmodf.texi: Mention the new module.
11001
11002         fmod: Use a .m4 file.
11003         * m4/fmod.m4: New file.
11004         * modules/fmod (Files): Add it.
11005         (configure.ac): Just invoke gl_FUNC_FMOD.
11006
11007 2011-10-05  Bruno Haible  <bruno@clisp.org>
11008
11009         Tests for module 'fabsf'.
11010         * modules/fabsf-tests: New file.
11011         * tests/test-fabsf.c: New file.
11012
11013         New module 'fabsf'.
11014         * lib/math.in.h (fabsf): New declaration.
11015         * lib/fabsf.c: New file.
11016         * m4/fabsf.m4: New file.
11017         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
11018         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
11019         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
11020         * modules/fabsf: New file.
11021         * tests/test-math-c++.cc: Check the declaration of fabsf.
11022         * doc/posix-functions/fabsf.texi: Mention the new module.
11023
11024         fabs: Use a .m4 file.
11025         * m4/fabs.m4: New file.
11026         * modules/fabs (Files): Add it.
11027         (configure.ac): Just invoke gl_FUNC_FABS.
11028
11029 2011-10-05  Jim Meyering  <meyering@redhat.com>
11030
11031         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
11032         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
11033         ls -lL regression introduced in coreutils-8.12, it does so at the
11034         cost of an additional stat call in the common case.  Besides, now
11035         that the kernel change that prompted commit 95f7c57f has been reverted
11036         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
11037         we have no use for commit 95f7c57f, "file-has-acl: use
11038         acl_extended_file_nofollow if available".
11039
11040 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
11041
11042         file-has-acl: revert unintended change in behavior of ls -L
11043         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
11044         derived from...
11045         (file_has_acl): ...code here.  Call it.
11046         This problem was introduced with 2011-07-22 commit 95f7c57f,
11047         "file-has-acl: use acl_extended_file_nofollow if available".
11048         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
11049
11050 2011-10-03  Bruno Haible  <bruno@clisp.org>
11051
11052         poll: Avoid link errors on MSVC.
11053         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
11054         * modules/poll (Depends-on): Add sockets.
11055         (Link): New section.
11056         * NEWS: Mention the change.
11057         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
11058         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
11059         $(LIB_POLL) instead of $(LIBSOCKET).
11060
11061 2011-10-03  Bruno Haible  <bruno@clisp.org>
11062
11063         sys_select tests: Fix link error on MSVC 9.
11064         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
11065         with $(LIB_SELECT) instead of $(LIBSOCKET).
11066
11067 2011-10-03  Bruno Haible  <bruno@clisp.org>
11068
11069         sys_select: Fix compilation error on mingw.
11070         * lib/sys_select.in.h: On native Windows, include <io.h>.
11071
11072 2011-10-03  Bruno Haible  <bruno@clisp.org>
11073
11074         wmemset: Support for MSVC.
11075         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
11076         whether wmemset() exists.
11077
11078 2011-10-03  Bruno Haible  <bruno@clisp.org>
11079
11080         wmemmove: Support for MSVC.
11081         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
11082         whether wmemmove() exists.
11083
11084 2011-10-03  Bruno Haible  <bruno@clisp.org>
11085
11086         wmemcpy: Support for MSVC.
11087         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
11088         whether wmemcpy() exists.
11089
11090 2011-10-03  Bruno Haible  <bruno@clisp.org>
11091
11092         wmemcmp: Support for MSVC.
11093         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
11094         whether wmemcmp() exists.
11095
11096 2011-10-03  Bruno Haible  <bruno@clisp.org>
11097
11098         wmemchr: Support for MSVC.
11099         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
11100         whether wmemchr() exists.
11101
11102 2011-10-03  Bruno Haible  <bruno@clisp.org>
11103
11104         glthread/*, strsignal: Support for MSVC.
11105         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
11106         including <winsock.h> on MSVC 9.
11107         * lib/glthread/lock.h: Likewise.
11108         * lib/glthread/thread.h: Likewise.
11109         * lib/glthread/tls.h: Likewise.
11110         * lib/glthread/yield.h: Likewise.
11111         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
11112         if HAVE_UNISTD_H is false.
11113         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
11114
11115 2011-10-03  Bruno Haible  <bruno@clisp.org>
11116
11117         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
11118         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
11119         Set to 100000.
11120
11121 2011-10-03  Bruno Haible  <bruno@clisp.org>
11122
11123         acl: Fix specification.
11124         * lib/file-has-acl.c (file_has_acl): Fix specification.
11125
11126 2011-10-03  Bruno Haible  <bruno@clisp.org>
11127
11128         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
11129         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
11130         (compute_curr_prefix, shared_library_fullname,
11131         find_shared_library_fullname, get_shared_library_fullname, relocate):
11132         Use it together with PIC && INSTALLDIR.
11133         Reported by <jojelino@gmail.com>
11134         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
11135
11136 2011-10-01  Jim Meyering  <meyering@redhat.com>
11137
11138         maint.mk: adjust a release-related rule not to require use of gzip
11139         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
11140         Instead, check each file in $(DIST_ARCHIVES).  This is better for
11141         projects that build only .tar.xz files.  Also fix an erroneous test.
11142
11143         test-linkat: don't leave behind a temporary file
11144         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
11145         Otherwise, coreutils' "make distcheck" would fail with this:
11146           Only in /c/cu/tests/torture/coreutils/test/\
11147             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
11148           make[2]: *** [my-distcheck] Error 1
11149
11150         float, math: add omitted file
11151         * lib/itold.c: Add file, required for yesterday's float change.
11152
11153 2011-10-01  Bruno Haible  <bruno@clisp.org>
11154
11155         isinf: Fix for OpenBSD/x86.
11156         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
11157         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
11158         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
11159
11160 2011-10-01  Bruno Haible  <bruno@clisp.org>
11161
11162         isfinite: Fix syntax error in configure test.
11163         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
11164
11165         isfinite: Fix typo.
11166         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
11167         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
11168
11169 2011-10-01  Bruno Haible  <bruno@clisp.org>
11170
11171         nonblocking tests: Fix test failure on Linux/IA-64.
11172         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
11173         Set to 270000.
11174
11175 2011-10-01  Bruno Haible  <bruno@clisp.org>
11176
11177         mkfifoat tests: Fix a test failure on mingw.
11178         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
11179         with error ENOSYS.
11180
11181 2011-09-30  Bruno Haible  <bruno@clisp.org>
11182
11183         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
11184         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
11185         'long double'. Set REPLACE_ITOLD.
11186         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
11187         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
11188         * lib/itold.c: New file.
11189         * modules/float (Files): Add lib/itold.c.
11190         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
11191         (Makefile.am): Substitute REPLACE_ITOLD.
11192         * modules/math (Depends-on): Add float.
11193         (Makefile.am): Substitute REPLACE_ITOLD.
11194         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
11195         * doc/posix-headers/math.texi: Likewise.
11196         * doc/posix-functions/logl.texi: Likewise.
11197
11198 2011-09-30  Bruno Haible  <bruno@clisp.org>
11199
11200         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
11201         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
11202         Set to 140000.
11203
11204 2011-09-30  Bruno Haible  <bruno@clisp.org>
11205
11206         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
11207         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
11208         invocation, say "right after AC_PROG_CC_STDC", not "right after
11209         AC_PROG_CC".
11210         Reported by Gary V. Vaughan <gary@gnu.org>.
11211
11212 2011-09-30  Bruno Haible  <bruno@clisp.org>
11213
11214         Centralize C99 requirement.
11215         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
11216         * modules/stdarg (configure.ac-early): Invoke it instead of
11217         AC_PROG_CC_STDC.
11218         Reported by Gary V. Vaughan and Paul Eggert.
11219
11220 2011-09-29  Bruno Haible  <bruno@clisp.org>
11221
11222         float: Fix LDBL_MAX value on Linux/PowerPC.
11223         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
11224         on Linux/PowerPC.
11225         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
11226         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
11227         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
11228         platform.
11229         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
11230
11231 2011-09-29  Bruno Haible  <bruno@clisp.org>
11232
11233         doc: Improve doc about gl_EARLY.
11234         * doc/gnulib-tool.texi (Initial import): Mention where to place an
11235         AC_PROG_CC_STDC invocation.
11236         Reported by Gary V. Vaughan <gary@gnu.org>.
11237
11238 2011-09-28  Bruno Haible  <bruno@clisp.org>
11239
11240         fgetc, fputc, fread, fwrite tests: Fix link error.
11241         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
11242         on non-MSVC platforms.
11243         * tests/test-fputc.c (main): Likewise.
11244         * tests/test-fread.c (main): Likewise.
11245         * tests/test-fwrite.c (main): Likewise.
11246         Reported by Jim Meyering.
11247
11248 2011-09-27  Bruno Haible  <bruno@clisp.org>
11249
11250         fputc, fwrite tests: Avoid test failure on MSVC.
11251         * tests/test-fgetc.c: Include msvc-inval.h.
11252         (main): Invoke gl_msvc_inval_ensure_handler.
11253         * tests/test-fputc.c: Include msvc-inval.h.
11254         (main): Invoke gl_msvc_inval_ensure_handler.
11255         * tests/test-fread.c: Include msvc-inval.h.
11256         (main): Invoke gl_msvc_inval_ensure_handler.
11257         * tests/test-fwrite.c: Include msvc-inval.h.
11258         (main): Invoke gl_msvc_inval_ensure_handler.
11259         * modules/fgetc-tests (Depends-on): Add msvc-inval.
11260         * modules/fputc-tests (Depends-on): Likewise.
11261         * modules/fread-tests (Depends-on): Likewise.
11262         * modules/fwrite-tests (Depends-on): Likewise.
11263
11264 2011-09-27  Bruno Haible  <bruno@clisp.org>
11265
11266         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
11267         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
11268         (raise): Remove older, duplicated declaration.
11269         (_gl_raise_SIGPIPE): New declaration.
11270         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
11271         (rpl_raise): Remove function.
11272         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
11273         a gnulib-defined SIGPIPE here.
11274         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
11275         'sigprocmask' has detected missing signal-blocking and the module
11276         'sigpipe' is enabled.
11277         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
11278
11279 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
11280
11281         base64-tests: avoid memory leak
11282         * tests/test-base64.c (main): Plug memory leak.
11283
11284         base32: new module
11285         * modules/base32: New module.
11286         * lib/base32.c: New file.
11287         * lib/base32.h: Likewise.
11288         * m4/base32.m4: Likewise.
11289         * modules/base32-tests: New test.
11290         * tests/test-base32.c: Likewise.
11291         * MODULES.html.sh (Misc): Mention it.
11292
11293 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
11294
11295         gnulib: use more-standard license notice wording
11296         * gnulib-tool (func_emit_copyright_notice): When emitting a
11297         license notice into a file, use the standard wording as suggested
11298         by the current information for GNU maintainers, except say "file"
11299         rather than "program".  The new wording gives a license version
11300         number, which addresses an issue raised by Glenn Morris in
11301         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
11302         * m4/onceonly.m4: Use that same wording here, too.
11303
11304         dup2: minor simplification
11305         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
11306         as lib/dup2.c no longer uses 'inline'.
11307
11308 2011-09-25  Bruno Haible  <bruno@clisp.org>
11309
11310         strings: Fix compilation error on MSVC.
11311         * lib/strings.in.h: Include <stddef.h> for size_t.
11312
11313 2011-09-25  Bruno Haible  <bruno@clisp.org>
11314
11315         fflush et al.: Document limitation on MSVC.
11316         * doc/posix-functions/fflush.texi: Document possible crash in handling
11317         mode other than DEFAULT_HANDLING.
11318         * doc/posix-functions/fgetc.texi: Likewise.
11319         * doc/posix-functions/fputc.texi: Likewise.
11320         * doc/posix-functions/fread.texi: Likewise.
11321         * doc/posix-functions/fwrite.texi: Likewise.
11322
11323 2011-09-25  Bruno Haible  <bruno@clisp.org>
11324
11325         msvc-inval: Allow three invalid parameter handling modes.
11326         * lib/msvc-inval.h: Don't include <stdlib.h> here.
11327         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
11328         macros.
11329         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
11330         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
11331         SANE_LIBRARY_HANDLING as a no-op.
11332         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
11333         <stdlib.h>.
11334         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
11335
11336 2011-09-25  Bruno Haible  <bruno@clisp.org>
11337
11338         msvc-inval: Make handler multithread-safe.
11339         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
11340         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
11341         declarations.
11342         (gl_msvc_inval_current): New declaration.
11343         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
11344         Operate on the structure returned by gl_msvc_inval_current().
11345         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
11346         Remove varaiables.
11347         (tls_index, tls_initialized): New variables.
11348         (not_per_thread): New variable.
11349         (gl_msvc_inval_current): New function.
11350         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
11351         returned by gl_msvc_inval_current().
11352
11353 2011-09-25  Bruno Haible  <bruno@clisp.org>
11354
11355         msvc-inval: Install handler globally.
11356         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
11357         !_MSC_VER.
11358         (gl_msvc_invalid_parameter_handler): Remove declaration.
11359         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
11360         declarations.
11361         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
11362         Install the handler globally, don't uninstall it.
11363         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
11364         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
11365         currently valid, call RaiseException instead.
11366         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
11367         for !_MSC_VER.
11368
11369 2011-09-25  Bruno Haible  <bruno@clisp.org>
11370
11371         strerror_r-posix: Fix for MSVC 9.
11372         * lib/strerror_r.c (local_snprintf): New function.
11373         (snprintf): Define to local_snprintf, not to _snprintf.
11374
11375 2011-09-25  Bruno Haible  <bruno@clisp.org>
11376
11377         ftruncate: Support for MSVC 9.
11378         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
11379         (chsize_nothrow): New function.
11380         (chsize): Redefine as a macro.
11381         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
11382         * modules/ftruncate (Depends-on): Add msvc-inval.
11383
11384 2011-09-25  Bruno Haible  <bruno@clisp.org>
11385
11386         New module 'fstat'.
11387         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
11388         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
11389         * lib/fchdir.c (rpl_fstat): Remove function.
11390         * m4/fstat.m4: New file.
11391         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
11392         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
11393         declared.
11394         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
11395         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
11396         * modules/fstat: New file.
11397         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
11398         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
11399         is set.
11400         * doc/posix-functions/fstat.texi: Mention the new module and the
11401         problem on MSVC.
11402         * NEWS: Mention the change.
11403         * modules/acl (Depends-on): Add fstat.
11404         * modules/chdir-safer (Depends-on): Likewise.
11405         * modules/chown (Depends-on): Likewise.
11406         * modules/copy-file (Depends-on): Likewise.
11407         * modules/fchdir (Depends-on): Likewise.
11408         * modules/fdopendir (Depends-on): Likewise.
11409         * modules/fopen (Depends-on): Likewise.
11410         * modules/fts (Depends-on): Likewise.
11411         * modules/getcwd (Depends-on): Likewise.
11412         * modules/isapipe (Depends-on): Likewise.
11413         * modules/linkat (Depends-on): Likewise.
11414         * modules/lseek (Depends-on): Likewise.
11415         * modules/mkdir-p (Depends-on): Likewise.
11416         * modules/open (Depends-on): Likewise.
11417         * modules/openat (Depends-on): Likewise.
11418         * modules/read-file (Depends-on): Likewise.
11419         * modules/renameat (Depends-on): Likewise.
11420         * modules/utimens (Depends-on): Likewise.
11421
11422 2011-09-25  Bruno Haible  <bruno@clisp.org>
11423
11424         linkat: Fix compilation on MSVC 9.
11425         * lib/linkat.c: Don't include <stdint.h>.
11426
11427 2011-09-25  Bruno Haible  <bruno@clisp.org>
11428
11429         fclose: Support for MSVC 9.
11430         * lib/fclose.c: Include msvc-inval.h.
11431         (fclose_nothrow): New function.
11432         (rpl_fclose): Use it.
11433         * modules/fclose (Depends-on): Add msvc-inval.
11434         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
11435
11436 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
11437
11438         dup2: minor simplifications
11439         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
11440         that it's a performance win.
11441         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
11442         ! defined __CYGWIN__)" to "ifdef F_GETFL".
11443
11444 2011-09-24  Jim Meyering  <meyering@redhat.com>
11445
11446         test-futimens: avoid a warning from gcc -Wshadow
11447         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
11448         to avoid a shadowing warning.
11449
11450 2011-09-24  Bruno Haible  <bruno@clisp.org>
11451
11452         fdopen: Support for MSVC 9.
11453         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
11454         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
11455         * lib/fdopen.c: Include msvc-inval.h.
11456         (fdopen_nothrow): New function.
11457         (rpl_fdopen): Use it.
11458         * modules/fdopen (Depends-on): Add msvc-inval.
11459         * modules/fclose-tests (Depends-on): Add fdopen.
11460         * modules/fflush-tests (Depends-on): Likewise.
11461         * modules/fgetc-tests (Depends-on): Likewise.
11462         * modules/fputc-tests (Depends-on): Likewise.
11463         * modules/fread-tests (Depends-on): Likewise.
11464         * modules/freopen-tests (Depends-on): Likewise.
11465         * modules/fseeko-tests (Depends-on): Likewise.
11466         * modules/ftello-tests (Depends-on): Likewise.
11467         * modules/fwrite-tests  (Depends-on): Likewise.
11468         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
11469
11470 2011-09-24  Bruno Haible  <bruno@clisp.org>
11471
11472         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
11473         * modules/fgetc-tests (Depends-on): Add unistd.
11474         * modules/fputc-tests (Depends-on): Likewise.
11475         * modules/fread-tests (Depends-on): Likewise.
11476         * modules/fwrite-tests (Depends-on): Likewise.
11477
11478 2011-09-24  Bruno Haible  <bruno@clisp.org>
11479
11480         dup: Simplify autoconf test.
11481         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
11482         on gl_MSVC_INVAL's result.
11483
11484 2011-09-24  Bruno Haible  <bruno@clisp.org>
11485
11486         Tests for function fwrite().
11487         * modules/fwrite-tests: New file.
11488         * tests/test-fwrite.c: New file.
11489         * modules/stdio-tests (Depends-on): Add fwrite-tests.
11490
11491         Tests for function fread().
11492         * modules/fread-tests: New file.
11493         * tests/test-fread.c: New file.
11494         * modules/stdio-tests (Depends-on): Add fread-tests.
11495
11496         Activate fputc tests.
11497         * modules/stdio-tests (Depends-on): Add fputc-tests.
11498
11499         Enhance fgetc, fputc tests.
11500         * tests/test-fgetc.c (main): Also test the stream's error indicator.
11501         * tests/test-fputc.c (main): Likewise.
11502
11503 2011-09-24  Bruno Haible  <bruno@clisp.org>
11504
11505         write: Support for MSVC 9.
11506         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
11507         is not 1.
11508         * lib/write.c (write_nothrow): New function.
11509         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
11510         not 1. Use write_nothrow.
11511         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
11512         invalid parameter handler.
11513         (gl_PREREQ_WRITE): New macro.
11514         * modules/write (Depends-on): Add msvc-inval.
11515         (configure.ac): Invoke gl_PREREQ_WRITE.
11516         * doc/posix-functions/write.texi: Mention the problem on MSVC.
11517
11518 2011-09-24  Bruno Haible  <bruno@clisp.org>
11519
11520         read: Fix last commit.
11521         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
11522
11523 2011-09-24  Bruno Haible  <bruno@clisp.org>
11524
11525         dup2: Fix last commit.
11526         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
11527         (rpl_dup2): Disable fcntl workaround on native Windows.
11528
11529         sigprocmask: Make code safer.
11530         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
11531         section that changes macro definitions for this compilation unit.
11532
11533 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
11534
11535         dup2: clarify by coalescing Windows-specific material
11536         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
11537         "msvc-nothrow.h"' to the Windows-specific section, so that the
11538         Emacs source need not contain these include files.
11539         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
11540         Windows-specific fixes into this function rather than just the
11541         nothrow fix, as this shortens and clarifies the code.  Always
11542         define as a function, as that's a bit cleaner than having it be
11543         sometimes a function and sometimes a macro.
11544         (rpl_dup2): Move the Windows-specific stuff out of here and into
11545         ms_windows_dup2.  Don't protect the Haiku-related fix with
11546         "#if !defined __linux__", as the same code also works around
11547         a Linux kernel bug, and it doesn't add any system calls on any
11548         platform.  Add comment about FreeBSD 6.1.
11549
11550         sigprocmask: move #include directive
11551         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
11552         Windows-specific section, so that the Emacs source need not
11553         contain msvc-inval.h.
11554
11555 2011-09-23  Bruno Haible  <bruno@clisp.org>
11556
11557         read: Support for MSVC 9.
11558         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
11559         is not 1.
11560         * lib/read.c (read_nothrow): New function.
11561         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
11562         read_nothrow.
11563         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
11564         invalid parameter handler.
11565         (gl_PREREQ_READ): New macro.
11566         * modules/read (Depends-on): Add msvc-inval.
11567         (configure.ac): Invoke gl_PREREQ_READ.
11568         * doc/posix-functions/read.texi: Mention the problem on MSVC.
11569
11570 2011-09-23  Bruno Haible  <bruno@clisp.org>
11571
11572         close: Support for MSVC 9.
11573         * lib/close.c: Include <errno.h>, msvc-inval.h.
11574         (close_nothrow): New function.
11575         (rpl_close): Use it.
11576         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
11577         invalid parameter handler.
11578         * modules/close (Depends-on): Add msvc-inval.
11579         * modules/dup2-tests (Depends-on): Add close.
11580         * modules/dup3-tests (Depends-on): Likewise.
11581         * modules/fcntl-tests (Depends-on): Likewise.
11582         * modules/spawn-pipe-tests (Depends-on): Likewise.
11583         * modules/unistd-safer-tests (Depends-on): Likewise.
11584         * doc/posix-functions/close.texi: Mention the problem on MSVC.
11585
11586 2011-09-23  Bruno Haible  <bruno@clisp.org>
11587
11588         New module 'dup'.
11589         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
11590         Allow replacement.
11591         * lib/dup.c: New file.
11592         * lib/fchdir.c (rpl_dup): Remove function.
11593         * m4/dup.m4: New file.
11594         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
11595         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
11596         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
11597         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
11598         * modules/dup: New file.
11599         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
11600         'dup' module is in use.
11601         * modules/fdopendir (Depends-on): Add dup.
11602         * modules/fdutimensat-tests (Depends-on): Likewise.
11603         * modules/fts (Depends-on): Likewise.
11604         * modules/futimens-tests (Depends-on): Likewise.
11605         * modules/posix_spawnp-tests (Depends-on): Likewise.
11606         * modules/unistd-safer-tests (Depends-on): Likewise.
11607         * modules/utimens-tests (Depends-on): Likewise.
11608         * doc/posix-functions/dup.texi: Mention the new module and the problem
11609         on MSVC.
11610
11611 2011-09-23  Bruno Haible  <bruno@clisp.org>
11612
11613         getdtablesize: Support for MSVC 9.
11614         * lib/getdtablesize.c: Include msvc-inval.h.
11615         (_setmaxstdio_nothrow): New function.
11616         (_setmaxstdio): Redefine it.
11617         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
11618         * modules/getdtablesize (Depends-on): Add msvc-inval.
11619         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
11620
11621 2011-09-23  Bruno Haible  <bruno@clisp.org>
11622
11623         signal-h: Rename from signal.
11624         * modules/signal-h: Renamed from modules/signal.
11625         * modules/pthread_sigmask (Depends-on): Update.
11626         * modules/raise (Depends-on): Likewise.
11627         * modules/sigaction (Depends-on): Likewise.
11628         * modules/sigpipe (Depends-on): Likewise.
11629         * modules/sigprocmask (Depends-on): Likewise.
11630         * modules/sys_select (Depends-on): Likewise.
11631         * modules/signal-h-tests: Renamed from modules/signal-tests.
11632         (Files, Depends-on, Makefile.am): Update.
11633         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
11634         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
11635         (Files, Makefile.am): Update.
11636         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
11637         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
11638         * modules/signal: New placeholder file.
11639         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
11640         * doc/posix-headers/signal.texi: Update.
11641         * NEWS: Mention the change.
11642
11643 2011-09-23  Bruno Haible  <bruno@clisp.org>
11644
11645         sigprocmask: Avoid crashes through signal() on MSVC 9.
11646         * lib/sigprocmask.c: Include msvc-inval.h.
11647         (signal_nothrow): New function.
11648         (signal): Redefine it.
11649         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
11650         * modules/sigprocmask (Depends-on): Add msvc-inval.
11651         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
11652
11653 2011-09-23  Bruno Haible  <bruno@clisp.org>
11654
11655         Tests for module 'raise'.
11656         * modules/raise-tests: New file.
11657         * tests/test-raise.c: New file.
11658
11659         raise: Support for MSVC.
11660         * lib/signal.in.h (raise): New declaration.
11661         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
11662         for native Windows platforms.
11663         * m4/raise.m4: New file.
11664         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
11665         HAVE_RAISE, REPLACE_RAISE.
11666         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
11667         REPLACE_RAISE.
11668         * modules/raise (Status, Notice): Remove fields.
11669         (Files): Add m4/raise.m4.
11670         (Depends-on): Add signal, msvc-inval.
11671         (configure.ac): Use the common idioms.
11672         (Maintainer): Add me.
11673         * tests/test-signal-c++.cc: Check the signature of raise.
11674         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
11675
11676 2011-09-23  Bruno Haible  <bruno@clisp.org>
11677
11678         pipe2: Fix compilation on pre-C99 compilers.
11679         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
11680
11681 2011-09-23  Bruno Haible  <bruno@clisp.org>
11682
11683         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
11684         * lib/msvc-nothrow.h: New file.
11685         * lib/msvc-nothrow.c: New file.
11686         * m4/msvc-nothrow.m4: New file.
11687         * modules/msvc-nothrow: New file.
11688         * lib/dup2.c: Include msvc-nothrow.h.
11689         (rpl_dup2): No need to protect _get_osfhandle call here.
11690         * lib/accept4.c: Include msvc-nothrow.h.
11691         * lib/error.c: Likewise.
11692         * lib/fcntl.c: Likewise.
11693         * lib/lseek.c: Likewise.
11694         * lib/nonblocking.c: Likewise.
11695         * lib/poll.c: Likewise.
11696         * lib/read.c: Likewise.
11697         * lib/select.c: Likewise.
11698         * lib/sockets.h: Likewise.
11699         * lib/sockets.c: Likewise.
11700         * lib/stdio-read.c: Likewise.
11701         * lib/stdio-write.c: Likewise.
11702         * lib/write.c: Likewise.
11703         * lib/w32sock.h: Likewise.
11704         * lib/w32spawn.h: Likewise.
11705         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
11706         * lib/fsync.c: Likewise.
11707         * lib/isapipe.c: Likewise.
11708         * modules/dup2 (Depends-on): Add msvc-nothrow.
11709         * modules/accept4 (Depends-on): Likewise.
11710         * modules/error (Depends-on): Likewise.
11711         * modules/fcntl (Depends-on): Likewise.
11712         * modules/lseek (Depends-on): Likewise.
11713         * modules/nonblocking (Depends-on): Likewise.
11714         * modules/poll (Depends-on): Likewise.
11715         * modules/read (Depends-on): Likewise.
11716         * modules/select (Depends-on): Likewise.
11717         * modules/sockets (Depends-on): Likewise.
11718         * modules/sigpipe (Depends-on): Likewise.
11719         * modules/write (Depends-on): Likewise.
11720         * modules/accept (Depends-on): Likewise.
11721         * modules/bind (Depends-on): Likewise.
11722         * modules/connect (Depends-on): Likewise.
11723         * modules/gethostname (Depends-on): Likewise.
11724         * modules/getpeername (Depends-on): Likewise.
11725         * modules/getsockname (Depends-on): Likewise.
11726         * modules/getsockopt (Depends-on): Likewise.
11727         * modules/ioctl (Depends-on): Likewise.
11728         * modules/listen (Depends-on): Likewise.
11729         * modules/recv (Depends-on): Likewise.
11730         * modules/recvfrom (Depends-on): Likewise.
11731         * modules/send (Depends-on): Likewise.
11732         * modules/sendto (Depends-on): Likewise.
11733         * modules/setsockopt (Depends-on): Likewise.
11734         * modules/shutdown (Depends-on): Likewise.
11735         * modules/socket (Depends-on): Likewise.
11736         * modules/execute (Depends-on): Likewise.
11737         * modules/spawn-pipe (Depends-on): Likewise.
11738         * modules/flock (Depends-on): Likewise.
11739         * modules/fsync (Depends-on): Likewise.
11740         * modules/isapipe (Depends-on): Likewise.
11741         * tests/test-cloexec.c: Include msvc-nothrow.h.
11742         * tests/test-dup-safer.c: Likewise.
11743         * tests/test-dup2.c: Likewise.
11744         * tests/test-dup3.c: Likewise.
11745         * tests/test-fcntl.c: Likewise.
11746         * tests/test-pipe.c: Likewise.
11747         * tests/test-pipe2.c: Likewise.
11748         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
11749         * modules/unistd-safer-tests (Depends-on): Likewise.
11750         * modules/dup2-tests (Depends-on): Likewise.
11751         * modules/dup3-tests (Depends-on): Likewise.
11752         * modules/fcntl-tests (Depends-on): Likewise.
11753         * modules/pipe-posix-tests (Depends-on): Likewise.
11754         * modules/pipe2-tests (Depends-on): Likewise.
11755
11756 2011-09-23  Bruno Haible  <bruno@clisp.org>
11757
11758         dup2: Make code more maintainable.
11759         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
11760         (rpl_dup2): Use it.
11761         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
11762         * modules/dup2 (configure.ac): Invoke it.
11763         Reported by Paul Eggert.
11764
11765 2011-09-23  Bruno Haible  <bruno@clisp.org>
11766
11767         msvc-inval: Fix compilation error.
11768         * lib/msvc-inval.h: Include <excpt.h>.
11769
11770 2011-09-23  Bruno Haible  <bruno@clisp.org>
11771
11772         mkdir: Tweak for MSVC 9.
11773         * lib/sys_stat.in.h: Update comments.
11774         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
11775
11776         Tests for module 'chdir'.
11777         * modules/chdir-tests: New file.
11778         * tests/test-chdir.c: New file.
11779
11780         New module 'chdir'.
11781         * modules/chdir: New file.
11782         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
11783         (chdir): New declaration.
11784         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
11785         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
11786         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
11787         * tests/test-unistd-c++.cc: Check signature of chdir.
11788         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
11789         * modules/chdir-long (Depends-on): Add chdir.
11790         * modules/fchdir (Depends-on): Likewise.
11791         * modules/rename (Depends-on): Likewise.
11792         * modules/savewd (Depends-on): Likewise.
11793
11794         rmdir: Support for mingw, MSVC 9.
11795         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
11796         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
11797
11798         getcwd: Tweak for MSVC 9.
11799         * lib/unistd.in.h: Update comments.
11800         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
11801
11802 2011-09-22  Bruno Haible  <bruno@clisp.org>
11803
11804         strerror_r-posix: Avoid a link error on MSVC.
11805         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
11806         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
11807
11808 2011-09-22  Bruno Haible  <bruno@clisp.org>
11809
11810         select: Avoid link errors on MSVC.
11811         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
11812         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
11813         * modules/pselect (Link): Likewise.
11814         * NEWS: Mention the change.
11815         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
11816         test-select-stdin against $(LIB_SELECT).
11817         * modules/pselect-tests (Makefile.am): Link test-pselect against
11818         $(LIB_SELECT).
11819
11820 2011-09-22  Bruno Haible  <bruno@clisp.org>
11821
11822         select: Avoid compilation error on MSVC.
11823         * lib/select.c: Don't include <stdbool.h>.
11824
11825 2011-09-21  Bruno Haible  <bruno@clisp.org>
11826
11827         Consolidate all uses of PATH_MAX in *.m4 files.
11828         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
11829         macros.
11830         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
11831         and gl_PATHMAX_SNIPPET.
11832         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
11833         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
11834         * modules/chdir-long (Files): Add m4/pathmax.m4.
11835         * modules/getcwd (Files): Likewise.
11836
11837 2011-09-21  Bruno Haible  <bruno@clisp.org>
11838
11839         ftruncate: Un-deprecate, concentrate on Win32 support.
11840         * modules/ftruncate (Status, Notice): Remove sections.
11841         (Depends-on): Add largefile.
11842         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
11843         non-mingw platforms.
11844         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
11845         include <io.h>.
11846         * modules/perror-tests (Depends-on): Add ftruncate.
11847         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
11848         'ftruncate' module.
11849
11850 2011-09-21  Bruno Haible  <bruno@clisp.org>
11851
11852         Add dependencies to new dirent related modules.
11853         * modules/opendir (Depends-on): Add closedir.
11854         * modules/getcwd (Depends-on): Add opendir, closedir.
11855         * modules/dirent-safer-tests (Depends-on): Likewise.
11856         * modules/fdopendir-tests (Depends-on): Likewise.
11857         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
11858         * modules/renameat-tests (Depends-on): Likewise.
11859
11860 2011-09-21  Bruno Haible  <bruno@clisp.org>
11861
11862         opendir: Avoid compilation error on mingw.
11863         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
11864         * modules/opendir (Depends-on): Add unistd.
11865
11866 2011-09-21  Bruno Haible  <bruno@clisp.org>
11867
11868         ftruncate tests: Avoid a test failure on mingw.
11869         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
11870
11871 2011-09-21  Bruno Haible  <bruno@clisp.org>
11872
11873         select tests: Avoid test failures on OSF/1 5.1 and mingw.
11874         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
11875         native Windows.
11876
11877 2011-09-21  Bruno Haible  <bruno@clisp.org>
11878
11879         New module 'fdopen'.
11880         * lib/stdio.in.h (fdopen): New declaration.
11881         * lib/fdopen.c: New file.
11882         * m4/fdopen.m4: New file.
11883         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
11884         REPLACE_FDOPEN.
11885         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
11886         REPLACE_FDOPEN.
11887         * modules/fdopen: New file.
11888         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
11889         * tests/test-stdio-c++.cc: Check signature of fdopen.
11890         * doc/posix-functions/fdopen.texi: Mention the new module.
11891
11892 2011-09-21  Bruno Haible  <bruno@clisp.org>
11893
11894         unlockpt tests: Avoid test failure on NetBSD 5.1.
11895         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
11896         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
11897
11898 2011-09-21  Bruno Haible  <bruno@clisp.org>
11899
11900         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
11901         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
11902         * tests/test-getlogin_r.c (main): Likewise.
11903
11904 2011-09-20  Bruno Haible  <bruno@clisp.org>
11905
11906         time tests: Don't require pid_t.
11907         * doc/posix-headers/time.texi: Revert last change.
11908         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
11909         * tests/test-time.c: Comment out the check for pid_t.
11910
11911 2011-09-20  Bruno Haible  <bruno@clisp.org>
11912
11913         fsync tests: Avoid a test failure on mingw.
11914         * tests/test-fsync.c (main): Allow a failure with EIO.
11915
11916 2011-09-20  Bruno Haible  <bruno@clisp.org>
11917
11918         euidaccess: Update comments.
11919         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
11920
11921 2011-09-20  Bruno Haible  <bruno@clisp.org>
11922
11923         Ensure EBADF returns for socket functions on mingw.
11924         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
11925         descriptor is invalid.
11926         * lib/bind.c (rpl_bind): Likewise.
11927         * lib/connect.c (rpl_connect): Likewise.
11928         * lib/getpeername.c (rpl_getpeername): Likewise.
11929         * lib/getsockname.c (rpl_getsockname): Likewise.
11930         * lib/getsockopt.c (rpl_getsockopt): Likewise.
11931         * lib/listen.c (rpl_listen): Likewise.
11932         * lib/recv.c (rpl_recv): Likewise.
11933         * lib/recvfrom.c (rpl_recvfrom): Likewise.
11934         * lib/send.c (rpl_send): Likewise.
11935         * lib/sendto.c (rpl_sendto): Likewise.
11936         * lib/setsockopt.c (rpl_setsockopt): Likewise.
11937         * lib/shutdown.c (rpl_shutdown): Likewise.
11938
11939 2011-09-20  Bruno Haible  <bruno@clisp.org>
11940
11941         select tests: EBADF tests.
11942         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
11943         test_bad_fd): New functions.
11944         (test_function): Invoke also test_bad_fd.
11945
11946 2011-09-20  Bruno Haible  <bruno@clisp.org>
11947
11948         Tests for module 'posix_spawn_file_actions_addopen.
11949         * modules/posix_spawn_file_actions_addopen-tests: New file.
11950         * tests/test-posix_spawn_file_actions_addopen.c: New file.
11951
11952         Tests for module 'posix_spawn_file_actions_adddup2'.
11953         * modules/posix_spawn_file_actions_adddup2-tests: New file.
11954         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
11955
11956         Tests for module 'posix_spawn_file_actions_addclose'.
11957         * modules/posix_spawn_file_actions_addclose-tests: New file.
11958         * tests/test-posix_spawn_file_actions_addclose.c: New file.
11959
11960 2011-09-20  Bruno Haible  <bruno@clisp.org>
11961
11962         Tests for module 'unlockpt'.
11963         * modules/unlockpt-tests: New file.
11964         * tests/test-unlockpt.c: New file.
11965         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
11966
11967         Tests for module 'grantpt'.
11968         * modules/grantpt-tests: New file.
11969         * tests/test-grantpt.c: New file.
11970         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
11971
11972 2011-09-20  Bruno Haible  <bruno@clisp.org>
11973
11974         freopen tests: EBADF tests.
11975         * tests/test-freopen.c: Include errno.h, unistd.h.
11976         (main): Add tests for EBADF, commented out for the moment.
11977
11978         fclose tests: EBADF tests.
11979         * tests/test-fclose.c (main): Add tests for EBADF.
11980
11981         fflush tests: EBADF tests.
11982         * tests/test-fflush.c: Include errno.h, macros.h.
11983         (main): Add tests for EBADF.
11984
11985         ftello tests: EBADF tests.
11986         * tests/test-ftello4.sh: New file.
11987         * tests/test-ftello4.c: New file.
11988         * modules/ftello-tests (Files): Add them.
11989         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
11990
11991         fseeko tests: EBADF tests.
11992         * tests/test-fseeko4.sh: New file.
11993         * tests/test-fseeko4.c: New file.
11994         * modules/fseeko-tests (Files): Add them.
11995         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
11996
11997         Tests for function fputc().
11998         * modules/fputc-tests: New file.
11999         * tests/test-fputc.c: New file.
12000         * modules/stdio-tests (Depends-on): Add fputc-tests.
12001
12002         Tests for function fgetc().
12003         * modules/fgetc-tests: New file.
12004         * tests/test-fgetc.c: New file.
12005         * modules/stdio-tests (Depends-on): Add fgetc-tests.
12006
12007         Tests for function fdopen().
12008         * modules/fdopen-tests: New file.
12009         * tests/test-fdopen.c: New file.
12010         * modules/stdio-tests (Depends-on): Add fdopen-tests.
12011
12012         Tests for module 'vdprintf'.
12013         * modules/vdprintf-tests: New file.
12014         * tests/test-vdprintf.c: New file.
12015
12016         Tests for module 'dprintf'.
12017         * modules/dprintf-tests: New file.
12018         * tests/test-dprintf.c: New file.
12019
12020 2011-09-20  Bruno Haible  <bruno@clisp.org>
12021
12022         Tests for module 'ioctl'.
12023         * modules/ioctl-tests: New file.
12024         * tests/test-ioctl.c: New file.
12025
12026 2011-09-20  Bruno Haible  <bruno@clisp.org>
12027
12028         fcntl tests: EBADF tests.
12029         * tests/test-fcntl.c (main): Add more tests for EBADF.
12030
12031 2011-09-20  Bruno Haible  <bruno@clisp.org>
12032
12033         utimensat tests: EBADF tests.
12034         * tests/test-utimensat.c (main): Add tests for EBADF.
12035
12036         renameat tests: EBADF tests.
12037         * tests/test-renameat.c (main): Add tests for EBADF.
12038
12039         mkfifoat tests: EBADF tests.
12040         * tests/test-mkfifoat.c (main): Add tests for EBADF.
12041
12042         readlinkat tests: EBADF tests.
12043         * tests/test-readlinkat.c (main): Add tests for EBADF.
12044
12045         symlinkat tests: EBADF tests.
12046         * tests/test-symlinkat.c (main): Add tests for EBADF.
12047
12048         linkat tests: EBADF tests.
12049         * tests/test-linkat.c (main): Add tests for EBADF.
12050
12051         Tests for module 'faccessat'.
12052         * modules/faccessat-tests: New file.
12053         * tests/test-faccessat.c: New file.
12054
12055         fdopendir tests: EBADF tests.
12056         * tests/test-fdopendir.c (main): Add more tests for EBADF.
12057
12058         openat tests: EBADF tests.
12059         * tests/test-fchownat.c (main): Add tests for EBADF.
12060         * tests/test-fstatat.c (main): Likewise.
12061         * tests/test-mkdirat.c (main): Likewise.
12062         * tests/test-openat.c (main): Likewise.
12063         * tests/test-unlinkat.c (main): Likewise.
12064         * tests/test-fchmodat.c: New file.
12065         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
12066         (Makefile.am): Also run 'test-fchmodat'.
12067
12068 2011-09-20  Bruno Haible  <bruno@clisp.org>
12069
12070         utimens, futimens, fdutimensat tests: EBADF tests.
12071         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
12072
12073         Tests for function fstat().
12074         * modules/fstat-tests: New file.
12075         * tests/test-fstat.c: New file.
12076         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
12077
12078 2011-09-20  Bruno Haible  <bruno@clisp.org>
12079
12080         test-ttyname_r tests: EBADF tests.
12081         * tests/test-ttyname_r.c (main): Add tests for EBADF.
12082
12083         Tests for module 'isatty'.
12084         * modules/isatty-tests: New file.
12085         * tests/test-isatty.c: New file.
12086
12087         Tests for module 'write'.
12088         * modules/write-tests: New file.
12089         * tests/test-write.c: New file.
12090
12091         Tests for module 'read'.
12092         * modules/read-tests: New file.
12093         * tests/test-read.c: New file.
12094
12095         pwrite tests: EBADF tests.
12096         * tests/test-pwrite.c (main): Add tests for EBADF.
12097
12098         pread tests: EBADF tests.
12099         * tests/test-pread.c (main): Add tests for EBADF.
12100
12101         lseek tests: EBADF tests.
12102         * tests/test-lseek.c (main): Add more tests for EBADF.
12103
12104         Tests for module 'ftruncate'.
12105         * modules/ftruncate-tests: New file.
12106         * tests/test-ftruncate.sh: New file.
12107         * tests/test-ftruncate.c: New file.
12108
12109         fsync tests: EBADF tests.
12110         * tests/test-fsync.c (main): Add more tests for EBADF.
12111
12112         fdatasync tests: EBADF tests.
12113         * tests/test-fdatasync.c (main): Add more tests for EBADF.
12114
12115         Tests for module 'fchown'.
12116         * modules/fchown-tests: New file.
12117         * tests/test-fchown.c: New file.
12118
12119         Tests for module 'fchmod'.
12120         * modules/fchmod-tests: New file.
12121         * tests/test-fchmod.c: New file.
12122
12123         fchdir tests: EBADF tests.
12124         * tests/test-fchdir.c (main): Add more tests for EBADF.
12125
12126         dup2 tests: EBADF tests.
12127         * tests/test-dup2.c (main): Add more tests for EBADF.
12128
12129         Tests for module 'dup'.
12130         * modules/dup-tests: New file.
12131         * tests/test-dup.c: New file.
12132
12133         Tests for module 'close'.
12134         * modules/close-tests: New file.
12135         * tests/test-close.c: New file.
12136
12137 2011-09-20  Bruno Haible  <bruno@clisp.org>
12138
12139         Tests for module 'shutdown'.
12140         * modules/shutdown-tests: New file.
12141         * tests/test-shutdown.c: New file.
12142
12143         Tests for module 'setsockopt'.
12144         * modules/setsockopt-tests: New file.
12145         * tests/test-setsockopt.c: New file.
12146
12147         Tests for module 'sendto'.
12148         * modules/sendto-tests: New file.
12149         * tests/test-sendto.c: New file.
12150
12151         Tests for module 'send'.
12152         * modules/send-tests: New file.
12153         * tests/test-send.c: New file.
12154
12155         Tests for module 'recvfrom'.
12156         * modules/recvfrom-tests: New file.
12157         * tests/test-recvfrom.c: New file.
12158
12159         Tests for module 'recv'.
12160         * modules/recv-tests: New file.
12161         * tests/test-recv.c: New file.
12162
12163         Tests for module 'listen'.
12164         * modules/listen-tests: New file.
12165         * tests/test-listen.c: New file.
12166
12167         Tests for module 'getsockopt'.
12168         * modules/getsockopt-tests: New file.
12169         * tests/test-getsockopt.c: New file.
12170
12171         Tests for module 'getsockname'.
12172         * modules/getsockname-tests: New file.
12173         * tests/test-getsockname.c: New file.
12174
12175         Tests for module 'getpeername'.
12176         * modules/getpeername-tests: New file.
12177         * tests/test-getpeername.c: New file.
12178
12179         Tests for module 'connect'.
12180         * modules/connect-tests: New file.
12181         * tests/test-connect.c: New file.
12182
12183         Tests for module 'bind'.
12184         * modules/bind-tests: New file.
12185         * tests/test-bind.c: New file.
12186
12187         accept4 tests: Fix for native Windows.
12188         * tests/test-accept4.c: Include sockets.h.
12189         (main): Invoke gl_sockets_startup.
12190         * modules/accept4-tests (Depends-on): Add sockets.
12191
12192         accept tests: Fix for native Windows.
12193         * tests/test-accept.c: Include sockets.h.
12194         (main): Invoke gl_sockets_startup.
12195         * modules/accept-tests (Depends-on): Add sockets.
12196
12197 2011-09-19  Bruno Haible  <bruno@clisp.org>
12198
12199         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
12200         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
12201         do...while(0).
12202         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
12203         Suggested by Paul Eggert.
12204
12205 2011-09-19  Bruno Haible  <bruno@clisp.org>
12206
12207         sched: Ensure pid_t is defined.
12208         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
12209         not define pid_t.
12210         * lib/sched.in.h: Include <sys/types.h>.
12211         * doc/posix-headers/sched.texi: Mention the pid_t problem.
12212         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
12213
12214 2011-09-19  Bruno Haible  <bruno@clisp.org>
12215
12216         msvc-inval: Ensure the entire expansion is a single statement.
12217         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
12218         of braces.
12219
12220 2011-09-19  Jim Meyering  <meyering@redhat.com>
12221
12222         tests: use printf, not echo in init.sh's warn_ function
12223         * tests/init.sh (warn_): Use printf, not echo.  The latter would
12224         misbehave when given strings containing a backslash or starting
12225         with e.g., -n.  James Youngman suggested setting IFS.
12226
12227 2011-09-19  Eric Blake  <eblake@redhat.com>
12228
12229         futimens: enhance test
12230         * tests/test-futimens.h (test_futimens): Also check for EBADF on
12231         closed non-negative fd.
12232
12233         date: accept 'hence' as opposite of 'ago'
12234         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
12235         * tests/test-parse-datetime.c (main): Enhance test.
12236         Suggested by Jesse Wilson.
12237
12238 2011-09-19  Jim Meyering  <meyering@redhat.com>
12239
12240         getcwd: don't fail in a deep directory on a system without openat
12241         Before this change, getcwd would fail when called from a directory
12242         of depth PATH_MAX / 3 or greater.  That was due to the fact that
12243         the non-openat implementation used "..", "../..", "../../..", etc.
12244         to access ancestor directories.  With too many, that string would
12245         be longer than PATH_MAX.
12246         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
12247         using gnulib's openat replacement.
12248         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
12249         we're using the replacement function.
12250
12251 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
12252
12253         maint.mk: avoid warnings from perl about missing files
12254         * top/maint.mk (def_sym_regex): Ignore files listed in
12255         $(gl_other_headers_) that do not exist, say because a project
12256         does not use a corresponding module.
12257
12258 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
12259
12260         stat: use pathmax.h only if needed
12261         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
12262         This is better for Emacs, which does not have a mingw port and
12263         therefore can avoid the pathmax module.
12264
12265         utimens: remove dependency on dup2
12266         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
12267         to work around the Linux kernel bug.
12268         * modules/utimens (Depends-on): Remove dup2.
12269
12270 2011-09-18  Bruno Haible  <bruno@clisp.org>
12271
12272         inet_ntop, inet_pton: Look for it also in libresolv.
12273         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
12274         libnsl, search for it in libresolv.
12275         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
12276         Needed on Solaris 7.
12277
12278 2011-09-18  Bruno Haible  <bruno@clisp.org>
12279
12280         accept, accept4 tests: Avoid link error on Solaris.
12281         * modules/accept-tests (Makefile.am): Link test-accept against
12282         $(LIBSOCKET).
12283         * modules/accept4-tests (Makefile.am): Link test-accept4 against
12284         $(LIBSOCKET).
12285
12286         accept4: Avoid link error on Solaris.
12287         * modules/accept4 (Link): New section.
12288
12289         socket functions: Avoid link errors on Solaris.
12290         * modules/accept (Depends-on): Add socketlib.
12291         (Link): New section.
12292         * modules/bind (Depends-on): Add socketlib.
12293         (Link): New section.
12294         * modules/connect (Depends-on): Add socketlib.
12295         (Link): New section.
12296         * modules/getpeername (Depends-on): Add socketlib.
12297         (Link): New section.
12298         * modules/getsockname (Depends-on): Add socketlib.
12299         (Link): New section.
12300         * modules/getsockopt (Depends-on): Add socketlib.
12301         (Link): New section.
12302         * modules/listen (Depends-on): Add socketlib.
12303         (Link): New section.
12304         * modules/recv (Depends-on): Add socketlib.
12305         (Link): New section.
12306         * modules/recvfrom (Depends-on): Add socketlib.
12307         (Link): New section.
12308         * modules/send (Depends-on): Add socketlib.
12309         (Link): New section.
12310         * modules/sendto (Depends-on): Add socketlib.
12311         (Link): New section.
12312         * modules/setsockopt (Depends-on): Add socketlib.
12313         (Link): New section.
12314         * modules/shutdown (Depends-on): Add socketlib.
12315         (Link): New section.
12316         * modules/socket (Depends-on): Add socketlib.
12317         (Link): New section.
12318
12319 2011-09-18  Bruno Haible  <bruno@clisp.org>
12320
12321         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
12322         * tests/test-ptsname.c (main): Terminate the test if it takes longer
12323         than 5 seconds.
12324         * modules/ptsname-tests (configure.ac): Test for alarm.
12325
12326 2011-09-18  Bruno Haible  <bruno@clisp.org>
12327
12328         posix_spawn_file_actions_add*: Fix module dependencies.
12329         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
12330         posix_spawn_file_actions_init.
12331         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
12332         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
12333
12334 2011-09-18  Bruno Haible  <bruno@clisp.org>
12335
12336         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
12337         * tests/test-rename.h (test_rename): Allow error code EEXIST.
12338         * tests/test-renameat.c (main): Likewise.
12339
12340 2011-09-18  Bruno Haible  <bruno@clisp.org>
12341
12342         Tests for module 'accept4'.
12343         * modules/accept4-tests: New file.
12344         * tests/test-accept4.c: New file.
12345
12346 2011-09-18  Bruno Haible  <bruno@clisp.org>
12347
12348         Tests for module 'accept'.
12349         * modules/accept-tests: New file.
12350         * tests/test-accept.c: New file.
12351
12352 2011-09-18  Bruno Haible  <bruno@clisp.org>
12353
12354         dup2: Support for MSVC.
12355         * lib/dup2.c: Include msvc-inval.h.
12356         (rpl_dup2): Handle invalid parameter notifications during dup2 and
12357         _get_osfhandle calls.
12358         * modules/dup2 (Depends-on): Add msvc-inval.
12359         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
12360
12361         New module 'msvc-inval'.
12362         * lib/msvc-inval.h: New file.
12363         * lib/msvc-inval.c: New file.
12364         * m4/msvc-inval.m4: New file.
12365         * modules/msvc-inval: New file.
12366
12367 2011-09-17  Bruno Haible  <bruno@clisp.org>
12368
12369         Tests for module 'pclose'.
12370         * modules/pclose-tests: New file.
12371
12372         New module 'pclose'.
12373         * lib/stdio.in.h (pclose): New declaration.
12374         * lib/pclose.c: New file.
12375         * m4/pclose.m4: New file.
12376         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
12377         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
12378         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
12379         * modules/pclose: New file.
12380         * modules/popen-tests (Depends-on): Add pclose.
12381         * modules/popen-safer-tests (Depends-on): Likewise.
12382         * doc/posix-functions/pclose.texi: Mention the new module.
12383
12384 2011-09-17  Bruno Haible  <bruno@clisp.org>
12385
12386         popen: Support for MSVC.
12387         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
12388         * lib/popen.c (popen): Provide alternate definition for native Windows.
12389         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
12390         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
12391         * modules/popen (Depends-on, configure.ac): Update condition.
12392         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
12393         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
12394         fixed.
12395
12396 2011-09-17  Bruno Haible  <bruno@clisp.org>
12397
12398         isnanl, isnand, isnanf: Work around MSVC bug.
12399         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
12400
12401 2011-09-17  Bruno Haible  <bruno@clisp.org>
12402
12403         sys_socket tests: Fix recent mistake.
12404         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
12405
12406 2011-09-17  Bruno Haible  <bruno@clisp.org>
12407
12408         putenv: Support for MSVC.
12409         * modules/putenv (Depends-on): Add environ.
12410         * lib/putenv.c (environ): Disable declaration.
12411         * lib/unistd.in.h: Update comment.
12412
12413 2011-09-17  Bruno Haible  <bruno@clisp.org>
12414
12415         math: Avoid macro redefinition warnings on MSVC.
12416         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
12417         Undefine before redefining.
12418
12419 2011-09-17  Bruno Haible  <bruno@clisp.org>
12420
12421         doc: Mention functions which are declared as macros.
12422         * doc/posix-functions/*[fl].texi: Mention that some functions are
12423         defined as macros with arguments only.
12424
12425 2011-09-17  Bruno Haible  <bruno@clisp.org>
12426
12427         Add dependencies to new dirent related modules.
12428         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
12429         * modules/fts (Depends-on): Likewise.
12430         * modules/glob (Depends-on): Likewise.
12431         * modules/savedir (Depends-on): Likewise.
12432         * modules/scandir (Depends-on): Likewise.
12433         * modules/dirent-safer (Depends-on): Add opendir, closedir.
12434         * modules/fdopendir (Depends-on): Add opendir.
12435
12436 2011-09-17  Bruno Haible  <bruno@clisp.org>
12437
12438         inet_pton: Support for MSVC on Windows Vista or newer.
12439         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
12440         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
12441         HAVE_DECL_INET_PTON is defined.
12442         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
12443         On platforms with <winsock2.h>, test whether inet_pton is declared in
12444         <ws2tcpip.h>. If so, arrange to replace it.
12445         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
12446         REPLACE_INET_PTON.
12447         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
12448         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
12449         (Depends-on, configure.ac): Update condition.
12450         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
12451
12452 2011-09-17  Bruno Haible  <bruno@clisp.org>
12453
12454         inet_ntop: Support for MSVC on Windows Vista or newer.
12455         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
12456         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
12457         HAVE_DECL_INET_NTOP is defined.
12458         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
12459         On platforms with <winsock2.h>, test whether inet_ntop is declared in
12460         <ws2tcpip.h>. If so, arrange to replace it.
12461         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
12462         REPLACE_INET_NTOP.
12463         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
12464         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
12465         (Depends-on, configure.ac): Update condition.
12466         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
12467
12468 2011-09-16  Eric Blake  <eblake@redhat.com>
12469
12470         test-fsync: yet another enhancement
12471         * tests/test-fsync.c (main): Also test behavior on read-only text
12472         file.
12473
12474 2011-09-16  Bruno Haible  <bruno@clisp.org>
12475
12476         Enhance fsync, fdatasync tests.
12477         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
12478         * tests/test-fdatasync.c (main): Likewise.
12479
12480 2011-09-16  Bruno Haible  <bruno@clisp.org>
12481
12482         Support for MSVC compiler: Ensure mode_t gets defined.
12483         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
12484         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
12485         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
12486         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
12487         * tests/test-fcntl-h.c: Check that mode_t is defined.
12488         * tests/test-sys_stat.c: Likewise.
12489         * tests/test-sys_types.c: Likewise.
12490         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
12491         * doc/posix-headers/sys_stat.texi: Likewise.
12492         * doc/posix-headers/sys_types.texi: Likewise.
12493
12494 2011-09-16  Bruno Haible  <bruno@clisp.org>
12495
12496         sys_stat: Support for MSVC.
12497         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
12498         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
12499         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
12500         MSVC.
12501
12502 2011-09-16  Bruno Haible  <bruno@clisp.org>
12503
12504         Support for MSVC compiler: Ensure off_t gets defined.
12505         * lib/unistd.in.h: Include <sys/types.h>.
12506         * tests/test-fcntl-h.c: Check that off_t is defined.
12507         * tests/test-sys_stat.c: Likewise.
12508         * tests/test-sys_types.c: Likewise.
12509
12510 2011-09-16  Eric Blake  <eblake@redhat.com>
12511
12512         fdatasync: port to Solaris
12513         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
12514         * modules/fdatasync (Link): Document it.
12515         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
12516
12517         fdatasync: port to MacOS X 10.7
12518         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
12519         declared.
12520         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
12521         * modules/unistd (Makefile.am): Substitute it.
12522         * lib/unistd.in.h (fdatasync): Declare on MacOS.
12523         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
12524
12525         fdatasync: minor improvements
12526         * modules/fdatasync (Depends-on): Add condition for fsync.
12527         * lib/fdatasync.c (fdatasync): Add comment.
12528         * tests/test-unistd-c++.cc: Test fdatasync.
12529
12530         unistd: update refs to newer POSIX
12531         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
12532         Suggested by Bruno Haible.
12533
12534         fdatasync: new module
12535         * modules/fsync (Description): Document difference to fdatasync.
12536         * modules/fdatasync: New module.
12537         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
12538         * lib/fdatasync.c (fdatasync): Likewise.
12539         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
12540         defaults.
12541         * modules/unistd (Makefile.am): Set witnesses.
12542         * lib/unistd.in.h (fdatasync): Declare.
12543         * MODULES.html.sh: Document it.
12544         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
12545         * modules/fdatasync-tests: New test.
12546         * tests/test-fdatasync.c: Likewise.
12547
12548 2011-09-16  Eric Blake  <eblake@redhat.com>
12549
12550         test-fsync: enhance tests
12551         * modules/fsync-tests (Depends-on): Add errno, for mingw.
12552         * tests/test-fsync.c (main): Enhance test.
12553
12554 2011-09-15  Bruno Haible  <bruno@clisp.org>
12555
12556         Support for MSVC compiler: Ensure ssize_t gets defined.
12557         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
12558         * doc/posix-headers/stdio.texi: Likewise.
12559         * modules/stdio (Depends-on): Add ssize_t.
12560         * modules/sys_socket (Depends-on): Likewise.
12561         * modules/sys_types (Depends-on): Likewise.
12562         * modules/sys_uio (Depends-on): Likewise.
12563         * modules/unistd (Depends-on): Likewise.
12564         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
12565         * tests/test-sys_types.c: Check that ssize_t is defined.
12566
12567 2011-09-14  Bruno Haible  <bruno@clisp.org>
12568
12569         Avoid using #, the m4 comment starter character, near brackets.
12570         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
12571         delimiter character in sed expressions.
12572         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
12573         Suggested by Eric Blake.
12574
12575         Properly quote AC_CHECK_DECLS' 4th argument.
12576         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
12577         argument.
12578         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
12579         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
12580         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
12581         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
12582         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
12583         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
12584         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
12585         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
12586         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
12587         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
12588         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
12589         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
12590         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
12591         * m4/isinf.m4 (gl_ISINF): Likewise.
12592         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
12593         * m4/readutmp.m4 (gl_READUTMP): Likewise.
12594         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
12595         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
12596         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
12597         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
12598         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
12599         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
12600         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
12601         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
12602         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
12603         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
12604         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
12605         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
12606         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
12607         Reported by Eric Blake.
12608
12609         Properly quote AC_CHECK_DECL's 4th argument.
12610         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
12611         argument.
12612         * m4/argp.m4 (gl_ARGP): Likewise.
12613         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
12614         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
12615         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
12616         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
12617         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
12618         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
12619         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
12620         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
12621         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
12622         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
12623         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
12624         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
12625         Reported by Eric Blake.
12626
12627 2011-09-14  Eric Blake  <eblake@redhat.com>
12628
12629         opendir: avoid compile warning
12630         * lib/opendir.c (includes): Always include errno.h.
12631         Reported by Tatsuro MATSUOKA.
12632
12633 2011-09-14  Jim Meyering  <meyering@redhat.com>
12634
12635         maint.mk: sc_tight_scope: propagate failure from sub-make
12636         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
12637         Reported by Martin von Gagern.
12638
12639 2011-09-13  Bruno Haible  <bruno@clisp.org>
12640
12641         tempname: Support for MSVC.
12642         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
12643         MSVC.
12644         * modules/tempname (Depends-on): Add fcntl-h.
12645
12646 2011-09-13  Bruno Haible  <bruno@clisp.org>
12647
12648         sys_time: Support for MSVC.
12649         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
12650         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
12651         include <winsock2.h>.
12652         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
12653         function declarations that collide with POSIX.
12654         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
12655         (Makefile.am): Substitute HAVE_WINSOCK2_H.
12656
12657 2011-09-13  Bruno Haible  <bruno@clisp.org>
12658
12659         stat: Support for MSVC.
12660         * lib/stat.c: Include pathmax.h.
12661         * modules/stat (Depends-on): Add pathmax.
12662
12663         pathmax: Support for native Windows.
12664         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
12665
12666 2011-09-12  Bruno Haible  <bruno@clisp.org>
12667
12668         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
12669         * lib/dirent.in.h (struct dirent): New type.
12670         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
12671         DT_WHT): New macros.
12672         (DIR): New type.
12673         (opendir, closedir): Declare only if the module 'opendir' is enabled.
12674         (readdir, rewinddir): New declarations.
12675         * lib/dirent-private.h: New file.
12676         * lib/opendir.c: New file.
12677         * lib/readdir.c: New file.
12678         * lib/rewinddir.c: New file.
12679         * lib/closedir.c: New file.
12680         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
12681         * m4/opendir.m4: New file.
12682         * m4/readdir.m4: New file.
12683         * m4/rewinddir.m4: New file.
12684         * m4/closedir.m4: New file.
12685         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
12686         REPLACE_CLOSEDIR here.
12687         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
12688         readdir, rewinddir are declared.
12689         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
12690         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
12691         HAVE_REWINDDIR, HAVE_CLOSEDIR.
12692         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
12693         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
12694         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
12695         * modules/opendir: New file.
12696         * modules/readdir: New file.
12697         * modules/rewinddir: New file.
12698         * modules/closedir: New file.
12699         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
12700         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
12701         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
12702         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
12703         * NEWS: Mention the 'fchdir' change.
12704
12705 2011-09-11  Bruno Haible  <bruno@clisp.org>
12706
12707         asm-underscore.m4: Support for MSVC.
12708         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
12709         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
12710
12711 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
12712
12713         Doc about crypt functions.
12714         * doc/posix-functions/crypt.texi: Expand range of glibc versions
12715         needing for _GNU_SOURCE to get crypt.
12716         * doc/posix-functions/encrypt.texi: Likewise.
12717         * doc/posix-functions/setkey.texi: Likewise.
12718
12719 2011-09-11  Bruno Haible  <bruno@clisp.org>
12720
12721         doc: Update regarding MSVC 9.
12722         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
12723         tested".
12724         * doc/posix-functions/*.texi: Update with info about MSVC 9.
12725         * doc/posix-headers/*.texi: Likewise.
12726         * doc/pastposix-functions/*.texi: Likewise.
12727         * doc/glibc-functions/*.texi: Likewise.
12728         * doc/glibc-headers/*.texi: Likewise.
12729
12730 2011-09-11  Bruno Haible  <bruno@clisp.org>
12731
12732         unistd et al.: Don't assume <unistd.h> exists.
12733         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
12734         does not exist.
12735         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
12736         exist. But include <stdlib.h>.
12737         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
12738         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
12739         symlink() does not exist.
12740         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
12741         include <io.h> instead.
12742         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
12743         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
12744         include <direct.h> instead.
12745         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
12746         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12747         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
12748         <io.h> instead.
12749         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
12750         correctly if the system does not have hard links.
12751         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
12752         <direct.h> instead.
12753         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
12754         it when looking for function declarations.
12755         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
12756         <direct.h> and <io.h> instead.
12757         * doc/posix-headers/unistd.texi: More details about MSVC problem.
12758
12759 2011-09-11  Bruno Haible  <bruno@clisp.org>
12760
12761         strcase: Support for MSVC.
12762         * modules/strcase (Status, Notice): Remove obsoletion mark.
12763         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
12764         * doc/posix-functions/strncasecmp.texi: Likewise.
12765
12766         strings: Don't assume <strings.h> exists.
12767         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
12768         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
12769         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
12770         * doc/posix-headers/strings.texi: Mention the MSVC problem.
12771
12772 2011-09-11  Bruno Haible  <bruno@clisp.org>
12773
12774         dirent: Don't assume <dirent.h> exists.
12775         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
12776         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
12777         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
12778         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
12779
12780 2011-09-11  Bruno Haible  <bruno@clisp.org>
12781
12782         Fix wint_t on MSVC.
12783         * lib/wchar.in.h (wint_t): On MSVC, override it.
12784         * lib/wctype.in.h (wint_t): Likewise.
12785         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
12786         MSVC.
12787         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
12788         * doc/posix-headers/wctype.texi: Likewise.
12789
12790 2011-09-11  Bruno Haible  <bruno@clisp.org>
12791
12792         sys_types: Fix typo.
12793         * lib/sys_types.in.h: Fix typo in comment.
12794         Reported by Paul Eggert.
12795
12796         Support for MSVC compiler: Ensure size_t gets defined.
12797         * modules/strings (Depends-on): Add 'sys_types'.
12798         * modules/sys_uio (Depends-on): Likewise.
12799         * lib/sys_uio.in.h: Update comment.
12800
12801         C++ tests for module 'sys_types'.
12802         * modules/sys_types-c++-tests: New file.
12803         * tests/test-sys_types-c++.cc: New file.
12804
12805         Tests for module 'sys_types'.
12806         * modules/sys_types-tests: New file.
12807         * tests/test-sys_types.c: New file.
12808
12809         New module 'sys_types'.
12810         * lib/sys_types.in.h: New file.
12811         * m4/sys_types_h.m4: New file.
12812         * modules/sys_types: New file.
12813         * doc/posix-headers/sys_types.texi: Mention the new module and the
12814         size_t problem on MSVC 9.
12815
12816 2011-09-11  Bruno Haible  <bruno@clisp.org>
12817
12818         Support for MSVC compiler: Avoid division by a literal 0.
12819         * lib/math.in.h (NAN): Define through a function call also on MSVC.
12820         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
12821         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
12822         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
12823         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
12824         * tests/infinity.h: New file.
12825         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
12826         on MSVC.
12827         * tests/test-ceilf1.c: Include infinity.h.
12828         (main): Use Infinityf.
12829         * tests/test-ceil1.c: Include infinity.h.
12830         (main): Use Infinityd.
12831         * tests/test-ceill.c: Include infinity.h.
12832         (main): Use Infinityl.
12833         * tests/test-dprintf-posix.c: Include infinity.h.
12834         (test_function): Use Infinityd.
12835         * tests/test-floorf1.c: Include infinity.h.
12836         (main): Use Infinityf.
12837         * tests/test-floor1.c: Include infinity.h.
12838         (main): Use Infinityd.
12839         * tests/test-floorl.c: Include infinity.h.
12840         (main): Use Infinityl.
12841         * tests/test-fprintf-posix.c: Include infinity.h.
12842         (test_function): Use Infinityd.
12843         * tests/test-frexp.c: Include infinity.h.
12844         (main): Use Infinityd.
12845         * tests/test-frexpl.c: Include infinity.h.
12846         (main): Use Infinityl.
12847         * tests/test-isfinite.c: Include infinity.h.
12848         (test_isfinitef): Use Infinityf.
12849         (test_isfinited): Use Infinityd.
12850         (test_isfinitel): Use Infinityl.
12851         * tests/test-isinf.c: Include infinity.h.
12852         (test_isinff): Use Infinityf.
12853         (test_isinfd): Use Infinityd.
12854         (test_isinfl): Use Infinityl.
12855         * tests/test-isnan.c: Include infinity.h.
12856         (test_float): Use Infinityf.
12857         (test_double): Use Infinityd.
12858         (test_long_double): Use Infinityl.
12859         * tests/test-isnanf.h: Include infinity.h.
12860         (main): Use Infinityf.
12861         * tests/test-isnand.h: Include infinity.h.
12862         (main): Use Infinityd.
12863         * tests/test-isnanl.h: Include infinity.h.
12864         (main): Use Infinityl.
12865         * tests/test-ldexpl.c: Include infinity.h.
12866         (main): Use Infinityl.
12867         * tests/test-printf-posix.h: Include infinity.h.
12868         (test_function): Use Infinityd.
12869         * tests/test-roundf1.c: Include infinity.h.
12870         (main): Use Infinityf.
12871         * tests/test-round1.c: Include infinity.h.
12872         (main): Use Infinityd.
12873         * tests/test-roundl.c: Include infinity.h.
12874         (main): Use Infinityl.
12875         * tests/test-signbit.c: Include infinity.h.
12876         (test_signbitf): Use Infinityf.
12877         (test_signbitd): Use Infinityd.
12878         (test_signbitl): Use Infinityl.
12879         * tests/test-snprintf-posix.h: Include infinity.h.
12880         (test_function): Use Infinityd, Infinityl.
12881         * tests/test-sprintf-posix.h: Include infinity.h.
12882         (test_function): Use Infinityd, Infinityl.
12883         * tests/test-truncf1.c: Include infinity.h.
12884         (main): Use Infinityf.
12885         * tests/test-trunc1.c: Include infinity.h.
12886         (main): Use Infinityd.
12887         * tests/test-truncl.c: Include infinity.h.
12888         (main): Use Infinityl.
12889         * tests/test-vasnprintf-posix.c: Include infinity.h.
12890         (test_function): Use Infinityd, Infinityl.
12891         * tests/test-vasprintf-posix.c: Include infinity.h.
12892         (test_function): Use Infinityd, Infinityl.
12893         * modules/ceilf-tests (Files): Add tests/infinity.h.
12894         * modules/ceil-tests (Files): Likewise.
12895         * modules/ceill-tests (Files): Likewise.
12896         * modules/dprintf-posix-tests (Files): Likewise.
12897         * modules/floorf-tests (Files): Likewise.
12898         * modules/floor-tests (Files): Likewise.
12899         * modules/floorl-tests (Files): Likewise.
12900         * modules/fprintf-posix-tests (Files): Likewise.
12901         * modules/frexp-tests (Files): Likewise.
12902         * modules/frexp-nolibm-tests (Files): Likewise.
12903         * modules/frexpl-tests (Files): Likewise.
12904         * modules/frexpl-nolibm-tests (Files): Likewise.
12905         * modules/isfinite-tests (Files): Likewise.
12906         * modules/isinf-tests (Files): Likewise.
12907         * modules/isnan-tests (Files): Likewise.
12908         * modules/isnanf-tests (Files): Likewise.
12909         * modules/isnanf-nolibm-tests (Files): Likewise.
12910         * modules/isnand-tests (Files): Likewise.
12911         * modules/isnand-nolibm-tests (Files): Likewise.
12912         * modules/isnanl-tests (Files): Likewise.
12913         * modules/isnanl-nolibm-tests (Files): Likewise.
12914         * modules/ldexpl-tests (Files): Likewise.
12915         * modules/printf-posix-tests (Files): Likewise.
12916         * modules/roundf-tests (Files): Likewise.
12917         * modules/round-tests (Files): Likewise.
12918         * modules/roundl-tests (Files): Likewise.
12919         * modules/signbit-tests (Files): Likewise.
12920         * modules/snprintf-posix-tests (Files): Likewise.
12921         * modules/sprintf-posix-tests (Files): Likewise.
12922         * modules/truncf-tests (Files): Likewise.
12923         * modules/trunc-tests (Files): Likewise.
12924         * modules/truncl-tests (Files): Likewise.
12925         * modules/vasnprintf-posix-tests (Files): Likewise.
12926         * modules/vasprintf-posix-tests (Files): Likewise.
12927         * modules/vdprintf-posix-tests (Files): Likewise.
12928         * modules/vfprintf-posix-tests (Files): Likewise.
12929         * modules/vprintf-posix-tests (Files): Likewise.
12930         * modules/vsnprintf-posix-tests (Files): Likewise.
12931         * modules/vsprintf-posix-tests (Files): Likewise.
12932         * modules/xprintf-posix-tests (Files): Likewise.
12933
12934 2011-09-11  Bruno Haible  <bruno@clisp.org>
12935
12936         Ensure pid_t gets defined.
12937         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
12938         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
12939         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
12940         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
12941         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
12942         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
12943         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
12944         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
12945         * tests/test-fcntl-h.c: Check that pid_t is defined.
12946         * tests/test-sched.c: Likewise.
12947         * tests/test-termios.c: Likewise.
12948         * tests/test-time.c: Likewise.
12949         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
12950         * doc/posix-headers/signal.texi: Likewise.
12951         * doc/posix-headers/sys_types.texi: Likewise.
12952         * doc/posix-headers/time.texi: Likewise.
12953
12954 2011-09-11  Bruno Haible  <bruno@clisp.org>
12955
12956         acl: Fix compilation on Solaris 10 (older version).
12957         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
12958         of ACE_EVERYONE.
12959         * lib/set-mode-acl.c (qset_acl): Likewise.
12960         Reported by Christian Jullien <eligis@orange.fr>.
12961
12962 2011-09-10  Bruno Haible  <bruno@clisp.org>
12963
12964         iconv, unsetenv: Add support for MSVC compiler.
12965         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
12966         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
12967
12968 2011-09-10  Bruno Haible  <bruno@clisp.org>
12969
12970         *printf: Add support for MSVC compiler.
12971         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
12972         handles the exception caused by the %n directive. When cross-compiling,
12973         guess no on native Windows.
12974         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
12975         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
12976         emulate it through vsnprintf.
12977         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
12978         * doc/posix-functions/dprintf.texi: Update documentation regarding
12979         MSVC 9.
12980         * doc/posix-functions/fprintf.texi: Likewise.
12981         * doc/posix-functions/printf.texi: Likewise.
12982         * doc/posix-functions/snprintf.texi: Likewise.
12983         * doc/posix-functions/sprintf.texi: Likewise.
12984         * doc/posix-functions/swprintf.texi: Likewise.
12985         * doc/posix-functions/vdprintf.texi: Likewise.
12986         * doc/posix-functions/vfprintf.texi: Likewise.
12987         * doc/posix-functions/vprintf.texi: Likewise.
12988         * doc/posix-functions/vsnprintf.texi: Likewise.
12989         * doc/posix-functions/vsprintf.texi: Likewise.
12990         * doc/glibc-functions/asprintf.texi: Likewise.
12991         * doc/glibc-functions/obstack_printf.texi: Likewise.
12992         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
12993         * doc/glibc-functions/vasprintf.texi: Likewise.
12994
12995 2011-09-10  Bruno Haible  <bruno@clisp.org>
12996
12997         nocrash: Add support for native Windows.
12998         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
12999
13000 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
13001             Bruno Haible  <bruno@clisp.org>
13002
13003         absolute-header, include-next: Add support for MSVC compiler.
13004         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
13005         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
13006         directory separator in #line directives.
13007         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
13008         recognize also backslash as directory separator in #line directives.
13009
13010 2011-09-08  Jim Meyering  <meyering@redhat.com>
13011
13012         maint.mk: mark the post-release commit log with "maint: " prefix
13013         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
13014         one-line commit-log summary.
13015
13016 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
13017             Bruno Haible  <bruno@clisp.org>
13018
13019         Doc about crypt functions.
13020         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
13021         systems.
13022         * doc/posix-functions/encrypt.texi: Likewise.
13023         * doc/posix-functions/setkey.texi: Likewise.
13024
13025 2011-09-08  Simon Josefsson  <simon@josefsson.org>
13026
13027         * lib/gc.h: Fix copyright header.
13028
13029 2011-09-07  Bruno Haible  <bruno@clisp.org>
13030
13031         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
13032         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
13033         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
13034
13035 2011-09-07  Bruno Haible  <bruno@clisp.org>
13036
13037         openat: Work around compilation error with OSF/1 5.1 DTK cc.
13038         * lib/fopen.c: Use different syntax for include of <stdio.h>.
13039         * lib/freopen.c: Likewise.
13040         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
13041         * lib/lstat.c: Likewise.
13042         * lib/stat.c: Likewise.
13043         * lib/open.c: Use different syntax for include of <fcntl.h>.
13044         * lib/openat.c: Include fcntl.h again, explicitly.
13045
13046 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
13047
13048         parse-datetime: document the newly accepted format
13049         * doc/parse-datetime.texi (Combined date and time of day items):
13050         New section.
13051
13052 2011-09-06  Bruno Haible  <bruno@clisp.org>
13053
13054         acl: Fix a test failure on newer Solaris 10 with ZFS.
13055         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
13056         ENOSYS as no ACL.
13057         Reported by Jim Meyering.
13058
13059 2011-09-06  Bruno Haible  <bruno@clisp.org>
13060
13061         acl: Update for AIX >= 5.3 with NFS.
13062         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
13063         ENOSYS as no ACL.
13064
13065         acl: Fix a test failure on AIX >= 5.3 with NFS.
13066         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
13067         as no ACL.
13068
13069 2011-09-06  Bruno Haible  <bruno@clisp.org>
13070
13071         acl: Fix a test failure on IRIX 6.5 with NFS.
13072         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
13073         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
13074         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
13075         * lib/copy-acl.c (qcopy_acl): Likewise.
13076
13077 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
13078
13079         openat: port to AIX 7.1 with large files
13080         AIX 7.1 does a "#define openat open64at" if large files are in use,
13081         so we can't simply #undef openat.  Use the orig_openat trick (similar
13082         to orig_open in lib/open.c) to work around the problem.  Problem
13083         reported by Kevin Brott for GNU tar, in the thread containing
13084         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
13085         * lib/openat.c (__need_system_fcntl_h): Define first.
13086         Include <fcntl.h> and <sys/types.h> before undefining.
13087         (orig_openat) [HAVE_OPENAT]: New inline function.
13088         (openat) [HAVE_OPENAT]: Do not undef.
13089         (rpl_openat): Use orig_openat, not openat.
13090
13091 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
13092             Bruno Haible  <bruno@clisp.org>
13093
13094         acl: Avoid errors on NonStop Kernel.
13095         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
13096         ENOTSUP errors.
13097
13098 2011-09-05  Bruno Haible  <bruno@clisp.org>
13099
13100         acl: Clean up Solaris code.
13101         * lib/acl-internal.h: Remove no-op #if.
13102         * lib/file-has-acl.c: Likewise.
13103         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
13104         * lib/copy-acl.c (qcopy_acl): Likewise.
13105
13106 2011-09-05  Bruno Haible  <bruno@clisp.org>
13107
13108         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
13109         binaries built on the original Solaris 10.
13110         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
13111         trivial.
13112
13113 2011-09-05  Bruno Haible  <bruno@clisp.org>
13114
13115         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
13116         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
13117         10.
13118         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
13119         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
13120         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
13121         instead of acl_get, facl_get, acl_set, facl_set.
13122
13123 2011-09-05  Bruno Haible  <bruno@clisp.org>
13124
13125         copy-file: Try unit tests on more file systems.
13126         * tests/test-copy-file-1.sh: New file.
13127         * tests/test-copy-file-2.sh: New file.
13128         * modules/copy-file-tests (Files): Add them.
13129         (Makefile.am): Add them to TESTS.
13130
13131         acl: Try unit tests on more file systems.
13132         * tests/test-file-has-acl-1.sh: New file.
13133         * tests/test-file-has-acl-2.sh: New file.
13134         * tests/test-set-mode-acl-1.sh: New file.
13135         * tests/test-set-mode-acl-2.sh: New file.
13136         * tests/test-copy-acl-1.sh: New file.
13137         * tests/test-copy-acl-2.sh: New file.
13138         * modules/acl-tests (Files): Add them.
13139         (Makefile.am): Add them to TESTS.
13140
13141 2011-09-04  Bruno Haible  <bruno@clisp.org>
13142
13143         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
13144         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
13145         10.
13146         (OLD_ALLOW, OLD_DENY): New macros.
13147         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
13148         ACE_ACCESS_ALLOWED_ACE_TYPE.
13149         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
13150         ACE_ACCESS_DENIED_ACE_TYPE.
13151         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
13152         (NEW_ACE_EXECUTE): Fix value.
13153         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
13154         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
13155         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
13156         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
13157         NEW_ACE_SYNCHRONIZE): New macros.
13158         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
13159         instead of acl_fromtext, acl_set, facl_set.
13160         Fixes a coreutils/tests/cp/perm failure.
13161
13162 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
13163
13164         openat: test for fstatat (..., 0) bug
13165         Further testing with tar suggests that fstatat (..., 0)
13166         does not work in general, on AIX 7.1; see
13167         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
13168         So, give up entirely on AIX 7.1's fstatat, and fall back on our
13169         replacement fstatat (which is what older AIX releases were using
13170         anyway).
13171         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
13172         use is now changed to orig_fstatat.  This was probably the right
13173         thing to do anyway.
13174         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
13175         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
13176         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
13177         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
13178         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
13179         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
13180         if the bug is found.
13181
13182         openat: test for fstatat (AT_FDCWD, ..., 0) bug
13183         This tests for another fstatat bug on AIX 7.1:
13184         fstatat (AT_FDCWD, ..., 0) does not work.  See
13185         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
13186         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
13187         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
13188         (rpl_fstatat): Adjust so that it works around either (or both)
13189         bugs if present.
13190         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
13191
13192 2011-09-03  Karl Berry  <karl@gnu.org>
13193
13194         * doc/regex.texi (Character Class Operators): Avoid literal ":"
13195         in index entries.
13196
13197 2011-09-02  Bruno Haible  <bruno@clisp.org>
13198
13199         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
13200         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
13201         values of AR, ARFLAGS, RANLIB.
13202         Reported by John W. Eaton <jwe@gnu.org> for Octave.
13203
13204 2011-09-02  Bruno Haible  <bruno@clisp.org>
13205
13206         Find 'ar' program that fits with --host argument.
13207         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
13208
13209 2011-09-02  Bruno Haible  <bruno@clisp.org>
13210
13211         tests: init.sh: Support any non-GNU diff.
13212         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
13213         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
13214         Solaris 8.
13215
13216 2011-09-02  Bruno Haible  <bruno@clisp.org>
13217
13218         tests: init.sh: work also with any non-GNU diff that supports -u
13219         * tests/init.sh: Relax check for diff -u support.
13220         Rather than checking for GNU diff via --version, simply check
13221         for support for -u itself.  Useful at least on OpenBSD 4.9,
13222         AIX 7.1, IRIX 6.5, and Solaris 10.
13223
13224 2011-09-01  Bruno Haible  <bruno@clisp.org>
13225
13226         strtoimax, strtoumax: Document problem on HP-UX 11.
13227         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
13228         * doc/posix-functions/strtoumax.texi: Likewise.
13229
13230 2011-09-01  Bruno Haible  <bruno@clisp.org>
13231
13232         strtoumax: Avoid link error on OSF/1 with DTK cc.
13233         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
13234         defined as a function.
13235         * modules/strtoumax (Depends-on, configure.ac): Test only whether
13236         strtoumax is defined, not whether it is declared.
13237
13238 2011-09-01  Bruno Haible  <bruno@clisp.org>
13239
13240         strtoimax: Avoid link error on OSF/1 with DTK cc.
13241         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
13242         defined as a function.
13243         * modules/strtoimax (Depends-on, configure.ac): Test only whether
13244         strtoimax is defined, not whether it is declared.
13245
13246 2011-09-01  Bruno Haible  <bruno@clisp.org>
13247
13248         imaxdiv: Avoid link error on OSF/1 with DTK cc.
13249         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
13250         as a function.
13251         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
13252         whether it is declared.
13253
13254 2011-09-01  Bruno Haible  <bruno@clisp.org>
13255
13256         imaxabs: Avoid link error on OSF/1 with DTK cc.
13257         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
13258         as a function.
13259         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
13260         whether it is declared.
13261
13262 2011-09-01  Bruno Haible  <bruno@clisp.org>
13263
13264         Tests for module 'strtoumax'.
13265         * modules/strtoumax-tests: New file.
13266         * tests/test-strtoumax.c: New file.
13267
13268         Tests for module 'strtoimax'.
13269         * modules/strtoimax-tests: New file.
13270         * tests/test-strtoimax.c: New file.
13271
13272         Tests for module 'imaxdiv'.
13273         * modules/imaxdiv-tests: New file.
13274         * tests/test-imaxdiv.c: New file.
13275
13276         Tests for module 'imaxabs'.
13277         * modules/imaxabs-tests: New file.
13278         * tests/test-imaxabs.c: New file.
13279
13280 2011-09-01  Bruno Haible  <bruno@clisp.org>
13281
13282         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
13283         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
13284         pthread_create.
13285
13286 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
13287
13288         openat: work around AIX 7.1 fstatat issue
13289         This should fix the problem that was not properly fixed
13290         in the previous change, dated 2011-08-30.
13291         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
13292         __need_system_stat_h defined.
13293         (orig_fstatat) [HAVE_FSTATAT]: New function.
13294         (rpl_fstatat): Go back to the old way of doing things,
13295         except call orig_fstatat instead of fstatat.
13296         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
13297         Remove unnecessary check whether fstatat fills in st_size etc.
13298
13299 2011-09-01  Bruno Haible  <bruno@clisp.org>
13300
13301         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
13302         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
13303         just include the system's header.
13304
13305 2011-08-31  Jim Meyering  <meyering@redhat.com>
13306
13307         tests: avoid spurious assertion failure in test-float.c on ppc64
13308         * tests/test-float.c (test_long_double): Comment out an assertion,
13309         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
13310         with gcc-4.4.4.
13311
13312         maint: indent with spaces, not TABs
13313         I need to get in the habit of running gnulib's "make check".
13314         Both of these would have been caught.
13315         * m4/largefile.m4: Indent with spaces, not TABs.
13316         * lib/parse-datetime.y (iso_8601_time): Likewise.
13317         Spotted by Pádraig Brady.
13318
13319         test-parse-datetime.c: accommodate a relatively strict gcc warning
13320         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
13321         to avoid a warning from gcc's -Werror=missing-declarations.
13322         Insert a few spaces-before-funcall-parenthesis.
13323
13324 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
13325
13326         parse-datetime: accept ISO 8601 date and time rep with "T" separator
13327         The parser now accepts ISO 8601 date-time strings with "T" as the
13328         separator.  It has long parsed dates like "2004-02-29 16:21:42"
13329         with a space between the date and time strings.  Now it also parses
13330         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
13331         variants like "2004-02-29T16:21:42.333-07:00"
13332         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
13333         of day representation using the 'T' separator character.
13334         * doc/parse-datetime.texi (General date syntax): replace use of
13335         deprecated --iso-8601 option with --rfc-3339 in example of date
13336         command output formats that can be parsed.
13337         * tests/test-parse-datetime.c (tm_diff): New function, taken from
13338         lib/parse-datetime.y.
13339         (gmt_offset): New function.
13340         (main): Add additional test cases to validate ISO8601 extended
13341         date and time of day parsing.
13342
13343 2011-08-31  Bruno Haible  <bruno@clisp.org>
13344
13345         freopen: Documentation.
13346         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
13347         name.
13348         Reported by Claudio Bley <claudio.bley@gmail.com>.
13349
13350 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
13351
13352         freopen: Don't crash if the filename argument is NULL.
13353         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
13354         NULL.
13355
13356 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
13357
13358         openat: work around AIX 7.1 fstatat bug
13359         Problem reported by Kevin Brott for GNU tar, in the thread containing
13360         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
13361         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
13362         FSTATAT_ST_SIZE_ETC_BROKEN.
13363         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
13364         rpl_fstatat.
13365         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
13366         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
13367         AC_CHECK_FUNCS_ONCE for fstatat.
13368         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
13369         fchmodat, mkdirat, openat and unlinkat.
13370
13371 2011-08-30  Bruno Haible  <bruno@clisp.org>
13372
13373         Avoid endless recursions if config.h includes some header files.
13374         * lib/fopen.c (__need_FILE): Define already before including config.h.
13375         * lib/freopen.c (__need_FILE): Likewise.
13376         * lib/open.c (__need_system_fcntl_h): Likewise.
13377         * lib/stat.c (__need_system_sys_stat_h): Likewise.
13378         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
13379         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
13380
13381 2011-08-25  Karl Berry  <karl@gnu.org>
13382
13383         * config/srclist.txt (ylwrap): new try.
13384         * build-aux/ylwrap: new file.
13385
13386 2011-08-23  Bruno Haible  <bruno@clisp.org>
13387
13388         tmpdir: Use a good default directory on native Windows.
13389         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
13390         (P_tmpdir): Default to _P_tmpdir on native Windows.
13391         (path_search): On native Windows, try the value returned by GetTempPath
13392         before trying P_tmpdir.
13393         * modules/tmpdir (Depends-on): Add pathmax.
13394         Suggested by John Darrington <john@darrington.wattle.id.au>.
13395
13396 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
13397
13398         doc: fix typo in README-release
13399         * top/README-release: Capitalize first word of a sentence.
13400
13401 2011-08-19  Jim Meyering  <meyering@redhat.com>
13402
13403         fts: do not exhaust memory when processing million-entry directories
13404         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
13405         directory would require about 256*N bytes of memory.  Thus, it was
13406         easy to construct a directory too large to be processed by any of
13407         those tools.  With this change, fts' maximum memory utilization is
13408         now limited to around 30MB.
13409         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
13410         (fts_read): When we've processed the final entry (i.e., when
13411         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
13412         using the parent entry to read any remaining entries.  Dispatch
13413         depending on what fts_build returns:
13414         - NULL+stop, aka failure: stop
13415         - NULL otherwise: move up in the dir hierarchy
13416         - non-NULL: handle this new entry
13417         (fts_build): Declare and use new local, continue_readdir.
13418         Prepare to be called from fts_read, when the entries
13419         from a partially-read directory have just been exhausted.
13420         In that case, we'll skip the opendir and instead use the parent's
13421         fts_dirp and derive dir_fd from that.
13422         Finally, in the readdir loop, if we read max_entries entries,
13423         exit the loop ensuring *not* to call closedir.  This is required
13424         so that fts_dirp can be reused on a subsequent call.
13425         Prompted by Ben England's report of memory exhaustion in find
13426         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
13427
13428         maint: fts: move decl of `dp' down into while loop; split a long line
13429         * lib/fts.c (fts_build): No semantic change.
13430
13431         fts: add/use new struct member, fts_dirp
13432         We are about to use this to manage any directory with
13433         too many entries to read all of them into memory at once.
13434         To do that, we'll need to save the DIR* pointer in each
13435         affected FTSENT struct.
13436         * lib/fts_.h: Include <dirent.h>.
13437         (struct FTSENT) [fts_dirp]: New member.
13438         * lib/fts.c (closedir_and_clear): Define.
13439         Use it in place of closedir so that we are sure to
13440         clear the new fts_dirp member when done with it.
13441         (fts_alloc): Initialize the new member.
13442         (fts_lfree): Free, if needed.
13443
13444         maint: fts: give __opendir2 a new parameter and rename
13445         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
13446         than surreptitiously using sole caller's "dir_fd".
13447         (fts_opendir): Rename from __opendir2.
13448
13449         maint: fts.c: remove __opendir2's now-unused parameter, oflag
13450         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
13451
13452         maint: fts.c: correct off-by-one indentation
13453         * lib/fts.c (fts_build): Correct indentation, change style
13454         of a couple of block comments, and bracing style.
13455
13456         maint: fts.c: move __opendir2 #define "up" out of function body
13457         * lib/fts.c (__opendir2): Move "up".  No semantic change.
13458
13459         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
13460         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
13461         out for a long time and besides was useful only on BSD systems.
13462
13463 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
13464
13465         regex: port to Stratus OpenVOS
13466         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
13467         define to empty, rather than attempting nonportable optimizations.
13468         Problem reported by Paul Green in:
13469         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
13470         and fix suggested by Eric Blake in:
13471         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
13472
13473 2011-08-17  Eric Blake  <eblake@redhat.com>
13474
13475         getcwd: fix test failures on mingw
13476         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
13477         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
13478         test if long directory cannot be created, and allow mingw errno.
13479
13480         getcwd-lgpl: fix m4 to match relaxed test for BSD
13481         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
13482         (gl_FUNC_GETCWD_SIGNATURE): New macro.
13483         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
13484         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
13485         signature problem.
13486
13487         getcwd: fix compilation on mingw64
13488         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
13489         getcwd.
13490         Reported by Marc-André Lureau.
13491
13492         pipe2: silence compiler warning
13493         * lib/pipe2.c (pipe2): Hide label if it is not used.
13494
13495 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
13496
13497         relocatable-prog: fix link error
13498         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
13499         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
13500         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
13501         into modules/relocatable-lib without noticing that
13502         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
13503         also needs to build relocatable.c.
13504
13505 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
13506
13507         getaddrinfo: fix sh typo in gai_strerrorA decl checking
13508         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
13509         shell code: it contained a 'break' that was not in a loop.
13510         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
13511         via a shell-language loop; this may have been true in old Autoconf
13512         versions, but it's not true in Autoconf 2.68.  I found this bug
13513         when testing coreutils git on Solaris 8, whose shell complains
13514         about the syntax error.
13515
13516 2011-08-12  Simon Josefsson  <simon@josefsson.org>
13517
13518         * lib/base64.c: Fix comment to reference RFC 4648.
13519         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
13520         <gvtulder@gmail.com>.
13521
13522 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
13523
13524         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
13525
13526         po/Makefile.in.in: fix make -q problem
13527         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
13528         rule, since there's no file named 'check-macro-version' and its
13529         use as a file breaks make -q.
13530         (all): Don't depend on check-macro-version.
13531         (CHECK_MACRO_VERSION): New macro.
13532         (stamp-po): Use it.
13533
13534         configmake: fix make -q problem
13535         * modules/configmake (configmake.h): Update configmake.h's time stamp
13536         even if the file does not change.  Otherwise, 'make -q' fails.
13537         Problem reported by Simon Josefsson in
13538         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
13539
13540 2011-08-11  Jim Meyering  <meyering@redhat.com>
13541
13542         git-version-gen: correct the advice in a comment
13543         * build-aux/git-version-gen: Correct comment.
13544         Don't recommend to list .tarball-version in .gitignore.
13545
13546 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
13547
13548         base64: fix off-by-one buffer size bug
13549         Problem and (trivial) fix reported by Gijs van Tulder in
13550         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
13551         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
13552         * tests/test-base64.c (main): Catch the bug.
13553
13554 2011-08-10  Eric Blake  <eblake@redhat.com>
13555
13556         closein: correct comments
13557         * lib/closein.c (close_stdin): Improve comments.
13558
13559 2011-08-09  Bruno Haible  <bruno@clisp.org>
13560
13561         More tests for 'fseeko'.
13562         * tests/test-fseeko3.c: New file, from Eric Blake.
13563         * tests/test-fseeko3.sh: New file.
13564         * modules/fseeko-tests (Files): Add them.
13565         (TESTS): Add test-fseeko3.sh.
13566         (check_PROGRAMS): Add test-fseeko3.
13567
13568 2011-08-09  Eric Blake  <eblake@redhat.com>
13569
13570         fseeko: remove unneeded hack
13571         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
13572
13573         fseeko: fix bug on glibc
13574         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
13575         Reported by John W. Eaton.
13576
13577 2011-08-08  Bruno Haible  <bruno@clisp.org>
13578
13579         unictype/base: Fix interoperability with preinstalled libunistring.
13580         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
13581         Reported by Simon Josefsson.
13582
13583 2011-08-08  Bruno Haible  <bruno@clisp.org>
13584
13585         iswblank: Detect declaration correctly.
13586         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
13587         AC_CHECK_DECLS invocation.
13588
13589 2011-08-08  Bruno Haible  <bruno@clisp.org>
13590
13591         tcgetsid: Detect declaration correctly.
13592         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
13593         AC_CHECK_DECLS invocation.
13594         Reported by Simon Josefsson.
13595
13596 2011-08-08  Eric Blake  <eblake@redhat.com>
13597
13598         largefile: fix typo that regressed large file support
13599         * modules/largefile (configure.ac-early): Fix section name.
13600
13601 2011-08-06  Karl Berry  <karl@gnu.org>
13602
13603         * MODULES.html.sh (func_all_files): _Noreturn is no longer
13604         a separate module.
13605
13606 2011-08-05  Simon Josefsson  <simon@josefsson.org>
13607
13608         openat: Fix warnings and commens when building unlinkat.c on Hurd.
13609         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
13610         get prototype for free.
13611
13612 2011-08-04  Bruno Haible  <bruno@clisp.org>
13613
13614         Tests for module 'pathmax'.
13615         * modules/pathmax-tests: New file.
13616         * tests/test-pathmax.c: New file.
13617
13618         canonicalize-lgpl: Support larger filenames on the Hurd.
13619         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
13620         Reported by Paul Eggert.
13621
13622         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
13623         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
13624         * lib/chdir-long.h: Include pathmax.h.
13625         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
13626         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
13627         (PATH_MAX): Remove code that is done by pathmax.h.
13628         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
13629         * lib/tmpfile.c: Add a comment.
13630         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
13631         * modules/chdir-long (Depends-on): Add pathmax.
13632         * modules/getcwd (Depends-on): Add pathmax.
13633         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
13634         is not defined.
13635         * doc/posix-headers/limits.texi: Mention the pathmax module.
13636         * NEWS: Mention the change.
13637
13638 2011-08-02  Bruno Haible  <bruno@clisp.org>
13639
13640         pthread_sigmask: Actually use results of gl_THREADLIB.
13641         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
13642         gl_THREADLIB, not gl_[]THREADLIB.
13643         Reported by Eric Blake.
13644
13645 2011-08-02  Jim Meyering  <meyering@redhat.com>
13646
13647         maint.mk: relax the default _gl_TS_function_match regexp
13648         * top/maint.mk (_gl_TS_function_match): Don't require at least one
13649         space between function name and "(" in an "extern" declaration.
13650         That would fail to match a decl with no space there: extern void foo();
13651
13652 2011-07-31  Iain Nicol  <iain@thenicols.net>
13653
13654         git-version-gen: document that EXTRA_DIST must include .version
13655         * build-aux/git-version-gen: In the how-to-use comment, document
13656         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
13657         will fail when run from an unpacked distribution tarball.
13658
13659 2011-08-01  Bruno Haible  <bruno@clisp.org>
13660
13661         wctype-h: Fix last change.
13662         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
13663         REPLACE_TOWLOWER to 0.
13664         Reported by Sam Steingold <sds@gnu.org>.
13665
13666 2011-07-31  Bruno Haible  <bruno@clisp.org>
13667
13668         frexpl: Update autoconf test.
13669         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
13670         according to changes of 2011-06-20.
13671
13672 2011-07-31  Bruno Haible  <bruno@clisp.org>
13673
13674         sys_utsname: Add support for Minix.
13675         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
13676         <sys/utsname.h>.
13677         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
13678         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
13679
13680 2011-07-31  Bruno Haible  <bruno@clisp.org>
13681
13682         strings: Add support for Minix.
13683         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
13684         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
13685         * doc/posix-headers/strings.texi: Document the Minix problem.
13686
13687 2011-07-31  Bruno Haible  <bruno@clisp.org>
13688
13689         wctype-h: Add support for Minix.
13690         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
13691         REPLACE_TOWLOWER.
13692         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
13693         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
13694         REPLACE_ISWCNTRL.
13695
13696 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
13697
13698         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
13699         This is a performance improvement for 64-bit hosts: it causes the
13700         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
13701
13702 2011-07-31  Bruno Haible  <bruno@clisp.org>
13703
13704         stdioext: Add support for Minix.
13705         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
13706         * lib/fpurge.c (fpurge): Likewise.
13707         * lib/freadahead.c (freadahead): Likewise.
13708         * lib/freadable.c (freadable): Likewise.
13709         * lib/freading.c (freading): Likewise.
13710         * lib/freadptr.c (freadptr): Likewise.
13711         * lib/freadseek.c (freadptrinc): Likewise.
13712         * lib/fseeko.c (rpl_fseeko): Likewise.
13713         * lib/fseterr.c (fseterr): Likewise.
13714         * lib/fwritable.c (fwritable): Likewise.
13715         * lib/fwriting.c (fwriting): Likewise.
13716         * lib/fflush.c (clear_ungetc_buffer): Update comment.
13717         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
13718
13719 2011-07-31  Bruno Haible  <bruno@clisp.org>
13720
13721         errno: Port to Minix.
13722         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
13723         ECONNABORTED are defined.
13724         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
13725         GNULIB_defined_ECONNABORTED): New macros.
13726         * lib/strerror-override.h (strerror_override): Test also
13727         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
13728         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
13729         ECONNABORTED.
13730         * doc/posix-headers/errno.texi: Mention the Minix problem.
13731
13732 2011-07-31  Bruno Haible  <bruno@clisp.org>
13733
13734         Work around declaration collisions on Minix.
13735         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
13736         defined, set REPLACE_MBSINIT.
13737         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
13738         defined, set REPLACE_MBRTOWC.
13739         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
13740         set REPLACE_MBRLEN.
13741         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
13742         defined, set REPLACE_MBSRTOWCS.
13743         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
13744         defined, set REPLACE_WCRTOMB.
13745         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
13746         defined, set REPLACE_WCSRTOMBS.
13747
13748 2011-07-31  Bruno Haible  <bruno@clisp.org>
13749
13750         Add support for Minix with ACK compiler.
13751         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
13752         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
13753         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
13754
13755 2011-07-31  Bruno Haible  <bruno@clisp.org>
13756
13757         Documentation about Minix.
13758         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
13759         * doc/glibc-headers/*.texi: Likewise.
13760         * doc/posix-functions/*.texi: Likewise.
13761         * doc/glibc-functions/*.texi: Likewise.
13762
13763 2011-07-31  Bruno Haible  <bruno@clisp.org>
13764
13765         snippet/warn-on-use: Fix indentation.
13766         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
13767
13768 2011-07-25  Jim Meyering  <meyering@redhat.com>
13769
13770         tests: test-update-copyright.sh: remove unnecessary "rm" commands
13771         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
13772         commands.
13773
13774 2011-07-27  Jim Meyering  <meyering@redhat.com>
13775
13776         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
13777         * top/maint.mk (gl_extract_significant_defines_): Now that
13778         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
13779         gnulib/lib/signal.in.h, and now that we recommend to
13780         define-if-undefined those two symbols in application code,
13781         we must filter them out of the "significant" list.
13782         This avoids a "make syntax-check" failure in coreutils.
13783
13784 2011-07-26  Eric Blake  <eblake@redhat.com>
13785
13786         warnings: add comments about previous patch
13787         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
13788         * m4/include_next.m4: Likewise.
13789         * m4/warn-on-use.m4: Likewise.
13790         * m4/warnings.m4: Likewise, and simplify use.
13791         Suggested by Stefano Lattarini.
13792
13793         include-next, warnings: support older autoconf
13794         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
13795         AS_VAR_PUSHDEF in a way that works with older autoconf.
13796         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
13797         Reported by Daniel P. Berrange.
13798
13799 2011-07-25  Bruno Haible  <bruno@clisp.org>
13800
13801         fseek, ftell: Fix doc.
13802         * doc/posix-functions/fseek.texi: Reword statement about
13803         AC_SYS_LARGEFILE.
13804         * doc/posix-functions/ftell.texi: Likewise.
13805
13806 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13807             Bruno Haible  <bruno@clisp.org>
13808
13809         Add dependencies to the 'largefile' module.
13810         * modules/fopen (Depends-on): Add 'largefile'.
13811         * modules/freopen (Depends-on): Likewise.
13812         * modules/fseeko (Depends-on): Likewise.
13813         * modules/ftello (Depends-on): Likewise.
13814         * modules/glob (Depends-on): Likewise.
13815         * modules/lseek (Depends-on): Likewise.
13816         * modules/lstat (Depends-on): Likewise.
13817         * modules/mkostemp (Depends-on): Likewise.
13818         * modules/mkostemps (Depends-on): Likewise.
13819         * modules/mkstemp (Depends-on): Likewise.
13820         * modules/mkstemps (Depends-on): Likewise.
13821         * modules/open (Depends-on): Likewise.
13822         * modules/openat (Depends-on): Likewise.
13823         * modules/pread (Depends-on): Likewise.
13824         * modules/pwrite (Depends-on): Likewise.
13825         * modules/scandir (Depends-on): Likewise.
13826         * modules/stat (Depends-on): Likewise.
13827         * modules/tmpfile (Depends-on): Likewise.
13828         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
13829         since the containing module now depends on the largefile module.
13830         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
13831         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
13832         off_t is fixed by gnulib.
13833         * doc/posix-functions/freopen.texi: Likewise.
13834         * doc/posix-functions/fseeko.texi: Likewise.
13835         * doc/posix-functions/fstatat.texi: Likewise.
13836         * doc/posix-functions/ftello.texi: Likewise.
13837         * doc/posix-functions/glob.texi: Likewise.
13838         * doc/posix-functions/lseek.texi: Likewise.
13839         * doc/posix-functions/lstat.texi: Likewise.
13840         * doc/posix-functions/mkstemp.texi: Likewise.
13841         * doc/posix-functions/open.texi: Likewise.
13842         * doc/posix-functions/openat.texi: Likewise.
13843         * doc/posix-functions/pread.texi: Likewise.
13844         * doc/posix-functions/pwrite.texi: Likewise.
13845         * doc/posix-functions/scandir.texi: Likewise.
13846         * doc/posix-functions/stat.texi: Likewise.
13847         * doc/posix-functions/tmpfile.texi: Likewise.
13848         * doc/glibc-functions/mkostemp.texi: Likewise.
13849         * doc/glibc-functions/mkostemps.texi: Likewise.
13850         * doc/glibc-functions/mkstemps.texi: Likewise.
13851
13852 2011-07-25  Bruno Haible  <bruno@clisp.org>
13853
13854         fcntl: Move AC_LIBOBJ invocation to module description.
13855         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
13856         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
13857
13858         fcntl: Remove call-in from fchdir.m4.
13859         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
13860         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
13861
13862         dup3: Remove potential call-in from fchdir.m4.
13863         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
13864         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
13865
13866         dup2: Move AC_LIBOBJ invocation to module description.
13867         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
13868         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
13869         Don't invoke AC_LIBOBJ.
13870         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
13871
13872         dup2: Remove call-in from fchdir.m4.
13873         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
13874         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
13875
13876         fclose: Move AC_LIBOBJ invocation to module description.
13877         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
13878         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
13879         to 1.
13880         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
13881
13882         fclose: Remove call-in from close.m4.
13883         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
13884         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
13885
13886         close: Move AC_LIBOBJ invocation to module description.
13887         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
13888         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
13889         1.
13890         * modules/close (configure.ac): Invoke AC_LIBOBJ.
13891
13892         close: Remove call-in from fchdir.m4.
13893         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
13894         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
13895
13896         open: Move AC_LIBOBJ invocation to module description.
13897         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
13898         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
13899         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
13900
13901         open: Remove call-in from fchdir.m4.
13902         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
13903         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
13904
13905         fchdir: Start to remove gl_REPLACE_* idiom.
13906         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
13907         (gl_FUNC_FCHDIR): Invoke it.
13908
13909 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
13910
13911         * lib/ftell.c (ftell): Comment out cast.
13912
13913         close: use gl_REPLACE_FCLOSE only if defined
13914         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
13915         is defined.  The close module doesn't depend on the fclose module
13916         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
13917         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
13918         I reproduced the problem with "./gnulib-tool --test close sys_socket".
13919
13920 2011-07-24  Jim Meyering  <meyering@redhat.com>
13921
13922         test-select.h: avoid warning when using gcc's -Wmissing-declarations
13923         * tests/test-select.h (test_function): Declare as "static".
13924
13925 2011-07-24  Bruno Haible  <bruno@clisp.org>
13926
13927         doc: Mention the effects of AC_SYS_LARGEFILE.
13928         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
13929         on this function.
13930         * doc/posix-functions/aio_error.texi: Likewise.
13931         * doc/posix-functions/aio_fsync.texi: Likewise.
13932         * doc/posix-functions/aio_read.texi: Likewise.
13933         * doc/posix-functions/aio_return.texi: Likewise.
13934         * doc/posix-functions/aio_suspend.texi: Likewise.
13935         * doc/posix-functions/aio_write.texi: Likewise.
13936         * doc/posix-functions/fgetpos.texi: Likewise.
13937         * doc/posix-functions/fopen.texi: Likewise.
13938         * doc/posix-functions/freopen.texi: Likewise.
13939         * doc/posix-functions/fsetpos.texi: Likewise.
13940         * doc/posix-functions/fstatvfs.texi: Likewise.
13941         * doc/posix-functions/ftruncate.texi: Likewise.
13942         * doc/posix-functions/ftw.texi: Likewise.
13943         * doc/posix-functions/getrlimit.texi: Likewise.
13944         * doc/posix-functions/glob.texi: Likewise.
13945         * doc/posix-functions/lio_listio.texi: Likewise.
13946         * doc/posix-functions/lockf.texi: Likewise.
13947         * doc/posix-functions/mkstemp.texi: Likewise.
13948         * doc/posix-functions/mmap.texi: Likewise.
13949         * doc/posix-functions/nftw.texi: Likewise.
13950         * doc/posix-functions/openat.texi: Likewise.
13951         * doc/posix-functions/opendir.texi: Likewise.
13952         * doc/posix-functions/posix_fadvise.texi: Likewise.
13953         * doc/posix-functions/posix_fallocate.texi: Likewise.
13954         * doc/posix-functions/pread.texi: Likewise.
13955         * doc/posix-functions/pwrite.texi: Likewise.
13956         * doc/posix-functions/readdir.texi: Likewise.
13957         * doc/posix-functions/readdir_r.texi: Likewise.
13958         * doc/posix-functions/rewinddir.texi: Likewise.
13959         * doc/posix-functions/scandir.texi: Likewise.
13960         * doc/posix-functions/seekdir.texi: Likewise.
13961         * doc/posix-functions/setrlimit.texi: Likewise.
13962         * doc/posix-functions/statvfs.texi: Likewise.
13963         * doc/posix-functions/telldir.texi: Likewise.
13964         * doc/posix-functions/tmpfile.texi: Likewise.
13965         * doc/posix-functions/truncate.texi: Likewise.
13966         * doc/glibc-functions/fallocate.texi: Likewise.
13967         * doc/glibc-functions/fstatfs.texi: Likewise.
13968         * doc/glibc-functions/fts_children.texi: Likewise.
13969         * doc/glibc-functions/fts_read.texi: Likewise.
13970         * doc/glibc-functions/getdirentries.texi: Likewise.
13971         * doc/glibc-functions/mkostemp.texi: Likewise.
13972         * doc/glibc-functions/mkostemps.texi: Likewise.
13973         * doc/glibc-functions/mkstemps.texi: Likewise.
13974         * doc/glibc-functions/preadv.texi: Likewise.
13975         * doc/glibc-functions/pwritev.texi: Likewise.
13976         * doc/glibc-functions/sendfile.texi: Likewise.
13977         * doc/glibc-functions/statfs.texi: Likewise.
13978
13979 2011-07-24  Bruno Haible  <bruno@clisp.org>
13980
13981         doc: Fix typo.
13982         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
13983
13984 2011-07-24  Bruno Haible  <bruno@clisp.org>
13985
13986         doc: Mention fsusage.
13987         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
13988
13989 2011-07-24  Bruno Haible  <bruno@clisp.org>
13990
13991         doc: Mention new glibc headers and functions.
13992         * doc/glibc-headers/gshadow.texi: New file.
13993         * doc/glibc-functions/endsgent.texi: New file.
13994         * doc/glibc-functions/fgetsgent.texi: New file.
13995         * doc/glibc-functions/fgetsgent_r.texi: New file.
13996         * doc/glibc-functions/getsgent.texi: New file.
13997         * doc/glibc-functions/getsgent_r.texi: New file.
13998         * doc/glibc-functions/getsgnam.texi: New file.
13999         * doc/glibc-functions/getsgnam_r.texi: New file.
14000         * doc/glibc-functions/putsgent.texi: New file.
14001         * doc/glibc-functions/setsgent.texi: New file.
14002         * doc/glibc-functions/sgetsgent.texi: New file.
14003         * doc/glibc-functions/sgetsgent_r.texi: New file.
14004         * doc/glibc-functions/malloc_info.texi: New file.
14005         * doc/glibc-functions/preadv.texi: New file.
14006         * doc/glibc-functions/pwritev.texi: New file.
14007         * doc/glibc-functions/register_printf_modifier.texi: New file.
14008         * doc/glibc-functions/register_printf_specifier.texi: New file.
14009         * doc/glibc-functions/register_printf_type.texi: New file.
14010         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
14011         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
14012         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
14013         * doc/glibc-functions/pthread_getname_np.texi: New file.
14014         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
14015         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
14016         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
14017         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
14018         * doc/glibc-functions/pthread_setname_np.texi: New file.
14019         * doc/glibc-functions/pthread_sigqueue.texi: New file.
14020         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
14021         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
14022         * doc/glibc-functions/qsort_r.texi: New file.
14023         * doc/glibc-functions/quick_exit.texi: New file.
14024         * doc/glibc-functions/syncfs.texi: New file.
14025         * doc/gnulib.texi: Include them.
14026         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
14027         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
14028         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
14029         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
14030         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
14031         * doc/glibc-functions/execvpe.texi: Likewise.
14032
14033 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
14034
14035         ftell: don't include <unistd.h>
14036         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
14037         guaranteed to define off_t, and the ftell module depends on the
14038         stdio module.
14039
14040         ftell: do not assume wraparound signed arithmetic
14041         * lib/ftell.c: Include <limits.h>.
14042         (ftell): Don't assume wraparound signed arithmetic.
14043
14044 2011-07-24  Bruno Haible  <bruno@clisp.org>
14045
14046         close: No longer depend on module 'fclose'.
14047         * modules/close (Depends-on): Remove fclose.
14048         * NEWS: Mention the change.
14049         Suggested by Sam Steingold <sds@gnu.org>.
14050
14051 2011-07-24  Bruno Haible  <bruno@clisp.org>
14052
14053         fsusage: Enable large volume support on AIX >= 5.2.
14054         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
14055         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
14056         instead of STAT_STATVFS.
14057         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
14058
14059         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
14060         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
14061         f_blocks field only on MacOS X.
14062
14063         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
14064         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
14065         * modules/fsusage (Depends-on): Add largefile.
14066
14067 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
14068
14069         * README: Modernize discussion of signed integers.
14070         Assuming overflow wraparound is no longer safe.
14071         Mention ones' complement and signed magnitude.
14072
14073 2011-07-22  Bruno Haible  <bruno@clisp.org>
14074
14075         select tests, pselect tests: Refactor.
14076         * tests/test-select.h: New file, extracted from tests/test-select.c.
14077         (select_fn): New type.
14078         (test, do_select, do_select_nowait, do_select_wait, test_tty,
14079         test_connect_first, test_accept_first, test_pair, test_socket_pair,
14080         test_pipe): Add my_select argument.
14081         (test_function): Renamed from main. Add my_select argument.
14082         * tests/test-select.c: Move most code to tests/test-select.h. Include
14083         test-select.h.
14084         * modules/select-tests (Files): Add tests/test-select.h.
14085         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
14086         (my_select, main): New functions.
14087         * modules/pselect-tests (Files): Add tests/test-select.h,
14088         tests/macros.h, tests/signature.h.
14089         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
14090         (configure.ac): Check for <sys/wait.h>.
14091
14092 2011-07-22  Bruno Haible  <bruno@clisp.org>
14093
14094         sys_select tests: Check the signature of FD_*.
14095         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
14096         signature tests from here...
14097         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
14098         here.
14099         * modules/sys_select-tests (Files): Add tests/signature.h.
14100
14101 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
14102
14103         largefile: new module, replacing large-inode
14104         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
14105         * MODULES.html.sh: Add largefile, remove large-inode.
14106         * modules/largefile, m4/largefile.m4: New files.
14107         * modules/large-inode, m4/large-inode.m4: Remove.
14108
14109         fsusage: port to MacOS X 10.7 with 4 TiB file systems
14110         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
14111         implementations that use only 32 bits to count blocks.
14112         On typical hosts with 1024-byte blocks, this fails with file
14113         systems as small as 4 TiB.  Problem reported by Herb Wartens
14114         <http://debbugs.gnu.org/9140> and this should also fix a similar
14115         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
14116
14117         large-inode: New module
14118         * MODULES.html.sh: Add it.
14119         * modules/large-inode, m4/large-inode.m4: New files.
14120
14121         extensions: Enable extensions on MacOS X 10.5 and later.
14122         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
14123
14124 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
14125
14126         file-has-acl: use acl_extended_file_nofollow if available
14127         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
14128         (acl_extended_file): New macro.
14129         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
14130         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
14131
14132 2011-07-21  Bruno Haible  <bruno@clisp.org>
14133
14134         Declare system functions in a way that works with C++.
14135         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
14136         declare fdopendir as extern "C".
14137         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
14138         declare frexpl as extern "C".
14139         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
14140         declare gai_strerror as extern "C".
14141         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
14142         programs, declare gai_strerror as extern "C".
14143         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
14144         declare getlogin_r as extern "C".
14145         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
14146         as extern "C".
14147         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
14148         declare ldexpl as extern "C".
14149         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
14150         as extern "C".
14151         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
14152         program, declare getmntinfo as extern "C".
14153         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
14154         stpncpy as extern "C".
14155         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
14156         program, declare __xpg_strerror_r as extern "C".
14157         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
14158         strndup as extern "C".
14159         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
14160         declare memset and bzero as extern "C".
14161         Reported by Sam Steingold <sds@gnu.org>.
14162
14163 2011-07-12  Jim Meyering  <meyering@redhat.com>
14164
14165         maint.mk: prohibit inclusion of "verify.h" without use
14166         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
14167
14168 2011-07-19  Pádraig Brady  <P@draigBrady.com>
14169
14170         timer-time: A new module to check for timer_settime()
14171         * m4/timer_time.m4: Check for the posix function.
14172         * modules/timer-time: Add the new module.
14173         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
14174         Mention it.
14175
14176 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
14177             Bruno Haible  <bruno@clisp.org>
14178
14179         pthread_sigmask: assume POSIX threads if --avoid=threadlib
14180         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
14181         not defined, assume POSIX threads and look for pthread_sigmask in
14182         $LIBS, without changing $CPPFLAGS.
14183
14184 2011-07-19  Bruno Haible  <bruno@clisp.org>
14185
14186         strstr: Update cross-compilation guess.
14187         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
14188         CPUs, guess no, in view of glibc
14189         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
14190         Suggested by Eric Blake. Reported by Reuben Thomas.
14191
14192 2011-07-19  Pádraig Brady  <P@draigBrady.com>
14193
14194         getopt-gnu: suppress core dumps from detection code
14195         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
14196         to suppress core dumps that may well occur on glibc systems.
14197         * modules/getopt-gnu: Depend on nocrash.
14198
14199 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
14200
14201         pthread_sigmask: ensure usleep is declared
14202         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
14203         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
14204
14205 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
14206
14207         doc: Document NonStop portability issues.
14208         * doc/posix-functions/sigaction.texi (sigaction):
14209         * doc/posix-headers/signal.texi (signal.h):
14210         Document NonStop.  See Joachim Schmitz in
14211         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
14212
14213 2011-07-15  Bruno Haible  <bruno@clisp.org>
14214
14215         ffsl, ffsll: Avoid unportable behaviour.
14216         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
14217
14218 2011-07-15  Bruno Haible  <bruno@clisp.org>
14219
14220         ffs: More tests.
14221         * tests/test-ffs.c (NBITS): New macro.
14222         (main): Add more tests.
14223         * tests/test-ffsl.c (NBITS): New macro.
14224         (main): Add more tests.
14225         * tests/test-ffsll.c (NBITS): New macro.
14226         (main): Add more tests.
14227
14228 2011-07-15  Eric Blake  <eblake@redhat.com>
14229
14230         ffsl, ffsll: new modules
14231         * modules/ffsl: New file.
14232         * modules/ffsll: Likewise.
14233         * m4/ffsl.m4: Likewise.
14234         * m4/ffsll.m4: Likewise.
14235         * lib/ffsl.c: Likewise.
14236         * lib/ffsl.h: Likewise.
14237         * lib/ffsll.c: Likewise.
14238         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
14239         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
14240         * modules/string (Makefile.am): Substitute witnesses.
14241         * lib/strings.in.h (ffsl, ffsll): Declare.
14242         * modules/ffsl-tests: New test file.
14243         * modules/ffsll-tests: Likewise.
14244         * tests/test-ffsl.c: Likewise.
14245         * tests/test-ffsll.c: Likewise.
14246         * MODULES.html.sh (Integer arithmetic functions): Mention it.
14247         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
14248         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
14249
14250         ffs: fix m4 prerequisite
14251         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
14252
14253         ffs: avoid undefined behavior
14254         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
14255         * tests/test-ffs.c (naive, main): Avoid signed shifts.
14256         Reported by Bruno Haible.
14257
14258 2011-07-12  Bruno Haible  <bruno@clisp.org>
14259
14260         pthread_sigmask: Rely on module 'threadlib'.
14261         * modules/pthread_sigmask (Depends-on): Add threadlib.
14262         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
14263         is defined.
14264
14265 2011-07-12  Bruno Haible  <bruno@clisp.org>
14266
14267         regex: Depend on module 'strcase'.
14268         * modules/regex (Depends-on): Add strcase, for strcasecmp().
14269
14270 2011-07-12  Jim Meyering  <meyering@redhat.com>
14271
14272         warn-on-use: fix typo in file name
14273         * modules/snippet/warn-on-use (Files): Correct file name:
14274         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
14275
14276 2011-07-12  Bruno Haible  <bruno@clisp.org>
14277
14278         strings: Document module.
14279         * doc/posix-headers/strings.texi: Mention module 'strings'.
14280
14281 2011-07-12  Bruno Haible  <bruno@clisp.org>
14282
14283         Rename module '_Noreturn' to 'snippet/_Noreturn'.
14284         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
14285         (Files, Makefile.am): Update.
14286         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
14287         * modules/stdlib (Depends-on): Update.
14288
14289 2011-07-12  Bruno Haible  <bruno@clisp.org>
14290
14291         * NEWS: Mention the changes.
14292
14293         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
14294         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
14295         (Files, Makefile.am): Update.
14296         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
14297         * modules/arpa_inet (Depends-on): Update.
14298         * modules/ctype (Depends-on): Update.
14299         * modules/dirent (Depends-on): Update.
14300         * modules/fcntl-h (Depends-on): Update.
14301         * modules/glob (Depends-on): Update.
14302         * modules/iconv-h (Depends-on): Update.
14303         * modules/inttypes-incomplete (Depends-on): Update.
14304         * modules/langinfo (Depends-on): Update.
14305         * modules/locale (Depends-on): Update.
14306         * modules/math (Depends-on): Update.
14307         * modules/netdb (Depends-on): Update.
14308         * modules/poll-h (Depends-on): Update.
14309         * modules/pty (Depends-on): Update.
14310         * modules/search (Depends-on): Update.
14311         * modules/signal (Depends-on): Update.
14312         * modules/spawn (Depends-on): Update.
14313         * modules/stdio (Depends-on): Update.
14314         * modules/stdlib (Depends-on): Update.
14315         * modules/string (Depends-on): Update.
14316         * modules/strings (Depends-on): Update.
14317         * modules/sys_file (Depends-on): Update.
14318         * modules/sys_ioctl (Depends-on): Update.
14319         * modules/sys_select (Depends-on): Update.
14320         * modules/sys_socket (Depends-on): Update.
14321         * modules/sys_stat (Depends-on): Update.
14322         * modules/sys_time (Depends-on): Update.
14323         * modules/sys_times (Depends-on): Update.
14324         * modules/sys_utsname (Depends-on): Update.
14325         * modules/sys_wait (Depends-on): Update.
14326         * modules/termios (Depends-on): Update.
14327         * modules/time (Depends-on): Update.
14328         * modules/unistd (Depends-on): Update.
14329         * modules/wchar (Depends-on): Update.
14330         * modules/wctype-h (Depends-on): Update.
14331         * MODULES.html.sh (Support for building libraries and executables):
14332         Update.
14333
14334         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
14335         * modules/snippet/unused-parameter: Renamed from
14336         modules/unused-parameter.
14337         (Files, Makefile.am): Update.
14338         * build-aux/snippet/unused-parameter.h: Renamed from
14339         build-aux/unused-parameter.h.
14340         * modules/selinux-h (Depends-on): Update.
14341         * modules/unistr/base (Depends-on): Update.
14342         * MODULES.html.sh (Core language properties): Update.
14343
14344         Rename module 'link-warning' to 'snippet/link-warning'.
14345         * modules/snippet/link-warning: Renamed from modules/link-warning.
14346         (Files, Makefile.am): Update.
14347         * build-aux/snippet/link-warning.h: Renamed from
14348         build-aux/link-warning.h.
14349         * MODULES.html.sh (Support for building libraries and executables):
14350         Update.
14351
14352         Rename module 'c++defs' to 'snippet/c++defs'.
14353         * modules/snippet/c++defs: Renamed from modules/c++defs.
14354         (Files, Makefile.am): Update.
14355         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
14356         * modules/arpa_inet (Depends-on): Update.
14357         * modules/ctype (Depends-on): Update.
14358         * modules/dirent (Depends-on): Update.
14359         * modules/fcntl-h (Depends-on): Update.
14360         * modules/glob (Depends-on): Update.
14361         * modules/iconv-h (Depends-on): Update.
14362         * modules/langinfo (Depends-on): Update.
14363         * modules/locale (Depends-on): Update.
14364         * modules/math (Depends-on): Update.
14365         * modules/netdb (Depends-on): Update.
14366         * modules/poll-h (Depends-on): Update.
14367         * modules/pty (Depends-on): Update.
14368         * modules/search (Depends-on): Update.
14369         * modules/signal (Depends-on): Update.
14370         * modules/spawn (Depends-on): Update.
14371         * modules/stdio (Depends-on): Update.
14372         * modules/stdlib (Depends-on): Update.
14373         * modules/string (Depends-on): Update.
14374         * modules/strings (Depends-on): Update.
14375         * modules/sys_ioctl (Depends-on): Update.
14376         * modules/sys_select (Depends-on): Update.
14377         * modules/sys_socket (Depends-on): Update.
14378         * modules/sys_stat (Depends-on): Update.
14379         * modules/sys_time (Depends-on): Update.
14380         * modules/sys_wait (Depends-on): Update.
14381         * modules/termios (Depends-on): Update.
14382         * modules/time (Depends-on): Update.
14383         * modules/unistd (Depends-on): Update.
14384         * modules/wchar (Depends-on): Update.
14385         * modules/wctype-h (Depends-on): Update.
14386
14387         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
14388         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
14389         (Files, Makefile.am): Update.
14390         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
14391         * modules/argv-iter (Depends-on): Update.
14392         * modules/arpa_inet (Depends-on): Update.
14393         * modules/dirent (Depends-on): Update.
14394         * modules/fcntl-h (Depends-on): Update.
14395         * modules/fnmatch (Depends-on): Update.
14396         * modules/getopt-posix (Depends-on): Update.
14397         * modules/glob (Depends-on): Update.
14398         * modules/iconv-h (Depends-on): Update.
14399         * modules/inttypes-incomplete (Depends-on): Update.
14400         * modules/locale (Depends-on): Update.
14401         * modules/math (Depends-on): Update.
14402         * modules/netdb (Depends-on): Update.
14403         * modules/search (Depends-on): Update.
14404         * modules/signal (Depends-on): Update.
14405         * modules/spawn (Depends-on): Update.
14406         * modules/stdio (Depends-on): Update.
14407         * modules/stdlib (Depends-on): Update.
14408         * modules/string (Depends-on): Update.
14409         * modules/strings (Depends-on): Update.
14410         * modules/sys_socket (Depends-on): Update.
14411         * modules/sys_stat (Depends-on): Update.
14412         * modules/sys_time (Depends-on): Update.
14413         * modules/sys_times (Depends-on): Update.
14414         * modules/sys_utsname (Depends-on): Update.
14415         * modules/time (Depends-on): Update.
14416         * modules/unistd (Depends-on): Update.
14417         * modules/wchar (Depends-on): Update.
14418         * MODULES.html.sh (Support for building libraries and executables):
14419         Update.
14420
14421 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
14422
14423         Improvements on _Noreturn and related modules.
14424
14425         modules/_Exit-tests: test _Noreturn too
14426         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
14427         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
14428         (main): Use them.
14429
14430         stdnoreturn, stdnoreturn-tests: remove modules
14431         They're not needed here and a bit premature for use elsewhere.  See
14432         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
14433         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
14434         * tests/test-stdnoreturn.c: Remove files.
14435         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
14436         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
14437         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
14438         and using noreturn.
14439         * modules/openat, modules/sigpipe-die, modules/xalloc:
14440         * modules/xmemdup0, modules/xstrtol:
14441         Remove dependency on stdnoreturn.
14442
14443         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
14444         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
14445         Reparenthesize to avoid GCC warning.
14446         Support Microsoft's syntax.
14447         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
14448
14449         _Noreturn-tests: remove module
14450         * modules/_Noreturn-tests: Remove.
14451         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
14452         * tests/test-_Noreturn.c: Remove.
14453         * tests/test-stdnoreturn.c: Merge from the old
14454         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
14455
14456 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
14457
14458         _Noreturn, stdnoreturn, and related modules.
14459
14460         * top/maint.mk: Adjust to new noreturn support.
14461         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
14462         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
14463
14464         xalloc: use stdnoreturn.h
14465         * lib/xalloc.h: Include <stdnoreturn.h>.
14466         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
14467         * modules/xalloc (Depends-on): Add stdnoreturn.
14468
14469         xstrtol: use stdnoreturn.h
14470         * lib/xstrtol.h: Include <stdnoreturn.h>.
14471         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
14472         * modules/xstrtol (Depends-on): Add stdnoreturn.
14473
14474         xmemdup0: use stdnoreturn.h
14475         * lib/xmemdup0.h: Include <stdnoreturn.h>.
14476         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
14477         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
14478
14479         sigpipe-die: use stdnoreturn.h
14480         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
14481         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
14482         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
14483
14484         openat: use stdnoreturn.h
14485         * lib/openat.h: Include <stdnoreturn.h>.
14486         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
14487         * modules/openat (Depends-on): Add stdnoreturn.
14488
14489         * lib/openat-die.c (openat_save_fail): Modernize comment.
14490
14491         * lib/xalloc-die.c (xalloc_die): Modernize comment.
14492
14493         * lib/glthread/thread.h: Modernize comment.
14494
14495         obstack: use _Noreturn
14496         * lib/obstack.c (__attribute__): Remove macro.
14497         (print_and_abort): Use _Noreturn.
14498
14499         c-stack: use _Noreturn
14500         * lib/c-stack.c (die, overflow_handler, segv_handler):
14501         Use _Noreturn rather than __attribute__((noreturn)).
14502
14503         argmatch-tests, exclude_tests: use _Noreturn
14504         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
14505         Remove.
14506         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
14507
14508         stdlib: use _Noreturn
14509         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
14510         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
14511         * modules/stdlib (Depends-on): Add _Noreturn.
14512         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
14513
14514         stdnoreturn-tests: new module
14515         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
14516
14517         stdnoreturn: new module
14518         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
14519         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
14520
14521         _Noreturn-tests: new module
14522         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
14523
14524         _Noreturn: new module
14525         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
14526         New section, mentioning it.
14527         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
14528
14529         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
14530
14531 2011-07-11  Eric Blake  <eblake@redhat.com>
14532
14533         ffs: new module
14534         * modules/ffs: New file.
14535         * m4/ffs.m4: Likewise.
14536         * lib/ffs.c: Likewise.
14537         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
14538         * modules/strings (Makefile.am): Substitute witness.
14539         (Depends-on): Add c++defs.
14540         * lib/strings.in.h (ffs): Declare.
14541         * modules/ffs-tests: New test file.
14542         * tests/test-ffs.c: Test new module.
14543         * MODULES.html.sh (Integer arithmetic functions): Mention it.
14544         * doc/posix-functions/ffs.texi (ffs): Likewise.
14545
14546         regex: avoid compiler warning
14547         * lib/regex.c (includes): Include <strings.h>, for use of
14548         strcasecmp in regcomp.c.
14549         Reported by Joachim Schmitz.
14550
14551 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
14552
14553         stdint: respect system's intmax_t if INTMAX_MAX
14554         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
14555         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
14556         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
14557         long but int64_t is long long, and where we will clash with the
14558         system intmax_t if we override it.  See
14559         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
14560         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
14561         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
14562         similarly for UINTMAX_C.
14563
14564 2011-07-08  Bruno Haible  <bruno@clisp.org>
14565
14566         pthread_sigmask tests: Avoid a compiler warning.
14567         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
14568         non-zero.
14569
14570         sigprocmask tests: A better way to avoid a compiler warning.
14571         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
14572         (main): Complain if system() returns non-zero.
14573         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
14574
14575 2011-07-08  Bruno Haible  <bruno@clisp.org>
14576
14577         pthread_sigmask: Work around IRIX bug.
14578         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
14579         bug.
14580         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
14581         there may be unblocked pending signals.
14582         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
14583
14584 2011-07-08  Bruno Haible  <bruno@clisp.org>
14585
14586         pthread_sigmask: Work around Cygwin bug.
14587         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
14588         bug.
14589         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
14590         the system's pthread_sigmask function.
14591         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
14592
14593 2011-07-08  Bruno Haible  <bruno@clisp.org>
14594
14595         pthread_sigmask: Work around bug in single-threaded implementation.
14596         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
14597         FreeBSD, HP-UX, Solaris bug.
14598         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
14599         * lib/pthread_sigmask.c: Include <stddef.h>.
14600         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
14601         the system's pthread_sigmask function.
14602         * modules/pthread_sigmask (configure.ac): Invoke
14603         gl_PREREQ_PTHREAD_SIGMASK.
14604         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
14605         HP-UX, Solaris.
14606
14607 2011-07-08  Eric Blake  <eblake@redhat.com>
14608
14609         test-sigprocmask: avoid compiler warning
14610         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
14611         * tests/test-sigprocmask.c (main): Use it to silence warning.
14612         Reported by Jim Meyering.
14613
14614         test-snprintf: avoid compiler warning
14615         * tests/test-snprintf.c (main): Avoid shadowed declaration.
14616         * tests/test-vsnprintf.c (main): Likewise.
14617         Reported by Jim Meyering.
14618
14619 2011-07-08  Bruno Haible  <bruno@clisp.org>
14620
14621         Tests for module 'pthread_sigmask'.
14622         * modules/pthread_sigmask-tests: New file.
14623         * tests/test-pthread_sigmask1.c: New file, based on
14624         tests/test-sigprocmask.c.
14625         * tests/test-pthread_sigmask2.c: New file.
14626
14627 2011-07-08  Jim Meyering  <meyering@redhat.com>
14628
14629         test-getopt.h: avoid warning about an unused variable
14630         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
14631
14632 2011-07-07  Jim Meyering  <meyering@redhat.com>
14633
14634         maint: reduce list of files exempt from sc_prohibit_leading_TABs
14635         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
14636         now that it no longer contains leading TABs.
14637         Remove unused "url=FIXME" statement.
14638
14639 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14640
14641         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
14642         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
14643         When gl_THREADLIB is not in use, assume that the POSIX sematics
14644         are desired.  This is better for Emacs, which uses POSIX semantics
14645         on GNUish and/or POSIXish platforms, and does not use threads at
14646         all otherwise.
14647
14648         pthread_sigmask: fix typo when testing for libraries
14649         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
14650         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
14651
14652 2011-07-08  Eric Blake  <eblake@redhat.com>
14653
14654         fts: introduce FTS_NOATIME
14655         * lib/fts_.h (FTS_NOATIME): New bit flag.
14656         (FTS_OPTIONMASK): Adjust.
14657         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
14658         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
14659
14660 2011-07-08  Bruno Haible  <bruno@clisp.org>
14661
14662         Tests for module 'thread'.
14663         * modules/thread-tests: New file.
14664         * tests/test-thread_self.c: New file.
14665         * tests/test-thread_create.cc: New file.
14666
14667 2011-07-08  Bruno Haible  <bruno@clisp.org>
14668
14669         thread: Avoid gcc warnings when using gl_thread_self().
14670         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
14671         'void *'.
14672         (gl_thread_self_pointer): Update.
14673
14674 2011-07-07  Bruno Haible  <bruno@clisp.org>
14675
14676         signal-c++-tests: Check declaration of pthread_sigmask.
14677         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
14678         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
14679         $(LIB_PTHREAD_SIGMASK).
14680
14681 2011-07-07  Bruno Haible  <bruno@clisp.org>
14682
14683         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
14684         * lib/signal.in.h (pthread_sigmask): Override if
14685         REPLACE_PTHREAD_SIGMASK is 1.
14686         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
14687         REPLACE_PTHREAD_SIGMASK.
14688         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
14689         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
14690         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
14691         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
14692         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
14693
14694 2011-07-07  Bruno Haible  <bruno@clisp.org>
14695
14696         pthread_sigmask: Ensure declaration in <signal.h>.
14697         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
14698         include <pthread.h>.
14699         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
14700         problem.
14701
14702 2011-07-07  Bruno Haible  <bruno@clisp.org>
14703
14704         pthread_sigmask: Document the module.
14705         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
14706
14707 2011-07-07  Bruno Haible  <bruno@clisp.org>
14708
14709         pthread_sigmask: Follow gnulib conventions.
14710         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
14711         gl_PTHREAD_SIGMASK.
14712         * modules/pthread_sigmask (configure.ac): Update.
14713
14714 2011-07-07  Bruno Haible  <bruno@clisp.org>
14715
14716         pthread_sigmask: Make declaration C++ safe.
14717         * lib/signal.in.h: In two special conditions, just do an #include_next.
14718         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
14719         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
14720         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
14721         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
14722         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
14723         not REPLACE_PTHREAD_MASK.
14724         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
14725         not REPLACE_PTHREAD_MASK.
14726         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
14727
14728 2011-07-07  Bruno Haible  <bruno@clisp.org>
14729
14730         pthread_sigmask: Fix return value.
14731         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
14732         * lib/pthread_sigmask.c: New file.
14733         * modules/pthread_sigmask (Files): Add it.
14734         (configure.ac): Invoke AC_LIBOBJ.
14735
14736 2011-07-07  Eric Blake  <eblake@redhat.com>
14737
14738         getopt: more portable argv creation
14739         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
14740         const, use char arrays rather than strings.
14741         Suggested by Paul Eggert.
14742
14743 2011-07-07  Bruno Haible  <bruno@clisp.org>
14744
14745         Tests for module 'sigprocmask'.
14746         * modules/sigprocmask-tests: New file.
14747         * tests/test-sigprocmask.c: New file.
14748
14749 2011-07-07  Bruno Haible  <bruno@clisp.org>
14750
14751         float tests: Tweak.
14752         * tests/test-float.c (main): Tweak skip message.
14753
14754 2011-07-07  Eric Blake  <eblake@redhat.com>
14755
14756         getopt: avoid compiler warning during configure
14757         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
14758         assigning string literals to non-const pointer.
14759
14760         getopt-gnu: avoid crash in glibc getopt
14761         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
14762         * tests/test-getopt.h (test_getopt): Enhance test.
14763         * tests/test-getopt_long.h (test_getopt_long): Likewise.
14764         * doc/posix-functions/getopt.texi (getopt): Document it.
14765         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14766         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14767         Likewise.
14768
14769 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
14770
14771         getopt: handle W; without long options in getopt [BZ #12922]
14772         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
14773         but no long options are defined, just return 'W'.
14774
14775 2011-07-07  Bruno Haible  <bruno@clisp.org>
14776
14777         Avoid literal tabs.
14778         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
14779         variable containing a tab instead of a literal tab.
14780         Reported by Jim Meyering.
14781
14782 2011-07-07  Bruno Haible  <bruno@clisp.org>
14783
14784         Comments.
14785         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
14786
14787 2011-07-06  Bruno Haible  <bruno@clisp.org>
14788
14789         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
14790         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
14791         <winsock2.h>.
14792         (rpl_fd_isset, FD_ISSET): New definitions, copied from
14793         lib/sys_socket.in.h.
14794         (close, gethostname): Hide declarations from <winsock2.h>.
14795         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
14796         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
14797         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
14798         (select): Don't override if gnulib's <sys/select.h> was already
14799         included.
14800         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
14801         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
14802         setsockopt, shutdown, select): Tweak indentation.
14803
14804 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14805
14806         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
14807         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
14808         in an application that does not use the sys_select module.
14809
14810 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
14811
14812         poll: do not return 0 on timeout=-1
14813         * lib/poll.c: Loop with yield if no events occured
14814
14815 2011-07-06  Eric Blake  <eblake@redhat.com>
14816
14817         pthread_sigmask: always replace when not using pthread
14818         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
14819         replacement when using some threading other than pthread.  Fix
14820         logic bug.
14821
14822 2011-07-06  Bruno Haible  <bruno@clisp.org>
14823
14824         Comments.
14825         * m4/printf.m4: Update comments about mingw.
14826
14827 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14828
14829         sys_select: define sigset_t more portably
14830         * lib/sys_select.in.h: Always include <sys/types.h>, since
14831         we now need sigset_t and mingw defines it there.
14832         Include <signal.h> before split inclusion guard, to avoid
14833         mishaps on Solaris, whose <signal.h> eventually includes us.
14834         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
14835         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
14836         which come from ...
14837         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
14838         gl_CHECK_TYPE_SIGSET_T.
14839         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
14840         does the real work.
14841         * modules/sys_select (Depends-on): Add 'signal'.
14842
14843         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
14844         Suggested by Bruno Haible.
14845
14846         pselect: Use pthread_sigmask, not sigprocmask.
14847         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
14848         multithreaded apps better than sigprocmask does.
14849         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
14850         sigprocmask directly.
14851
14852 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
14853
14854         * lib/pselect.c (pselect): Use plain name, without "rpl_".
14855         Don't #undef,  since we don't need any underlying pselect.
14856         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
14857         (Depends-on): Add select.
14858         (Link): Add $(LIBSOCKET).
14859         These changes suggested by Bruno Haible.
14860
14861         pselect: document better
14862         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
14863         * doc/posix-functions/pselect.texi (pselect): Document new module.
14864
14865         pthread_sigmask: new module
14866         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
14867         * doc/posix-functions/pthread_sigmask.texi: Document new module.
14868         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
14869         This is done only as a macro; I don't know how well that'll
14870         work for C++.  Move <sys/types.h> include before the include_next,
14871         to avoid mishap on Solaris.
14872         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
14873         * modules/signal (Makefile.am): Substitute the check's results.
14874         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
14875
14876         test-pselect: new module
14877         * modules/pselect-tests, tests/test-pselect.c: New files.
14878         * tests/test-select.c, tests/test-sys_select-c++.cc:
14879         If TEST_PSELECT is defined, test pselect instead of testing select.
14880
14881         * tests/test-sys_select.c (sigset_t): Test for it, too.
14882         Suggested by Bruno Haible.
14883
14884 2011-07-05  Eric Blake  <eblake@redhat.com>
14885
14886         snprintf: guarantee %1$d, for libintl
14887         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
14888         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
14889         * doc/posix-functions/snprintf.texi (snprintf): Update.
14890         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
14891         * tests/test-snprintf.c (main): Enhance test.
14892         * tests/test-vsnprintf.c (main): Likewise.
14893
14894 2011-07-05  Jim Meyering  <meyering@redhat.com>
14895
14896         maint: exempt stdio-read.c and stdio-write.c from the cppi check
14897         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
14898         per Bruno's request, to accommodate this idiom (no space after "#")
14899         even when the function is inside an #if block:
14900         char *
14901         gets (char *s)
14902         #undef gets
14903         {
14904           ...
14905         }
14906
14907 2011-07-04  Jim Meyering  <meyering@redhat.com>
14908
14909         maint: indent with spaces, not TABs, and add a rule to check this
14910         * tests/test-userspec.c: Indent with spaces, not TABs.
14911         * tests/test-argp.c: Likewise.
14912         * tests/test-c-stack2.sh: Likewise.
14913         * tests/test-parse-duration.sh: Likewise
14914         * m4/strtod.m4: Likewise.
14915         * m4/alloca.m4: Likewise.
14916         * m4/pselect.m4: Likewise.
14917         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
14918
14919 2011-07-03  Jim Meyering  <meyering@redhat.com>
14920
14921         maint.mk: correct omissions in prohibit_argmatch_without_use check
14922         This rule would mistakenly report that argmatch.h is included without
14923         use even when both the argmatch and invalid_arg macro were used.
14924         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
14925         of argmatch and invalid_arg.
14926
14927 2011-07-03  Bruno Haible  <bruno@clisp.org>
14928
14929         Comments about EINTR.
14930         * lib/safe-read.h: Explain the purpose of this module.
14931         * lib/safe-write.h: Likewise.
14932         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
14933         module.
14934         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
14935         module.
14936         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
14937
14938 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
14939
14940         xnanosleep: Rewrite to use new dtotimespec module.
14941         It has the conversion code that used to be in xnanosleep.
14942         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
14943         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
14944         (TIME_T_MAX): Remove.
14945         (xnanosleep): Rewrite in terms of dtotimespec.
14946         * modules/xnanosleep (Depends-on): Add dtotimespec.
14947         Remove intprops, stdbool.
14948
14949         timespec-add, timespec-sub: new modules
14950         * lib/timespec.h (timespec_add, timespec_sub): New decls.
14951         * lib/timespec-add.c, lib/timespec-sub.c:
14952         * modules/timespec-add, modules/timespec-sub: New files.
14953
14954         dtotimespec: new module
14955         * lib/timespec.h (dtotimespec): New decl.
14956         * lib/dtotimespec.c, modules/dtotimespec: New files.
14957
14958         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
14959
14960         pselect: new module
14961         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
14962         (pselect): New decls.
14963         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
14964         since the standard pselect decl uses 'restrict'.
14965         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
14966         HAVE_PSELECT, REPLACE_PSELECT.
14967         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
14968         HAVE_PSELECT, REPLACE_PSELECT.
14969         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
14970
14971         sys_select: don't depend on sys_socket
14972         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
14973         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
14974         This fix works on GNU and GNU-like platforms, but has not been tested
14975         on native Windows.
14976         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
14977         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
14978         gl_HEADER_SYS_SOCKET.
14979         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
14980         gl_PREREQ_SYS_H_WINSOCK2.
14981
14982 2011-06-29  Eric Blake  <eblake@redhat.com>
14983
14984         pipe2: fix C89 compile problem
14985         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
14986         Reported by Bruno Haible.
14987
14988         pipe, pipe2: don't corrupt fd on error
14989         * lib/pipe.c (pipe): Leave fd unchanged on error.
14990         * lib/pipe2.c (pipe2): Likewise.
14991         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
14992         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
14993
14994 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
14995
14996         mmap-anon: do not use regular expressions inadvertently
14997         * m4/mmap-anon.m4: Remove trailing period from strings sought
14998         in the output.
14999
15000 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15001
15002         nanosleep: fix integer overflow problem
15003         * lib/nanosleep.c (my_usleep): Don't assume signed integer
15004         arithmetic wraps around on overflow.
15005
15006         nanosleep: simplify carrying
15007         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
15008         first call to the underyling nanosleep, not for the last one.
15009         This doesn't fix any bugs, but it simplifies the computation of
15010         the remaining delay.  Found while auditing integer overflow issues.
15011
15012         dup2: remove test for existence of fcntl
15013         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
15014         "#if HAVE_FCNTL", in the configure-time test program.
15015         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
15016         and therefore speeds up "configure" a bit.  Found while
15017         adding the dup2 module to Emacs.
15018
15019 2011-06-24  Eric Blake  <eblake@redhat.com>
15020
15021         maint.mk: enhance useless header checks
15022         * top/maint.mk (_sc_header_without_use): Check both include
15023         styles.
15024         (sc_prohibit_assert_without_use)
15025         (sc_prohibit_close_stream_without_use)
15026         (sc_prohibit_getopt_without_use)
15027         (sc_prohibit_quotearg_without_use)
15028         (sc_prohibit_quote_without_use)
15029         (sc_prohibit_long_options_without_use)
15030         (sc_prohibit_inttostr_without_use)
15031         (sc_prohibit_ignore_value_without_use)
15032         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
15033         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
15034         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
15035         (sc_prohibit_hash_pjw_without_use)
15036         (sc_prohibit_safe_read_without_use)
15037         (sc_prohibit_argmatch_without_use)
15038         (sc_prohibit_canonicalize_without_use)
15039         (sc_prohibit_root_dev_ino_without_use)
15040         (sc_prohibit_openat_without_use)
15041         (sc_prohibit_c_ctype_without_use)
15042         (sc_prohibit_signal_without_use)
15043         (sc_prohibit_stdio--_without_use)
15044         (sc_prohibit_stdio-safer_without_use)
15045         (sc_prohibit_strings_without_use)
15046         (sc_prohibit_intprops_without_use)
15047         (sc_prohibit_stddef_without_use)
15048         (sc_prohibit_xfreopen_without_use): Update clients.
15049
15050 2011-06-24  Jim Meyering  <meyering@redhat.com>
15051
15052         syntax-check: keep one maint.mk rule in sync with its header
15053         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
15054         of the bug Eric has just fixed, with today's commit 25e4c2ec.
15055         I prefer to avoid temporary files here, so use <(...), but that
15056         is not supported by /bin/sh, so...
15057         (SHELL): Define to /bin/bash.
15058
15059 2011-06-24  Eric Blake  <eblake@redhat.com>
15060
15061         maint.mk: update sc_prohibit_intprops_without_use
15062         * top/maint.mk (_intprops_names): Match recent changes.
15063
15064 2011-06-24  Bruno Haible  <bruno@clisp.org>
15065
15066         strerror-override: No-op tweak.
15067         * lib/strerror-override.h (strerror_override): Reorder conditions,
15068         for consistency with lib/strerror-override.c.
15069
15070 2011-06-23  Eric Blake  <eblake@redhat.com>
15071
15072         maint.mk: test further PATH_MAX issues
15073         * top/maint.mk (sc_prohibit_path_max_array): Rename...
15074         (sc_prohibit_path_max_allocation): ...and also test alloca.
15075         Suggested by Jim Meyering.
15076
15077 2011-06-22  Eric Blake  <eblake@redhat.com>
15078
15079         maint.mk: add syntax-check to avoid char[PATH_MAX]
15080         * top/maint.mk (sc_prohibit_path_max_array): New rule.
15081
15082         stat: be robust to PATH_MAX definition
15083         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
15084         * modules/stat (Depends-on): Add verify.
15085
15086         link: work around IRIX bug
15087         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
15088         * lib/link.c (rpl_link): Work around it.
15089         * tests/test-link.h (test_link): Enhance test.
15090         * doc/posix-functions/link.texi (link): Document the bug.
15091
15092         getopt: silence clang warning
15093         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
15094         dereference.
15095         Reported by Gustavo Martin Domato.
15096
15097 2011-06-22  Jim Meyering  <meyering@redhat.com>
15098
15099         bootstrap: do not insert a blank line into each .gitignore file
15100         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
15101
15102 2011-06-21  Eric Blake  <eblake@redhat.com>
15103
15104         perror: test for output mismatch
15105         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
15106         perror on IRIX.
15107
15108         strerror_r: fix OpenBSD behavior on out-of-range
15109         * lib/strerror_r.c (strerror_r): Always use maximal string.
15110         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
15111
15112         strerror_r: fix OpenBSD behavior on 0
15113         * lib/strerror-override.c (strerror_override): Also override 0
15114         when needed.
15115         * lib/strerror-override.h (strerror_override): Likewise.
15116         * lib/strerror.c (strerror): Simplify, now that 0 override is done
15117         earlier.
15118         * lib/strerror_r.c (strerror_r): Likewise.
15119         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
15120         behavior...
15121         (gl_FUNC_STRERROR_0): ...into new macro.
15122         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
15123         is overridden.
15124         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
15125         * modules/strerror-override (Files): Add strerror.m4.
15126         (configure.ac): Also provide override for 0 when needed.
15127         * doc/posix-functions/strerror.texi (strerror): Document this.
15128         * doc/posix-functions/perror.texi (perror): Likewise.
15129
15130         perror: adjust array size
15131         * modules/perror (Depends-on): Add strerror-override.
15132         * lib/perror.c (perror): Use it to avoid magic number.
15133
15134         strerror-override: reduce size
15135         * lib/strerror-override.c (strerror_override): Use fewer lines.
15136
15137 2011-06-20  Bruno Haible  <bruno@clisp.org>
15138
15139         pathmax: Ensure correct value for PATH_MAX on HP-UX.
15140         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
15141
15142 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
15143
15144         alloca: port to compilers that can optimize like GCC 4.6.0
15145         * lib/alloca.c (find_stack_direction): New signature, taken from
15146         Autoconf git.  This works with GCC 4.6.0.  This code should never
15147         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
15148         be used with other compilers that optimize as well as GCC 4.6.0 does.
15149         (alloca): Adjust to new signature.
15150         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
15151         New macro, which patches Autoconf in a similar way.
15152
15153         c-stack: stop worrying about stack direction
15154         * lib/c-stack.c (find_stack_direction): Remove.
15155         (segv_handler): Don't worry about stack direction growth, as it's
15156         too much of a pain to configure this correctly, given how compilers
15157         are optimizing-away our stack-growth detection code.  Instead, assume
15158         that any access to just before or just after the stack is OK.
15159         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
15160         Don't require AC_FUNC_ALLOCA; no longer needed.
15161
15162 2011-06-20  Eric Blake  <eblake@redhat.com>
15163
15164         test-stat: don't allocate PATH_MAX bytes
15165         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
15166         PATH_MAX-sized buffer.
15167         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
15168         * modules/stat-tests (Depends-on): Likewise.
15169         * tests/test-fstatat.c (includes): Drop pathmax.h.
15170         * tests/test-stat.c (includes): Likewise.
15171         Reported by Bruno Haible.
15172
15173 2011-06-20  Bruno Haible  <bruno@clisp.org>
15174
15175         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
15176         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
15177         * lib/float.c: New file.
15178         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
15179         REPLACE_FLOAT_LDBL.
15180         * modules/float (Files): Add lib/float.c.
15181         (configure.ac): Invoke AC_LIBOBJ.
15182         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
15183
15184 2011-06-20  Bruno Haible  <bruno@clisp.org>
15185
15186         Tests for module 'float'.
15187         * modules/float-tests: New file.
15188         * tests/test-float.c: New file.
15189
15190 2011-06-19  Bruno Haible  <bruno@clisp.org>
15191
15192         isinf: Coding style.
15193         * lib/isinf.c: Use GNU coding style.
15194
15195 2011-06-19  Bruno Haible  <bruno@clisp.org>
15196
15197         linkat test: Avoid test failure on AIX 7.1.
15198         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
15199         * tests/test-link.h (test_link): Likewise.
15200
15201 2011-06-19  Bruno Haible  <bruno@clisp.org>
15202
15203         pread test: Avoid test failure on OpenBSD 4.9.
15204         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
15205
15206 2011-06-19  Bruno Haible  <bruno@clisp.org>
15207
15208         sprintf-posix: Fix test failure on AIX 7.1.
15209         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
15210         * doc/posix-functions/dprintf.texi: Mention limited precision problem
15211         on AIX.
15212         * doc/posix-functions/fprintf.texi: Likewise.
15213         * doc/posix-functions/printf.texi: Likewise.
15214         * doc/posix-functions/snprintf.texi: Likewise.
15215         * doc/posix-functions/sprintf.texi: Likewise.
15216         * doc/posix-functions/vdprintf.texi: Likewise.
15217         * doc/posix-functions/vfprintf.texi: Likewise.
15218         * doc/posix-functions/vprintf.texi: Likewise.
15219         * doc/posix-functions/vsnprintf.texi: Likewise.
15220         * doc/posix-functions/vsprintf.texi: Likewise.
15221
15222 2011-06-19  Bruno Haible  <bruno@clisp.org>
15223
15224         roundl-ieee: Fix test failure on AIX 7.1.
15225         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
15226         * doc/posix-functions/roundl.texi: Mention problem with negative
15227         arguments.
15228
15229 2011-06-19  Bruno Haible  <bruno@clisp.org>
15230
15231         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
15232         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
15233         * doc/posix-functions/round.texi: Mention problem with negative
15234         arguments.
15235         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
15236
15237 2011-06-19  Bruno Haible  <bruno@clisp.org>
15238
15239         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
15240         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
15241         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
15242         * doc/posix-functions/roundf.texi: Mention problem with negative
15243         arguments.
15244         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
15245
15246 2011-06-19  Bruno Haible  <bruno@clisp.org>
15247
15248         ceilf-ieee: Work around bug on MacOS X 10.5.
15249         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
15250
15251         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
15252         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
15253         IEEE compliant, avoid compiler optimizations.
15254         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
15255         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
15256         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
15257         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
15258         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
15259         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
15260         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
15261         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
15262         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
15263         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
15264
15265 2011-06-19  Bruno Haible  <bruno@clisp.org>
15266
15267         ceilf-ieee: Work around bug on AIX 7.1.
15268         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
15269         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
15270
15271 2011-06-19  Bruno Haible  <bruno@clisp.org>
15272
15273         ceil-ieee: Work around bug on AIX 7.1.
15274         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
15275         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
15276
15277 2011-06-18  Bruno Haible  <bruno@clisp.org>
15278
15279         fsync test: Avoid test failure on MacOS X and AIX.
15280         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
15281         EINVAL.
15282
15283 2011-06-18  Bruno Haible  <bruno@clisp.org>
15284
15285         openat, fdopendir tests: Fix link errors.
15286         * modules/openat-tests (Depends-on): Add progname.
15287         * modules/fdopendir-tests (Depends-on): Likewise.
15288         * tests/test-fchownat.c: Include progname.h.
15289         (main): Call set_program_name.
15290         * tests/test-fstatat.c: Include progname.h.
15291         (main): Call set_program_name.
15292         * tests/test-mkdirat.c: Include progname.h.
15293         (main): Call set_program_name.
15294         * tests/test-openat.c: Include progname.h.
15295         (main): Call set_program_name.
15296         * tests/test-unlinkat.c: Include progname.h.
15297         (main): Call set_program_name.
15298         * tests/test-fdopendir.c: Include progname.h.
15299         (main): Call set_program_name.
15300
15301 2011-06-18  Bruno Haible  <bruno@clisp.org>
15302
15303         Doc update.
15304         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
15305         HP-UX.
15306         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
15307
15308 2011-06-18  Bruno Haible  <bruno@clisp.org>
15309
15310         getcwd tests: Avoid compilation error on HP-UX 11.31.
15311         * modules/getcwd-tests (Depends-on): Add pathmax.
15312         * tests/test-getcwd.c: Include pathmax.h.
15313
15314 2011-06-18  Bruno Haible  <bruno@clisp.org>
15315
15316         isfinite, isinf: Fix link error on AIX 6 and 7.
15317         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
15318         needed, also test the macro with a 'float' argument.
15319         * m4/isinf.m4 (gl_ISINF): Likewise.
15320
15321 2011-06-18  Bruno Haible  <bruno@clisp.org>
15322
15323         getloadavg: Don't clobber LIBS. Regression from previous commit.
15324         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
15325         AC_CHECK_LIB from here...
15326         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
15327         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
15328         gl_func_getloadavg_done.
15329         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15330
15331 2011-06-18  Bruno Haible  <bruno@clisp.org>
15332
15333         clean-temp: Improve documentation.
15334         * lib/clean-temp.h: Explain better how to use this module.
15335         Reported by John Darrington <john@darrington.wattle.id.au>.
15336
15337 2011-06-17  Bruno Haible  <bruno@clisp.org>
15338
15339         pread, pwrite: Avoid cc warning on AIX.
15340         * lib/unistd.in.h (pread): Undefine before defining as a macro.
15341         (pwrite): Likewise.
15342
15343 2011-06-17  Bruno Haible  <bruno@clisp.org>
15344
15345         spawn-pipe tests: Fix link error.
15346         * tests/test-spawn-pipe-child.c: Undefine fprintf.
15347         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15348
15349 2011-06-17  Bruno Haible  <bruno@clisp.org>
15350
15351         Tests: Remove unnecessary dependency.
15352         * modules/canonicalize-tests (Depends-on): Remove progname.
15353         * modules/chown-tests (Depends-on): Likewise.
15354         * modules/dirname-tests (Depends-on): Likewise.
15355         * modules/fdopendir-tests (Depends-on): Likewise.
15356         * modules/fdutimensat-tests (Depends-on): Likewise.
15357         * modules/hash-tests (Depends-on): Likewise.
15358         * modules/lchown-tests (Depends-on): Likewise.
15359         * modules/linkat-tests (Depends-on): Likewise.
15360         * modules/renameat-tests (Depends-on): Likewise.
15361         * modules/spawn-pipe-tests (Depends-on): Likewise.
15362         * modules/utimensat-tests (Depends-on): Likewise.
15363
15364 2011-06-17  Bruno Haible  <bruno@clisp.org>
15365
15366         spawn-pipe tests: Fix link error.
15367         * tests/test-spawn-pipe-child.c: Undefine fflush.
15368
15369 2011-06-17  Bruno Haible  <bruno@clisp.org>
15370
15371         Fix tests link errors.
15372         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
15373         * modules/chown-tests (Makefile.am): Don't link test-chown with
15374         LIBINTL.
15375         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
15376         LIBINTL.
15377         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
15378         LIBINTL.
15379         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
15380         LIBINTL.
15381
15382 2011-06-16  Bruno Haible  <bruno@clisp.org>
15383
15384         crypto/gc-sha1: Fix recent regression.
15385         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
15386         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
15387
15388         crypto/gc-md5: Fix recent regression.
15389         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
15390
15391         crypto/gc-md4: Fix recent regression.
15392         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
15393         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
15394
15395         crypto/gc-arctwo: Fix recent regression.
15396         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
15397         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
15398
15399         crypto/gc-rijndael: Fix recent regression.
15400         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
15401         (configure.ac): Invoke AC_LIBOBJ here.
15402         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
15403         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15404
15405         crypto/gc-hmac-sha1: Fix recent regression.
15406         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
15407         (configure.ac): Invoke AC_LIBOBJ here.
15408         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
15409         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15410
15411         crypto/gc-hmac-md5: Fix recent regression.
15412         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
15413         (configure.ac): Invoke AC_LIBOBJ here.
15414         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
15415         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15416
15417         crypto/gc-des: Fix recent regression.
15418         * modules/crypto/gc-des (Files): Remove m4/des.m4.
15419         (configure.ac): Invoke AC_LIBOBJ here.
15420         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
15421         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15422
15423         crypto/gc-arcfour: Fix recent regression.
15424         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
15425         (configure.ac): Invoke AC_LIBOBJ here.
15426         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
15427         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
15428
15429 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
15430
15431         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
15432         After the 2011-05-21 change, this macro requires
15433         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
15434         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
15435
15436 2011-06-16  Bruno Haible  <bruno@clisp.org>
15437
15438         fprintftime: Move AC_LIBOBJ invocations to module description.
15439         * m4/fprintftime.m4: Remove file.
15440         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
15441         (configure.ac): Remove gl_FPRINTFTIME call.
15442         (Makefile.am): Augment lib_SOURCES.
15443         Reported by Jim Meyering.
15444
15445 2011-06-16  Bruno Haible  <bruno@clisp.org>
15446
15447         tmpfile-safer: Finish 2011-05-23 commit.
15448         * m4/stdio-safer.m4: Really remove file.
15449         Reported by Jim Meyering.
15450
15451 2011-06-16  Bruno Haible  <bruno@clisp.org>
15452
15453         syntax-check: Fix typo.
15454         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
15455         printf-posix.m4.
15456         Reported by Jim Meyering.
15457
15458 2011-06-13  Jim Meyering  <meyering@redhat.com>
15459
15460         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
15461         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
15462
15463 2011-05-23  Bruno Haible  <bruno@clisp.org>
15464
15465         yesno: Move AC_LIBOBJ invocations to module description.
15466         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
15467         * modules/yesno (Makefile.am): Augment lib_SOURCES.
15468
15469 2011-05-23  Bruno Haible  <bruno@clisp.org>
15470
15471         xstrtol: Move AC_LIBOBJ invocations to module description.
15472         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
15473         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
15474
15475 2011-05-23  Bruno Haible  <bruno@clisp.org>
15476
15477         xstrtold: Move AC_LIBOBJ invocations to module description.
15478         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
15479         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
15480
15481 2011-05-23  Bruno Haible  <bruno@clisp.org>
15482
15483         xstrtod: Move AC_LIBOBJ invocations to module description.
15484         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
15485         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
15486
15487 2011-05-23  Bruno Haible  <bruno@clisp.org>
15488
15489         xnanosleep: Move AC_LIBOBJ invocations to module description.
15490         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
15491         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
15492
15493 2011-05-23  Bruno Haible  <bruno@clisp.org>
15494
15495         xgetcwd: Move AC_LIBOBJ invocations to module description.
15496         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
15497         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
15498
15499 2011-05-23  Bruno Haible  <bruno@clisp.org>
15500
15501         xalloc: Move AC_LIBOBJ invocations to module description.
15502         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
15503         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
15504
15505 2011-05-23  Bruno Haible  <bruno@clisp.org>
15506
15507         write-any-file: Move AC_LIBOBJ invocations to module description.
15508         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
15509         invocation.
15510         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
15511
15512 2011-05-23  Bruno Haible  <bruno@clisp.org>
15513
15514         utimens: Move AC_LIBOBJ invocations to module description.
15515         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
15516         * modules/utimens (Makefile.am): Augment lib_SOURCES.
15517
15518 2011-05-23  Bruno Haible  <bruno@clisp.org>
15519
15520         utimecmp: Move AC_LIBOBJ invocations to module description.
15521         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
15522         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
15523
15524 2011-05-23  Bruno Haible  <bruno@clisp.org>
15525
15526         userspec: Move AC_LIBOBJ invocations to module description.
15527         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
15528         * modules/userspec (Makefile.am): Augment lib_SOURCES.
15529
15530 2011-05-23  Bruno Haible  <bruno@clisp.org>
15531
15532         unlinkdir: Move AC_LIBOBJ invocations to module description.
15533         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
15534         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
15535
15536 2011-05-23  Bruno Haible  <bruno@clisp.org>
15537
15538         unistd-safer: Move AC_LIBOBJ invocations to module description.
15539         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
15540         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
15541
15542 2011-05-23  Bruno Haible  <bruno@clisp.org>
15543
15544         tempname: Move AC_LIBOBJ invocations to module description.
15545         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
15546         * modules/tempname (Makefile.am): Augment lib_SOURCES.
15547
15548 2011-05-23  Bruno Haible  <bruno@clisp.org>
15549
15550         strftime: Move AC_LIBOBJ invocations to module description.
15551         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
15552         * modules/strftime (Makefile.am): Augment lib_SOURCES.
15553
15554 2011-05-23  Bruno Haible  <bruno@clisp.org>
15555
15556         stdlib-safer: Move AC_LIBOBJ invocations to module description.
15557         * m4/stdlib-safer.m4: Remove file.
15558         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
15559         (configure.ac): Remove gl_STDLIB_SAFER call.
15560         (Makefile.am): Augment lib_SOURCES.
15561
15562 2011-05-23  Bruno Haible  <bruno@clisp.org>
15563
15564         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
15565         * m4/stdio-safer.m4: Remove file.
15566         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
15567         (configure.ac): Remove gl_TMPFILE_SAFER call.
15568         (Makefile.am): Augment lib_SOURCES.
15569
15570 2011-05-23  Bruno Haible  <bruno@clisp.org>
15571
15572         popen-safer: Move AC_LIBOBJ invocations to module description.
15573         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
15574         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
15575         (configure.ac): Remove gl_POPEN_SAFER call.
15576         (Makefile.am): Augment lib_SOURCES.
15577
15578 2011-05-23  Bruno Haible  <bruno@clisp.org>
15579
15580         freopen-safer: Move AC_LIBOBJ invocations to module description.
15581         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
15582         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
15583         (configure.ac): Remove gl_FREOPEN_SAFER call.
15584         (Makefile.am): Augment lib_SOURCES.
15585
15586 2011-05-23  Bruno Haible  <bruno@clisp.org>
15587
15588         fopen-safer: Move AC_LIBOBJ invocations to module description.
15589         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
15590         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
15591         (configure.ac): Remove gl_FOPEN_SAFER call.
15592         (Makefile.am): Augment lib_SOURCES.
15593
15594 2011-05-23  Bruno Haible  <bruno@clisp.org>
15595
15596         crypto/sha512: Move AC_LIBOBJ invocations to module description.
15597         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
15598         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
15599
15600 2011-05-23  Bruno Haible  <bruno@clisp.org>
15601
15602         crypto/sha256: Move AC_LIBOBJ invocations to module description.
15603         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
15604         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
15605
15606 2011-05-23  Bruno Haible  <bruno@clisp.org>
15607
15608         crypto/sha1: Move AC_LIBOBJ invocations to module description.
15609         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
15610         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
15611
15612 2011-05-23  Bruno Haible  <bruno@clisp.org>
15613
15614         settime: Move AC_LIBOBJ invocations to module description.
15615         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
15616         * modules/settime (Makefile.am): Augment lib_SOURCES.
15617
15618 2011-05-23  Bruno Haible  <bruno@clisp.org>
15619
15620         savedir: Move AC_LIBOBJ invocations to module description.
15621         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
15622         * modules/savedir (Makefile.am): Augment lib_SOURCES.
15623
15624 2011-05-23  Bruno Haible  <bruno@clisp.org>
15625
15626         save-cwd: Move AC_LIBOBJ invocations to module description.
15627         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
15628         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
15629
15630 2011-05-23  Bruno Haible  <bruno@clisp.org>
15631
15632         same: Move AC_LIBOBJ invocations to module description.
15633         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
15634         * modules/same (Makefile.am): Augment lib_SOURCES.
15635
15636 2011-05-23  Bruno Haible  <bruno@clisp.org>
15637
15638         safe-write: Move AC_LIBOBJ invocations to module description.
15639         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
15640         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
15641         instead of gl_SAFE_WRITE.
15642         (Makefile.am): Augment lib_SOURCES.
15643
15644 2011-05-23  Bruno Haible  <bruno@clisp.org>
15645
15646         safe-read: Move AC_LIBOBJ invocations to module description.
15647         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
15648         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
15649         of gl_SAFE_READ.
15650         (Makefile.am): Augment lib_SOURCES.
15651
15652 2011-05-23  Bruno Haible  <bruno@clisp.org>
15653
15654         safe-alloc: Move AC_LIBOBJ invocations to module description.
15655         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
15656         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
15657
15658 2011-05-23  Bruno Haible  <bruno@clisp.org>
15659
15660         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
15661         * m4/rijndael.m4: Remove file.
15662         * modules/crypto/rijndael (Files): Remove it.
15663         (configure.ac): Remove gl_RIJNDAEL call.
15664         (Makefile.am): Augment lib_SOURCES.
15665
15666 2011-05-23  Bruno Haible  <bruno@clisp.org>
15667
15668         readtokens: Move AC_LIBOBJ invocations to module description.
15669         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
15670         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
15671
15672 2011-05-23  Bruno Haible  <bruno@clisp.org>
15673
15674         read-file: Move AC_LIBOBJ invocations to module description.
15675         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
15676         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
15677         of gl_FUNC_READ_FILE.
15678         (Makefile.am): Augment lib_SOURCES.
15679
15680 2011-05-23  Bruno Haible  <bruno@clisp.org>
15681
15682         quotearg: Move AC_LIBOBJ invocations to module description.
15683         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
15684         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
15685
15686 2011-05-23  Bruno Haible  <bruno@clisp.org>
15687
15688         quote: Move AC_LIBOBJ invocations to module description.
15689         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
15690         * modules/quote (Makefile.am): Augment lib_SOURCES.
15691
15692 2011-05-23  Bruno Haible  <bruno@clisp.org>
15693
15694         posixver: Move AC_LIBOBJ invocations to module description.
15695         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
15696         * modules/posixver (Makefile.am): Augment lib_SOURCES.
15697
15698 2011-05-23  Bruno Haible  <bruno@clisp.org>
15699
15700         posixtm: Move AC_LIBOBJ invocations to module description.
15701         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
15702         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
15703
15704 2011-05-23  Bruno Haible  <bruno@clisp.org>
15705
15706         physmem: Move AC_LIBOBJ invocations to module description.
15707         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
15708         * modules/physmem (Makefile.am): Augment lib_SOURCES.
15709
15710 2011-05-23  Bruno Haible  <bruno@clisp.org>
15711
15712         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
15713         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
15714         invocation.
15715         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
15716
15717 2011-05-23  Bruno Haible  <bruno@clisp.org>
15718
15719         mpsort: Move AC_LIBOBJ invocations to module description.
15720         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
15721         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
15722
15723 2011-05-23  Bruno Haible  <bruno@clisp.org>
15724
15725         modechange: Move AC_LIBOBJ invocations to module description.
15726         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
15727         * modules/modechange (Makefile.am): Augment lib_SOURCES.
15728
15729 2011-05-23  Bruno Haible  <bruno@clisp.org>
15730
15731         mkdir-p: Move AC_LIBOBJ invocations to module description.
15732         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
15733         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
15734
15735 2011-05-23  Bruno Haible  <bruno@clisp.org>
15736
15737         mkancesdirs: Move AC_LIBOBJ invocations to module description.
15738         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
15739         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
15740
15741 2011-05-23  Bruno Haible  <bruno@clisp.org>
15742
15743         mgetgroups: Move AC_LIBOBJ invocations to module description.
15744         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
15745         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
15746
15747 2011-05-23  Bruno Haible  <bruno@clisp.org>
15748
15749         memxor: Move AC_LIBOBJ invocations to module description.
15750         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
15751         * modules/memxor (Makefile.am): Augment lib_SOURCES.
15752
15753 2011-05-23  Bruno Haible  <bruno@clisp.org>
15754
15755         memcoll: Move AC_LIBOBJ invocations to module description.
15756         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
15757         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
15758
15759 2011-05-23  Bruno Haible  <bruno@clisp.org>
15760
15761         memcasecmp: Move AC_LIBOBJ invocations to module description.
15762         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
15763         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
15764
15765 2011-05-23  Bruno Haible  <bruno@clisp.org>
15766
15767         crypto/md5: Move AC_LIBOBJ invocations to module description.
15768         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
15769         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
15770
15771 2011-05-23  Bruno Haible  <bruno@clisp.org>
15772
15773         crypto/md4: Move AC_LIBOBJ invocations to module description.
15774         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
15775         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
15776
15777 2011-05-23  Bruno Haible  <bruno@clisp.org>
15778
15779         crypto/md2: Move AC_LIBOBJ invocations to module description.
15780         * m4/md2.m4: Remove file.
15781         * modules/crypto/md2 (Files): Remove it.
15782         (configure.ac): Remove gl_MD2 call.
15783         (Makefile.am): Augment lib_SOURCES.
15784
15785 2011-05-23  Bruno Haible  <bruno@clisp.org>
15786
15787         long-options: Move AC_LIBOBJ invocations to module description.
15788         * m4/long-options.m4: Remove file.
15789         * modules/long-options (Files): Remove it.
15790         (configure.ac): Remove gl_LONG_OPTIONS call.
15791         (Makefile.am): Augment lib_SOURCES.
15792
15793 2011-05-23  Bruno Haible  <bruno@clisp.org>
15794
15795         i-ring: Move AC_LIBOBJ invocations to module description.
15796         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
15797         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
15798
15799 2011-05-23  Bruno Haible  <bruno@clisp.org>
15800
15801         idcache: Move AC_LIBOBJ invocations to module description.
15802         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
15803         * modules/idcache (Makefile.am): Augment lib_SOURCES.
15804
15805 2011-05-23  Bruno Haible  <bruno@clisp.org>
15806
15807         human: Move AC_LIBOBJ invocations to module description.
15808         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
15809         * modules/human (Makefile.am): Augment lib_SOURCES.
15810
15811 2011-05-23  Bruno Haible  <bruno@clisp.org>
15812
15813         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
15814         * m4/hmac-sha1.m4: Remove file.
15815         * modules/crypto/hmac-sha1 (Files): Remove it.
15816         (configure.ac): Remove gl_HMAC_SHA1 call.
15817         (Makefile.am): Augment lib_SOURCES.
15818
15819 2011-05-23  Bruno Haible  <bruno@clisp.org>
15820
15821         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
15822         * m4/hmac-md5.m4: Remove file.
15823         * modules/crypto/hmac-md5 (Files): Remove it.
15824         (configure.ac): Remove gl_HMAC_MD5 call.
15825         (Makefile.am): Augment lib_SOURCES.
15826
15827 2011-05-23  Bruno Haible  <bruno@clisp.org>
15828
15829         hash: Move AC_LIBOBJ invocations to module description.
15830         * m4/hash.m4: Remove file.
15831         * modules/hash (Files): Remove it.
15832         (configure.ac): Remove gl_HASH call.
15833         (Makefile.am): Augment lib_SOURCES.
15834
15835 2011-05-23  Bruno Haible  <bruno@clisp.org>
15836
15837         hard-locale: Move AC_LIBOBJ invocations to module description.
15838         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
15839         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
15840
15841 2011-05-23  Bruno Haible  <bruno@clisp.org>
15842
15843         getugroups: Move AC_LIBOBJ invocations to module description.
15844         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
15845         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
15846
15847 2011-05-23  Bruno Haible  <bruno@clisp.org>
15848
15849         gettime: Move AC_LIBOBJ invocations to module description.
15850         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
15851         * modules/gettime (Makefile.am): Augment lib_SOURCES.
15852
15853 2011-05-23  Bruno Haible  <bruno@clisp.org>
15854
15855         getndelim2: Move AC_LIBOBJ invocations to module description.
15856         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
15857         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
15858
15859 2011-05-23  Bruno Haible  <bruno@clisp.org>
15860
15861         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
15862         * m4/gc-pbkdf2-sha1.m4: Remove file.
15863         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
15864         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
15865         (Makefile.am): Augment lib_SOURCES.
15866
15867 2011-05-23  Bruno Haible  <bruno@clisp.org>
15868
15869         fts: Move AC_LIBOBJ invocations to module description.
15870         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
15871         * modules/fts (configure.ac): ... to here.
15872
15873 2011-05-23  Bruno Haible  <bruno@clisp.org>
15874
15875         file-type: Move AC_LIBOBJ invocations to module description.
15876         * m4/file-type.m4: Remove file.
15877         * modules/file-type (Files): Remove it.
15878         (configure.ac): Remove gl_FILE_TYPE call.
15879         (Makefile.am): Augment lib_SOURCES.
15880
15881 2011-05-23  Bruno Haible  <bruno@clisp.org>
15882
15883         filenamecat*: Respect rules for use of AC_LIBOBJ.
15884         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
15885         Remove AC_LIBOBJ invocation.
15886         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
15887         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
15888
15889 2011-05-23  Bruno Haible  <bruno@clisp.org>
15890
15891         filemode: Move AC_LIBOBJ invocations to module description.
15892         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
15893         * modules/filemode (Makefile.am): Augment lib_SOURCES.
15894
15895 2011-05-23  Bruno Haible  <bruno@clisp.org>
15896
15897         openat-safer: Move AC_LIBOBJ invocations to module description.
15898         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
15899         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
15900
15901 2011-05-23  Bruno Haible  <bruno@clisp.org>
15902
15903         fcntl-safer: Move AC_LIBOBJ invocations to module description.
15904         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
15905         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
15906
15907 2011-05-23  Bruno Haible  <bruno@clisp.org>
15908
15909         exclude: Move AC_LIBOBJ invocations to module description.
15910         * m4/exclude.m4: Remove file.
15911         * modules/exclude (Files): Remove it.
15912         (configure.ac): Remove gl_EXCLUDE call.
15913         (Makefile.am): Augment lib_SOURCES.
15914
15915 2011-05-23  Bruno Haible  <bruno@clisp.org>
15916
15917         dirname*: Respect rules for use of AC_LIBOBJ.
15918         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
15919         invocations.
15920         * modules/dirname (Makefile.am): Augment lib_SOURCES.
15921         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
15922
15923 2011-05-23  Bruno Haible  <bruno@clisp.org>
15924
15925         dirent-safer: Move AC_LIBOBJ invocations to module description.
15926         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
15927         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
15928
15929 2011-05-23  Bruno Haible  <bruno@clisp.org>
15930
15931         crypto/des: Move AC_LIBOBJ invocations to module description.
15932         * m4/des.m4: Remove file.
15933         * modules/crypto/des (Files): Remove it.
15934         (configure.ac): Remove gl_DES call.
15935         (Makefile.am): Augment lib_SOURCES.
15936
15937 2011-05-23  Bruno Haible  <bruno@clisp.org>
15938
15939         cycle-check: Move AC_LIBOBJ invocations to module description.
15940         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
15941         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
15942
15943 2011-05-23  Bruno Haible  <bruno@clisp.org>
15944
15945         c-strtold: Move AC_LIBOBJ invocations to module description.
15946         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
15947         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
15948
15949 2011-05-23  Bruno Haible  <bruno@clisp.org>
15950
15951         c-strtod: Move AC_LIBOBJ invocations to module description.
15952         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
15953         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
15954
15955 2011-05-23  Bruno Haible  <bruno@clisp.org>
15956
15957         crc: Move AC_LIBOBJ invocations to module description.
15958         * m4/crc.m4: Remove file.
15959         * modules/crc (Files): Remove it.
15960         (configure.ac): Remove gl_CRC call.
15961         (Makefile.am): Augment lib_SOURCES.
15962
15963 2011-05-23  Bruno Haible  <bruno@clisp.org>
15964
15965         close-stream: Move AC_LIBOBJ invocations to module description.
15966         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
15967         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
15968
15969 2011-05-23  Bruno Haible  <bruno@clisp.org>
15970
15971         closeout: Move AC_LIBOBJ invocations to module description.
15972         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
15973         * modules/closeout (Makefile.am): Augment lib_SOURCES.
15974
15975 2011-05-23  Bruno Haible  <bruno@clisp.org>
15976
15977         closein: Move AC_LIBOBJ invocations to module description.
15978         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
15979         * modules/closein (Makefile.am): Augment lib_SOURCES.
15980
15981 2011-05-23  Bruno Haible  <bruno@clisp.org>
15982
15983         cloexec: Move AC_LIBOBJ invocations to module description.
15984         * m4/cloexec.m4: Remove file.
15985         * modules/cloexec (Files): Remove it.
15986         (configure.ac): Remove gl_CLOEXEC call.
15987         (Makefile.am): Augment lib_SOURCES.
15988
15989 2011-05-23  Bruno Haible  <bruno@clisp.org>
15990
15991         check-version: Move AC_LIBOBJ invocations to module description.
15992         * m4/check-version.m4: Remove file.
15993         * modules/check-version (Files): Remove it.
15994         (configure.ac): Remove gl_CHECK_VERSION call.
15995         (Makefile.am): Augment lib_SOURCES.
15996
15997 2011-05-23  Bruno Haible  <bruno@clisp.org>
15998
15999         chdir-safer: Move AC_LIBOBJ invocations to module description.
16000         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
16001         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
16002
16003 2011-05-23  Bruno Haible  <bruno@clisp.org>
16004
16005         canonicalize: Move AC_LIBOBJ invocations to module description.
16006         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
16007         AC_LIBOBJ invocation.
16008         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
16009
16010 2011-05-23  Bruno Haible  <bruno@clisp.org>
16011
16012         canon-host: Move AC_LIBOBJ invocations to module description.
16013         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
16014         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
16015         instead of gl_CANON_HOST.
16016         (Makefile.am): Augment lib_SOURCES.
16017
16018 2011-05-23  Bruno Haible  <bruno@clisp.org>
16019
16020         backupfile: Move AC_LIBOBJ invocations to module description.
16021         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
16022         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
16023
16024 2011-05-23  Bruno Haible  <bruno@clisp.org>
16025
16026         argmatch: Move AC_LIBOBJ invocations to module description.
16027         * m4/argmatch.m4: Remove file.
16028         * modules/argmatch (Files): Remove it.
16029         (configure.ac): Remove gl_ARGMATCH call.
16030         (Makefile.am): Augment lib_SOURCES.
16031
16032 2011-05-23  Bruno Haible  <bruno@clisp.org>
16033
16034         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
16035         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
16036         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
16037
16038 2011-05-23  Bruno Haible  <bruno@clisp.org>
16039
16040         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
16041         * m4/arcfour.m4: Remove file.
16042         * modules/crypto/arcfour (Files): Remove it.
16043         (configure.ac): Remove gl_ARCFOUR call.
16044         (Makefile.am): Augment lib_SOURCES.
16045
16046 2011-05-22  Bruno Haible  <bruno@clisp.org>
16047
16048         write: Move AC_LIBOBJ invocations to module description.
16049         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
16050         * modules/write (configure.ac): ... to here.
16051
16052 2011-05-22  Bruno Haible  <bruno@clisp.org>
16053
16054         wmemset: Move AC_LIBOBJ invocations to module description.
16055         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
16056         here...
16057         * modules/wmemset (configure.ac): ... to here.
16058
16059 2011-05-22  Bruno Haible  <bruno@clisp.org>
16060
16061         wmemmove: Move AC_LIBOBJ invocations to module description.
16062         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
16063         here...
16064         * modules/wmemmove (configure.ac): ... to here.
16065
16066 2011-05-22  Bruno Haible  <bruno@clisp.org>
16067
16068         wmemcpy: Move AC_LIBOBJ invocations to module description.
16069         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
16070         here...
16071         * modules/wmemcpy (configure.ac): ... to here.
16072
16073 2011-05-22  Bruno Haible  <bruno@clisp.org>
16074
16075         wmemcmp: Move AC_LIBOBJ invocations to module description.
16076         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
16077         here...
16078         * modules/wmemcmp (configure.ac): ... to here.
16079
16080 2011-05-22  Bruno Haible  <bruno@clisp.org>
16081
16082         wmemchr: Move AC_LIBOBJ invocations to module description.
16083         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
16084         here...
16085         * modules/wmemchr (configure.ac): ... to here.
16086
16087 2011-05-22  Bruno Haible  <bruno@clisp.org>
16088
16089         wcswidth: Move AC_LIBOBJ invocations to module description.
16090         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
16091         here...
16092         * modules/wcswidth (configure.ac): ... to here.
16093
16094 2011-05-22  Bruno Haible  <bruno@clisp.org>
16095
16096         wcwidth: Respect rules for use of AC_LIBOBJ.
16097         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
16098         invocation from here...
16099         * modules/wcwidth (configure.ac): ... to here.
16100         (Depends-on): Update conditions.
16101
16102 2011-05-22  Bruno Haible  <bruno@clisp.org>
16103
16104         wctype: Move AC_LIBOBJ invocations to module description.
16105         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
16106         invocation from here...
16107         * modules/wctype (configure.ac): ... to here.
16108         (Depends-on): Update conditions.
16109
16110 2011-05-22  Bruno Haible  <bruno@clisp.org>
16111
16112         wctrans: Move AC_LIBOBJ invocations to module description.
16113         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
16114         invocation from here...
16115         * modules/wctrans (configure.ac): ... to here.
16116
16117 2011-05-22  Bruno Haible  <bruno@clisp.org>
16118
16119         wctomb: Move AC_LIBOBJ invocations to module description.
16120         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
16121         invocations from here...
16122         * modules/wctomb (configure.ac): ... to here.
16123
16124 2011-05-22  Bruno Haible  <bruno@clisp.org>
16125
16126         wctob: Move AC_LIBOBJ invocations to module description.
16127         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
16128         gl_PREREQ_WCTOB invocations from here...
16129         * modules/wctob (configure.ac): ... to here.
16130         (Depends-on): Update conditions.
16131
16132 2011-05-22  Bruno Haible  <bruno@clisp.org>
16133
16134         wcsxfrm: Move AC_LIBOBJ invocations to module description.
16135         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
16136         here...
16137         * modules/wcsxfrm (configure.ac): ... to here.
16138
16139 2011-05-22  Bruno Haible  <bruno@clisp.org>
16140
16141         wcstok: Move AC_LIBOBJ invocations to module description.
16142         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
16143         * modules/wcstok (configure.ac): ... to here.
16144
16145 2011-05-22  Bruno Haible  <bruno@clisp.org>
16146
16147         wcsstr: Move AC_LIBOBJ invocations to module description.
16148         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
16149         * modules/wcsstr (configure.ac): ... to here.
16150
16151 2011-05-22  Bruno Haible  <bruno@clisp.org>
16152
16153         wcsspn: Move AC_LIBOBJ invocations to module description.
16154         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
16155         * modules/wcsspn (configure.ac): ... to here.
16156
16157 2011-05-22  Bruno Haible  <bruno@clisp.org>
16158
16159         wcsrtombs: Move AC_LIBOBJ invocations to module description.
16160         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
16161         gl_PREREQ_WCSRTOMBS invocations from here...
16162         * modules/wcsrtombs (configure.ac): ... to here.
16163
16164 2011-05-22  Bruno Haible  <bruno@clisp.org>
16165
16166         wcsrchr: Move AC_LIBOBJ invocations to module description.
16167         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
16168         here...
16169         * modules/wcsrchr (configure.ac): ... to here.
16170
16171 2011-05-22  Bruno Haible  <bruno@clisp.org>
16172
16173         wcspbrk: Move AC_LIBOBJ invocations to module description.
16174         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
16175         here...
16176         * modules/wcspbrk (configure.ac): ... to here.
16177
16178 2011-05-22  Bruno Haible  <bruno@clisp.org>
16179
16180         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
16181         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
16182         gl_PREREQ_WCSNRTOMBS invocations from here...
16183         * modules/wcsnrtombs (configure.ac): ... to here.
16184
16185 2011-05-22  Bruno Haible  <bruno@clisp.org>
16186
16187         wcsnlen: Move AC_LIBOBJ invocations to module description.
16188         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
16189         here...
16190         * modules/wcsnlen (configure.ac): ... to here.
16191
16192 2011-05-22  Bruno Haible  <bruno@clisp.org>
16193
16194         wcsncpy: Move AC_LIBOBJ invocations to module description.
16195         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
16196         here...
16197         * modules/wcsncpy (configure.ac): ... to here.
16198
16199 2011-05-22  Bruno Haible  <bruno@clisp.org>
16200
16201         wcsncmp: Move AC_LIBOBJ invocations to module description.
16202         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
16203         here...
16204         * modules/wcsncmp (configure.ac): ... to here.
16205
16206 2011-05-22  Bruno Haible  <bruno@clisp.org>
16207
16208         wcsncat: Move AC_LIBOBJ invocations to module description.
16209         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
16210         here...
16211         * modules/wcsncat (configure.ac): ... to here.
16212
16213 2011-05-22  Bruno Haible  <bruno@clisp.org>
16214
16215         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
16216         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
16217         from here...
16218         * modules/wcsncasecmp (configure.ac): ... to here.
16219
16220 2011-05-22  Bruno Haible  <bruno@clisp.org>
16221
16222         wcslen: Move AC_LIBOBJ invocations to module description.
16223         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
16224         * modules/wcslen (configure.ac): ... to here.
16225
16226 2011-05-22  Bruno Haible  <bruno@clisp.org>
16227
16228         wcsdup: Move AC_LIBOBJ invocations to module description.
16229         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
16230         * modules/wcsdup (configure.ac): ... to here.
16231
16232 2011-05-22  Bruno Haible  <bruno@clisp.org>
16233
16234         wcscspn: Move AC_LIBOBJ invocations to module description.
16235         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
16236         here...
16237         * modules/wcscspn (configure.ac): ... to here.
16238
16239 2011-05-22  Bruno Haible  <bruno@clisp.org>
16240
16241         wcscpy: Move AC_LIBOBJ invocations to module description.
16242         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
16243         * modules/wcscpy (configure.ac): ... to here.
16244
16245 2011-05-22  Bruno Haible  <bruno@clisp.org>
16246
16247         wcscoll: Move AC_LIBOBJ invocations to module description.
16248         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
16249         here...
16250         * modules/wcscoll (configure.ac): ... to here.
16251
16252 2011-05-22  Bruno Haible  <bruno@clisp.org>
16253
16254         wcscmp: Move AC_LIBOBJ invocations to module description.
16255         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
16256         * modules/wcscmp (configure.ac): ... to here.
16257
16258 2011-05-22  Bruno Haible  <bruno@clisp.org>
16259
16260         wcschr: Move AC_LIBOBJ invocations to module description.
16261         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
16262         * modules/wcschr (configure.ac): ... to here.
16263
16264 2011-05-22  Bruno Haible  <bruno@clisp.org>
16265
16266         wcscat: Move AC_LIBOBJ invocations to module description.
16267         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
16268         * modules/wcscat (configure.ac): ... to here.
16269
16270 2011-05-22  Bruno Haible  <bruno@clisp.org>
16271
16272         wcscasecmp: Move AC_LIBOBJ invocations to module description.
16273         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
16274         here...
16275         * modules/wcscasecmp (configure.ac): ... to here.
16276
16277 2011-05-22  Bruno Haible  <bruno@clisp.org>
16278
16279         wcrtomb: Move AC_LIBOBJ invocations to module description.
16280         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
16281         invocations from here...
16282         * modules/wcrtomb (configure.ac): ... to here.
16283
16284 2011-05-22  Bruno Haible  <bruno@clisp.org>
16285
16286         wcpncpy: Move AC_LIBOBJ invocations to module description.
16287         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
16288         here...
16289         * modules/wcpncpy (configure.ac): ... to here.
16290
16291 2011-05-22  Bruno Haible  <bruno@clisp.org>
16292
16293         wcpcpy: Move AC_LIBOBJ invocations to module description.
16294         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
16295         * modules/wcpcpy (configure.ac): ... to here.
16296
16297 2011-05-22  Bruno Haible  <bruno@clisp.org>
16298
16299         waitpid: Move AC_LIBOBJ invocations to module description.
16300         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
16301         invocation from here...
16302         * modules/waitpid (configure.ac): ... to here.
16303
16304 2011-05-22  Bruno Haible  <bruno@clisp.org>
16305
16306         utimensat: Move AC_LIBOBJ invocations to module description.
16307         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
16308         here...
16309         * modules/utimensat (configure.ac): ... to here.
16310
16311 2011-05-22  Bruno Haible  <bruno@clisp.org>
16312
16313         usleep: Move AC_LIBOBJ invocations to module description.
16314         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
16315         here...
16316         * modules/usleep (configure.ac): ... to here.
16317
16318 2011-05-22  Bruno Haible  <bruno@clisp.org>
16319
16320         unlockpt: Move AC_LIBOBJ invocations to module description.
16321         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
16322         gl_PREREQ_UNLOCKPT invocations from here...
16323         * modules/unlockpt (configure.ac): ... to here.
16324
16325 2011-05-22  Bruno Haible  <bruno@clisp.org>
16326
16327         unlink: Respect rules for use of AC_LIBOBJ.
16328         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
16329         * modules/unlink (configure.ac): ... to here.
16330
16331 2011-05-22  Bruno Haible  <bruno@clisp.org>
16332
16333         uname: Move AC_LIBOBJ invocations to module description.
16334         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
16335         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
16336         here...
16337         * modules/uname (configure.ac): ... to here.
16338
16339 2011-05-22  Bruno Haible  <bruno@clisp.org>
16340
16341         ttyname_r: Move AC_LIBOBJ invocations to module description.
16342         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
16343         gl_PREREQ_TTYNAME_R invocations from here...
16344         * modules/ttyname_r (configure.ac): ... to here.
16345
16346 2011-05-22  Bruno Haible  <bruno@clisp.org>
16347
16348         tsearch: Move AC_LIBOBJ invocations to module description.
16349         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
16350         invocations from here...
16351         * modules/tsearch (configure.ac): ... to here.
16352
16353 2011-05-22  Bruno Haible  <bruno@clisp.org>
16354
16355         towctrans: Move AC_LIBOBJ invocations to module description.
16356         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
16357         AC_LIBOBJ invocation from here...
16358         * modules/towctrans (configure.ac): ... to here.
16359
16360 2011-05-22  Bruno Haible  <bruno@clisp.org>
16361
16362         tmpfile: Move AC_LIBOBJ invocations to module description.
16363         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
16364         invocations from here...
16365         * modules/tmpfile (configure.ac): ... to here.
16366
16367 2011-05-22  Bruno Haible  <bruno@clisp.org>
16368
16369         times: Move AC_LIBOBJ invocations to module description.
16370         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
16371         * modules/times (configure.ac): ... to here.
16372
16373 2011-05-22  Bruno Haible  <bruno@clisp.org>
16374
16375         time_r: Move AC_LIBOBJ invocations to module description.
16376         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
16377         invocations from here...
16378         * modules/time_r (configure.ac): ... to here.
16379
16380 2011-05-22  Bruno Haible  <bruno@clisp.org>
16381
16382         timegm: Move AC_LIBOBJ invocations to module description.
16383         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
16384         invocations from here...
16385         * modules/timegm (configure.ac): ... to here.
16386
16387 2011-05-22  Bruno Haible  <bruno@clisp.org>
16388
16389         tcgetsid: Move AC_LIBOBJ invocations to module description.
16390         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
16391         and gl_PREREQ_TCGETSID invocations from here...
16392         * modules/tcgetsid (configure.ac): ... to here.
16393         (Depends-on): Update conditions.
16394
16395 2011-05-22  Bruno Haible  <bruno@clisp.org>
16396
16397         symlinkat: Move AC_LIBOBJ invocations to module description.
16398         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
16399         here...
16400         * modules/symlinkat (configure.ac): ... to here.
16401
16402 2011-05-22  Bruno Haible  <bruno@clisp.org>
16403
16404         symlink: Move AC_LIBOBJ invocations to module description.
16405         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
16406         here...
16407         * modules/symlink (configure.ac): ... to here.
16408
16409 2011-05-22  Bruno Haible  <bruno@clisp.org>
16410
16411         strverscmp: Move AC_LIBOBJ invocations to module description.
16412         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
16413         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
16414         from here...
16415         * modules/strverscmp (configure.ac): ... to here.
16416
16417 2011-05-22  Bruno Haible  <bruno@clisp.org>
16418
16419         strtok_r: Move AC_LIBOBJ invocations to module description.
16420         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
16421         and gl_PREREQ_STRTOK_R invocations from here...
16422         * modules/strtok_r (configure.ac): ... to here.
16423         (Depends-on): Update conditions.
16424
16425 2011-05-22  Bruno Haible  <bruno@clisp.org>
16426
16427         strtoumax: Move AC_LIBOBJ invocations to module description.
16428         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
16429         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
16430         from here...
16431         * modules/strtoumax (configure.ac): ... to here.
16432
16433 2011-05-22  Bruno Haible  <bruno@clisp.org>
16434
16435         strtoimax: Move AC_LIBOBJ invocations to module description.
16436         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
16437         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
16438         from here...
16439         * modules/strtoimax (configure.ac): ... to here.
16440
16441 2011-05-22  Bruno Haible  <bruno@clisp.org>
16442
16443         strtoull: Move AC_LIBOBJ invocations to module description.
16444         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
16445         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
16446         from here...
16447         * modules/strtoull (configure.ac): ... to here.
16448
16449 2011-05-22  Bruno Haible  <bruno@clisp.org>
16450
16451         strtoll: Move AC_LIBOBJ invocations to module description.
16452         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
16453         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
16454         here...
16455         * modules/strtoll (configure.ac): ... to here.
16456
16457 2011-05-22  Bruno Haible  <bruno@clisp.org>
16458
16459         strtoul: Move AC_LIBOBJ invocations to module description.
16460         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
16461         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
16462         * modules/strtoul (configure.ac): ... to here.
16463
16464 2011-05-22  Bruno Haible  <bruno@clisp.org>
16465
16466         strtol: Move AC_LIBOBJ invocations to module description.
16467         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
16468         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
16469         * modules/strtol (configure.ac): ... to here.
16470
16471 2011-05-22  Bruno Haible  <bruno@clisp.org>
16472
16473         strtod: Move AC_LIBOBJ invocations to module description.
16474         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
16475         invocations from here...
16476         * modules/strtod (configure.ac): ... to here.
16477
16478 2011-05-22  Bruno Haible  <bruno@clisp.org>
16479
16480         strstr*: Move AC_LIBOBJ invocations to module description.
16481         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
16482         invocations from here...
16483         * modules/strstr-simple (configure.ac): ... to here.
16484         * modules/strstr (configure.ac): ... and here.
16485
16486 2011-05-22  Bruno Haible  <bruno@clisp.org>
16487
16488         strsignal: Move AC_LIBOBJ invocations to module description.
16489         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
16490         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
16491         * modules/strsignal (configure.ac): ... to here.
16492         (Depends-on): Update conditions.
16493
16494 2011-05-22  Bruno Haible  <bruno@clisp.org>
16495
16496         strsep: Move AC_LIBOBJ invocations to module description.
16497         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
16498         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
16499         here...
16500         * modules/strsep (configure.ac): ... to here.
16501
16502 2011-05-22  Bruno Haible  <bruno@clisp.org>
16503
16504         strptime: Move AC_LIBOBJ invocations to module description.
16505         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
16506         gl_PREREQ_STRPTIME invocations from here...
16507         * modules/strptime (configure.ac): ... to here.
16508
16509 2011-05-22  Bruno Haible  <bruno@clisp.org>
16510
16511         strpbrk: Move AC_LIBOBJ invocations to module description.
16512         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
16513         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
16514         here...
16515         * modules/strpbrk (configure.ac): ... to here.
16516
16517 2011-05-22  Bruno Haible  <bruno@clisp.org>
16518
16519         strnlen: Move AC_LIBOBJ invocations to module description.
16520         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
16521         invocations from here...
16522         * modules/strnlen (configure.ac): ... to here.
16523
16524 2011-05-22  Bruno Haible  <bruno@clisp.org>
16525
16526         strndup: Move AC_LIBOBJ invocations to module description.
16527         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
16528         invocations from here...
16529         * modules/strndup (configure.ac): ... to here.
16530         (Depends-on): Update conditions.
16531
16532 2011-05-22  Bruno Haible  <bruno@clisp.org>
16533
16534         strncat: Move AC_LIBOBJ invocations to module description.
16535         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
16536         invocations from here...
16537         * modules/strncat (configure.ac): ... to here.
16538
16539 2011-05-22  Bruno Haible  <bruno@clisp.org>
16540
16541         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
16542         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
16543         invocations from here...
16544         * modules/strdup (configure.ac): ... to here.
16545         * modules/strdup-posix (configure.ac): ... and here.
16546
16547 2011-05-22  Bruno Haible  <bruno@clisp.org>
16548
16549         strcspn: Move AC_LIBOBJ invocations to module description.
16550         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
16551         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
16552         here...
16553         * modules/strcspn (configure.ac): ... to here.
16554
16555 2011-05-22  Bruno Haible  <bruno@clisp.org>
16556
16557         strchrnul: Move AC_LIBOBJ invocations to module description.
16558         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
16559         gl_PREREQ_STRCHRNUL invocations from here...
16560         * modules/strchrnul (configure.ac): ... to here.
16561
16562 2011-05-22  Bruno Haible  <bruno@clisp.org>
16563
16564         strcasestr*: Move AC_LIBOBJ invocations to module description.
16565         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
16566         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
16567         * modules/strcasestr-simple (configure.ac): ... to here.
16568         * modules/strcasestr (configure.ac): ... and here.
16569
16570 2011-05-22  Bruno Haible  <bruno@clisp.org>
16571
16572         strcase: Move AC_LIBOBJ invocations to module description.
16573         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
16574         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
16575         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
16576         gl_PREREQ_STRNCASECMP invocations from here...
16577         * modules/strcase (configure.ac): ... to here.
16578
16579 2011-05-22  Bruno Haible  <bruno@clisp.org>
16580
16581         stpncpy: Move AC_LIBOBJ invocations to module description.
16582         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
16583         here...
16584         * modules/stpncpy (configure.ac): ... to here.
16585
16586 2011-05-22  Bruno Haible  <bruno@clisp.org>
16587
16588         stpcpy: Move AC_LIBOBJ invocations to module description.
16589         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
16590         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
16591         here...
16592         * modules/stpcpy (configure.ac): ... to here.
16593
16594 2011-05-21  Bruno Haible  <bruno@clisp.org>
16595
16596         stat: Move AC_LIBOBJ invocations to module description.
16597         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
16598         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
16599         here...
16600         * modules/stat (configure.ac): ... to here.
16601
16602 2011-05-21  Bruno Haible  <bruno@clisp.org>
16603
16604         sleep: Move AC_LIBOBJ invocations to module description.
16605         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
16606         * modules/sleep (configure.ac): ... to here.
16607
16608 2011-05-21  Bruno Haible  <bruno@clisp.org>
16609
16610         signbit: Move AC_LIBOBJ invocations to module description.
16611         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
16612         * modules/signbit (configure.ac): ... to here.
16613
16614 2011-05-21  Bruno Haible  <bruno@clisp.org>
16615
16616         sigprocmask: Move AC_LIBOBJ invocations to module description.
16617         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
16618         gl_PREREQ_SIGPROMASK invocations from here...
16619         * modules/sigprocmask (configure.ac): ... to here.
16620
16621 2011-05-21  Bruno Haible  <bruno@clisp.org>
16622
16623         sigaction: Move AC_LIBOBJ invocations to module description.
16624         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
16625         gl_PREREQ_SIGACTION invocations from here...
16626         * modules/sigaction (configure.ac): ... to here.
16627
16628 2011-05-21  Bruno Haible  <bruno@clisp.org>
16629
16630         sig2str: Move AC_LIBOBJ invocations to module description.
16631         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
16632         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
16633         here...
16634         * modules/sig2str (configure.ac): ... to here.
16635
16636 2011-05-21  Bruno Haible  <bruno@clisp.org>
16637
16638         setlocale: Move AC_LIBOBJ invocations to module description.
16639         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
16640         gl_PREREQ_SETLOCALE invocations from here...
16641         * modules/setlocale (configure.ac): ... to here.
16642
16643 2011-05-21  Bruno Haible  <bruno@clisp.org>
16644
16645         unsetenv: Move AC_LIBOBJ invocations to module description.
16646         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
16647         and gl_PREREQ_UNSETENV invocations from here...
16648         * modules/unsetenv (configure.ac): ... to here.
16649         (Depends-on): Update.
16650
16651 2011-05-21  Bruno Haible  <bruno@clisp.org>
16652
16653         setenv: Move AC_LIBOBJ invocations to module description.
16654         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
16655         here...
16656         * modules/setenv (configure.ac): ... to here.
16657
16658 2011-05-21  Bruno Haible  <bruno@clisp.org>
16659
16660         selinux-h: Move AC_LIBOBJ invocations to module description.
16661         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
16662         AC_LIBOBJ invocation from here...
16663         * modules/selinux-h (configure.ac): ... to here.
16664
16665 2011-05-21  Bruno Haible  <bruno@clisp.org>
16666
16667         select: Respect rules for use of AC_LIBOBJ.
16668         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
16669         here...
16670         * modules/select (configure.ac): ... to here.
16671
16672 2011-05-21  Bruno Haible  <bruno@clisp.org>
16673
16674         scandir: Move AC_LIBOBJ invocations to module description.
16675         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
16676         invocations from here...
16677         * modules/scandir (configure.ac): ... to here.
16678
16679 2011-05-21  Bruno Haible  <bruno@clisp.org>
16680
16681         rpmatch: Move AC_LIBOBJ invocations to module description.
16682         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
16683         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
16684         here...
16685         * modules/rpmatch (configure.ac): ... to here.
16686
16687 2011-05-21  Bruno Haible  <bruno@clisp.org>
16688
16689         rmdir: Respect rules for use of AC_LIBOBJ.
16690         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
16691         * modules/rmdir (configure.ac): ... to here.
16692
16693 2011-05-21  Bruno Haible  <bruno@clisp.org>
16694
16695         renameat: Move AC_LIBOBJ invocations to module description.
16696         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
16697         here...
16698         * modules/renameat (configure.ac): ... to here.
16699
16700 2011-05-21  Bruno Haible  <bruno@clisp.org>
16701
16702         rename: Respect rules for use of AC_LIBOBJ.
16703         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
16704         here...
16705         * modules/rename (configure.ac): ... to here.
16706
16707 2011-05-21  Bruno Haible  <bruno@clisp.org>
16708
16709         remove: Move AC_LIBOBJ invocations to module description.
16710         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
16711         here...
16712         * modules/remove (configure.ac): ... to here.
16713
16714 2011-05-21  Bruno Haible  <bruno@clisp.org>
16715
16716         relocatable-lib: Move AC_LIBOBJ invocations to module description.
16717         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
16718         macro.
16719         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
16720         * modules/relocatable-lib (configure.ac): ... to here.
16721         * modules/relocatable-prog-wrapper (configure.ac): Invoke
16722         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
16723
16724 2011-05-21  Bruno Haible  <bruno@clisp.org>
16725
16726         relocatable-prog: Move AC_LIBOBJ invocations to module description.
16727         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
16728         here...
16729         * modules/relocatable-prog (configure.ac): ... to here.
16730
16731 2011-05-21  Bruno Haible  <bruno@clisp.org>
16732
16733         regex: Move AC_LIBOBJ invocations to module description.
16734         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
16735         invocations from here...
16736         * modules/regex (configure.ac): ... to here.
16737
16738 2011-05-21  Bruno Haible  <bruno@clisp.org>
16739
16740         realloc-*: Move AC_LIBOBJ invocations to module description.
16741         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
16742         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
16743         AC_LIBOBJ invocations from here...
16744         * modules/realloc-gnu (configure.ac): ... to here.
16745         * modules/realloc-posix (configure.ac): ... and here.
16746
16747 2011-05-21  Bruno Haible  <bruno@clisp.org>
16748
16749         readutmp: Move AC_LIBOBJ invocations to module description.
16750         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
16751         * modules/readutmp (configure.ac): ... to here.
16752
16753 2011-05-21  Bruno Haible  <bruno@clisp.org>
16754
16755         readlinkat: Move AC_LIBOBJ invocations to module description.
16756         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
16757         here...
16758         * modules/readlinkat (configure.ac): ... to here.
16759
16760 2011-05-21  Bruno Haible  <bruno@clisp.org>
16761
16762         readlink: Move AC_LIBOBJ invocations to module description.
16763         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
16764         gl_PREREQ_READLINK invocations from here...
16765         * modules/readlink (configure.ac): ... to here.
16766
16767 2011-05-21  Bruno Haible  <bruno@clisp.org>
16768
16769         readline: Move AC_LIBOBJ invocations to module description.
16770         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
16771         gl_PREREQ_READLINE invocations from here...
16772         * modules/readline (configure.ac): ... to here.
16773
16774 2011-05-21  Bruno Haible  <bruno@clisp.org>
16775
16776         read: Move AC_LIBOBJ invocations to module description.
16777         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
16778         * modules/read (configure.ac): ... to here.
16779
16780 2011-05-21  Bruno Haible  <bruno@clisp.org>
16781
16782         rawmemchr: Move AC_LIBOBJ invocations to module description.
16783         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
16784         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
16785         from here...
16786         * modules/rawmemchr (configure.ac): ... to here.
16787
16788 2011-05-21  Bruno Haible  <bruno@clisp.org>
16789
16790         random_r: Move AC_LIBOBJ invocations to module description.
16791         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
16792         gl_PREREQ_RANDOM_R invocations from here...
16793         * modules/random_r (configure.ac): ... to here.
16794
16795 2011-05-21  Bruno Haible  <bruno@clisp.org>
16796
16797         pwrite: Move AC_LIBOBJ invocations to module description.
16798         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
16799         * modules/pwrite (configure.ac): ... to here.
16800
16801 2011-05-21  Bruno Haible  <bruno@clisp.org>
16802
16803         putenv: Move AC_LIBOBJ invocations to module description.
16804         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
16805         * modules/putenv (configure.ac): ... to here.
16806
16807 2011-05-21  Bruno Haible  <bruno@clisp.org>
16808
16809         login_tty: Move AC_LIBOBJ invocations to module description.
16810         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
16811         * modules/login_tty (configure.ac): ... to here.
16812
16813 2011-05-21  Bruno Haible  <bruno@clisp.org>
16814
16815         openpty: Move AC_LIBOBJ invocations to module description.
16816         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
16817         * modules/openpty (configure.ac): ... to here.
16818
16819 2011-05-21  Bruno Haible  <bruno@clisp.org>
16820
16821         forkpty: Move AC_LIBOBJ invocations to module description.
16822         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
16823         * modules/forkpty (configure.ac): ... to here.
16824
16825 2011-05-21  Bruno Haible  <bruno@clisp.org>
16826
16827         ptsname: Move AC_LIBOBJ invocations to module description.
16828         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
16829         invocations from here...
16830         * modules/ptsname (configure.ac): ... to here.
16831
16832 2011-05-21  Bruno Haible  <bruno@clisp.org>
16833
16834         pread: Move AC_LIBOBJ invocations to module description.
16835         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
16836         * modules/pread (configure.ac): ... to here.
16837
16838 2011-05-21  Bruno Haible  <bruno@clisp.org>
16839
16840         posix_spawn*: Move AC_LIBOBJ invocations to module description.
16841         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
16842         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
16843         * modules/posix_spawn (configure.ac): ... to here.
16844         * modules/posix_spawnp (configure.ac): ... and here.
16845
16846 2011-05-21  Bruno Haible  <bruno@clisp.org>
16847
16848         popen: Move AC_LIBOBJ invocations to module description.
16849         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
16850         invocations from here...
16851         * modules/popen (configure.ac): ... to here.
16852
16853 2011-05-21  Bruno Haible  <bruno@clisp.org>
16854
16855         poll: Move AC_LIBOBJ invocations to module description.
16856         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
16857         invocations from here...
16858         * modules/poll (configure.ac): ... to here.
16859
16860 2011-05-21  Bruno Haible  <bruno@clisp.org>
16861
16862         pipe-posix: Move AC_LIBOBJ invocations to module description.
16863         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
16864         * modules/pipe-posix (configure.ac): ... to here.
16865
16866 2011-05-21  Bruno Haible  <bruno@clisp.org>
16867
16868         openat: Respect rules for use of AC_LIBOBJ.
16869         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
16870         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
16871         * modules/openat (configure.ac): ... to here.
16872
16873 2011-05-21  Bruno Haible  <bruno@clisp.org>
16874
16875         obstack-printf*: Move AC_LIBOBJ invocations to module description.
16876         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
16877         invocation from here...
16878         * modules/obstack-printf (configure.ac): ... to here.
16879         * modules/obstack-printf-posix (configure.ac): ... and here.
16880
16881 2011-05-21  Bruno Haible  <bruno@clisp.org>
16882
16883         nl_langinfo: Move AC_LIBOBJ invocations to module description.
16884         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
16885         from here...
16886         * modules/nl_langinfo (configure.ac): ... to here.
16887
16888 2011-05-21  Bruno Haible  <bruno@clisp.org>
16889
16890         nanosleep: Move AC_LIBOBJ invocations to module description.
16891         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
16892         gl_PREREQ_NANOSLEEP invocations from here...
16893         * modules/nanosleep (configure.ac): ... to here.
16894
16895 2011-05-21  Bruno Haible  <bruno@clisp.org>
16896
16897         mountlist: Move AC_LIBOBJ invocations to module description.
16898         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
16899         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
16900         * modules/mountlist (configure.ac): ... to here.
16901
16902 2011-05-21  Bruno Haible  <bruno@clisp.org>
16903
16904         mktime: Respect rules for use of AC_LIBOBJ.
16905         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
16906         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
16907         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
16908         (gl_FUNC_MKTIME_INTERNAL): ... and here...
16909         * modules/mktime (configure.ac): ... to here.
16910         * modules/mktime-internal (configure.ac): ... and here.
16911         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
16912
16913 2011-05-21  Bruno Haible  <bruno@clisp.org>
16914
16915         mkstemps: Move AC_LIBOBJ invocations to module description.
16916         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
16917         here...
16918         * modules/mkstemps (configure.ac): ... to here.
16919
16920 2011-05-21  Bruno Haible  <bruno@clisp.org>
16921
16922         mkstemp: Move AC_LIBOBJ invocations to module description.
16923         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
16924         gl_PREREQ_MKSTEMP invocations from here...
16925         * modules/mkstemp (configure.ac): ... to here.
16926
16927 2011-05-21  Bruno Haible  <bruno@clisp.org>
16928
16929         mkostemps: Move AC_LIBOBJ invocations to module description.
16930         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
16931         here...
16932         * modules/mkostemps (configure.ac): ... to here.
16933
16934 2011-05-21  Bruno Haible  <bruno@clisp.org>
16935
16936         mkostemp: Move AC_LIBOBJ invocations to module description.
16937         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
16938         gl_PREREQ_MKOSTEMP invocations from here...
16939         * modules/mkostemp (configure.ac): ... to here.
16940
16941 2011-05-21  Bruno Haible  <bruno@clisp.org>
16942
16943         mknod: Move AC_LIBOBJ invocations to module description.
16944         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
16945         * modules/mknod (configure.ac): ... to here.
16946
16947 2011-05-21  Bruno Haible  <bruno@clisp.org>
16948
16949         mkfifoat: Move AC_LIBOBJ invocations to module description.
16950         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
16951         here...
16952         * modules/mkfifoat (configure.ac): ... to here.
16953
16954 2011-05-21  Bruno Haible  <bruno@clisp.org>
16955
16956         mkfifo: Respect rules for use of AC_LIBOBJ.
16957         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
16958         here...
16959         * modules/mkfifo (configure.ac): ... to here.
16960
16961 2011-05-21  Bruno Haible  <bruno@clisp.org>
16962
16963         mkdtemp: Move AC_LIBOBJ invocations to module description.
16964         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
16965         invocations from here...
16966         * modules/mkdtemp (configure.ac): ... to here.
16967
16968 2011-05-21  Bruno Haible  <bruno@clisp.org>
16969
16970         mkdir: Move AC_LIBOBJ invocations to module description.
16971         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
16972         * modules/mkdir (configure.ac): ... to here.
16973
16974 2011-05-21  Bruno Haible  <bruno@clisp.org>
16975
16976         memset: Move AC_LIBOBJ invocations to module description.
16977         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
16978         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
16979         here...
16980         * modules/memset (configure.ac): ... to here.
16981
16982 2011-05-21  Bruno Haible  <bruno@clisp.org>
16983
16984         memrchr: Move AC_LIBOBJ invocations to module description.
16985         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
16986         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
16987         here...
16988         * modules/memrchr (configure.ac): ... to here.
16989
16990 2011-05-21  Bruno Haible  <bruno@clisp.org>
16991
16992         mempcpy: Move AC_LIBOBJ invocations to module description.
16993         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
16994         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
16995         here...
16996         * modules/mempcpy (configure.ac): ... to here.
16997
16998 2011-05-21  Bruno Haible  <bruno@clisp.org>
16999
17000         memmove: Move AC_LIBOBJ invocations to module description.
17001         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
17002         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
17003         here...
17004         * modules/memmove (configure.ac): ... to here.
17005
17006 2011-05-21  Bruno Haible  <bruno@clisp.org>
17007
17008         memmem*: Move AC_LIBOBJ invocations to module description.
17009         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
17010         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
17011         here...
17012         (gl_FUNC_MEMMEM): ... and here...
17013         * modules/memmem-simple (configure.ac): ... to here.
17014         * modules/memmem (configure.ac): ... and here.
17015
17016 2011-05-21  Bruno Haible  <bruno@clisp.org>
17017
17018         memcpy: Move AC_LIBOBJ invocations to module description.
17019         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
17020         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
17021         here...
17022         * modules/memcpy (configure.ac): ... to here.
17023
17024 2011-05-21  Bruno Haible  <bruno@clisp.org>
17025
17026         memcmp: Simplify autoconf macro.
17027         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
17028         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
17029         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
17030
17031 2011-05-21  Bruno Haible  <bruno@clisp.org>
17032
17033         memcmp: Move AC_LIBOBJ invocations to module description.
17034         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
17035         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
17036         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
17037         * modules/memcmp (configure.ac): ... to here.
17038         (Depends-on): Update conditions.
17039
17040 2011-05-21  Bruno Haible  <bruno@clisp.org>
17041
17042         memchr: Respect rules for use of AC_LIBOBJ.
17043         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
17044         invocations from here...
17045         * modules/memchr (configure.ac): ... to here.
17046
17047 2011-05-21  Bruno Haible  <bruno@clisp.org>
17048
17049         mbtowc: Move AC_LIBOBJ invocations to module description.
17050         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
17051         invocations from here...
17052         * modules/mbtowc (configure.ac): ... to here.
17053
17054 2011-05-21  Bruno Haible  <bruno@clisp.org>
17055
17056         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
17057         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
17058         gl_PREREQ_MBSRTOWCS invocations from here...
17059         * modules/mbsrtowcs (configure.ac): ... to here.
17060
17061 2011-05-21  Bruno Haible  <bruno@clisp.org>
17062
17063         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
17064         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
17065         gl_PREREQ_MBSNRTOWCS invocations from here...
17066         * modules/mbsnrtowcs (configure.ac): ... to here.
17067
17068 2011-05-21  Bruno Haible  <bruno@clisp.org>
17069
17070         mbsinit: Move AC_LIBOBJ invocations to module description.
17071         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
17072         invocations from here...
17073         * modules/mbsinit (configure.ac): ... to here.
17074
17075 2011-05-21  Bruno Haible  <bruno@clisp.org>
17076
17077         mbrlen: Move AC_LIBOBJ invocations to module description.
17078         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
17079         invocations from here...
17080         * modules/mbrlen (configure.ac): ... to here.
17081
17082 2011-05-21  Bruno Haible  <bruno@clisp.org>
17083
17084         mbrtowc: Respect rules for use of AC_LIBOBJ.
17085         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
17086         invocations from here...
17087         * modules/mbrtowc (configure.ac): ... to here.
17088
17089 2011-05-21  Bruno Haible  <bruno@clisp.org>
17090
17091         malloc-*: Move AC_LIBOBJ invocations to module description.
17092         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
17093         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
17094         AC_LIBOBJ invocations from here...
17095         * modules/malloc-gnu (configure.ac): ... to here.
17096         * modules/malloc-posix (configure.ac): ... and here.
17097
17098 2011-05-21  Bruno Haible  <bruno@clisp.org>
17099
17100         lstat, openat: Respect rules for use of AC_LIBOBJ.
17101         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
17102         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
17103         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
17104         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
17105         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
17106         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
17107         here.
17108         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
17109
17110 2011-05-21  Bruno Haible  <bruno@clisp.org>
17111
17112         lseek: Move AC_LIBOBJ invocations to module description.
17113         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
17114         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
17115         * modules/lseek (configure.ac): ... to here.
17116
17117 2011-05-21  Bruno Haible  <bruno@clisp.org>
17118
17119         linkat: Move AC_LIBOBJ invocations to module description.
17120         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
17121         here...
17122         * modules/linkat (configure.ac): ... to here.
17123
17124 2011-05-21  Bruno Haible  <bruno@clisp.org>
17125
17126         link: Respect rules for use of AC_LIBOBJ.
17127         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
17128         * modules/link (configure.ac): ... to here.
17129
17130 2011-05-21  Bruno Haible  <bruno@clisp.org>
17131
17132         lchown: Move AC_LIBOBJ invocations to module description.
17133         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
17134         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
17135         * modules/lchown (configure.ac): ... to here.
17136
17137 2011-05-21  Bruno Haible  <bruno@clisp.org>
17138
17139         iswctype: Move AC_LIBOBJ invocations to module description.
17140         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
17141         here...
17142         * modules/iswctype (configure.ac): ... to here.
17143
17144 2011-05-21  Bruno Haible  <bruno@clisp.org>
17145
17146         iswblank: Move AC_LIBOBJ invocations to module description.
17147         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
17148         here...
17149         * modules/iswblank (configure.ac): ... to here.
17150
17151 2011-05-21  Bruno Haible  <bruno@clisp.org>
17152
17153         atanl: Move AC_LIBOBJ invocations to module description.
17154         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
17155         * modules/atanl (configure.ac): ... to here.
17156
17157 2011-05-21  Bruno Haible  <bruno@clisp.org>
17158
17159         acosl: Move AC_LIBOBJ invocations to module description.
17160         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
17161         * modules/acosl (configure.ac): ... to here.
17162
17163 2011-05-21  Bruno Haible  <bruno@clisp.org>
17164
17165         asinl: Respect rules for use of AC_LIBOBJ.
17166         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
17167         * modules/asinl (configure.ac): ... to here.
17168
17169 2011-05-21  Bruno Haible  <bruno@clisp.org>
17170
17171         tanl: Move AC_LIBOBJ invocations to module description.
17172         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
17173         * modules/tanl (configure.ac): ... to here.
17174
17175 2011-05-21  Bruno Haible  <bruno@clisp.org>
17176
17177         cosl: Move AC_LIBOBJ invocations to module description.
17178         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
17179         * modules/cosl (configure.ac): ... to here.
17180
17181 2011-05-21  Bruno Haible  <bruno@clisp.org>
17182
17183         sinl: Move AC_LIBOBJ invocations to module description.
17184         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
17185         * modules/sinl (configure.ac): ... to here.
17186
17187 2011-05-21  Bruno Haible  <bruno@clisp.org>
17188
17189         logl: Move AC_LIBOBJ invocations to module description.
17190         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
17191         * modules/logl (configure.ac): ... to here.
17192
17193 2011-05-21  Bruno Haible  <bruno@clisp.org>
17194
17195         expl: Move AC_LIBOBJ invocations to module description.
17196         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
17197         * modules/expl (configure.ac): ... to here.
17198
17199 2011-05-21  Bruno Haible  <bruno@clisp.org>
17200
17201         roundl: Move AC_LIBOBJ invocations to module description.
17202         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
17203         * modules/roundl (configure.ac): ... to here.
17204
17205 2011-05-21  Bruno Haible  <bruno@clisp.org>
17206
17207         round: Move AC_LIBOBJ invocations to module description.
17208         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
17209         * modules/round (configure.ac): ... to here.
17210
17211 2011-05-21  Bruno Haible  <bruno@clisp.org>
17212
17213         roundf: Move AC_LIBOBJ invocations to module description.
17214         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
17215         * modules/roundf (configure.ac): ... to here.
17216
17217 2011-05-21  Bruno Haible  <bruno@clisp.org>
17218
17219         truncl: Move AC_LIBOBJ invocations to module description.
17220         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
17221         * modules/truncl (configure.ac): ... to here.
17222
17223 2011-05-21  Bruno Haible  <bruno@clisp.org>
17224
17225         trunc: Move AC_LIBOBJ invocations to module description.
17226         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
17227         * modules/trunc (configure.ac): ... to here.
17228
17229 2011-05-21  Bruno Haible  <bruno@clisp.org>
17230
17231         truncf: Move AC_LIBOBJ invocations to module description.
17232         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
17233         * modules/truncf (configure.ac): ... to here.
17234
17235 2011-05-21  Bruno Haible  <bruno@clisp.org>
17236
17237         ceill: Move AC_LIBOBJ invocations to module description.
17238         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
17239         * modules/ceill (configure.ac): ... to here.
17240
17241 2011-05-21  Bruno Haible  <bruno@clisp.org>
17242
17243         ceil: Move AC_LIBOBJ invocations to module description.
17244         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
17245         * modules/ceil (configure.ac): ... to here.
17246
17247 2011-05-21  Bruno Haible  <bruno@clisp.org>
17248
17249         ceilf: Move AC_LIBOBJ invocations to module description.
17250         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
17251         * modules/ceilf (configure.ac): ... to here.
17252
17253 2011-05-21  Bruno Haible  <bruno@clisp.org>
17254
17255         floorl: Respect rules for use of AC_LIBOBJ.
17256         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
17257         * modules/floorl (configure.ac): ... to here.
17258
17259 2011-05-21  Bruno Haible  <bruno@clisp.org>
17260
17261         floor: Respect rules for use of AC_LIBOBJ.
17262         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
17263         * modules/floor (configure.ac): ... to here.
17264
17265 2011-05-21  Bruno Haible  <bruno@clisp.org>
17266
17267         floorf: Move AC_LIBOBJ invocations to module description.
17268         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
17269         * modules/floorf (configure.ac): ... to here.
17270
17271 2011-05-20  Bruno Haible  <bruno@clisp.org>
17272
17273         sqrtl: Respect rules for use of AC_LIBOBJ.
17274         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
17275         * modules/sqrtl (configure.ac): ... to here.
17276
17277 2011-05-20  Bruno Haible  <bruno@clisp.org>
17278
17279         ldexpl: Respect rules for use of AC_LIBOBJ.
17280         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
17281         * modules/ldexpl (configure.ac): ... to here.
17282
17283 2011-05-20  Bruno Haible  <bruno@clisp.org>
17284
17285         frexpl*: Respect rules for use of AC_LIBOBJ.
17286         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
17287         invocation from here...
17288         * modules/frexpl (configure.ac): ... to here.
17289         * modules/frexpl-nolibm (configure.ac): ... and here.
17290
17291 2011-05-20  Bruno Haible  <bruno@clisp.org>
17292
17293         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
17294         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
17295         invocation from here...
17296         * modules/frexp (configure.ac): ... to here.
17297         * modules/frexp-nolibm (configure.ac): ... and here.
17298
17299 2011-05-20  Bruno Haible  <bruno@clisp.org>
17300
17301         isnan: Respect rules for use of AC_LIBOBJ.
17302         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
17303         invocations here.
17304         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
17305         REPLACE_ISNAN.
17306         * modules/isnand (configure.ac): Likewise.
17307         * modules/isnanl (configure.ac): Likewise.
17308
17309 2011-05-20  Bruno Haible  <bruno@clisp.org>
17310
17311         isnanl*: Respect rules for use of AC_LIBOBJ.
17312         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
17313         invocation from here...
17314         * modules/isnanl (configure.ac): ... to here.
17315         * modules/isnanl-nolibm (configure.ac): ... and here.
17316
17317 2011-05-20  Bruno Haible  <bruno@clisp.org>
17318
17319         isnand*: Move AC_LIBOBJ invocations to module description.
17320         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
17321         invocation from here...
17322         * modules/isnand (configure.ac): ... to here.
17323         * modules/isnand-nolibm (configure.ac): ... and here.
17324
17325 2011-05-20  Bruno Haible  <bruno@clisp.org>
17326
17327         isnanf*: Move AC_LIBOBJ invocations to module description.
17328         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
17329         invocation from here...
17330         * modules/isnanf (configure.ac): ... to here.
17331         * modules/isnanf-nolibm (configure.ac): ... and here.
17332
17333 2011-05-20  Bruno Haible  <bruno@clisp.org>
17334
17335         isnan*: Separate the AC_LIBOBJ invocations.
17336         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
17337         AC_LIBOBJ invocation.
17338         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
17339         here.
17340         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
17341         AC_LIBOBJ invocation.
17342         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
17343         here.
17344         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
17345         AC_LIBOBJ invocation.
17346         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
17347         here.
17348         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
17349
17350 2011-05-08  Bruno Haible  <bruno@clisp.org>
17351
17352         isinf: Move AC_LIBOBJ invocations to module description.
17353         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
17354         * modules/isinf (configure.ac): ... to here.
17355
17356 2011-05-08  Bruno Haible  <bruno@clisp.org>
17357
17358         isfinite: Move AC_LIBOBJ invocations to module description.
17359         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
17360         * modules/isfinite (configure.ac): ... to here.
17361
17362 2011-05-08  Bruno Haible  <bruno@clisp.org>
17363
17364         isblank: Move AC_LIBOBJ invocations to module description.
17365         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
17366         here...
17367         * modules/isblank (configure.ac): ... to here.
17368
17369 2011-05-08  Bruno Haible  <bruno@clisp.org>
17370
17371         isapipe: Move AC_LIBOBJ invocations to module description.
17372         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
17373         gl_PREREQ_ISAPIPE invocations from here...
17374         * modules/isapipe (configure.ac): ... to here.
17375         (Depends-on): Update condition.
17376
17377 2011-05-08  Bruno Haible  <bruno@clisp.org>
17378
17379         ioctl: Move AC_LIBOBJ invocations to module description.
17380         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
17381         invocations from here...
17382         * modules/ioctl (configure.ac): ... to here.
17383         (Depends-on): Update condition.
17384
17385 2011-05-08  Bruno Haible  <bruno@clisp.org>
17386
17387         imaxdiv: Move AC_LIBOBJ invocations to module description.
17388         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
17389         invocations from here...
17390         * modules/imaxdiv (configure.ac): ... to here.
17391
17392 2011-05-08  Bruno Haible  <bruno@clisp.org>
17393
17394         imaxabs: Move AC_LIBOBJ invocations to module description.
17395         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
17396         invocations from here...
17397         * modules/imaxabs (configure.ac): ... to here.
17398
17399 2011-05-08  Bruno Haible  <bruno@clisp.org>
17400
17401         getaddrinfo: Move AC_LIBOBJ invocations to module description.
17402         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
17403         AC_LIBOBJ invocations from here...
17404         * modules/getaddrinfo (configure.ac): ... to here.
17405         (Depends-on): Add conditions.
17406
17407 2011-05-08  Bruno Haible  <bruno@clisp.org>
17408
17409         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
17410         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
17411         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
17412         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
17413         (gl_PREREQ_INET_PTON): ... from here.
17414         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
17415         gl_PREREQ_INET_PTON here.
17416         (Depends-on): Update condition.
17417
17418 2011-05-08  Bruno Haible  <bruno@clisp.org>
17419
17420         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
17421         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
17422         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
17423         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
17424         (gl_PREREQ_INET_NTOP): ... from here.
17425         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
17426         gl_PREREQ_INET_NTOP here.
17427         (Depends-on): Update condition.
17428
17429 2011-05-08  Bruno Haible  <bruno@clisp.org>
17430
17431         iconv_open: Move AC_LIBOBJ invocations to module description.
17432         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
17433         AC_LIBOBJ invocations from here...
17434         * modules/iconv_open (configure.ac): ... to here.
17435
17436 2011-05-08  Bruno Haible  <bruno@clisp.org>
17437
17438         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
17439         If module 'iconv_open' is among the main modules and module
17440         'iconv_open-utf' is among the tests dependencies, then
17441         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
17442         return the special iconv_t values. Therefore iconv() and iconv_close()
17443         must support these special iconv_t values, already in lib, not only in
17444         tests.
17445         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
17446         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
17447         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
17448         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
17449         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
17450         (Depends-on): Add the dependencies of iconv_open-utf.
17451         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
17452         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
17453         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
17454
17455 2011-05-08  Bruno Haible  <bruno@clisp.org>
17456
17457         group-member: Move AC_LIBOBJ invocations to module description.
17458         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
17459         gl_PREREQ_GROUP_MEMBER invocations from here...
17460         * modules/group-member (configure.ac): ... to here.
17461
17462 2011-05-08  Bruno Haible  <bruno@clisp.org>
17463
17464         grantpt: Move AC_LIBOBJ invocations to module description.
17465         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
17466         invocations from here...
17467         * modules/grantpt (configure.ac): ... to here.
17468
17469 2011-05-08  Bruno Haible  <bruno@clisp.org>
17470
17471         glob: Move AC_LIBOBJ invocations to module description.
17472         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
17473         from here...
17474         * modules/glob (configure.ac): ... to here.
17475
17476 2011-05-08  Bruno Haible  <bruno@clisp.org>
17477
17478         getusershell: Move AC_LIBOBJ invocations to module description.
17479         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
17480         Move AC_LIBOBJ invocation from here...
17481         * modules/getusershell (configure.ac): ... to here.
17482         (Depends-on): Update condition.
17483
17484 2011-05-08  Bruno Haible  <bruno@clisp.org>
17485
17486         gettimeofday: Move AC_LIBOBJ invocations to module description.
17487         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
17488         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
17489         gl_PREREQ_GETTIMEOFDAY invocations from here...
17490         * modules/gettimeofday (configure.ac): ... to here.
17491
17492 2011-05-08  Bruno Haible  <bruno@clisp.org>
17493
17494         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
17495         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
17496         just gl_FUNC_TZSET.
17497         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
17498         (gl_FUNC_TZSET_CLOBBER): Remove actions.
17499         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
17500         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
17501
17502 2011-05-08  Bruno Haible  <bruno@clisp.org>
17503
17504         getsubopt: Move AC_LIBOBJ invocations to module description.
17505         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
17506         gl_PREREQ_GETSUBOPT invocations from here...
17507         * modules/getsubopt (configure.ac): ... to here.
17508
17509 2011-05-08  Bruno Haible  <bruno@clisp.org>
17510
17511         getpass-gnu: Move AC_LIBOBJ invocations to module description.
17512         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
17513         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
17514         * modules/getpass-gnu (configure.ac): ... to here.
17515
17516 2011-05-08  Bruno Haible  <bruno@clisp.org>
17517
17518         getpass: Move AC_LIBOBJ invocations to module description.
17519         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
17520         gl_PREREQ_GETPASS invocations from here...
17521         * modules/getpass (configure.ac): ... to here.
17522
17523 2011-05-08  Bruno Haible  <bruno@clisp.org>
17524
17525         getpagesize: Move AC_LIBOBJ invocations to module description.
17526         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
17527         from here...
17528         * modules/getpagesize (configure.ac): ... to here.
17529
17530 2011-05-08  Bruno Haible  <bruno@clisp.org>
17531
17532         getopt: Move AC_LIBOBJ invocations to module description.
17533         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
17534         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
17535         invocations from here...
17536         * modules/getopt-gnu (configure.ac): ... to here.
17537         * modules/getopt-posix (configure.ac): ... and here.
17538         (Depends-on): Update condition.
17539
17540 2011-05-08  Bruno Haible  <bruno@clisp.org>
17541
17542         getopt, argp: Respect rules for use of AC_LIBOBJ.
17543         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
17544         (gl_REPLACE_GETOPT_ALWAYS): New macro.
17545         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
17546         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
17547
17548 2011-05-08  Bruno Haible  <bruno@clisp.org>
17549
17550         getlogin_r: Move AC_LIBOBJ invocations to module description.
17551         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
17552         gl_PREREQ_GETLOGIN_R invocations from here...
17553         * modules/getlogin_r (configure.ac): ... to here.
17554
17555 2011-05-08  Bruno Haible  <bruno@clisp.org>
17556
17557         getlogin: Move AC_LIBOBJ invocations to module description.
17558         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
17559         here...
17560         * modules/getlogin (configure.ac): ... to here.
17561
17562 2011-05-08  Bruno Haible  <bruno@clisp.org>
17563
17564         getloadavg: Move AC_LIBOBJ invocations to module description.
17565         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
17566         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
17567         * modules/getloadavg (configure.ac): ... to here.
17568
17569 2011-05-08  Bruno Haible  <bruno@clisp.org>
17570
17571         gethrxtime: Move AC_LIBOBJ invocations to module description.
17572         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
17573         LIB_GETHRXTIME from here...
17574         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
17575         invocations from here...
17576         * modules/gethrxtime (configure.ac): ... to here.
17577
17578 2011-05-08  Bruno Haible  <bruno@clisp.org>
17579
17580         gethostname: Move AC_LIBOBJ invocations to module description.
17581         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
17582         gl_PREREQ_GETHOSTNAME invocations from here...
17583         * modules/gethostname (configure.ac): ... to here.
17584
17585 2011-05-08  Bruno Haible  <bruno@clisp.org>
17586
17587         getgroups: Move AC_LIBOBJ invocations to module description.
17588         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
17589         here...
17590         * modules/getgroups (configure.ac): ... to here.
17591
17592 2011-05-08  Bruno Haible  <bruno@clisp.org>
17593
17594         getdtablesize: Move AC_LIBOBJ invocations to module description.
17595         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
17596         invocation from here...
17597         * modules/getdtablesize (configure.ac): ... to here.
17598
17599 2011-05-08  Bruno Haible  <bruno@clisp.org>
17600
17601         getdomainname: Move AC_LIBOBJ invocations to module description.
17602         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
17603         gl_PREREQ_GETDOMAINNAME invocations from here...
17604         * modules/getdomainname (configure.ac): ... to here.
17605
17606 2011-05-08  Bruno Haible  <bruno@clisp.org>
17607
17608         getline: Move AC_LIBOBJ invocations to module description.
17609         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
17610         invocations from here...
17611         * modules/getline (configure.ac): ... to here.
17612
17613 2011-05-08  Bruno Haible  <bruno@clisp.org>
17614
17615         getline: Simplify.
17616         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
17617         It's already handled through the module dependency.
17618
17619 2011-05-08  Bruno Haible  <bruno@clisp.org>
17620
17621         getdelim: Move AC_LIBOBJ invocations to module description.
17622         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
17623         and gl_PREREQ_GETDELIM invocations from here...
17624         * modules/getdelim (configure.ac): ... to here.
17625         (Depends-on): Fix condition.
17626
17627 2011-05-08  Bruno Haible  <bruno@clisp.org>
17628
17629         getcwd: Move AC_LIBOBJ invocations to module description.
17630         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
17631         invocations from here...
17632         * modules/getcwd (configure.ac): ... to here.
17633
17634 2011-05-08  Bruno Haible  <bruno@clisp.org>
17635
17636         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
17637         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
17638         here...
17639         * modules/getcwd-lgpl (configure.ac): ... to here.
17640
17641 2011-05-07  Bruno Haible  <bruno@clisp.org>
17642
17643         crypto/gc: Move AC_LIBOBJ invocations to module description.
17644         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
17645         * modules/crypto/gc (configure.ac): ... to here.
17646
17647 2011-05-07  Bruno Haible  <bruno@clisp.org>
17648
17649         fwriting: Move AC_LIBOBJ invocations to module description.
17650         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
17651         here...
17652         * modules/fwriting (configure.ac): ... to here.
17653
17654 2011-05-07  Bruno Haible  <bruno@clisp.org>
17655
17656         fwritable: Move AC_LIBOBJ invocations to module description.
17657         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
17658         here...
17659         * modules/fwritable (configure.ac): ... to here.
17660
17661 2011-05-07  Bruno Haible  <bruno@clisp.org>
17662
17663         futimens: Move AC_LIBOBJ invocations to module description.
17664         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
17665         here...
17666         * modules/futimens (configure.ac): ... to here.
17667
17668 2011-05-07  Bruno Haible  <bruno@clisp.org>
17669
17670         ftruncate: Move AC_LIBOBJ invocations to module description.
17671         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
17672         gl_PREREQ_FTRUNCATE invocations from here...
17673         * modules/ftruncate (configure.ac): ... to here.
17674
17675 2011-05-07  Bruno Haible  <bruno@clisp.org>
17676
17677         fsync: Move AC_LIBOBJ invocations to module description.
17678         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
17679         invocations from here...
17680         * modules/fsync (configure.ac): ... to here.
17681
17682 2011-05-07  Bruno Haible  <bruno@clisp.org>
17683
17684         fsusage: Move AC_LIBOBJ invocations to module description.
17685         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
17686         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
17687         * modules/fsusage (configure.ac): ... to here.
17688
17689 2011-05-07  Bruno Haible  <bruno@clisp.org>
17690
17691         freopen: Move AC_LIBOBJ invocations to module description.
17692         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
17693         invocations from here...
17694         * modules/freopen (configure.ac): ... to here.
17695
17696 2011-05-07  Bruno Haible  <bruno@clisp.org>
17697
17698         free: Move AC_LIBOBJ invocations to module description.
17699         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
17700         invocations from here...
17701         * modules/free (configure.ac): ... to here.
17702
17703 2011-05-07  Bruno Haible  <bruno@clisp.org>
17704
17705         freadable: Move AC_LIBOBJ invocations to module description.
17706         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
17707         here...
17708         * modules/freadable (configure.ac): ... to here.
17709
17710 2011-05-07  Bruno Haible  <bruno@clisp.org>
17711
17712         fpurge: Move AC_LIBOBJ invocations to module description.
17713         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
17714         invocations from here...
17715         * modules/fpurge (configure.ac): ... to here.
17716
17717 2011-05-07  Bruno Haible  <bruno@clisp.org>
17718
17719         fpending: Move AC_LIBOBJ invocations to module description.
17720         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
17721         gl_FUNC_FPENDING.
17722         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
17723         invocations from here...
17724         * modules/fpending (configure.ac): ... to here.
17725
17726 2011-05-07  Bruno Haible  <bruno@clisp.org>
17727
17728         fopen: Move AC_LIBOBJ invocations to module description.
17729         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
17730         invocations from here...
17731         * modules/fopen (configure.ac): ... to here.
17732
17733 2011-05-07  Bruno Haible  <bruno@clisp.org>
17734
17735         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
17736         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
17737         gl_FUNC_FNMATCH_POSIX.
17738         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
17739         invocations from here...
17740         * modules/fnmatch (configure.ac): ... to here.
17741         * modules/fnmatch-gnu (configure.ac): ... and here.
17742
17743 2011-05-07  Bruno Haible  <bruno@clisp.org>
17744
17745         flock: Move AC_LIBOBJ invocations to module description.
17746         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
17747         invocations from here...
17748         * modules/flock (configure.ac): ... to here.
17749
17750 2011-05-07  Bruno Haible  <bruno@clisp.org>
17751
17752         fileblocks: Move AC_LIBOBJ invocations to module description.
17753         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
17754         gl_PREREQ_FILEBLOCKS invocations from here...
17755         * modules/fileblocks (configure.ac): ... to here.
17756
17757 2011-05-06  Bruno Haible  <bruno@clisp.org>
17758
17759         fflush: Move AC_LIBOBJ invocations to module description.
17760         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
17761         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
17762         invocations from here...
17763         * modules/fflush (configure.ac): ... to here.
17764
17765 2011-05-06  Bruno Haible  <bruno@clisp.org>
17766
17767         fdopendir: Move AC_LIBOBJ invocations to module description.
17768         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
17769         here...
17770         * modules/fdopendir (configure.ac): ... to here.
17771         (Depends-on): Improve conditions.
17772
17773 2011-05-06  Bruno Haible  <bruno@clisp.org>
17774
17775         _Exit: Move AC_LIBOBJ invocations to module description.
17776         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
17777         invocations from here...
17778         * modules/_Exit (configure.ac): ... to here.
17779
17780 2011-05-21  Bruno Haible  <bruno@clisp.org>
17781
17782         euidaccess: Respect rules for use of AC_LIBOBJ.
17783         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
17784         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
17785         from here...
17786         * modules/euidaccess (configure.ac): ... to here.
17787
17788 2011-05-06  Bruno Haible  <bruno@clisp.org>
17789
17790         error: Move AC_LIBOBJ invocations to module description.
17791         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
17792         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
17793         invocations from here...
17794         * modules/error (configure.ac): ... to here.
17795
17796 2011-05-06  Bruno Haible  <bruno@clisp.org>
17797
17798         duplocale: Move AC_LIBOBJ invocations to module description.
17799         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
17800         gl_PREREQ_DUPLOCALE invocations from here...
17801         * modules/duplocale (configure.ac): ... to here.
17802
17803 2011-05-05  Bruno Haible  <bruno@clisp.org>
17804
17805         dirfd: Move AC_LIBOBJ invocations to module description.
17806         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
17807         gl_FUNC_DIRFD.
17808         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
17809         here...
17810         * modules/dirfd (configure.ac): ... to here.
17811         (Depends-on): Fix condition.
17812
17813 2011-05-05  Bruno Haible  <bruno@clisp.org>
17814
17815         chown: Respect rules for use of AC_LIBOBJ.
17816         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
17817         * modules/chown (configure.ac): ... to here.
17818
17819 2011-05-05  Bruno Haible  <bruno@clisp.org>
17820
17821         chdir-long: Move AC_LIBOBJ invocations to module description.
17822         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
17823         gl_PREREQ_CHDIR_LONG invocations from here...
17824         * modules/chdir-long (configure.ac): ... to here.
17825
17826 2011-05-05  Bruno Haible  <bruno@clisp.org>
17827
17828         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
17829         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
17830         from here...
17831         * modules/canonicalize-lgpl (configure.ac): ... to here.
17832
17833 2011-05-05  Bruno Haible  <bruno@clisp.org>
17834
17835         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
17836         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
17837         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
17838         REPLACE_CALLOC.
17839         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
17840         * modules/calloc-gnu (configure.ac): Likewise.
17841
17842 2011-05-05  Bruno Haible  <bruno@clisp.org>
17843
17844         btowc: Move AC_LIBOBJ invocations to module description.
17845         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
17846         invocations from here...
17847         * modules/btowc (configure.ac): ... to here.
17848
17849 2011-05-21  Bruno Haible  <bruno@clisp.org>
17850
17851         atexit: Move AC_LIBOBJ invocations to module description.
17852         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
17853         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
17854         here...
17855         * modules/atexit (configure.ac): ... to here.
17856
17857 2011-05-05  Bruno Haible  <bruno@clisp.org>
17858
17859         atoll: Move AC_LIBOBJ invocations to module description.
17860         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
17861         invocations from here...
17862         * modules/atoll (configure.ac): ... to here.
17863
17864 2011-05-05  Bruno Haible  <bruno@clisp.org>
17865
17866         argz: Move AC_LIBOBJ invocations to module description.
17867         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
17868         * modules/argz (configure.ac): ... to here.
17869
17870 2011-05-05  Bruno Haible  <bruno@clisp.org>
17871
17872         alphasort: Move AC_LIBOBJ invocations to module description.
17873         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
17874         gl_PREREQ_ALPHASORT invocations from here...
17875         * modules/alphasort (configure.ac): ... to here.
17876
17877 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
17878
17879         verify: new macro verify_expr; verify_true deprecated
17880         * NEWS: Mention this.
17881         * doc/verify.texi (Compile-time Assertions): Document this.
17882         * lib/verify.h (verify_true): Deprecate.
17883         (verify_expr): New macro.
17884         * tests/test-verify.c (function): Test verify_expr.
17885
17886 2011-06-14  Jim Meyering  <meyering@redhat.com>
17887
17888         init.sh: give more portable redirection-related advice in a comment
17889         * tests/init.sh (stderr_fileno_): Update the advice in comments.
17890         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
17891         for lots of discussion.  Stefano Lattarini suggested the solution
17892         of putting "9>&2" after the command.  Reported by Bruno Haible.
17893
17894 2011-06-13  Bruno Haible  <bruno@clisp.org>
17895
17896         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
17897         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
17898         'none'.
17899
17900 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
17901
17902         ftoastr: use strtof only if HAVE_STRTOF
17903         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
17904         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
17905         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
17906         * modules/ftoastr (configure.ac): Check for strtof.
17907
17908 2011-06-13  Bruno Haible  <bruno@clisp.org>
17909
17910         gnulib-tool: Addendum to 2011-06-08 commit.
17911         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
17912         and --witness-c-macro have been given, augment AM_CPPFLAGS.
17913
17914 2011-06-13  Bruno Haible  <bruno@clisp.org>
17915
17916         fseeko: Provide a non-inline replacement of fseek().
17917         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
17918         * modules/fseeko (Depends-on): Add fseek.
17919         * modules/fseek (License): Change to LGPLv2+.
17920
17921 2011-06-13  Bruno Haible  <bruno@clisp.org>
17922
17923         ftello: Provide a non-inline replacement of ftell().
17924         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
17925         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
17926         not have ftello() (such as on mingw).
17927         * modules/ftello (Depends-on): Add ftell.
17928         * modules/ftell (License): Change to LGPLv2+.
17929
17930 2011-05-07  Bruno Haible  <bruno@clisp.org>
17931
17932         ftell: Move AC_LIBOBJ invocations to module description.
17933         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
17934         * modules/ftell (configure.ac): ... to here.
17935
17936 2011-05-07  Bruno Haible  <bruno@clisp.org>
17937
17938         ftello: Respect rules for use of AC_LIBOBJ.
17939         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
17940         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
17941         here...
17942         * modules/ftello (configure.ac): ... to here.
17943
17944 2011-05-07  Bruno Haible  <bruno@clisp.org>
17945
17946         fseeko: Simplify.
17947         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
17948         (gl_FUNC_FSEEKO): Inline it here.
17949
17950 2011-05-07  Bruno Haible  <bruno@clisp.org>
17951
17952         fseek: Move AC_LIBOBJ invocations to module description.
17953         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
17954         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
17955         * modules/fseek (configure.ac): ... to here.
17956
17957 2011-05-07  Bruno Haible  <bruno@clisp.org>
17958
17959         fseek: Respect rules for use of AC_LIBOBJ.
17960         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
17961         here...
17962         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
17963
17964 2011-05-07  Bruno Haible  <bruno@clisp.org>
17965
17966         fseeko: Respect rules for use of AC_LIBOBJ.
17967         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
17968         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
17969         here...
17970         * modules/fseeko (configure.ac): ... to here.
17971
17972 2011-06-13  Bruno Haible  <bruno@clisp.org>
17973
17974         gnulib-tool: Allow comments in the 'Depends-on' section.
17975         * doc/gnulib.texi (Module description): Mention comment syntax in the
17976         Depends-on section.
17977         * gnulib-tool (func_get_dependencies): Filter out comment lines.
17978
17979 2011-06-13  Bruno Haible  <bruno@clisp.org>
17980
17981         file-set.h: guard __attibute__ use, now that it's not always defined
17982         * lib/file-set.h (record_file): Use __attribute__ only with compiler
17983         versions that support it.  This fixes a coreutils build failure with
17984         the vendor cc on HP-UX 11.31.
17985
17986 2011-06-12  Bruno Haible  <bruno@clisp.org>
17987
17988         acl: Add support for HP-UX >= 11.11 JFS ACLs.
17989         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
17990         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
17991         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
17992         (acl, aclsort): New declarations.
17993         (aclv_nontrivial): New declaration.
17994         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
17995         (file_has_acl): Read also the second kind of HP-UX ACLs.
17996         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
17997         kind of HP-UX ACLs if the first kind fails.
17998         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
17999         second kind of HP-UX ACLs.
18000         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
18001         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
18002         agree.
18003         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18004         hpuxjfs.
18005         Handle hpuxjfs.
18006         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18007         hpuxjfs.
18008         Handle hpuxjfs.
18009         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
18010         (func_test_same_acls): Use both lsacl and getacl.
18011         Handle hpuxjfs.
18012         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
18013         (func_test_same_acls): Use both lsacl and getacl.
18014         Handle hpuxjfs.
18015
18016 2011-06-12  Bruno Haible  <bruno@clisp.org>
18017
18018         acl: Complete the 2010-08-10 fix.
18019         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
18020         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
18021         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
18022         explicitly.
18023         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
18024         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
18025
18026 2011-06-12  Bruno Haible  <bruno@clisp.org>
18027
18028         spawn-pipe tests: Comments.
18029         * tests/test-spawn-pipe-child.c (main): Update comment.
18030         Reported by James Youngman <jay@gnu.org>.
18031
18032 2011-06-11  James Youngman  <jay@gnu.org>
18033
18034         New module 'stat-size'.
18035         * modules/stat-size: New module.  Provides macros for accessing
18036         file size information in instances of struct stat.  Depends on the
18037         fileblocks module because it calls st_blocks.
18038         * lib/stat-size.h: New file, adapted from coreutils' system.h.
18039         * doc/gnulib.texi: Include stat-size.texi.
18040         * doc/stat-size.texi: Documentation for this module.
18041         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
18042         * m4/fileblocks.m4: Mention that stat-size depends on the call to
18043         AC_STRUCT_ST_BLOCKS.
18044
18045 2011-06-09  Bruno Haible  <bruno@clisp.org>
18046
18047         thread: Support pthreads-win32.
18048         * lib/glthread/thread.h (gl_thread_self): Define differently on
18049         pthreads-win32.
18050         (gl_null_thread): New declaration.
18051         (gl_thread_self_pointer): New macro.
18052         * lib/glthread/thread.c (gl_null_thread): New constant.
18053         * tests/test-lock.c: Use gl_thread_self_pointer instead of
18054         gl_thread_self.
18055         * tests/test-tls.c: Likewise.
18056         Suggested by Paul Eggert. Reported by Eric Blake.
18057
18058 2011-06-09  Bruno Haible  <bruno@clisp.org>
18059
18060         thread: Fix confusion between NULL and 0.
18061         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
18062         Reported by Paul Eggert.
18063
18064 2011-06-09  Bruno Haible  <bruno@clisp.org>
18065
18066         spawn-pipe tests: Avoid test failure on HP-UX 11.
18067         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
18068         is closed.
18069
18070 2011-06-09  Bruno Haible  <bruno@clisp.org>
18071
18072         acl tests: Fix compilation error on HP-UX 11.
18073         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
18074
18075 2011-06-09  Bruno Haible  <bruno@clisp.org>
18076
18077         rmdir: Avoid test failure on HP-UX 10.20.
18078         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
18079         EEXIST.
18080
18081 2011-06-08  Eric Blake  <eblake@redhat.com>
18082
18083         perror: fix test on mingw
18084         * modules/perror-tests (Depends-on): Add dup2.
18085
18086         strerror_r-posix: fix on MacOS
18087         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
18088         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
18089         logic bug.
18090         * lib/strerror_r.c (strerror_r): Fix the bug.
18091         * lib/strerror.c (strerror): Likewise.
18092         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
18093         problem.
18094         * doc/posix-functions/strerror.texi (strerror): Likewise.
18095         * doc/posix-functions/perror.texi (perror): Likewise.
18096         * tests/test-strerror.c (main): Enhance test.
18097         * tests/test-strerror_r.c (main): Likewise.
18098
18099 2011-06-08  Bruno Haible  <bruno@clisp.org>
18100
18101         gnulib-tool: Better isolation between different gnulib-tool invocations.
18102         * gnulib-tool: New option --witness-c-macro.
18103         (witness_c_macro): New variable.
18104         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
18105         AM_CPPFLAGS define it as a C macro.
18106         (func_emit_tests_Makefile_am): Likewise.
18107         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
18108         read it from there.
18109         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
18110         m4_define, not AC_DEFUN.
18111         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
18112         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
18113         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
18114         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
18115         s|...|...|, to substitute the values of the GNULIB_* module indicator
18116         variables.
18117         * modules/dirent (Makefile.am): Likewise.
18118         * modules/fcntl-h (Makefile.am): Likewise.
18119         * modules/iconv-h (Makefile.am): Likewise.
18120         * modules/langinfo (Makefile.am): Likewise.
18121         * modules/locale (Makefile.am): Likewise.
18122         * modules/math (Makefile.am): Likewise.
18123         * modules/netdb (Makefile.am): Likewise.
18124         * modules/poll-h (Makefile.am): Likewise.
18125         * modules/pty (Makefile.am): Likewise.
18126         * modules/search (Makefile.am): Likewise.
18127         * modules/signal (Makefile.am): Likewise.
18128         * modules/spawn (Makefile.am): Likewise.
18129         * modules/stdio (Makefile.am): Likewise.
18130         * modules/stdlib (Makefile.am): Likewise.
18131         * modules/string (Makefile.am): Likewise.
18132         * modules/sys_ioctl (Makefile.am): Likewise.
18133         * modules/sys_select (Makefile.am): Likewise.
18134         * modules/sys_socket (Makefile.am): Likewise.
18135         * modules/sys_stat (Makefile.am): Likewise.
18136         * modules/sys_times (Makefile.am): Likewise.
18137         * modules/sys_utsname (Makefile.am): Likewise.
18138         * modules/sys_wait (Makefile.am): Likewise.
18139         * modules/termios (Makefile.am): Likewise.
18140         * modules/time (Makefile.am): Likewise.
18141         * modules/unistd (Makefile.am): Likewise.
18142         * modules/wchar (Makefile.am): Likewise.
18143
18144 2011-06-08  Eric Blake  <eblake@redhat.com>
18145
18146         strerror: simplify replacement
18147         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
18148         * modules/strerror (configure.ac): No prereqs needed here...
18149         * modules/strerror-override (configure.ac): ...but this needs it.
18150         (Files): Add file for needed prereq macro.
18151
18152 2011-06-08  Bruno Haible  <bruno@clisp.org>
18153
18154         strerror_r-posix: Tweaks.
18155         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
18156         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
18157         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
18158         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
18159         (gl_FUNC_STRERROR_R): ... to here.
18160         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
18161
18162 2011-06-07  Eric Blake  <eblake@redhat.com>
18163
18164         perror: document fixed bugs
18165         * doc/posix-functions/perror.texi (perror): Document recent
18166         patches.
18167
18168 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
18169
18170         stat-time: get_stat_birthtime failure is better-defined
18171         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
18172         return a timestamp whose tv_sec and tv_nsec values are both -1.
18173         Previously, the spec said only that the tv_nsec value was negative.
18174         This upward-compatible change simplifies GNU tar a bit.
18175
18176 2011-06-07  Eric Blake  <eblake@redhat.com>
18177
18178         strerror_r-posix: work around cygwin 1.7.9
18179         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
18180         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
18181         bug without replacing strerror_r.
18182         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
18183         strerror_r is buggy, but without requiring strerror_r compilation.
18184         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
18185
18186         test-perror: relax test to ignore cygwin bug
18187         * tests/test-perror2.c (main): Relax test on requiring detection
18188         of stream errors, and use unbuffered stream.
18189         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
18190         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
18191         * doc/posix-functions/fputc.texi (fputc): Likewise.
18192         * doc/posix-functions/fputs.texi (fputs): Likewise.
18193         * doc/posix-functions/fputws.texi (fputws): Likewise.
18194         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
18195         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
18196         * doc/posix-functions/getopt.texi (getopt): Likewise.
18197         * doc/posix-functions/perror.texi (perror): Likewise.
18198         * doc/posix-functions/printf.texi (printf): Likewise.
18199         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
18200         * doc/posix-functions/psignal.texi (psignal): Likewise.
18201         * doc/posix-functions/putc.texi (putc): Likewise.
18202         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
18203         Likewise.
18204         * doc/posix-functions/putchar.texi (putchar): Likewise.
18205         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
18206         Likewise.
18207         * doc/posix-functions/puts.texi (puts): Likewise.
18208         * doc/posix-functions/putwc.texi (putwc): Likewise.
18209         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
18210         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
18211         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18212         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
18213         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18214         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
18215         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
18216         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
18217
18218 2011-05-22  Bruno Haible  <bruno@clisp.org>
18219
18220         strerror: Move AC_LIBOBJ invocations to module description.
18221         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
18222         gl_PREREQ_STRERROR invocations from here...
18223         * modules/strerror (configure.ac): ... to here.
18224
18225 2011-05-21  Bruno Haible  <bruno@clisp.org>
18226
18227         perror: Use common idiom.
18228         * modules/perror (configure.ac): Reorder statements.
18229
18230 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
18231
18232         tests: fix usage message in 'mktempd_'
18233         * tests/init.sh (mktempd_): In the usage message, use literal
18234         'mktempd_', not '$ME' (which is even undefined), as the name of
18235         the subroutine.
18236
18237 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
18238
18239         tests init: new function 'fatal_', for hard errors
18240         Before this patch, the only way offered by tests/init.sh to
18241         properly signal a hard error was the `framework_failure_'
18242         function.  But the error message issued by that function,
18243         as its name would suggest, refers to a set-up failure in the
18244         testsuite, while hard errors can obviously also be due to
18245         other reasons.  The best way to fix this inconsistency is to
18246         introduce a new function with a more general error message.
18247         * tests/init.sh (fatal_): New function.
18248
18249 2011-06-06  Eric Blake  <eblake@redhat.com>
18250
18251         canonicalize-lgpl: use common idiom
18252         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
18253         over newer POSIX -Rf.
18254         Reported by Bruno Haible.
18255
18256         canonicalize-lgpl: work around AIX realpath bug
18257         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
18258         * doc/posix-functions/realpath.texi (realpath): Document it.
18259         Reported by Bruno Haible.
18260
18261         strerror: work around FreeBSD bug
18262         * lib/strerror.c (strerror): Special case 0.
18263         Reported by Bruno Haible.
18264
18265         strerror-override: avoid bloating errno module
18266         * modules/errno (Files, configure.ac): Move replacement strings...
18267         * modules/strerror-override: ...to new module.
18268         * modules/strerror (Depends-on): Add strerror-override.
18269         * modules/strerror_r-posix (Depends-on): Likewise.
18270         * MODULES.html.sh: Document new module.
18271         Reported by Bruno Haible.
18272
18273 2011-06-06  Bruno Haible  <bruno@clisp.org>
18274
18275         spawn-pipe tests: Rename program.
18276         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
18277         * tests/test-spawn-pipe-child.c: Update comment.
18278         * tests/test-spawn-pipe.sh: Update.
18279         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
18280
18281         spawn-pipe tests: Link the child program only against libc.
18282         * tests/test-spawn-pipe-child.c: New file, extracted from
18283         tests/test-spawn-pipe.c.
18284         (main): Expect only one argument.
18285         (is_open): New function, copied from tests/test-pipe.c.
18286         * tests/test-spawn-pipe.c: Don't include <errno.h>.
18287         (child_main): Remove function.
18288         (test_pipe): Pass only one argument to the child program.
18289         (main): Remove child process code. Expect the child program's name as
18290         first argument.
18291         * tests/test-spawn-pipe.sh: Pass the child program's name as first
18292         argument.
18293         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
18294         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
18295         test-spawn-pipe-child against no libraries.
18296
18297 2011-06-06  Bruno Haible  <bruno@clisp.org>
18298
18299         careadlinkat: Avoid mismatch between ssize_t and int.
18300         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
18301         * lib/careadlinkat.c (careadlinkatcwd): Define always.
18302
18303 2011-06-06  Jim Meyering  <meyering@redhat.com>
18304
18305         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
18306         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
18307         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
18308
18309 2011-06-05  Bruno Haible  <bruno@clisp.org>
18310
18311         ansi-c++-opt: Interoperability with libtool.
18312         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
18313         set the variable to "no", not to ":".
18314         * NEWS: Mention the change.
18315
18316 2011-06-05  Bruno Haible  <bruno@clisp.org>
18317
18318         acl: Fix test failure on AIX 7.
18319         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
18320         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
18321
18322 2011-06-05  Bruno Haible  <bruno@clisp.org>
18323
18324         pipe-filter-ii: Fix test failure on AIX and IRIX.
18325         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
18326         with EAGAIN, retry with a smaller buffer size.
18327
18328 2011-06-05  Bruno Haible  <bruno@clisp.org>
18329
18330         localename: Fix link dependencies.
18331         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
18332         * modules/localename-tests (Makefile.am): Link test-localename with
18333         $(LIBTHREAD).
18334
18335 2011-06-05  Bruno Haible  <bruno@clisp.org>
18336
18337         error: Avoid gcc warning.
18338         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
18339
18340 2011-06-05  Bruno Haible  <bruno@clisp.org>
18341
18342         unsetenv: Avoid gcc warning.
18343         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
18344
18345 2011-06-05  Bruno Haible  <bruno@clisp.org>
18346
18347         setenv: Avoid gcc warning.
18348         * lib/setenv.c (setenv): Provide declaration if system lacks it.
18349
18350 2011-06-05  Bruno Haible  <bruno@clisp.org>
18351
18352         sys_select: Ensure memset is declared also on AIX 7.
18353         * lib/sys_select.in.h: Include <string.h> also on AIX.
18354         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
18355         self-contained also on AIX 7.1.
18356
18357 2011-06-04  Jim Meyering  <meyering@redhat.com>
18358
18359         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
18360         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
18361         function name, "error".
18362         (_gl_translatable_diag_func_re): New configurable variable.
18363
18364 2011-06-04  Bruno Haible  <bruno@clisp.org>
18365
18366         getopt: Avoid gcc warning.
18367         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
18368
18369 2011-06-04  Bruno Haible  <bruno@clisp.org>
18370
18371         strerror_r: Fix comments.
18372         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
18373         commit.
18374
18375 2011-06-04  Bruno Haible  <bruno@clisp.org>
18376
18377         perror: Fix compilation error.
18378         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
18379         Undefine fprintf, not sprintf.
18380         * modules/perror (Depends-on): Remove intprops, verify.
18381
18382 2011-06-04  Bruno Haible  <bruno@clisp.org>
18383
18384         setlocale: Enable replacement on Cygwin 1.5.
18385         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
18386         Cygwin 1.5.x.
18387         * doc/posix-functions/setlocale.texi: Mention that the problem with the
18388         LC_CTYPE category also exists on Cygwin 1.5.x.
18389
18390 2011-06-04  Bruno Haible  <bruno@clisp.org>
18391
18392         strerror-override: Don't disable symbol renamings.
18393         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
18394         * lib/strerror-override.c: Include config.h.
18395         (strerror_override): Don't undefine.
18396
18397 2011-06-03  Bruno Haible  <bruno@clisp.org>
18398
18399         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
18400         * lib/localename.h: Update copyright header.
18401         * lib/localename.c: Likewise.
18402         * lib/relocatable.h: Likewise.
18403         * lib/relocatable.c: Likewise.
18404
18405 2011-06-02  Bruno Haible  <bruno@clisp.org>
18406
18407         doc: Fix a module name.
18408         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
18409
18410 2011-06-02  Bruno Haible  <bruno@clisp.org>
18411
18412         pipe2: Remove dependency on 'nonblocking' module.
18413         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
18414         O_NONBLOCK is defined by gnulib.
18415         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
18416         is zero.
18417         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
18418         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
18419         defined by gnulib.
18420         (get_nonblocking_flag): New function.
18421         (main): Test O_NONBLOCK flag only if it is nonzero.
18422         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
18423
18424 2011-06-03  Jim Meyering  <meyering@redhat.com>
18425
18426         maint: three new prohibit-header-without-use rules
18427         Prohibit use of cloexec.h, posixver.h, same.h without use.
18428         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
18429         (sc_prohibit_posixver_without_use): Likewise.
18430         (sc_prohibit_same_without_use): Likewise.
18431
18432 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
18433
18434         allocator: 'die' routine is now given requested size
18435         * lib/allocator.h (struct allocator.die): New size arg.
18436         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
18437         If the actual problem is an ssize_t limitation, not a size_t or
18438         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
18439
18440 2011-06-01  Eric Blake  <eblake@redhat.com>
18441
18442         strerror: drop strerror_r dependency
18443         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
18444         * lib/strerror-override.c (strerror_override): ...to new file.
18445         * lib/strerror-override.h: Add prototype.
18446         * lib/strerror-impl.h: Delete.
18447         * lib/strerror.c (strerror): New implementation.
18448         * modules/errno (Files): Add new files.
18449         (configure.ac): Compile new file as appropriate.
18450         * modules/strerror (Files): Drop unused file.
18451         (Depends-on): Drop strerror_r-posix.
18452         * MODULES.html.sh: Document strerror_r-posix.
18453         Requested by Sam Steingold.
18454
18455         perror: call strerror_r directly
18456         * modules/perror (Files): Drop strerror-impl.h.
18457         * lib/perror.c (perror): Use our own stack buffer, rather than
18458         calling a wrapper that uses static storage.
18459         * doc/posix-functions/perror.texi (perror): Document a limitation
18460         of our replacement.
18461
18462         strerror_r: fix includes for FreeBSD
18463         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
18464         since we use abort on some platforms.
18465         Reported by Matthias Bolte.
18466
18467 2011-05-31  Bruno Haible  <bruno@clisp.org>
18468
18469         Fix link errors in tests: openat-die uses gettext-h.
18470         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
18471         against $(LIBINTL).
18472         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
18473         against $(LIBINTL).
18474         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
18475         $(LIBINTL).
18476         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
18477         against $(LIBINTL).
18478         * modules/linkat-tests (Makefile.am): Link test-linkat against
18479         $(LIBINTL).
18480         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
18481         $(LIBINTL).
18482         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
18483         against $(LIBINTL).
18484         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
18485         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
18486         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
18487         $(LIBINTL).
18488         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
18489         $(LIBINTL).
18490         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
18491         $(LIBINTL).
18492         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18493
18494 2011-05-31  Bruno Haible  <bruno@clisp.org>
18495
18496         Fix link errors in tests: wait-process uses gettext-h.
18497         * modules/nonblocking-pipe-tests (Makefile.am): Set
18498         test_nonblocking_pipe_main_LDADD.
18499         * modules/nonblocking-socket-tests (Makefile.am): Link
18500         test-nonblocking-socket-main against $(LIBINTL).
18501         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18502
18503 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
18504
18505         assert-h: work around 'verify' incompatibility
18506         * lib/verify.h: Use @...@ directives, not ifdef.
18507         * modules/assert-h (assert.h): Implement the directives.
18508         (assert.h): Substitute the symbol-prefix more consistently.
18509
18510 2011-05-29  Jim Meyering  <meyering@redhat.com>
18511
18512         trim: remove three superfluous assignments
18513         * lib/trim.c (trim2): Remove three superfluous assignments
18514         and correct brace positioning.
18515
18516 2011-05-29  Bruno Haible  <bruno@clisp.org>
18517
18518         wctype-h: Avoid namespace pollution on Solaris 2.6.
18519         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
18520         identifiers.
18521         * doc/posix-headers/wctype.texi: Mention the problem.
18522         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18523
18524 2011-05-28  Jim Meyering  <meyering@redhat.com>
18525
18526         parse-datetime.y: accommodate -Wstrict-overflow
18527         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
18528         placate -Wstrict-overflow.
18529
18530         trim: avoid a warning from -O2 -Wstrict-overflow
18531         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
18532
18533 2011-05-29  Bruno Haible  <bruno@clisp.org>
18534
18535         gnulib-tool: Fix bug in yesterday's commit.
18536         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
18537         twice.
18538
18539 2011-05-29  Bruno Haible  <bruno@clisp.org>
18540
18541         Allow multiple gnulib generated include files to be combined.
18542         * gnulib-tool (func_compute_include_guard_prefix): New function.
18543         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
18544         ${gl_include_guard_prefix} references.
18545         (func_import, func_create_testdir): Invoke
18546         func_compute_include_guard_prefix.
18547         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
18548         * lib/ctype.in.h: Likewise.
18549         * lib/dirent.in.h: Likewise.
18550         * lib/errno.in.h: Likewise.
18551         * lib/fcntl.in.h: Likewise.
18552         * lib/float.in.h: Likewise.
18553         * lib/getopt.in.h: Likewise.
18554         * lib/iconv.in.h: Likewise.
18555         * lib/langinfo.in.h: Likewise.
18556         * lib/locale.in.h: Likewise.
18557         * lib/math.in.h: Likewise.
18558         * lib/netdb.in.h: Likewise.
18559         * lib/netinet_in.in.h: Likewise.
18560         * lib/poll.in.h: Likewise.
18561         * lib/pthread.in.h: Likewise.
18562         * lib/pty.in.h: Likewise.
18563         * lib/sched.in.h: Likewise.
18564         * lib/se-selinux.in.h: Likewise.
18565         * lib/search.in.h: Likewise.
18566         * lib/signal.in.h: Likewise.
18567         * lib/spawn.in.h: Likewise.
18568         * lib/stdarg.in.h: Likewise.
18569         * lib/stddef.in.h: Likewise.
18570         * lib/stdint.in.h: Likewise.
18571         * lib/stdio.in.h: Likewise.
18572         * lib/stdlib.in.h: Likewise.
18573         * lib/string.in.h: Likewise.
18574         * lib/strings.in.h: Likewise.
18575         * lib/sys_file.in.h: Likewise.
18576         * lib/sys_ioctl.in.h: Likewise.
18577         * lib/sys_select.in.h: Likewise.
18578         * lib/sys_socket.in.h: Likewise.
18579         * lib/sys_stat.in.h: Likewise.
18580         * lib/sys_time.in.h: Likewise.
18581         * lib/sys_times.in.h: Likewise.
18582         * lib/sys_uio.in.h: Likewise.
18583         * lib/sys_utsname.in.h: Likewise.
18584         * lib/sys_wait.in.h: Likewise.
18585         * lib/sysexits.in.h: Likewise.
18586         * lib/termios.in.h: Likewise.
18587         * lib/time.in.h: Likewise.
18588         * lib/unistd.in.h: Likewise.
18589         * lib/wchar.in.h: Likewise.
18590         * lib/wctype.in.h: Likewise.
18591         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
18592         * modules/ctype (Makefile.am): Likewise.
18593         * modules/dirent (Makefile.am): Likewise.
18594         * modules/errno (Makefile.am): Likewise.
18595         * modules/fcntl-h (Makefile.am): Likewise.
18596         * modules/float (Makefile.am): Likewise.
18597         * modules/getopt-posix (Makefile.am): Likewise.
18598         * modules/iconv-h (Makefile.am): Likewise.
18599         * modules/langinfo (Makefile.am): Likewise.
18600         * modules/locale (Makefile.am): Likewise.
18601         * modules/math (Makefile.am): Likewise.
18602         * modules/netdb (Makefile.am): Likewise.
18603         * modules/netinet_in (Makefile.am): Likewise.
18604         * modules/poll-h (Makefile.am): Likewise.
18605         * modules/pthread (Makefile.am): Likewise.
18606         * modules/pty (Makefile.am): Likewise.
18607         * modules/sched (Makefile.am): Likewise.
18608         * modules/search (Makefile.am): Likewise.
18609         * modules/selinux-h (Makefile.am): Likewise.
18610         * modules/signal (Makefile.am): Likewise.
18611         * modules/spawn (Makefile.am): Likewise.
18612         * modules/stdarg (Makefile.am): Likewise.
18613         * modules/stddef (Makefile.am): Likewise.
18614         * modules/stdint (Makefile.am): Likewise.
18615         * modules/stdio (Makefile.am): Likewise.
18616         * modules/stdlib (Makefile.am): Likewise.
18617         * modules/string (Makefile.am): Likewise.
18618         * modules/strings (Makefile.am): Likewise.
18619         * modules/sys_file (Makefile.am): Likewise.
18620         * modules/sys_ioctl (Makefile.am): Likewise.
18621         * modules/sys_select (Makefile.am): Likewise.
18622         * modules/sys_socket (Makefile.am): Likewise.
18623         * modules/sys_stat (Makefile.am): Likewise.
18624         * modules/sys_time (Makefile.am): Likewise.
18625         * modules/sys_times (Makefile.am): Likewise.
18626         * modules/sys_uio (Makefile.am): Likewise.
18627         * modules/sys_utsname (Makefile.am): Likewise.
18628         * modules/sys_wait (Makefile.am): Likewise.
18629         * modules/sysexits (Makefile.am): Likewise.
18630         * modules/termios (Makefile.am): Likewise.
18631         * modules/time (Makefile.am): Likewise.
18632         * modules/unistd (Makefile.am): Likewise.
18633         * modules/wchar (Makefile.am): Likewise.
18634         * modules/wctype-h (Makefile.am): Likewise.
18635         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
18636
18637 2011-05-29  Bruno Haible  <bruno@clisp.org>
18638
18639         assert-h: Allow multiple gnulib generated replacements to coexist.
18640         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
18641
18642 2011-05-29  Bruno Haible  <bruno@clisp.org>
18643
18644         argp: Allow coexistence with strerror_r-posix module.
18645         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
18646         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
18647         by gnulib's <string.h> replacement), assume it has the POSIX signature,
18648         not the glibc signature.
18649
18650 2011-05-28  Bruno Haible  <bruno@clisp.org>
18651
18652         gnulib-tool: Alternative structure of testdirs, similar to --import.
18653         * gnulib-tool: New option --single-configure.
18654         (func_usage): Document it.
18655         (single_configure): New variable.
18656         (func_modules_transitive_closure_separately,
18657         func_modules_transitive_closure_separately,
18658         func_determine_use_libtests, func_modules_add_dummy_separately,
18659         func_modules_to_filelist_separately): New functions, extracted from
18660         func_import.
18661         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
18662         (func_import): Use the new functions.
18663         (func_create_testdir): Set final_modules. Handle $single_configure =
18664         true case.
18665
18666 2011-05-28  Bruno Haible  <bruno@clisp.org>
18667
18668         getloadavg: Remove an unreliable safety check.
18669         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
18670         getloadavg.c is in place.
18671         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
18672         Reported by Sam Steingold <sds@gnu.org>.
18673
18674 2011-05-28  Bruno Haible  <bruno@clisp.org>
18675
18676         doc: Cleanup yet another file produced by texinfo.tex.
18677         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
18678
18679 2011-05-28  Bruno Haible  <bruno@clisp.org>
18680
18681         Finish the conditional dependencies mechanism.
18682         * gnulib-tool: New option --no-conditional-dependencies.
18683         (func_usage): Document it. Don't mark --conditional-dependencies as
18684         experimental.
18685         (cond_dependencies): The possible values can now be true, false, empty.
18686         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
18687         (func_import): Store setting in gnulib-cache.m4 and read it from there.
18688         * doc/gnulib-tool.texi (Conditional dependencies): New section.
18689
18690 2011-05-28  Bruno Haible  <bruno@clisp.org>
18691
18692         doc: Use a recent texinfo.tex.
18693         * doc/Makefile (tex_opts): New variable.
18694         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
18695
18696 2011-05-28  Jim Meyering  <meyering@redhat.com>
18697
18698         intprops.h: adjust comment to match code change
18699         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
18700         only once, it *may* have side effects.  Also fix an unrelated typo.
18701         (_GL_INT_SIGNED): Likewise.
18702
18703 2011-05-26  Simon Josefsson  <simon@josefsson.org>
18704
18705         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
18706
18707 2011-05-26  Bruno Haible  <bruno@clisp.org>
18708
18709         mbsrchr: Avoid collision with system function on Interix.
18710         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
18711         Reported by Markus Duft <mduft@gentoo.org>.
18712
18713 2011-05-15  James Youngman  <jay@gnu.org>
18714
18715         getopt: for ambiguous options, enumerate the possibilities.
18716         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
18717         the ambiguous options when an ambiguous prefix is given. This was
18718         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
18719         glibc change was
18720         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
18721
18722 2011-05-25  Eric Blake  <eblake@redhat.com>
18723
18724         getcwd: work around mingw bug
18725         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
18726         * doc/posix-functions/getcwd.texi (getcwd): Document it.
18727         Reported by Matthias Bolte.
18728
18729 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
18730
18731         test-intprops: disable -Wtype-limits diagnostics
18732         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
18733         diagnostics.  Otherwise, the integer overflow macros generate many
18734         diagnostics.  Reported by Jim Meyering in
18735         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
18736
18737         intprops: shorten, to pacify gcc -Woverlength-strings
18738         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
18739         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
18740         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
18741         likely to run afoul of C compiler limits for string constant lengths.
18742         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
18743
18744 2011-05-24  Eric Blake  <eblake@redhat.com>
18745
18746         docs: document recently fixed glibc printf bug
18747         * doc/posix-functions/fprintf.texi (fprintf): Document it.
18748         * doc/posix-functions/printf.texi (printf): Likewise.
18749         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
18750         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
18751
18752         closein-tests: convert to init.sh
18753         * modules/closein-tests (Files): Add init.sh
18754         * tests/test-closein.sh Use it.
18755
18756         yesno-tests: convert to init.sh
18757         * modules/yesno-tests (Files): Add init.sh.
18758         * tests/test-yesno.sh: Use it.
18759
18760         atexit-tests: ensure reliable exit status
18761         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
18762         Reported by Bruno Haible.
18763
18764 2011-05-24  Bruno Haible  <bruno@clisp.org>
18765
18766         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
18767         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
18768         gl_PREREQ_STRERROR_R invocations from here...
18769         * modules/strerror_r-posix (configure.ac): ... to here.
18770
18771 2011-05-24  Eric Blake  <eblake@redhat.com>
18772
18773         strerror_r: fix missing header
18774         * lib/strerror_r.c: Avoid compiler warning about snprintf.
18775
18776         strerror_r: fix AIX test failures
18777         * lib/strerror_r.c (strerror_r): Convert silent truncation to
18778         ERANGE failure.
18779
18780         strerror_r: fix Solaris test failures
18781         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
18782         failures.
18783         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
18784
18785         strerror_r: enforce POSIX recommendations
18786         * lib/strerror_r.c (safe_copy): New helper method.
18787         (strerror_r): Guarantee a non-empty string.
18788         * tests/test-strerror_r.c (main): Enhance tests to incorporate
18789         recent POSIX rulings and to match our strerror guarantees.
18790         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
18791
18792 2011-05-24  Jim Meyering  <meyering@redhat.com>
18793
18794         test-perror2.c: avoid warning about unused variable
18795         * tests/test-perror2.c (main): Remove declaration of unused "fp".
18796
18797 2011-05-24  Eric Blake  <eblake@redhat.com>
18798
18799         perror: avoid spurious test failure on HP-UX
18800         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
18801
18802         tests: fix logic bug in init.sh
18803         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
18804         shell.
18805
18806 2011-05-24  Jim Meyering  <meyering@redhat.com>
18807
18808         utimensat: do not reference an out-of-scope buffer
18809         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
18810         declared in an inner scope, yet "times" would be dereferenced outside
18811         the scope in which "ts" was valid.
18812         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
18813         of ts[2] "out/up", so that the use of aliased "times" (via
18814         "times = ts;") does not end up referencing an out-of-scope "ts"
18815
18816         opendir-safer.c: don't clobber errno; don't close negative FD
18817         * lib/opendir-safer.c (opendir_safer):
18818         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
18819         file descriptor, and more importantly, don't clobber the
18820         offending errno value with EINVAL.  Before, upon failure
18821         of dup_safer, we would pass the negative file descriptor to
18822         fdopendir, which would clobber errno.
18823
18824 2011-05-23  Bruno Haible  <bruno@clisp.org>
18825
18826         idcache: Fix module description.
18827         * modules/idcache (Include): Set to "idcache.h".
18828
18829 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
18830
18831         gnulib-tool: fix portability problem with MacOS sed
18832         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
18833         before the "}".  Problem reported by Leo in
18834         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
18835         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
18836         sed_extract_condition1, sed_extract_condition2.
18837
18838 2011-05-23  Bruno Haible  <bruno@clisp.org>
18839
18840         hash: Simplify autoconf macro.
18841         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
18842
18843 2011-05-23  Bruno Haible  <bruno@clisp.org>
18844
18845         getugroups: Fix module description.
18846         * modules/getugroups (Include): Set to "getugroups.h".
18847
18848 2011-05-23  Bruno Haible  <bruno@clisp.org>
18849
18850         linkat: Simplify autoconf macro.
18851         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
18852
18853 2011-05-23  Bruno Haible  <bruno@clisp.org>
18854             Eric Blake  <eblake@redhat.com>
18855
18856         linkat, renameat: Update dependencies.
18857         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
18858         * modules/linkat (Depends-on): Likewise. Remove also readlink,
18859         symlinkat.
18860
18861 2011-05-23  Jim Meyering  <meyering@redhat.com>
18862
18863         maint.mk: more tight_scope improvements
18864         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
18865         (_gl_TS_headers): Define only in if-0'd block.
18866         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
18867         sometimes we must *not* use it.  Adjust uses accordingly.
18868         (sc_tight_scope): Use much simpler grep-based test to determine
18869         whether we skip this rule.
18870
18871         maint.mk: generalize/improve the tight-scope rule
18872         * top/maint.mk: Emit a warning when the test is skipped.
18873         (_gl_TS_dir): Add $(srcdir)/ prefix.
18874         (_gl_TS_function_match): Simplify, rather than trying
18875         to enumerate common types.  Otherwise, it would fail to match an
18876         "extern unsigned char const *" declaration in idutils.
18877         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
18878         a way to support use of that type of macro.
18879         (_gl_TS_var_match): Simplify regexp.
18880         (_gl_TS_obj_files): New configurable variable.
18881         (_gl_TS_headers): Likewise.
18882
18883 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
18884
18885         verify: fix bug when gnulib <assert.h> is also included
18886         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
18887         is defined, not if _GL_STATIC_ASSERT_H is not defined.
18888         Perhaps there's a better way, but this fixes the immediate problem.
18889         Problem reported by Bruno Haible in
18890         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
18891
18892 2011-05-22  Bruno Haible  <bruno@clisp.org>
18893
18894         xgetcwd: Simplify autoconf macro.
18895         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
18896
18897 2011-05-22  Bruno Haible  <bruno@clisp.org>
18898
18899         New module 'mktime-internal'.
18900         * modules/mktime-internal: New file.
18901         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
18902         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
18903         mktime_internal as a C macro if libc has __mktime_internal.
18904         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
18905         conditions.
18906         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
18907
18908 2011-05-22  Bruno Haible  <bruno@clisp.org>
18909
18910         timegm: Correct mktime replacement statements.
18911         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
18912         defining mktime as a C macro. This completes a 2009-07-28 commit.
18913
18914 2011-05-22  Bruno Haible  <bruno@clisp.org>
18915
18916         timegm: Simplify autoconf macro.
18917         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
18918
18919 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18920
18921         clock-time: change to LGPLv2+.
18922         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
18923         BSD-like but we have no mark for that; this is good enough for now.
18924
18925 2011-05-21  Bruno Haible  <bruno@clisp.org>
18926
18927         strerror_r: Fix comments.
18928         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
18929
18930 2011-05-21  Bruno Haible  <bruno@clisp.org>
18931
18932         relocatable-prog-wrapper: Fix possible link error.
18933         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
18934         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
18935         (gl_FUNC_SETENV): ... to here.
18936         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
18937         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
18938
18939 2011-05-21  Bruno Haible  <bruno@clisp.org>
18940
18941         relocatable-prog-wrapper: Assume strerror() exists.
18942         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
18943         m4/strerror.m4.
18944         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
18945         * lib/relocwrapper.c: Remove mention of strerror module.
18946         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
18947         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
18948         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
18949         C macro.
18950
18951 2011-05-21  Bruno Haible  <bruno@clisp.org>
18952
18953         select: Simplify replacement idiom.
18954         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
18955         Win32 platforms.
18956         * lib/sys_select.in.h (select): Simplify accordingly.
18957         * modules/select (Depends-on): Likewise.
18958
18959 2011-05-21  Bruno Haible  <bruno@clisp.org>
18960
18961         mkdir-p: Simplify autoconf macro.
18962         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
18963         gl_FUNC_LCHOWN.
18964
18965 2011-05-21  Eric Blake  <eblake@redhat.com>
18966
18967         strerror_r: avoid clobbering strerror on cygwin
18968         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
18969         fall back instead to sys_errlist.
18970         * modules/strerror (configure.ac): Add witness.
18971         * tests/test-strerror_r.c (main): Enhance test.
18972         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
18973         * tests/test-perror2.c (main): Free memory before exit.
18974
18975 2011-05-21  Bruno Haible  <bruno@clisp.org>
18976
18977         mkdtemp: Use gnulib naming conventions.
18978         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
18979         * modules/mkdtemp (configure.ac): Update.
18980
18981 2011-05-20  Eric Blake  <eblake@redhat.com>
18982
18983         strerror_r: avoid corrupting errno on Solaris
18984         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
18985         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
18986
18987         strerror_r: avoid compiler warning
18988         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
18989
18990         strerror_r: simplify AIX code
18991         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
18992
18993         test-perror: avoid spurious failure on FreeBSD
18994         * modules/perror-tests (Depends-on): Add strerror, now that
18995         strerror_r no longer pulls it in.
18996
18997 2011-05-20  Bruno Haible  <bruno@clisp.org>
18998
18999         strerror_r-posix: Remove unused dependencies.
19000         * modules/strerror_r-posix (Depends-on): Remove strerror.
19001         Reported by Eric Blake.
19002
19003 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19004
19005         intprops: remove assumption about A|B representation
19006         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
19007         is a valid integer if both A and B are.  Although this is true for
19008         all known practical hosts, the C standard doesn't guarantee it,
19009         and the code need not assume it.  Also, this change may work around
19010         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
19011         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
19012
19013 2011-05-20  Eric Blake  <eblake@redhat.com>
19014
19015         perror: work around FreeBSD bug
19016         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
19017         is broken.  Move AC_LIBOBJ...
19018         * modules/perror (configure.ac): Here.
19019         * doc/posix-functions/perror.texi (perror): Document this.
19020         * tests/test-perror2.c (main): Enhance test.
19021
19022         test-perror: check for strerror interactions
19023         * tests/macros.h (STREQ): Add macro.
19024         * modules/perror-tests (Files): Add second test.
19025         * tests/test-perror2.c (main): New file.
19026         * doc/posix-functions/perror.texi (perror): Document glibc bug.
19027
19028         test-perror: rewrite to use init script
19029         * modules/perror-tests (Files): Add init.sh.
19030         * tests/test-perror.sh: Use temporary directory.
19031
19032 2011-05-20  Jim Meyering  <meyering@redhat.com>
19033
19034         maint: replace misused "a" with "an"
19035         * doc/intprops.texi: "a integer"
19036         * doc/regex.texi: "a explanation"
19037         * lib/alignof.h: "a object"
19038         * lib/argmatch.h: "a explanation"
19039         * lib/argp-help.c: "a option" and "a OPTION_DOC"
19040         * lib/stdint.in.h: "a integer"
19041         * lib/userspec.c: "a owner"
19042         * doc/gnulib.texi: Fix "a idea", and reword.
19043
19044 2011-05-19  Jim Meyering  <meyering@redhat.com>
19045
19046         maint: correct misuse of "a" and "an"
19047         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
19048         * lib/argp-help.c: "an docum...": s/an/a/
19049         * lib/argp-parse.c: "An vector": s/An/A/
19050         * lib/execute.c: "an native": s/an/a/
19051         * lib/spawn-pipe.c: Likewise.
19052         * lib/gc.h: "an Gc_rc": s/an/a/
19053         * lib/unigbrk.in.h: "an grapheme": s/an/a/
19054         * lib/fts.c: "an stat.st_dev": s/an/a/
19055
19056 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19057
19058         intprops-tests: work around HP-UX 11.23 cc bug with constants
19059         * tests/test-intprops.c (VERIFY): New macro.
19060         (main): Use it, instead of verify, to work around the compiler bug; see
19061         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19062
19063         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
19064         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
19065         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
19066         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
19067         (_GL_REMAINDER_OVERFLOW): Use it.
19068
19069         intprops-tests: revert unsigned part of previous change
19070         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
19071         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
19072         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
19073         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
19074
19075 2011-05-19  Bruno Haible  <bruno@clisp.org>
19076
19077         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
19078         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
19079         strerror_r() returned without filling the buffer.
19080         Reported by Eric Blake.
19081
19082 2011-05-19  Eric Blake  <eblake@redhat.com>
19083
19084         strerror_r: guarantee unchanged errno
19085         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
19086         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
19087         failure.
19088         * tests/test-strerror_r.c (main): Enhance test.
19089
19090 2011-05-19  Bruno Haible  <bruno@clisp.org>
19091
19092         strerror_r: Reorder #if blocks.
19093         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
19094         for consistency with the previous commit.
19095
19096 2011-05-19  Bruno Haible  <bruno@clisp.org>
19097
19098         perror: Avoid clobbering the strerror buffer when possible.
19099         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
19100         * lib/strerror.c: Include it.
19101         * modules/strerror (Files): Add lib/strerror-impl.h.
19102         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
19103         (my_strerror): New function, defined through lib/strerror-impl.h.
19104         (perror): Use it instead of strerror.
19105         * modules/perror (Files): Add lib/strerror-impl.h.
19106         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
19107
19108 2011-05-19  Eric Blake  <eblake@redhat.com>
19109
19110         strerror_r: fix on newer cygwin
19111         * lib/strerror_r.c (strerror_r): Cygwin now has
19112         __xpg_strerror_r, use it.
19113
19114 2011-05-19  Bruno Haible  <bruno@clisp.org>
19115
19116         strerror_r: Avoid clobbering the strerror buffer when possible.
19117         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
19118         (sys_nerr, sys_errlist): New declarations.
19119         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
19120         HP-UX, native Win32, IRIX, and 32-bit Solaris.
19121         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
19122
19123 2011-05-19  Bruno Haible  <bruno@clisp.org>
19124
19125         strerror_r: Fix test failure on mingw.
19126         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
19127         EXTEND_STRERROR_R.
19128         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
19129         macros from errno.in.h instead.
19130
19131 2011-05-19  Eric Blake  <eblake@redhat.com>
19132
19133         strerror: relax test for Solaris
19134         * tests/test-strerror.c (main): Permit Solaris behavior.
19135         * tests/test-strerror_r.c (main): Likewise.
19136
19137         strerror: enforce POSIX ruling on strerror(0)
19138         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
19139         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
19140         * lib/strerror_r.c (rpl_strerror_r): Work around it.
19141         * doc/posix-functions/strerror.texi (strerror): Document it.
19142         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
19143         * tests/test-strerror.c (main): Strengthen test.
19144         * tests/test-strerror_r.c (main): Likewise.
19145
19146 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19147
19148         intprop-tests: port to older and more-pedantic compilers
19149         * modules/intprops-tests (Files): Add tests/macros.h.
19150         * tests/test-intprops.c: Include macros.h.
19151         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
19152         it's no longer documented to expand to an integer constant expression.
19153         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
19154         argument is floating point, as it's no longer documented to expand
19155         to an integer constant expression in that case.
19156         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
19157         compiler bugs reported by Bruno Haible.  See
19158         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19159         (U0, U1): New constants, to work around the same bugs.  Also,
19160         in tests, use e.g., "(unsigned int) 39" rather than "39u".
19161
19162         intprops: work around C compiler bugs
19163         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
19164         bug in Sun C 5.11 2010/08/13 and other compilers; see
19165         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
19166
19167         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
19168         * doc/intprops.texi (Integer Type Determination): Fix
19169         documentation for TYPE_IS_INTEGER: it returns an constant
19170         expression, not an integer constant expression.  Fix doc for
19171         TYPE_SIGNED: it returns an integer constant expression only if its
19172         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
19173         hardly worth documented that way....)
19174
19175 2011-05-18  Bruno Haible  <bruno@clisp.org>
19176
19177         strerror_r: Avoid clobbering the strerror buffer when possible.
19178         * lib/strerror_r.c (strerror_r): Merge the three implementations.
19179         Handle gnulib defined errno values here. When strerror() returns NULL
19180         or an empty string, return EINVAL.
19181         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
19182         gnulib defined errno values here.
19183         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
19184
19185 2011-05-18  Eric Blake  <eblake@redhat.com>
19186
19187         fnmatch: avoid compiler warning
19188         * lib/fnmatch_loop.c (FCT): Use correct type.
19189         Reported by Matthias Bolte.
19190
19191 2011-05-13  Jim Meyering  <meyering@redhat.com>
19192
19193         maint.mk: three new prohibit_<HDR>_without_use rules
19194         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
19195         (sc_prohibit_stdio-safer_without_use): Likewise.
19196         (sc_prohibit_xfreopen_without_use): Likewise.
19197
19198 2011-05-17  Jim Meyering  <meyering@redhat.com>
19199
19200         announce-gen: fail if the NEWS delta is empty
19201         If there's nothing noteworthy in NEWS, then either you forgot
19202         or you shouldn't be releasing.
19203         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
19204
19205 2011-05-17  Pádraig Brady <P@draigBrady.com>
19206
19207         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
19208         reserved symbols starting with double underscore from the check.
19209
19210 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19211
19212         intprops: add doc
19213         * doc/intprops.texi: New file, documenting intprops.
19214         * doc/gnulib.texi (Particular Modules): Include it.
19215
19216         verify: add doc to gnulib manual and fix example
19217         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
19218         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
19219         (Compile-time Assertions): Fix example so it can't overflow.
19220
19221 2011-05-17  Jim Meyering  <meyering@redhat.com>
19222
19223         warnings.m4: don't usurp save_CPPFLAGS variable name
19224         * m4/warnings.m4: Prefix local temporary variable name with gl_.
19225
19226         doc: fix typo
19227         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
19228
19229 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19230             Bruno Haible  <bruno@clisp.org>
19231
19232         doc: Tweak recent change.
19233         * README (Portability guidelines): Tweak new text.
19234         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
19235         Interix 6.1.
19236
19237 2011-05-16  Eric Blake  <eblake@redhat.com>
19238
19239         inttypes: avoid autoconf warning
19240         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
19241         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19242
19243 2011-05-16  Sam Steingold <sds@gnu.org>
19244         and Eric Blake  <eblake@redhat.com>
19245
19246         vc-list-files: accept multiple directory operands
19247         * build-aux/vc-list-files: Iterate over all remaining operands.
19248
19249 2011-05-16  Bruno Haible  <bruno@clisp.org>
19250
19251         Fix confusion regarding deprecated modules.
19252         * modules/calloc (Status, Notice): Mark module as deprecated, not
19253         obsolete.
19254         * modules/fnmatch-posix (Status, Notice): Likewise.
19255         * modules/getdate (Status, Notice): Likewise.
19256         * modules/getopt (Status, Notice): Likewise.
19257         * modules/malloc (Status, Notice): Likewise.
19258         * modules/pipe (Status, Notice): Likewise.
19259         * modules/realloc (Status, Notice): Likewise.
19260         * modules/rename-dest-slash (Status, Notice): Likewise.
19261         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
19262         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
19263         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
19264         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
19265         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
19266
19267 2011-05-16  Bruno Haible  <bruno@clisp.org>
19268
19269         doc: List the target platforms.
19270         * doc/gnulib-intro.texi (Target Platforms): New section.
19271         * doc/gnulib.texi (Introduction): Update menu.
19272         * README (Portability guidelines): Refer to the new section. Update
19273         statement about oldest supported environment. Remove rationale why
19274         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
19275         unportable C89 function.
19276         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
19277         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
19278
19279 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19280
19281         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
19282
19283 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
19284
19285         intprops-tests: new module
19286         * modules/intprops-tests, tests/test-intprops.c: New files.
19287
19288         intprops: add safe, portable integer overflow checking
19289         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
19290         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
19291         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
19292         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
19293         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
19294         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
19295         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
19296         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
19297         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
19298         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
19299         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
19300
19301 2011-05-12  James Youngman  <jay@gnu.org>
19302
19303         Add a test for glibc's Bugzilla bug #12378.
19304         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
19305         doesn't allow the literal matching of a lone "[" (which is
19306         required by POSIX).
19307         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
19308
19309 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
19310
19311         Sync glibc change fixing Bugzilla bug #12378.
19312         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
19313         beginning and fall back to matching as normal character if the
19314         string ends before the matching ']' is found.  This is what POSIX
19315         requires.
19316
19317 2011-05-13  Eric Blake  <eblake@redhat.com>
19318
19319         getcwd-lgpl: relax test for FreeBSD
19320         * doc/posix-functions/getcwd.texi (getcwd): Document portability
19321         issue.
19322         * tests/test-getcwd-lgpl.c (main): Relax test.
19323         Reported by Matthias Bolte.
19324
19325 2011-05-11  Eric Blake  <eblake@redhat.com>
19326
19327         test-fflush: silence compiler warning
19328         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
19329
19330 2011-05-11  Bruno Haible  <bruno@clisp.org>
19331
19332         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
19333         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
19334         * modules/canonicalize (Depends-on): Add 'nocrash'.
19335         * modules/canonicalize-lgpl (Depends-on): Likewise.
19336         * doc/posix-functions/realpath.texi: Update platforms list.
19337         Reported by Ryan Schmidt <ryandesign@macports.org>.
19338
19339 2011-05-11  Bruno Haible  <bruno@clisp.org>
19340
19341         group-member: Declare function in <unistd.h>.
19342         * lib/unistd.in.h (group_member): New declaration.
19343         * lib/group-member.h: Remove file.
19344         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
19345         * tests/test-unistd-c++.cc: Check signature of group_member.
19346         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
19347         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
19348         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
19349         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
19350         HAVE_GROUP_MEMBER.
19351         * modules/group-member (Files): Remove lib/group-member.h.
19352         (Depends-on): Add unistd. Specify conditions.
19353         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
19354         (Include): Change to <unistd.h>.
19355         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
19356         HAVE_GROUP_MEMBER.
19357         * NEWS: Mention the change.
19358         * lib/euidaccess.c: Don't include group-member.h.
19359
19360 2011-05-11  Bruno Haible  <bruno@clisp.org>
19361
19362         group-member: Document module.
19363         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
19364         module.
19365
19366 2011-05-11  Bruno Haible  <bruno@clisp.org>
19367
19368         fclose: Fix mistake earlier today.
19369         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
19370
19371 2011-05-11  Eric Blake  <eblake@redhat.com>
19372
19373         fclose: preserve fflush errors
19374         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
19375         Reported by Jim Meyering.
19376
19377         bootstrap: support a prereq of 'rpcgen -' on RHEL5
19378         * build-aux/bootstrap (check_versions): When no specific version
19379         is required, merely check that the app produces an exit status
19380         that indicates its existence.
19381
19382         maint.mk: drop redundant check
19383         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
19384         the same but better.
19385
19386 2011-05-11  Bruno Haible  <bruno@clisp.org>
19387
19388         fclose: Fix possible link error.
19389         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
19390         unregister_shadow_fd. Improve comments.
19391         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
19392         Eric Blake.
19393
19394 2011-05-11  Jim Meyering  <meyering@redhat.com>
19395
19396         maint.mk: improve "can not" detection and generalize rule name
19397         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
19398         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
19399         Use the same technique as in sc_prohibit_doubled_word, so that
19400         we recognize "can not" also when the words are separated by a newline.
19401         Suggested by Eric Blake.
19402         (perl_filename_lineno_text_): Define.  Factored out of...
19403         (prohibit_doubled_word_): ...here.  Use the new definition.
19404         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
19405         (prohibit_undesirable_word_seq_RE_): New overridable variable.
19406         (ignore_undesirable_word_sequence_RE_): New overridable variable.
19407
19408 2011-05-10  Eric Blake  <eblake@redhat.com>
19409
19410         fclose: avoid double close race when possible
19411         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
19412         all but WINDOWS_SOCKETS.
19413
19414 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
19415
19416         openat: correct new comment
19417         * lib/openat-proc.c (openat_proc_name): Correct the comment.
19418
19419 2011-05-10  Jim Meyering  <meyering@redhat.com>
19420
19421         openat: add comments
19422         * lib/openat-proc.c (openat_proc_name): Add comments,
19423         mostly from Eric Blake.
19424
19425 2011-05-09  Eric Blake  <eblake@redhat.com>
19426
19427         openat: reduce syscalls in first probe of /proc
19428         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
19429         be a directory.  Simplify the probe for .. bugs.
19430         * modules/openat (Depends-on): Drop same-inode.
19431         Reported by Bastien ROUCARIES.
19432
19433 2011-05-09  Jim Meyering  <meyering@redhat.com>
19434
19435         maint.mk: change semantics/name of tight_scope variables
19436         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
19437         Rename variables to align with semantics that make them more useful.
19438
19439         maint.mk: tweak new rule's name not to impinge
19440         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
19441         (sc_tight_scope): Use new rule name rather than $@-0.
19442
19443         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
19444         * top/maint.mk (sc_tight_scope): New rule.
19445         (sc_tight_scope-0): New rule, ifdef'd out.
19446         (_gl_TS_dir): Default.
19447         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
19448         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
19449
19450 2011-05-09  Simon Josefsson  <simon@josefsson.org>
19451
19452         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
19453         Haible <bruno@clisp.org>.
19454
19455 2011-05-08  Bruno Haible  <bruno@clisp.org>
19456
19457         Comments.
19458         * m4/isnanf.m4: Add comment.
19459         * m4/isnanl.m4: Likewise.
19460
19461 2011-05-08  Bruno Haible  <bruno@clisp.org>
19462
19463         glob: Remove obsolete macro.
19464         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
19465
19466 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
19467
19468         intprops: Sun C 5.11 supports __typeof__
19469         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
19470         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
19471         which is new.
19472         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
19473
19474         intprops: switch to usual gnulib indenting and naming
19475         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
19476         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
19477
19478         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
19479
19480 2011-05-08  Jim Meyering  <meyering@redhat.com>
19481
19482         maint.mk: suppress "Entering/Leaving directory" diag in announcement
19483         * top/maint.mk (release-prep): Use make's --no-print-directory
19484         option when generating the announcement.  This eliminates the
19485         pesky "make[2]: Entering/Leaving directory" diagnostics in the
19486         generated announcement template.
19487
19488 2011-05-08  Bruno Haible  <bruno@clisp.org>
19489
19490         tzset: Fix gettimeofday wrapper on Solaris 2.6.
19491         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
19492         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
19493
19494 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19495
19496         ignore-value, verify: Omit include files from lib_SOURCES.
19497         * modules/ignore-value, modules/verify (Makefile.am):
19498         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
19499         that leads Automake to duplicate use of am__objects_... variables
19500         in Makefile.in.  See
19501         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
19502
19503 2011-05-07  Bruno Haible  <bruno@clisp.org>
19504
19505         fclose: Simplify autoconf macro.
19506         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
19507         defined.
19508
19509 2011-05-07  Bruno Haible  <bruno@clisp.org>
19510
19511         canonicalize-lgpl: Fix autoconf macro ordering bug.
19512         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
19513         gl_STDLIB_H_DEFAULTS.
19514
19515 2011-05-06  Eric Blake  <eblake@redhat.com>
19516
19517         maintainer-makefile: make sc_po_check easier to tune
19518         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
19519         to probe for strings, such as an alternate location for gnulib.
19520
19521         fclose: guarantee behavior on seekable stdin
19522         * modules/fclose (Depends-on): Add fflush.
19523         * doc/posix-functions/fclose.texi (fclose): Document this.
19524         * tests/test-fclose.c (main): Make test for this unconditional.
19525
19526 2011-05-06  Bruno Haible  <bruno@clisp.org>
19527
19528         fflush, fpurge: Relicense under LGPLv2+.
19529         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
19530         * modules/fpurge (License): Likewise.
19531         With permission from Eric Blake and Jim Meyering.
19532         Suggested by Eric Blake.
19533
19534 2011-05-06  Karl Berry  <karl@gnu.org>
19535
19536         * MODULES.html.sh (func_all_modules): remove exit.
19537
19538 2011-05-06  Jim Meyering  <meyering@redhat.com>
19539
19540         maint.mk: use info-gnu@ as the default only for a stable release
19541         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
19542         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
19543         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
19544         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
19545
19546 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
19547
19548         assert-h: new module, which supports C1X-style static_assert
19549         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
19550         * lib/verify.h: Revamp so that this can be copied into assert.h,
19551         while retaining the ability to use it standalone as before.
19552         Rename private identifiers so as not to encroach on the
19553         standard C namespace, since this is now used by assert.h.
19554         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
19555         the old verify_true.
19556         (_GL_VERIFY_TRUE): New macro, with much of the contents of
19557         the old verify_true.  Use _GL_VERIFY_TYPE.
19558         (_GL_VERIFY): New macro, with much of the contents of the old verify.
19559         (static_assert): New macro, if _GL_STATIC_ASSERT_H
19560         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
19561         defined when this file is copied into the replacement assert.h.
19562         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
19563         and _Static_assert is not built in.
19564         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
19565         defined, and use the new macros mentioned above.
19566         * doc/posix-headers/assert.texi: Document this.
19567
19568 2011-05-05  Bruno Haible  <bruno@clisp.org>
19569
19570         fclose, fflush: Respect rules for use of AC_LIBOBJ.
19571         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
19572         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
19573         gl_REPLACE_FCLOSE here.
19574         * modules/fflush (Depends-on): Remove fclose.
19575         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
19576         combination with module 'fclose'.
19577
19578 2011-05-05  Bruno Haible  <bruno@clisp.org>
19579
19580         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
19581         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
19582         gl_FUNC_FFLUSH.
19583         (gl_FUNC_FFLUSH): Use it.
19584         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
19585         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
19586         gl_REPLACE_FSEEKO here.
19587
19588 2011-05-05  Bruno Haible  <bruno@clisp.org>
19589
19590         tzset: Relicense under LGPL.
19591         * modules/tzset (License): Change to LGPL.
19592         No agreement needed; it's a no-op.
19593
19594         strtoimax, strtoumax: Relicense under LGPL.
19595         * modules/strtoimax (License): Change to LGPL.
19596         * modules/strtoumax (License): Likewise.
19597         With permission from Jim Meyering, Paul Eggert:
19598         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
19599         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
19600
19601         getgroups: Relicense under LGPL.
19602         * modules/getgroups (License): Change to LGPL.
19603         With permission from Jim Meyering, Paul Eggert, Eric Blake:
19604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
19605         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
19606         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
19607
19608         nanosleep: Relicense under LGPL.
19609         * modules/nanosleep (License): Change to LGPL.
19610         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
19611         Haible:
19612         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
19613         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
19614         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
19615         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
19616
19617         futimens: Relicense under LGPL.
19618         * modules/futimens (License): Change to LGPL.
19619         With permission from Eric Blake:
19620         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
19621
19622         fflush: Relicense under LGPL.
19623         * modules/fflush (License): Change to LGPL.
19624         With permission from Eric Blake, Bruno Haible, Jim Meyering:
19625         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
19626         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
19627         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
19628
19629         tmpfile: Relicense under LGPL.
19630         * modules/tmpfile (License): Change to LGPL.
19631         With permission from Ben Pfaff:
19632         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
19633
19634         isfinite: Relicense under LGPL.
19635         * modules/isfinite (License): Change to LGPL.
19636         With permission from Ben Pfaff, Bruno Haible:
19637         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
19638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
19639
19640         acosl..tanl: Relicense under LGPL.
19641         * modules/acosl (License): Change to LGPL.
19642         * modules/asinl (License): Likewise.
19643         * modules/atanl (License): Likewise.
19644         * modules/cosl (License): Likewise.
19645         * modules/expl (License): Likewise.
19646         * modules/logl (License): Likewise.
19647         * modules/sinl (License): Likewise.
19648         * modules/sqrtl (License): Likewise.
19649         * modules/tanl (License): Likewise.
19650         Source code originally from glibc and Paolo Bonzini. Agreements:
19651         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
19652         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
19653
19654 2011-05-05  Bruno Haible  <bruno@clisp.org>
19655
19656         signal: Define sighandler_t.
19657         * lib/signal.in.h (sighandler_t): New type.
19658         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
19659         whether sighandler_t is defined.
19660         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
19661         * modules/signal (Depends-on): Add extensions.
19662         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
19663         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
19664         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
19665
19666 2011-05-05  Eric Blake  <eblake@redhat.com>
19667
19668         maint: remove useless REPLACE_*_H macros
19669         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
19670         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
19671         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
19672         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
19673         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
19674         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
19675         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
19676         * m4/btowc.m4: Update callers.
19677         * m4/dirfd.m4: Likewise.
19678         * m4/duplocale.m4: Likewise.
19679         * m4/fchdir.m4: Likewise.
19680         * m4/fdopendir.m4: Likewise.
19681         * m4/inet_ntop.m4: Likewise.
19682         * m4/inet_pton.m4: Likewise.
19683         * m4/ioctl.m4: Likewise.
19684         * m4/mbrlen.m4: Likewise.
19685         * m4/mbrtowc.m4: Likewise.
19686         * m4/mbsinit.m4: Likewise.
19687         * m4/mbsnrtowcs.m4: Likewise.
19688         * m4/mbsrtowcs.m4: Likewise.
19689         * m4/poll.m4: Likewise.
19690         * m4/setlocale.m4: Likewise.
19691         * m4/wcrtomb.m4: Likewise.
19692         * m4/wcsnrtombs.m4: Likewise.
19693         * m4/wcsrtombs.m4: Likewise.
19694         * m4/wctob.m4: Likewise.
19695         * m4/wcwidth.m4: Likewise.
19696         * modules/posix_spawn: Likewise.
19697         * modules/posix_spawn_file_actions_addclose: Likewise.
19698         * modules/posix_spawn_file_actions_adddup2: Likewise.
19699         * modules/posix_spawn_file_actions_addopen: Likewise.
19700         * modules/posix_spawn_file_actions_destroy: Likewise.
19701         * modules/posix_spawn_file_actions_init: Likewise.
19702         * modules/posix_spawnattr_destroy: Likewise.
19703         * modules/posix_spawnattr_getflags: Likewise.
19704         * modules/posix_spawnattr_getpgroup: Likewise.
19705         * modules/posix_spawnattr_getschedparam: Likewise.
19706         * modules/posix_spawnattr_getschedpolicy: Likewise.
19707         * modules/posix_spawnattr_getsigdefault: Likewise.
19708         * modules/posix_spawnattr_getsigmask: Likewise.
19709         * modules/posix_spawnattr_init: Likewise.
19710         * modules/posix_spawnattr_setflags: Likewise.
19711         * modules/posix_spawnattr_setpgroup: Likewise.
19712         * modules/posix_spawnattr_setschedparam: Likewise.
19713         * modules/posix_spawnattr_setschedpolicy: Likewise.
19714         * modules/posix_spawnattr_setsigdefault: Likewise.
19715         * modules/posix_spawnattr_setsigmask: Likewise.
19716         * modules/posix_spawnp: Likewise.
19717
19718 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
19719
19720         Add option to do-release-commit-and-tag to specify branch.
19721         * build-aux/do-release-commit-and-tag: Add --branch.
19722
19723 2011-05-03  Bruno Haible  <bruno@clisp.org>
19724
19725         Avoid unnecessary compilation units, through conditional dependencies.
19726         * modules/accept (Depends-on): Add conditions to the dependencies.
19727         * modules/acosl (Depends-on): Likewise.
19728         * modules/argz (Depends-on): Likewise.
19729         * modules/asinl (Depends-on): Likewise.
19730         * modules/atanl (Depends-on): Likewise.
19731         * modules/atoll (Depends-on): Likewise.
19732         * modules/bind (Depends-on): Likewise.
19733         * modules/btowc (Depends-on): Likewise.
19734         * modules/canonicalize-lgpl (Depends-on): Likewise.
19735         * modules/ceil (Depends-on): Likewise.
19736         * modules/ceilf (Depends-on): Likewise.
19737         * modules/ceill (Depends-on): Likewise.
19738         * modules/chdir-long (Depends-on): Likewise.
19739         * modules/chown (Depends-on): Likewise.
19740         * modules/close (Depends-on): Likewise.
19741         * modules/connect (Depends-on): Likewise.
19742         * modules/cosl (Depends-on): Likewise.
19743         * modules/dirfd (Depends-on): Likewise.
19744         * modules/dprintf (Depends-on): Likewise.
19745         * modules/dprintf-posix (Depends-on): Likewise.
19746         * modules/error (Depends-on): Likewise.
19747         * modules/euidaccess (Depends-on): Likewise.
19748         * modules/expl (Depends-on): Likewise.
19749         * modules/faccessat (Depends-on): Likewise.
19750         * modules/fchdir (Depends-on): Likewise.
19751         * modules/fclose (Depends-on): Likewise.
19752         * modules/fcntl (Depends-on): Likewise.
19753         * modules/fdopendir (Depends-on): Likewise.
19754         * modules/fflush (Depends-on): Likewise.
19755         * modules/floor (Depends-on): Likewise.
19756         * modules/floorf (Depends-on): Likewise.
19757         * modules/floorl (Depends-on): Likewise.
19758         * modules/fnmatch (Depends-on): Likewise.
19759         * modules/fopen (Depends-on): Likewise.
19760         * modules/fprintf-posix (Depends-on): Likewise.
19761         * modules/frexp (Depends-on): Likewise.
19762         * modules/frexp-nolibm (Depends-on): Likewise.
19763         * modules/frexpl (Depends-on): Likewise.
19764         * modules/frexpl-nolibm (Depends-on): Likewise.
19765         * modules/fseek (Depends-on): Likewise.
19766         * modules/fsusage (Depends-on): Likewise.
19767         * modules/ftell (Depends-on): Likewise.
19768         * modules/ftello (Depends-on): Likewise.
19769         * modules/futimens (Depends-on): Likewise.
19770         * modules/getcwd (Depends-on): Likewise.
19771         * modules/getcwd-lgpl (Depends-on): Likewise.
19772         * modules/getdelim (Depends-on): Likewise.
19773         * modules/getdomainname (Depends-on): Likewise.
19774         * modules/getgroups (Depends-on): Likewise.
19775         * modules/gethostname (Depends-on): Likewise.
19776         * modules/getline (Depends-on): Likewise.
19777         * modules/getlogin_r (Depends-on): Likewise.
19778         * modules/getopt-posix (Depends-on): Likewise.
19779         * modules/getpeername (Depends-on): Likewise.
19780         * modules/getsockname (Depends-on): Likewise.
19781         * modules/getsockopt (Depends-on): Likewise.
19782         * modules/getsubopt (Depends-on): Likewise.
19783         * modules/getusershell (Depends-on): Likewise.
19784         * modules/glob (Depends-on): Likewise.
19785         * modules/grantpt (Depends-on): Likewise.
19786         * modules/iconv_open (Depends-on): Likewise.
19787         * modules/iconv_open-utf (Depends-on): Likewise.
19788         * modules/inet_ntop (Depends-on): Likewise.
19789         * modules/inet_pton (Depends-on): Likewise.
19790         * modules/ioctl (Depends-on): Likewise.
19791         * modules/isapipe (Depends-on): Likewise.
19792         * modules/isfinite (Depends-on): Likewise.
19793         * modules/isinf (Depends-on): Likewise.
19794         * modules/lchown (Depends-on): Likewise.
19795         * modules/ldexpl (Depends-on): Likewise.
19796         * modules/link (Depends-on): Likewise.
19797         * modules/linkat (Depends-on): Likewise.
19798         * modules/listen (Depends-on): Likewise.
19799         * modules/logl (Depends-on): Likewise.
19800         * modules/lstat (Depends-on): Likewise.
19801         * modules/mbrlen (Depends-on): Likewise.
19802         * modules/mbrtowc (Depends-on): Likewise.
19803         * modules/mbsinit (Depends-on): Likewise.
19804         * modules/mbsnrtowcs (Depends-on): Likewise.
19805         * modules/mbsrtowcs (Depends-on): Likewise.
19806         * modules/mbtowc (Depends-on): Likewise.
19807         * modules/memcmp (Depends-on): Likewise.
19808         * modules/mkdir (Depends-on): Likewise.
19809         * modules/mkdtemp (Depends-on): Likewise.
19810         * modules/mkfifo (Depends-on): Likewise.
19811         * modules/mkfifoat (Depends-on): Likewise.
19812         * modules/mknod (Depends-on): Likewise.
19813         * modules/mkostemp (Depends-on): Likewise.
19814         * modules/mkostemps (Depends-on): Likewise.
19815         * modules/mkstemp (Depends-on): Likewise.
19816         * modules/mkstemps (Depends-on): Likewise.
19817         * modules/mktime (Depends-on): Likewise.
19818         * modules/nanosleep (Depends-on): Likewise.
19819         * modules/open (Depends-on): Likewise.
19820         * modules/openat (Depends-on): Likewise.
19821         * modules/perror (Depends-on): Likewise.
19822         * modules/poll (Depends-on): Likewise.
19823         * modules/popen (Depends-on): Likewise.
19824         * modules/posix_spawn (Depends-on): Likewise.
19825         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
19826         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
19827         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
19828         * modules/posix_spawnp (Depends-on): Likewise.
19829         * modules/pread (Depends-on): Likewise.
19830         * modules/printf-posix (Depends-on): Likewise.
19831         * modules/ptsname (Depends-on): Likewise.
19832         * modules/putenv (Depends-on): Likewise.
19833         * modules/pwrite (Depends-on): Likewise.
19834         * modules/readline (Depends-on): Likewise.
19835         * modules/readlink (Depends-on): Likewise.
19836         * modules/readlinkat (Depends-on): Likewise.
19837         * modules/recv (Depends-on): Likewise.
19838         * modules/recvfrom (Depends-on): Likewise.
19839         * modules/regex (Depends-on): Likewise.
19840         * modules/remove (Depends-on): Likewise.
19841         * modules/rename (Depends-on): Likewise.
19842         * modules/renameat (Depends-on): Likewise.
19843         * modules/rmdir (Depends-on): Likewise.
19844         * modules/round (Depends-on): Likewise.
19845         * modules/roundf (Depends-on): Likewise.
19846         * modules/roundl (Depends-on): Likewise.
19847         * modules/rpmatch (Depends-on): Likewise.
19848         * modules/select (Depends-on): Likewise.
19849         * modules/send (Depends-on): Likewise.
19850         * modules/sendto (Depends-on): Likewise.
19851         * modules/setenv (Depends-on): Likewise.
19852         * modules/setlocale (Depends-on): Likewise.
19853         * modules/setsockopt (Depends-on): Likewise.
19854         * modules/shutdown (Depends-on): Likewise.
19855         * modules/sigaction (Depends-on): Likewise.
19856         * modules/signbit (Depends-on): Likewise.
19857         * modules/sigprocmask (Depends-on): Likewise.
19858         * modules/sinl (Depends-on): Likewise.
19859         * modules/sleep (Depends-on): Likewise.
19860         * modules/snprintf (Depends-on): Likewise.
19861         * modules/snprintf-posix (Depends-on): Likewise.
19862         * modules/socket (Depends-on): Likewise.
19863         * modules/sprintf-posix (Depends-on): Likewise.
19864         * modules/sqrtl (Depends-on): Likewise.
19865         * modules/stat (Depends-on): Likewise.
19866         * modules/strchrnul (Depends-on): Likewise.
19867         * modules/strdup-posix (Depends-on): Likewise.
19868         * modules/strerror (Depends-on): Likewise.
19869         * modules/strerror_r-posix (Depends-on): Likewise.
19870         * modules/strndup (Depends-on): Likewise.
19871         * modules/strnlen (Depends-on): Likewise.
19872         * modules/strptime (Depends-on): Likewise.
19873         * modules/strsep (Depends-on): Likewise.
19874         * modules/strsignal (Depends-on): Likewise.
19875         * modules/strstr-simple (Depends-on): Likewise.
19876         * modules/strtod (Depends-on): Likewise.
19877         * modules/strtoimax (Depends-on): Likewise.
19878         * modules/strtok_r (Depends-on): Likewise.
19879         * modules/strtoumax (Depends-on): Likewise.
19880         * modules/symlink (Depends-on): Likewise.
19881         * modules/symlinkat (Depends-on): Likewise.
19882         * modules/tanl (Depends-on): Likewise.
19883         * modules/tcgetsid (Depends-on): Likewise.
19884         * modules/tmpfile (Depends-on): Likewise.
19885         * modules/trunc (Depends-on): Likewise.
19886         * modules/truncf (Depends-on): Likewise.
19887         * modules/truncl (Depends-on): Likewise.
19888         * modules/uname (Depends-on): Likewise.
19889         * modules/unlink (Depends-on): Likewise.
19890         * modules/unlockpt (Depends-on): Likewise.
19891         * modules/unsetenv (Depends-on): Likewise.
19892         * modules/usleep (Depends-on): Likewise.
19893         * modules/utimensat (Depends-on): Likewise.
19894         * modules/vasprintf (Depends-on): Likewise.
19895         * modules/vdprintf (Depends-on): Likewise.
19896         * modules/vdprintf-posix (Depends-on): Likewise.
19897         * modules/vfprintf-posix (Depends-on): Likewise.
19898         * modules/vprintf-posix (Depends-on): Likewise.
19899         * modules/vsnprintf (Depends-on): Likewise.
19900         * modules/vsnprintf-posix (Depends-on): Likewise.
19901         * modules/vsprintf-posix (Depends-on): Likewise.
19902         * modules/wcrtomb (Depends-on): Likewise.
19903         * modules/wcscasecmp (Depends-on): Likewise.
19904         * modules/wcscspn (Depends-on): Likewise.
19905         * modules/wcsdup (Depends-on): Likewise.
19906         * modules/wcsncasecmp (Depends-on): Likewise.
19907         * modules/wcsnrtombs (Depends-on): Likewise.
19908         * modules/wcspbrk (Depends-on): Likewise.
19909         * modules/wcsrtombs (Depends-on): Likewise.
19910         * modules/wcsspn (Depends-on): Likewise.
19911         * modules/wcsstr (Depends-on): Likewise.
19912         * modules/wcstok (Depends-on): Likewise.
19913         * modules/wcswidth (Depends-on): Likewise.
19914         * modules/wctob (Depends-on): Likewise.
19915         * modules/wctomb (Depends-on): Likewise.
19916         * modules/wctype (Depends-on): Likewise.
19917         * modules/wcwidth (Depends-on): Likewise.
19918         * modules/write (Depends-on): Likewise.
19919
19920 2011-05-03  Bruno Haible  <bruno@clisp.org>
19921
19922         Support for conditional dependencies.
19923         * doc/gnulib.texi (Module description): Document the syntax of
19924         conditional dependencies.
19925         * gnulib-tool: New option --conditional-dependencies.
19926         (func_usage): Document it.
19927         (cond_dependencies): New variable.
19928         (func_get_automake_snippet_conditional,
19929         func_get_automake_snippet_unconditional): New functions, extracted from
19930         func_get_automake_snippet.
19931         (func_get_automake_snippet): Use them.
19932         (sed_first_32_chars): New variable.
19933         (func_module_shellfunc_name): New function.
19934         (func_module_shellvar_name): New function.
19935         (func_module_conditional_name): New function.
19936         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
19937         func_cond_module_condition): New functions.
19938         (func_modules_transitive_closure): Add support for conditional
19939         dependencies.
19940         (func_emit_lib_Makefile_am): For a conditional module, enclose the
19941         conditional automake snippet in an automake conditional.
19942         (func_emit_autoconf_snippets): Emit shell functions that contain the
19943         code for conditional modules.
19944         (func_import, func_create_testdir): Update specification.
19945
19946 2011-05-03  Eric Blake  <eblake@redhat.com>
19947
19948         test-getaddrinfo: report error information
19949         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
19950
19951 2011-05-03  Jim Meyering  <meyering@redhat.com>
19952
19953         bootstrap: avoid build failure when $GZIP is set
19954         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
19955         program name.  If defined at all, it is supposed to list gzip options.
19956         Reported by Alan Curry in http://debbugs.gnu.org/8609
19957
19958 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
19959
19960         readme-release: new module with release instructions
19961         * modules/readme-release: New module.
19962         * top/README-release: New file, from coreutils, grep, diffutils.
19963         * MODULES.html.sh (Support for maintaining and releasing): Add it.
19964
19965 2011-05-02  Eric Blake  <eblake@redhat.com>
19966
19967         fflush: also replace fclose when fixing fflush
19968         * modules/fflush (Depends-on): Add fclose.
19969         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
19970         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
19971         memstreams with no backing fd.
19972         * doc/posix-functions/fclose.texi (fclose): Document the use of
19973         fflush module to fix the bug.
19974         * tests/test-fclose.c (main): Relax test when fclose is used in
19975         isolation.
19976
19977         fclose: add some tests
19978         * modules/fclose-tests: New test module.
19979         * tests/test-fclose.c: New file.
19980         * doc/posix-functions/fclose.texi (fclose): Document the bug.
19981
19982         fclose: reduced dependencies
19983         * modules/fclose (Depends-on): Switch from fflush/fseeko to
19984         simpler lseek.
19985         * lib/fclose.c (rpl_fclose): Likewise.
19986         Reported by Simon Josefsson.
19987
19988         exit: drop remaining clients
19989         * modules/argmatch (Depends-on): Replace exit with stdlib.
19990         * modules/copy-file (Depends-on): Likewise.
19991         * modules/execute (Depends-on): Likewise.
19992         * modules/exitfail (Depends-on): Likewise.
19993         * modules/obstack (Depends-on): Likewise.
19994         * modules/pagealign_alloc (Depends-on): Likewise.
19995         * modules/pipe-filter-gi (Depends-on): Likewise.
19996         * modules/pipe-filter-ii (Depends-on): Likewise.
19997         * modules/savewd (Depends-on): Likewise.
19998         * modules/spawn-pipe (Depends-on): Likewise.
19999         * modules/wait-process (Depends-on): Likewise.
20000         * modules/xsetenv (Depends-on): Likewise.
20001         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
20002         * modules/git-merge-changelog (Depends-on): Likewise.
20003         * modules/long-options (Depends-on): Likewise.
20004         * modules/pt_chown (Depends-on): Likewise.
20005         * modules/sysexits (Depends-on): Likewise.
20006
20007         freading: relax license from LGPLv3+ to LGPLv2+
20008         * modules/freading (License): Relax LGPL version.
20009
20010 2011-05-02  Bruno Haible  <bruno@clisp.org>
20011
20012         fchdir: Remove unused dependencies.
20013         * modules/fchdir (Depends-on): Remove include_next.
20014
20015 2011-05-02  Bruno Haible  <bruno@clisp.org>
20016
20017         gnulib-tool: Refactor.
20018         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
20019         from func_emit_autoconf_snippets.
20020         (func_emit_autoconf_snippets): Use it.
20021
20022 2011-05-02  Simon Josefsson  <simon@josefsson.org>
20023
20024         * NEWS: Document removal of 'exit'.
20025         * modules/exit: Remove file.
20026
20027 2011-05-01  Bruno Haible  <bruno@clisp.org>
20028
20029         Update DEPENDENCIES.
20030         * DEPENDENCIES (gettext): Recommend the newest release.
20031         Reported by Simon Josefsson.
20032
20033 2011-05-01  Bruno Haible  <bruno@clisp.org>
20034
20035         gnulib-tool: Reduce code duplication.
20036         * gnulib-tool (func_emit_autoconf_snippets): New function.
20037         (func_import, func_create_testdir): Use it.
20038
20039 2011-04-30  Eric Blake  <eblake@redhat.com>
20040
20041         fclose: don't fail on non-seekable input stream
20042         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
20043         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
20044         since fflush is allowed to fail in that case.
20045
20046 2011-04-30  Bruno Haible  <bruno@clisp.org>
20047
20048         dup3: cleanup
20049         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
20050
20051 2011-04-30  Bruno Haible  <bruno@clisp.org>
20052
20053         netdb: Make it work in C++ mode.
20054         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
20055         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
20056         module.
20057         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
20058         gl_MODULE_INDICATOR_FOR_TESTS.
20059         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
20060         * modules/netdb-c++-tests: New file.
20061         * tests/test-netdb-c++.cc: New file.
20062
20063 2011-04-30  Bruno Haible  <bruno@clisp.org>
20064
20065         New modules 'vfscanf', 'vscanf'.
20066         * modules/vfscanf: New file.
20067         * modules/vscanf: New file.
20068         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
20069         here.
20070         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
20071         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
20072
20073 2011-04-30  Bruno Haible  <bruno@clisp.org>
20074
20075         passfd: Add comments.
20076         * lib/passfd.c: Add comments about platforms.
20077
20078 2011-04-30  Bruno Haible  <bruno@clisp.org>
20079
20080         sys_uio: Make <sys/uio.h> self-contained.
20081         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
20082         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
20083
20084 2011-04-30  Bruno Haible  <bruno@clisp.org>
20085
20086         sys_socket: Ensure 'struct iovec' definition.
20087         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
20088         <sys/socket.h>.
20089         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
20090
20091 2011-04-30  Bruno Haible  <bruno@clisp.org>
20092
20093         sys_uio: Protect definition of 'struct iovec'.
20094         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
20095         it as a C struct.
20096
20097 2011-04-30  Bruno Haible  <bruno@clisp.org>
20098
20099         manywarnings: fix indentation
20100         * m4/manywarnings.m4: Indent by 2 spaces consistently.
20101
20102 2011-04-30  Pádraig Brady <P@draigBrady.com>
20103
20104         manywarnings: add -Wno-missing-field-initializers if needed.
20105         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
20106         option if it's needed to allow initialization with { 0, }
20107
20108 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
20109
20110         announce-gen: cosmetic improvement
20111         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
20112
20113 2011-04-29  Jim Meyering  <meyering@redhat.com>
20114
20115         vc-list-files: indent with spaces, not TABs
20116         * build-aux/vc-list-files: Convert leading TABs to spaces,
20117         to match the style of most other files in gnulib.
20118
20119         announce-gen: indent with spaces, not TABs
20120         * build-aux/announce-gen: Convert all TABs to spaces, to match
20121         the style of most other files in gnulib.
20122
20123 2011-04-29  Eric Blake  <eblake@redhat.com>
20124
20125         quotearg: avoid uninitialized variable use
20126         * lib/quotearg.c (quoting_options_from_style): Initialize
20127         remaining fields, and ensure that custom styles are only used via
20128         quoting_options rather than quoting_style.
20129
20130 2011-04-29  Jim Meyering  <meyering@redhat.com>
20131
20132         maint.mk: remove unused VC-tag variable
20133         * top/maint.mk (VC-tag): Remove unused variable.
20134
20135 2011-04-29  Bruno Haible  <bruno@clisp.org>
20136
20137         netdb: fix gai_strerror replacements
20138         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
20139         * modules/netdb: Substitute it.
20140
20141 2011-04-29  Jim Meyering  <meyering@redhat.com>
20142
20143         test-getcwd.c: avoid new set-but-not-used warning
20144         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
20145         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
20146         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
20147         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
20148
20149         test-hash.c: avoid a new shadowing warning
20150         * tests/test-hash.c (main): Don't shadow "dup".
20151
20152 2011-04-28  Eric Blake  <eblake@redhat.com>
20153
20154         getaddrinfo: fix gai_strerror signature
20155         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
20156         and work around mingw with UNICODE defined.
20157         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
20158         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
20159         * modules/netdb (Makefile.am): Substitute it.
20160         * lib/netdb.in.h (gai_strerror): Declare replacement.
20161         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
20162         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
20163         the fix.
20164
20165         getsockopt: avoid compiler warning
20166         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
20167         Reported by Matthias Bolte.
20168
20169         tests: drop unused link dependency
20170         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
20171         * modules/dirent-safer-tests (Makefile.am): Likewise.
20172         * modules/fdopendir-tests (Makefile.am): Likewise.
20173         * modules/mkfifoat-tests (Makefile.am): Likewise.
20174         * modules/openat-safer-tests (Makefile.am): Likewise.
20175         * modules/openat-tests (Makefile.am): Likewise.
20176         * modules/readlinkat-tests (Makefile.am): Likewise.
20177         * modules/symlinkat-tests (Makefile.am): Likewise.
20178         * modules/linkat-tests (Makefile.am): Likewise.
20179         (Depends-on): Switch to filenamecat-lgpl.
20180         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
20181         LIBINTL.
20182         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
20183         * tests/test-linkat.c (main): Don't require xalloc.
20184
20185         hash, mgetgroups: drop xalloc dependency
20186         * lib/hash.c (includes): Adjust includes.
20187         * lib/mgetgroups.c (includes): Likewise.
20188         (xgetgroups): Move...
20189         * lib/xgetgroups.c: ...to new file.
20190         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
20191         * modules/xgetgroups: New file, split from...
20192         * modules/mgetgroups: ...here.
20193         (Depends-on): Add xalloc-oversized.
20194         * modules/hash (Depends-on): Likewise.
20195         * modules/hash-tests (Depends-on): Drop xalloc.
20196         (test_hash_LDADD): Drop unused library.
20197         * tests/test-hash.c (main): Break xalloc dependency.
20198         (includes): Drop unused include.
20199
20200         xalloc-oversized: new module
20201         * modules/xalloc-oversized: New module.
20202         * modules/xalloc (Depends-on): Add it.
20203         * lib/xalloc.h (xalloc_oversized): Move...
20204         * lib/xalloc-oversized.h: ...into new file.
20205
20206         utimecmp: drop dependency on xmalloc
20207         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
20208         due to memory pressure.
20209         * modules/utimecmp (Depends-on): Drop xalloc.
20210
20211 2011-04-27  Eric Blake  <eblake@redhat.com>
20212
20213         getcwd: fix mingw bugs
20214         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
20215         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
20216         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
20217
20218 2011-04-27  Bruno Haible  <bruno@clisp.org>
20219
20220         mkstemps: Ensure declaration on MacOS X 10.5.
20221         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
20222         * doc/glibc-functions/mkstemps.texi: Document header file problem on
20223         MacOS X.
20224
20225 2011-04-27  Bruno Haible  <bruno@clisp.org>
20226
20227         mkstemp: More documentation.
20228         * doc/posix-functions/mkstemp.texi: Document header file problem on
20229         MacOS X.
20230
20231 2011-04-27  Bruno Haible  <bruno@clisp.org>
20232
20233         mkstemp: Tweak configure message when cross-compiling.
20234         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
20235         result as a guess.
20236
20237 2011-04-27  Bruno Haible  <bruno@clisp.org>
20238
20239         clean-temp: Clarify what it does.
20240         * lib/clean-temp.h: Add more comments.
20241         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
20242         module.
20243         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
20244         * doc/glibc-functions/mkstemps.texi: Likewise.
20245         * doc/glibc-functions/mkostemps.texi: Likewise.
20246
20247 2011-04-27  Eric Blake  <eblake@redhat.com>
20248
20249         fchdir: avoid extra chdir and fix test
20250         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
20251         getcwd-lgpl.
20252         * lib/fchdir.c (get_name): Any absolute name will do; it does not
20253         have to be canonical.
20254         (canonicalize_file_name): Drop unused macro.
20255         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
20256
20257         filenamecat-lgpl: fix licence
20258         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
20259         when it was first created.
20260
20261         linkat, renameat: add missing dependency
20262         * modules/linkat (Depends-on): Require getcwd-lgpl.
20263         * modules/renameat (Depends-on): Likewise.
20264
20265         tests: reduce dependencies
20266         * tests/test-linkat.c (main): Use lighter-weight getcwd.
20267         * tests/test-renameat.c (main): Likewise.
20268         * modules/linkat-tests (Depends-on): Relax dependency.
20269         * modules/renameat-tests (Depends-on): Likewise.
20270         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
20271         dependency explicit.
20272
20273         save-cwd: reduce default dependency
20274         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
20275         * lib/save-cwd.c: Update comments.
20276         * NEWS: Document the semantic change.
20277
20278         getcwd: enhance tests
20279         * tests/test-getcwd-lgpl.c: New file, taken from...
20280         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
20281         repeat long path stress tests from m4 probe.
20282         * modules/getcwd-lgpl-tests: New module.
20283         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
20284         * m4/getcwd-abort-bug.m4: Update comment.
20285         * m4/getcwd-path-max.m4: Likewise.
20286
20287         getcwd-lgpl: new module
20288         * modules/getcwd-lgpl: New module.
20289         * lib/getcwd-lgpl.c: New file.
20290         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20291         * MODULES.html.sh (lacking POSIX:2008): Likewise.
20292         * modules/getcwd (configure.ac): Set C witness.
20293         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
20294
20295         getcwd: tweak comments
20296         * m4/getcwd-abort-bug.m4: Fix comments.
20297         * m4/getcwd-path-max.m4: Likewise.
20298         * m4/getcwd.m4: Likewise.
20299
20300 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
20301         and Eric Blake  <eblake@redhat.com>
20302
20303         mkstemp: replace if system version uses wrong permissions
20304         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
20305         read/write mode bits set in file created by mkstemp.
20306         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
20307
20308 2011-04-27  Eric Blake  <eblake@redhat.com>
20309
20310         passfd: avoid compiler warning
20311         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
20312         Reported by Laine Stump.
20313
20314 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
20315
20316         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
20317         required by the NetBSD (and perhaps other 4.4BSD derived) join.
20318
20319 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
20320         and Eric Blake  <eblake@redhat.com>
20321
20322         mkstemp: mention clean-temp module
20323         * lib/mkstemp.c: Add comment.
20324         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
20325
20326 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
20327
20328         inttypes: also provide default values for 32-bit tests
20329         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
20330         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
20331
20332 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
20333
20334         strtoumax: remove dependency on strtoimax
20335         This is like the strtoull change of yesterday.
20336         * modules/strtoumax (Files): Add lib/strtoimax.c.
20337         (Depends-on): Remove strtoimax and add verify.
20338
20339         inttypes-incomplete: new module
20340         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
20341         all but the PRI* and SCN* parts of gl_INTTYPES_H.
20342         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
20343         of gl_INTTYPES_H.
20344         (gl_INTTYPES_H): Rewrite in terms of these new macros.
20345         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
20346         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
20347         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
20348         * modules/strtoumax, modules/xstrtol (Depends-on):
20349         Depend on inttypes-incomplete, not inttypes.
20350         * modules/inttypes-incomplete: New module, containing the contents
20351         of the old modules/inttypes module, except that the Files: section
20352         omits m4/inttypes-pri.m4, and the configure.ac section invokes
20353         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
20354         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
20355         (Depends-on): Depend only on inttypes-incomplete.
20356         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
20357
20358         inttypes: omit now-redundant strtoimax and strtoumax work
20359         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
20360         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
20361
20362         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
20363         This supports apps that need pointers to strtoimax and strtoumax,
20364         and ports to HP-UX 11.00 64.bit, which has macros that expand to
20365         nonexistent functions.  See
20366         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
20367         et seq.
20368         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
20369         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
20370         a macro.
20371         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
20372
20373 2011-04-25  Simon Josefsson  <simon@josefsson.org>
20374
20375         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
20376
20377 2011-04-25  Bruno Haible  <bruno@clisp.org>
20378
20379         strtol, strtoul: Mark modules as obsolete.
20380         * modules/strtol (Status, Notice): New sections.
20381         * modules/strtoul (Status, Notice): New sections.
20382
20383 2011-04-25  Bruno Haible  <bruno@clisp.org>
20384
20385         strtod: Remove check for strtod, unless supporting old platforms.
20386         * modules/strtod-obsolete: New file.
20387         * m4/strtod-obsolete.m4: New file.
20388         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
20389         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
20390         * modules/strtod (Depends-on): Add strtod-obsolete.
20391         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
20392
20393 2011-04-25  Bruno Haible  <bruno@clisp.org>
20394
20395         strcase: Make module obsolete.
20396         * modules/strcase (Status, Notice): New sections.
20397
20398 2011-04-25  Bruno Haible  <bruno@clisp.org>
20399
20400         dup2: Remove check for dup2, unless supporting old obsolete platforms.
20401         * modules/dup2-obsolete: New file.
20402         * m4/dup2-obsolete.m4: New file.
20403         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
20404         gl_FUNC_DUP2_OBSOLETE is not also defined.
20405         * modules/dup2 (Depends-on): Add dup2-obsolete.
20406         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
20407
20408 2011-04-25  Bruno Haible  <bruno@clisp.org>
20409
20410         strnlen: Avoid memchr related link error on old obsolete platforms.
20411         * modules/memchr-obsolete: New file.
20412         * m4/memchr-obsolete.m4: New file.
20413         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
20414         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
20415         * modules/memchr (Depends-on): Add memchr-obsolete.
20416         * modules/strnlen (Depends-on): Likewise.
20417         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
20418
20419 2011-04-25  Jim Meyering  <meyering@redhat.com>
20420
20421         maint.mk: makefile_at_at_check extend and clean up
20422         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
20423         in addition to */Makefile.am.
20424         Exempt legitimate uses of @VAR@ notation, e.g.,
20425         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
20426         Remove obsolete coreutils-specific comment.
20427         Prompted by discussion here:
20428         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
20429
20430 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
20431
20432         strtoul: remove dependency on strtol
20433         This is so that 'configure' need not check for strtol merely because
20434         the application needs strtoul.
20435         * modules/strtoul (Files): Add lib/strtol.c.
20436         (Depends-on): Remove strtol.
20437
20438         strtoull: remove dependency on strtoul
20439         This is like the strtoll change.
20440         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
20441         (Depends-on): Remove strtoul.
20442
20443         strtoll: remove dependency on strtol
20444         This is so that 'configure' need not check for strtol merely because
20445         the application needs strtoll.
20446         * modules/strtoll (Files): Add lib/strtol.c.
20447         (Depends-on): Remove strtol.
20448
20449 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
20450
20451         inttypes: Move some configure check to module 'imaxdiv'.
20452         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
20453         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
20454         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
20455
20456 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
20457
20458         inttypes: Move some configure check to module 'imaxabs'.
20459         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
20460         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
20461         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
20462
20463 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
20464
20465         inttypes: Remove configure tests that are not needed since 2009-12-31.
20466         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
20467         gl_cv_header_working_inttypes_h.
20468
20469 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
20470
20471         * modules/strnlen (Depends-on): Remove memchr.
20472         The strnlen implementation doesn't need the memchr module's fixes; see
20473         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
20474
20475         strtol: remove dependency on wchar
20476         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
20477         * modules/strtol (Depends-on): Remove wchar.
20478
20479 2011-04-21  Eric Blake  <eblake@redhat.com>
20480
20481         passfd: fix test regression on Linux
20482         * modules/passfd-tests (configure.ac): Correct socketpair check.
20483
20484         passfd: speed up configure and drop unused code
20485         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
20486         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
20487         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
20488         Instead of probing at configure for unix_scm_rights_bsd44_way,
20489         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
20490         check to a struct member probe.
20491         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
20492         (sendfd, recvfd): Update preprocessor checks.
20493         * modules/passfd (Files): Reflect rename, and drop unused file.
20494         (Depends-on): Drop unused dependency.
20495
20496         passfd: allow compilation on mingw
20497         * modules/sys_socket (Depends-on): Add sys_uio.
20498         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
20499         iovec and a minimal struct msghdr.
20500         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
20501         * tests/test-sys_socket.c (main): Enhance test.
20502         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
20503         guaranteed to provide what we need.
20504         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
20505         * modules/passfd-tests (Depends-on): Add sys_wait.
20506         * tests/test-passfd.c (main): Skip test on mingw, for now.
20507         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
20508         partial 'struct msghdr' implementation.
20509
20510         sys_uio: new module
20511         * modules/sys_uio: New module.
20512         * modules/sys_uio-tests: Likewise.
20513         * lib/sys_uio.in.h: New file.
20514         * m4/sys_uio_h.m4: Likewise.
20515         * tests/test-sys_uio.c: Likewise.
20516         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
20517         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
20518
20519 2011-04-20  Jim Meyering  <meyering@redhat.com>
20520
20521         useless-if-before-free: avoid false-positive
20522         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
20523         disjunct so that it too requires a terminating ";".  Without that,
20524         this script would identify as useless one statement from gcc that
20525         was not:
20526           if (aligned_ptr)
20527             free (((void **) aligned_ptr) [-1]);
20528
20529 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
20530
20531         doc: update users.txt.
20532         * users.txt: Add barcode.
20533
20534 2011-04-19  Bruno Haible  <bruno@clisp.org>
20535
20536         ioctl: Remove link dependency on native Windows.
20537         * lib/fd-hook.h: Renamed from lib/close-hook.h.
20538         (gl_close_fn, gl_ioctl_fn): New types.
20539         (struct fd_hook): Renamed from struct close_hook. Change type of
20540         private_close_fn field. Add private_ioctl_fn field.
20541         (close_hook_fn): Add parameter for primary close method.
20542         (execute_close_hooks, execute_all_close_hooks): Likewise.
20543         (ioctl_hook_fn): New type.
20544         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
20545         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
20546         argument.
20547         (unregister_fd_hook): Renamed from unregister_close_hook.
20548         * lib/fd-hook.c: Renamed from lib/close-hook.c.
20549         Don't include <unistd.h>.
20550         (close): Remove undef.
20551         (anchor): Update.
20552         (execute_close_hooks): Add argument for primary close method.
20553         (execute_all_close_hooks): Likewise.
20554         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
20555         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
20556         argument. Allow each argument to be NULL.
20557         (unregister_fd_hook): Renamed from unregister_close_hook.
20558         * lib/close.c (rpl_close): Pass 'close' function pointer to
20559         execute_all_close_hooks.
20560         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
20561         (primary_ioctl): New function.
20562         (ioctl): Don't call ioctlsocket here. Instead, call
20563         execute_all_ioctl_hooks.
20564         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
20565         close method.
20566         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
20567         (fd_sockets_hook): Renamed from close_sockets_hook.
20568         (gl_sockets_startup, gl_sockets_cleanup): Update.
20569         * modules/fd-hook: Renamed from modules/close-hook. Update.
20570         * modules/close (Depends-on): Add fd-hook, remove close-hook.
20571         * modules/sockets (Depends-on): Likewise.
20572         * modules/ioctl (Depends-on): Add fd-hook.
20573         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
20574         GNULIB_SOCKET.
20575
20576 2011-04-19  Bruno Haible  <bruno@clisp.org>
20577
20578         Move the support of O_NONBLOCK in open() to the 'open' module.
20579         * modules/nonblocking (Depends-on): Remove 'open'.
20580         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
20581         gl_cv_have_open_O_NONBLOCK.
20582         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
20583         O_NONBLOCK support.
20584         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
20585
20586 2011-04-17  Bruno Haible  <bruno@clisp.org>
20587
20588         pipe2: Simplify code.
20589         * lib/pipe2.c (pipe2): Reduce code duplication.
20590
20591 2011-04-17  Bruno Haible  <bruno@clisp.org>
20592
20593         nonblocking: Add comment.
20594         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
20595
20596 2011-04-17  Bruno Haible  <bruno@clisp.org>
20597
20598         nonblocking: Add tests for sockets.
20599         * tests/test-nonblocking-socket.sh: New file.
20600         * tests/test-nonblocking-socket-main.c: New file.
20601         * tests/test-nonblocking-socket-child.c: New file.
20602         * tests/test-nonblocking-socket.h: New file.
20603         * tests/socket-server.h: New file.
20604         * tests/socket-client.h: New file.
20605         * modules/nonblocking-socket-tests: New file.
20606         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
20607
20608 2011-04-17  Bruno Haible  <bruno@clisp.org>
20609
20610         nonblocking: Add tests for pipes.
20611         * tests/test-nonblocking-pipe.sh: New file.
20612         * tests/test-nonblocking-pipe-main.c: New file.
20613         * tests/test-nonblocking-pipe-child.c: New file.
20614         * tests/test-nonblocking-pipe.h: New file.
20615         * tests/test-nonblocking-writer.h: New file.
20616         * tests/test-nonblocking-reader.h: New file.
20617         * tests/test-nonblocking-misc.h: New file.
20618         * modules/nonblocking-pipe-tests: New file.
20619         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
20620
20621 2011-04-16  Bruno Haible  <bruno@clisp.org>
20622
20623         gettext: Clarify the needed programmer actions.
20624         * modules/gettext (Notice): New field.
20625         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
20626
20627 2011-04-16  Bruno Haible  <bruno@clisp.org>
20628
20629         strchrnul: Tweak last commit.
20630         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
20631         bug.
20632         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
20633         as in _GL_FUNCDECL_SYS.
20634         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
20635         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
20636
20637 2011-04-15  Eric Blake  <eblake@redhat.com>
20638
20639         strchrnul: work around cygwin bug
20640         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
20641         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
20642         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
20643         * modules/string (Makefile.am): Substitute it.
20644         * lib/string.in.h (strchrnul): Use it.
20645
20646 2011-04-15  Bruno Haible  <bruno@clisp.org>
20647
20648         Don't require lib/stdio-write.c when only module 'stdio' is used.
20649         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
20650         invocation.
20651         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
20652
20653 2011-04-14  Bruno Haible  <bruno@clisp.org>
20654
20655         Support non-blocking pipe I/O in read() on native Windows.
20656         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
20657         (read): New declaration.
20658         * lib/read.c: New file.
20659         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
20660         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
20661         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
20662         vscanf): New declarations.
20663         * lib/stdio-read.c: New file.
20664         * m4/read.m4: New file.
20665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
20666         REPLACE_READ.
20667         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
20668         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
20669         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
20670         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
20671         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
20672         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
20673         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
20674         * modules/read: New file.
20675         * modules/nonblocking (Files): Add lib/stdio-read.c.
20676         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
20677         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
20678         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
20679         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
20680         * modules/pread (Depends-on): Add read.
20681         * modules/safe-read (Depends-on): Likewise.
20682         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
20683         gets, scanf, vfscanf, vscanf): Verify signatures.
20684         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
20685         problem with non-blocking pipes.
20686         * doc/posix-functions/fgetc.texi: Likewise.
20687         * doc/posix-functions/fgets.texi: Likewise.
20688         * doc/posix-functions/fread.texi: Likewise.
20689         * doc/posix-functions/fscanf.texi: Likewise.
20690         * doc/posix-functions/getc.texi: Likewise.
20691         * doc/posix-functions/getchar.texi: Likewise.
20692         * doc/posix-functions/gets.texi: Likewise.
20693         * doc/posix-functions/scanf.texi: Likewise.
20694         * doc/posix-functions/vfscanf.texi: Likewise.
20695         * doc/posix-functions/vscanf.texi: Likewise.
20696
20697 2011-04-14  Bruno Haible  <bruno@clisp.org>
20698
20699         Support non-blocking pipe I/O in write() on native Windows.
20700         * lib/write.c (rpl_write): Split a write request that failed merely
20701         because the byte count was larger than the pipe buffer's size.
20702         * doc/posix-functions/write.texi: Mention the problem with large byte
20703         counts.
20704
20705 2011-04-14  Bruno Haible  <bruno@clisp.org>
20706
20707         wchar: Ensure that wchar_t gets defined on uClibc.
20708         * lib/wchar.in.h: On uClibc, include <stddef.h>.
20709         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
20710
20711 2011-04-13  Bruno Haible  <bruno@clisp.org>
20712
20713         safe-write, full-read: Avoid unnecessary compilation units.
20714         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
20715         (Depends-on): Remove safe-read. Add ssize_t.
20716         * modules/full-read (Files): Add lib/full-write.c.
20717         (Depends-on): Add full-write.
20718
20719 2011-04-13  Bruno Haible  <bruno@clisp.org>
20720
20721         Support non-blocking pipe I/O and SIGPIPE in pwrite().
20722         * modules/pwrite (Depends-on): Add 'write'.
20723
20724 2011-04-13  Bruno Haible  <bruno@clisp.org>
20725
20726         Support non-blocking pipe I/O in write() on native Windows.
20727         * lib/unistd.in.h (write): Enable replacement also if
20728         GNULIB_UNISTD_H_NONBLOCKING is 1.
20729         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
20730         (rpl_write): When failing to write on a non-blocking pipe, change
20731         errno from ENOSPC to EAGAIN.
20732         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
20733         putchar, puts, vfprintf, vprintf): Enable replacement also if
20734         GNULIB_STDIO_H_NONBLOCKING is 1.
20735         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
20736         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
20737         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
20738         CALL_WITH_SIGPIPE_EMULATION.
20739         (CALL_WITH_SIGPIPE_EMULATION): Use them.
20740         * m4/nonblocking.m4: New file.
20741         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
20742         for non-blocking I/O support.
20743         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20744         GNULIB_UNISTD_H_NONBLOCKING.
20745         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
20746         required for non-blocking I/O support.
20747         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
20748         * modules/nonblocking (Files): Add m4/nonblocking.m4,
20749         lib/stdio-write.c, m4/asm-underscore.m4.
20750         (Depends-on): Add stdio, unistd.
20751         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
20752         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
20753         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
20754         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
20755         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
20756         problem with non-blocking pipes.
20757         * doc/posix-functions/fputc.texi: Likewise.
20758         * doc/posix-functions/fputs.texi: Likewise.
20759         * doc/posix-functions/fwrite.texi: Likewise.
20760         * doc/posix-functions/printf.texi: Likewise.
20761         * doc/posix-functions/putc.texi: Likewise.
20762         * doc/posix-functions/putchar.texi: Likewise.
20763         * doc/posix-functions/puts.texi: Likewise.
20764         * doc/posix-functions/vfprintf.texi: Likewise.
20765         * doc/posix-functions/vprintf.texi: Likewise.
20766         * doc/posix-functions/write.texi: Likewise.
20767
20768 2011-04-10  Jim Meyering  <meyering@redhat.com>
20769
20770         maint.mk: prohibit doubled words
20771         Detect them also when they're separated by a newline.
20772         There are 3 ways to customize it:
20773           - disable the test on a per file basis, as usual with rules using
20774             $(VC_LIST_EXCEPT)
20775           - replace the default doubled-word-selecting regexp (affects all files)
20776           - ignore a particular file-vs-doubled-word match
20777         I nearly used that last one to ignore the "is is" match in
20778         coreutils' NEWS file, since the text was "ls -is is ..."
20779         To do that, I would have added this line to cfg.mk:
20780           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
20781         but it would have ignored any "is is" match in NEWS.
20782         Low probability, but still...
20783         Instead, I changed the text, slightly:
20784           -  ls -is is now consistent with ls -lis in ignoring values returned
20785           +  "ls -is" is now consistent with ls -lis in ignoring values returned
20786         * top/maint.mk (prohibit_double_word_RE_): Provide default.
20787         (prohibit_doubled_word_): Define.
20788         (sc_prohibit_doubled_word): New rule.
20789         (sc_prohibit_the_the): Remove.  Subsumed by the above.
20790
20791 2011-04-10  Jim Meyering  <meyering@redhat.com>
20792
20793         maint: fix doubled-word typo in comment
20794         * m4/gethostname.m4: s/is is/it is/
20795         * m4/getdomainname.m4: Likewise.
20796
20797 2011-04-10  Jim Meyering  <meyering@redhat.com>
20798
20799         maint: remove doubled word: s/it it/it/
20800         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
20801
20802 2011-04-10  Jim Meyering  <meyering@redhat.com>
20803
20804         maint.mk: remove useless semicolon and backslash
20805         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
20806         semicolon and backslash.
20807
20808 2011-04-10  Bruno Haible  <bruno@clisp.org>
20809
20810         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
20811         * modules/stdint-tests (Depends-on): Add wchar.
20812
20813 2011-04-10  Jim Meyering  <meyering@redhat.com>
20814
20815         maint: remove doubled words in comments, e.g., s/a a/a/
20816         * lib/strptime.c (day_of_the_week): s/the the/the/
20817         * tests/test-chown.h (test_chown): s/a a/a/
20818
20819         test-chown.h: correct a cast
20820         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
20821         when the destination is a stat.st_gid.
20822
20823 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
20824
20825         getaddrinfo: Fix test for sa_len member.
20826         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
20827         include <sys/types.h> before <sys/socket.h>.
20828
20829 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
20830
20831         maint: change "can not" to "cannot"
20832         * doc/posix-functions/iconv.texi (iconv): This one crossed line
20833         boundaries.
20834
20835 2011-04-09  Jim Meyering  <meyering@redhat.com>
20836
20837         maint: change "a a" to "a"
20838         * tests/test-lchown.h (test_lchown): s/a a/a/
20839
20840         maint.mk: prohibit \<the the\>
20841         * top/maint.mk (sc_prohibit_the_the): New rule.
20842
20843         maint: fix "the the" in comment
20844         * lib/count-one-bits.h: s/the the/the/
20845
20846         maint: change "can not" to "cannot"
20847         But do not change the occurrences in maintain.texi or in
20848         build-aux/po/Makefile.in.in, which I presume comes from gettext.
20849         * doc/gnulib-tool.texi: s/can not/cannot/
20850         * doc/posix-functions/accept.texi (accept): Likewise.
20851         * doc/posix-functions/socket.texi (socket): Likewise.
20852         * lib/mbrtowc.c: Likewise.
20853
20854         maint.mk: prohibit use of "can not"
20855         * top/maint.mk (sc_prohibit_can_not): New rule.
20856         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
20857
20858 2011-04-09  Bruno Haible  <bruno@clisp.org>
20859
20860         careadlinkat: Guard against misuse of careadlinkatcwd.
20861         * lib/careadlinkat.c: Include <stdlib.h>.
20862         (careadlinkatcwd): Check that the fd argument is as expected.
20863
20864 2011-04-09  Bruno Haible  <bruno@clisp.org>
20865
20866         careadlinkat: Use common coding style.
20867         * lib/careadlinkat.c: Move gnulib includes after system includes.
20868
20869 2011-04-09  Bruno Haible  <bruno@clisp.org>
20870
20871         careadlinkat: Clarify specification.
20872         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
20873         (careadlinkatcwd): Add comment.
20874         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
20875
20876 2011-04-09  Bruno Haible  <bruno@clisp.org>
20877
20878         areadlinkat: Avoid link error on many platforms.
20879         * modules/areadlinkat (Depends-on): Add areadlink.
20880
20881 2011-04-09  Bruno Haible  <bruno@clisp.org>
20882
20883         allocator, careadlinkat: Fix double-inclusion guard.
20884         * lib/allocator.h: Fix double-inclusion guard.
20885         * lib/careadlinkat.h: Likewise.
20886
20887 2011-04-09  Bruno Haible  <bruno@clisp.org>
20888
20889         relocatable-prog-wrapper: Update after module 'areadlink' changed.
20890         * lib/relocwrapper.c: Update dependencies hierarchy.
20891         * build-aux/install-reloc: Update list of files to be compiled.
20892         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
20893         lib/allocator.[hc].
20894
20895 2011-04-08  Eric Blake  <eblake@redhat.com>
20896
20897         strftime: silence gnulib-tool warning
20898         * modules/strftime-tests (Depends-on): Drop automatic dependency.
20899
20900 2011-04-08  Bruno Haible  <bruno@clisp.org>
20901
20902         verify: Fix syntax error with GCC 4.6 in C++ mode.
20903         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
20904         (HAVE_STATIC_ASSERT): New macro.
20905         (verify_true, verify): Use 'static_assert' if it is supported and
20906         '_Static_assert' is not supported.
20907
20908 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
20909
20910         allocator: New module.
20911         * modules/allocator, lib/allocator.c: New files.
20912         * lib/allocator.h (stdlib_allocator): New decl.
20913         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
20914         Remove.  Do not include <stdlib.h>.
20915         (careadlinkat): Use stdlib_allocator instead of rolling our own.
20916         * modules/careadlinkat (Files): Remove lib/allocator.h.
20917         (Depends-on): Add allocator.
20918
20919         stdlib: let modules use system malloc, realloc
20920         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
20921         if !_GL_USE_STDLIB_ALLOC.
20922         (malloc, realloc): Limit this change to a smaller scope.
20923
20924         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
20925         (malloc, realloc): Don't #undef; no longer needed.
20926         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20927         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20928         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
20929         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20930         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20931         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20932         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
20933         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
20934
20935         careadlinkat: rename members to avoid problem
20936         * lib/allocator.h (struct allocator): Rename members from
20937         malloc/realloc to allocate/reallocate, to avoid problems if malloc
20938         and realloc are #define'd.  Reported by Eric Blake in
20939         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
20940         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
20941
20942 2011-04-08  Eric Blake  <eblake@redhat.com>
20943
20944         nonblocking: reduce dependency
20945         * tests/test-nonblocking.c: Only test sockets when in use.
20946         * modules/nonblocking-tests (Depends-on): Drop socket.
20947         (Makefile.am): Link even if sockets are not present.
20948         * modules/pipe2-tests (Makefile.am): Likewise.
20949         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
20950
20951         pipe2: fix O_NONBLOCK support on mingw
20952         * modules/pipe2 (Depends-on): Add nonblocking.
20953         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
20954         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
20955         * tests/test-nonblocking.c (main): Likewise.
20956         * modules/pipe2-tests (Makefile.am): Avoid link failure.
20957
20958         fcntl-h: fix O_ACCMODE on cygwin
20959         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
20960         * lib/fcntl.in.h (O_ACCMODE): Fix it.
20961
20962         pipe-filter: drop O_NONBLOCK workarounds
20963         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
20964         * modules/pipe-filter-ii (Depends-on): Likewise.
20965         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
20966
20967         nonblocking: provide O_NONBLOCK for mingw
20968         * modules/nonblocking (Depends-on): Add open.
20969         (configure.ac): Set new witness macro.
20970         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
20971         * modules/fcntl-h (Makefile.am): Substitute it.
20972         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
20973         nonblocking module is in use.
20974         * lib/nonblocking.c: Adjust portability test.
20975         * lib/open.c (open): Don't let native open see gnulib flag.
20976         * tests/test-fcntl-h.c (main): Enhance test.
20977         * tests/test-open.h (test_open): Likewise.
20978         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
20979
20980         careadlinkat: fix compilation error on mingw
20981         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
20982         within struct allocator.
20983
20984 2011-04-06  Eric Blake  <eblake@redhat.com>
20985
20986         binary-io: relicense under LGPLv2+
20987         * modules/binary-io (License): Relax to LGPLv2+.
20988         Requested for libvirt, and required by pipe2.
20989
20990 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
20991
20992         verify: use _Static_assert if available
20993         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
20994         (verify_true, verify): Use it if available.  This generates better
20995         diagnostics with GCC 4.6.0 and later.
20996
20997 2011-04-05  Bruno Haible  <bruno@clisp.org>
20998
20999         Remove leftover generated .h files after config.status changed.
21000
21001         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
21002         GL_GENERATE_ALLOCA_H.
21003         * modules/alloca-opt (Makefile.am): Remove alloca.h if
21004         GL_GENERATE_ALLOCA_H evaluates to false.
21005
21006         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
21007         GL_GENERATE_ARGZ_H.
21008         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
21009         evaluates to false.
21010
21011         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
21012         GL_GENERATE_BYTESWAP_H.
21013         * modules/byteswap (Makefile.am): Remove byteswap.h if
21014         GL_GENERATE_BYTESWAP_H evaluates to false.
21015
21016         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
21017         GL_GENERATE_ERRNO_H.
21018         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
21019         evaluates to false.
21020
21021         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
21022         GL_GENERATE_FLOAT_H.
21023         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
21024         evaluates to false.
21025
21026         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
21027         GL_GENERATE_FNMATCH_H.
21028         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
21029         GL_GENERATE_FNMATCH_H evaluates to false.
21030
21031         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
21032         GL_GENERATE_GLOB_H.
21033         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
21034         evaluates to false.
21035
21036         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
21037         automake conditional GL_GENERATE_ICONV_H.
21038         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
21039         evaluates to false.
21040
21041         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
21042         GL_GENERATE_NETINET_IN_H.
21043         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
21044         GL_GENERATE_NETINET_IN_H evaluates to false.
21045
21046         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
21047         conditional GL_GENERATE_PTHREAD_H.
21048         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
21049         * modules/pthread (Makefile.am): Remove pthread.h if
21050         GL_GENERATE_PTHREAD_H evaluates to false.
21051
21052         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
21053         GL_GENERATE_SCHED_H.
21054         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
21055         evaluates to false.
21056
21057         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
21058         conditional GL_GENERATE_SELINUX_CONTEXT_H.
21059         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
21060         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
21061
21062         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
21063         GL_GENERATE_STDARG_H.
21064         * modules/stdarg (Makefile.am): Remove stdarg.h if
21065         GL_GENERATE_STDARG_H evaluates to false.
21066
21067         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
21068         GL_GENERATE_STDBOOL_H.
21069         * modules/stdbool (Makefile.am): Remove stdbool.h if
21070         GL_GENERATE_STDBOOL_H evaluates to false.
21071
21072         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
21073         conditional GL_GENERATE_STDDEF_H.
21074         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
21075         * modules/stddef (Makefile.am): Remove stddef.h if
21076         GL_GENERATE_STDDEF_H evaluates to false.
21077
21078         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
21079         GL_GENERATE_STDINT_H.
21080         * modules/stdint (Makefile.am): Remove stdint.h if
21081         GL_GENERATE_STDINT_H evaluates to false.
21082
21083         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
21084         GL_GENERATE_SYSEXITS_H.
21085         * modules/sysexits (Makefile.am): Remove sysexits.h if
21086         GL_GENERATE_SYSEXITS_H evaluates to false.
21087
21088         Reported by Karl Berry and Ralf Wildenhues.
21089
21090 2011-04-05  Bruno Haible  <bruno@clisp.org>
21091
21092         Ensure to rebuild generated .h files when config.status has changed.
21093         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
21094         config.status.
21095         * modules/ctype (Makefile.am): Likewise.
21096         * modules/dirent (Makefile.am): Likewise.
21097         * modules/errno (Makefile.am): Likewise.
21098         * modules/fcntl-h (Makefile.am): Likewise.
21099         * modules/float (Makefile.am): Likewise.
21100         * modules/getopt-posix (Makefile.am): Likewise.
21101         * modules/glob (Makefile.am): Likewise.
21102         * modules/iconv-h (Makefile.am): Likewise.
21103         * modules/inttypes (Makefile.am): Likewise.
21104         * modules/langinfo (Makefile.am): Likewise.
21105         * modules/locale (Makefile.am): Likewise.
21106         * modules/math (Makefile.am): Likewise.
21107         * modules/netdb (Makefile.am): Likewise.
21108         * modules/netinet_in (Makefile.am): Likewise.
21109         * modules/poll-h (Makefile.am): Likewise.
21110         * modules/pthread (Makefile.am): Likewise.
21111         * modules/pty (Makefile.am): Likewise.
21112         * modules/sched (Makefile.am): Likewise.
21113         * modules/search (Makefile.am): Likewise.
21114         * modules/selinux-h (Makefile.am): Likewise.
21115         * modules/signal (Makefile.am): Likewise.
21116         * modules/spawn (Makefile.am): Likewise.
21117         * modules/stdarg (Makefile.am): Likewise.
21118         * modules/stdbool (Makefile.am): Likewise.
21119         * modules/stddef (Makefile.am): Likewise.
21120         * modules/stdint (Makefile.am): Likewise.
21121         * modules/stdio (Makefile.am): Likewise.
21122         * modules/stdlib (Makefile.am): Likewise.
21123         * modules/string (Makefile.am): Likewise.
21124         * modules/strings (Makefile.am): Likewise.
21125         * modules/sys_file (Makefile.am): Likewise.
21126         * modules/sys_ioctl (Makefile.am): Likewise.
21127         * modules/sys_select (Makefile.am): Likewise.
21128         * modules/sys_socket (Makefile.am): Likewise.
21129         * modules/sys_stat (Makefile.am): Likewise.
21130         * modules/sys_time (Makefile.am): Likewise.
21131         * modules/sys_times (Makefile.am): Likewise.
21132         * modules/sys_utsname (Makefile.am): Likewise.
21133         * modules/sys_wait (Makefile.am): Likewise.
21134         * modules/sysexits (Makefile.am): Likewise.
21135         * modules/termios (Makefile.am): Likewise.
21136         * modules/time (Makefile.am): Likewise.
21137         * modules/unistd (Makefile.am): Likewise.
21138         * modules/wchar (Makefile.am): Likewise.
21139         * modules/wctype-h (Makefile.am): Likewise.
21140         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
21141
21142 2011-04-05  Bruno Haible  <bruno@clisp.org>
21143
21144         pipe2: Relicense under LGPLv2+.
21145         * modules/pipe2 (License): Change to LGPLv2+.
21146         Requested by Eric Blake, for libvirt.
21147
21148 2011-04-05  Bruce Korb  <bkorb@gnu.org>
21149
21150         bootstrap: compute gnulib_extra_files after updating build_aux
21151         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
21152         change build_aux or also supply gnulib_extra_files.  Handle correctly.
21153
21154 2011-04-05  Eric Blake  <eblake@redhat.com>
21155
21156         bootstrap: preserve git whitelist item sorting
21157         * build-aux/bootstrap (sort_patterns): New function.
21158         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
21159
21160 2011-04-05  Simon Josefsson  <simon@josefsson.org>
21161
21162         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
21163         sc_space_tab check.
21164
21165 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
21166
21167         areadlink, areadlinkat: rewrite in terms of careadlinkat
21168         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
21169         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
21170         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
21171         (malloc, realloc): Remove #undefs.
21172         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
21173         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
21174         readlink, ssize_t, stdint, unistd.
21175         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
21176         areadlink, stdint.
21177
21178         careadlinkat: new module
21179         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
21180         * modules/careadlinkat: New files, written by me with
21181         a review and feedback from Ben Pfaff in
21182         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
21183
21184 2011-04-01  Bruno Haible  <bruno@clisp.org>
21185
21186         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
21187         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
21188         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
21189         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
21190         Reported by Bruce Korb <bruce.korb@gmail.com>.
21191
21192 2011-04-01  Bruno Haible  <bruno@clisp.org>
21193
21194         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
21195         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
21196         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
21197         * modules/wcpcpy (Depends-on): Add extensions.
21198         * modules/wcpncpy (Depends-on): Likewise.
21199         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
21200         systems.
21201         * doc/posix-functions/wcpncpy.texi: Likewise.
21202         * doc/posix-functions/wcwidth.texi: Likewise.
21203
21204 2011-03-31  Eric Blake  <eblake@redhat.com>
21205
21206         nonblocking: fix mingw test failures
21207         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
21208         non-blocking flag on regular file.
21209         (get_nonblocking_flag): Set errno on invalid fd.
21210         * tests/test-nonblocking.c (main): Avoid test failure on
21211         directories if fchdir is not active.
21212         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
21213
21214 2011-03-31  Bruno Haible  <bruno@clisp.org>
21215
21216         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
21217         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
21218         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
21219         Reported by Simon Josefsson <simon@josefsson.org>.
21220
21221 2011-03-31  Bruno Haible  <bruno@clisp.org>
21222         and Eric Blake  <eblake@redhat.com>
21223
21224         nonblocking: new module
21225         * modules/nonblocking: New module.
21226         * modules/nonblocking-tests: Likewise.
21227         * lib/nonblocking.h: New file.
21228         * lib/nonblocking.c: Likewise.
21229         * tests/test-nonblocking.c: New test.
21230         * lib/ioctl.c (ioctl) [mingw]: Update comment.
21231
21232 2011-03-30  Bruno Haible  <bruno@clisp.org>
21233
21234         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
21235         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
21236         instead of 'printf' format for GCC >= 4.4.
21237         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
21238         (fprintf, printf, vfprintf, vprintf): Declare with
21239         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
21240         the system's vfprintf() function.
21241         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
21242
21243 2011-03-30  Eric Blake  <eblake@redhat.com>
21244
21245         passfd: fix scoping bug
21246         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
21247         before sendmsg/recvmsg.
21248
21249         passfd: standardize coding conventions
21250         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
21251         can be learned at compile time.
21252         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
21253         ifdefs.
21254         (sendfd, recvfd): Follow gnulib code conventions.
21255
21256         passfd: fix incorrect sendmsg arguments
21257         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
21258         incorrect msg_controllen value.
21259         * modules/passfd-tests (Depends-on): Check for alarm.
21260         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
21261         Reported by Bastien ROUCARIES.
21262
21263 2011-03-30  Bruno Haible  <bruno@clisp.org>
21264
21265         c-strcasestr: Relicense under LGPLv2+.
21266         * modules/c-strcasestr (License): Change to LGPLv2+.
21267         Requested by Eric Blake, for libvirt.
21268
21269 2011-03-30  Simon Josefsson  <simon@josefsson.org>
21270
21271         * users.txt: Add libidn2.  Fix libtasn1 link.
21272
21273 2011-03-30  Jim Meyering  <meyering@redhat.com>
21274
21275         tests: readlink* ("",... fails with EINVAL on newer kernels
21276         readlink and readlinkat have typically failed with ENOENT for
21277         the invalid, empty file name,  "".  However, with the advent
21278         of linux-2.6.39, they fail with EINVAL.
21279         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
21280         when operating on the empty file name.
21281         * tests/test-readlink.h (test_readlink): Likewise.
21282
21283 2011-03-29  Bruno Haible  <bruno@clisp.org>
21284
21285         Relicense some modules under LGPLv2+, for libidn2.
21286         * modules/array-mergesort (License): Change to LGPLv2+.
21287         * modules/c-strcaseeq (License): Likewise.
21288         * modules/striconveh (License): Likewise.
21289         * modules/striconveha (License): Likewise.
21290         * modules/uniconv/base (License): Likewise.
21291         * modules/uniconv/u8-conv-from-enc (License): Likewise.
21292         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
21293         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
21294         * modules/unictype/base (License): Likewise.
21295         * modules/unictype/bidiclass-of (License): Likewise.
21296         * modules/unictype/category-M (License): Likewise.
21297         * modules/unictype/category-none (License): Likewise.
21298         * modules/unictype/category-of (License): Likewise.
21299         * modules/unictype/category-test (License): Likewise.
21300         * modules/unictype/category-test-withtable (License): Likewise.
21301         * modules/unictype/combining-class (License): Likewise.
21302         * modules/unictype/joiningtype-of (License): Likewise.
21303         * modules/unictype/scripts (License): Likewise.
21304         * modules/uninorm/base (License): Likewise.
21305         * modules/uninorm/canonical-decomposition (License): Likewise.
21306         * modules/uninorm/composition (License): Likewise.
21307         * modules/uninorm/decompose-internal (License): Likewise.
21308         * modules/uninorm/decomposition-table (License): Likewise.
21309         * modules/uninorm/nfc (License): Likewise.
21310         * modules/uninorm/nfd (License): Likewise.
21311         * modules/uninorm/u32-normalize (License): Likewise.
21312         * modules/unistr/base (License): Likewise.
21313         * modules/unistr/u32-cpy (License): Likewise.
21314         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
21315         * modules/unistr/u32-to-u8 (License): Likewise.
21316         * modules/unistr/u32-uctomb (License): Likewise.
21317         * modules/unistr/u8-check (License): Likewise.
21318         * modules/unistr/u8-mblen (License): Likewise.
21319         * modules/unistr/u8-mbtouc (License): Likewise.
21320         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
21321         * modules/unistr/u8-mbtoucr (License): Likewise.
21322         * modules/unistr/u8-prev (License): Likewise.
21323         * modules/unistr/u8-strlen (License): Likewise.
21324         * modules/unistr/u8-to-u32 (License): Likewise.
21325         * modules/unistr/u8-uctomb (License): Likewise.
21326         * modules/unitypes (License): Likewise.
21327         Requested by Simon Josefsson.
21328
21329 2011-03-29  Simon Josefsson  <simon@josefsson.org>
21330
21331         lib-symbol-visibility: Add a notice.
21332         * modules/lib-symbol-visibility (Notice): New field.
21333
21334 2011-03-29  Bruno Haible  <bruno@clisp.org>
21335
21336         getaddrinfo: Doc fix.
21337         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
21338         section "fixed in Gnulib".
21339
21340 2011-03-28  Simon Josefsson  <simon@josefsson.org>
21341
21342         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
21343         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
21344
21345 2011-03-26  Bruno Haible  <bruno@clisp.org>
21346
21347         unictype/property-byname: Reduce the number of load-time relocations.
21348         * lib/unictype/pr_byname.c: Include <stdlib.h>.
21349         (UC_PROPERTY_INDEX_*): New enumeration values.
21350         (uc_property_byname): Convert an index from the lookup table to an
21351         uc_property_t.
21352         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
21353         values.
21354
21355 2011-03-26  Bruno Haible  <bruno@clisp.org>
21356
21357         unictype/property-byname: Allow omitted word separators and aliases.
21358         * lib/unictype/pr_byname.gperf: Add property names without word
21359         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
21360         for 'space'.
21361
21362 2011-03-26  Bruno Haible  <bruno@clisp.org>
21363
21364         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
21365         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
21366         also hyphens to space.
21367         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
21368         without spaces.
21369         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
21370
21371 2011-03-26  Bruno Haible  <bruno@clisp.org>
21372
21373         unictype/joiningtype-byname: Recognize long names as well.
21374         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
21375         a long name.
21376         * lib/unictype/joiningtype_byname.c: Include <string.h>,
21377         unictype/joiningtype_byname.h.
21378         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
21379         * lib/unictype/joiningtype_byname.gperf: New file.
21380         * modules/unictype/joiningtype-byname (Files): Add
21381         lib/unictype/joiningtype_byname.gperf.
21382         (Depends-on): Add gperf.
21383         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
21384         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
21385         long names.
21386
21387         Tests for module 'unictype/joiningtype-longname'.
21388         * modules/unictype/joiningtype-longname-tests: New file.
21389         * tests/unictype/test-joiningtype_longname.c: New file.
21390
21391         New module 'unictype/joiningtype-longname'.
21392         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
21393         * lib/unictype/joiningtype_longname.c: New file.
21394         * modules/unictype/joiningtype-longname: New file.
21395         * modules/unictype/joiningtype-all (Depends-on): Add
21396         unictype/joiningtype-longname.
21397
21398 2011-03-26  Bruno Haible  <bruno@clisp.org>
21399
21400         unictype/bidiclass-byname: Recognize long names as well.
21401         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
21402         name.
21403         * lib/unictype/bidi_byname.c: Include <string.h>,
21404         unictype/bidi_byname.h.
21405         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
21406         * lib/unictype/bidi_byname.gperf: New file.
21407         * modules/unictype/bidiclass-byname (Files): Add
21408         lib/unictype/bidi_byname.gperf.
21409         (Depends-on): Add gperf.
21410         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
21411         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
21412         long names.
21413
21414         Tests for module 'unictype/bidiclass-longname'.
21415         * modules/unictype/bidiclass-longname-tests: New file.
21416         * tests/unictype/test-bidi_longname.c: New file.
21417
21418         New module 'unictype/bidiclass-longname'.
21419         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
21420         * lib/unictype/bidi_longname.c: New file.
21421         * modules/unictype/bidiclass-longname: New file.
21422         * modules/unictype/bidiclass-all (Depends-on): Add
21423         unictype/bidiclass-longname.
21424
21425 2011-03-26  Bruno Haible  <bruno@clisp.org>
21426
21427         unictype/bidi*: Rename modules.
21428         * modules/unictype/bidiclass-all: Renamed from
21429         modules/unictype/bidicategory-all.
21430         * modules/unictype/bidiclass-name: Renamed from
21431         modules/unictype/bidiclass-name.
21432         (Description): Update.
21433         * modules/unictype/bidiclass-name-tests: Renamed from
21434         modules/unictype/bidicategory-name-tests.
21435         * modules/unictype/bidiclass-byname: Renamed from
21436         modules/unictype/bidicategory-byname.
21437         (Description): Update.
21438         * modules/unictype/bidiclass-byname-tests: Renamed from
21439         modules/unictype/bidicategory-byname-tests.
21440         * modules/unictype/bidiclass-of: Renamed from
21441         modules/unictype/bidicategory-of.
21442         (Description): Update.
21443         * modules/unictype/bidiclass-of-tests: Renamed from
21444         modules/unictype/bidicategory-of-tests.
21445         * modules/unictype/bidiclass-test: Renamed from
21446         modules/unictype/bidicategory-test.
21447         (Description): Update.
21448         * modules/unictype/bidiclass-test-tests: Renamed from
21449         modules/unictype/bidicategory-test-tests.
21450         * modules/unictype/bidicategory-all: New file, a simple redirection.
21451         * modules/unictype/bidicategory-name: Likewise.
21452         * modules/unictype/bidicategory-byname: Likewise.
21453         * modules/unictype/bidicategory-of: Likewise.
21454         * modules/unictype/bidicategory-test: Likewise.
21455         * modules/unictype/property-bidi-* (Dependencies): Update.
21456         * lib/unictype/bidi_*.c: Update comment.
21457
21458 2011-03-26  Bruno Haible  <bruno@clisp.org>
21459
21460         unictype/bidi*: Rename functions, part 2.
21461         * modules/unictype/bidicategory-name (configure.ac): Update required
21462         libunistring version.
21463         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
21464
21465 2011-03-25  Bruno Haible  <bruno@clisp.org>
21466
21467         New module 'unictype/combining-class-all'.
21468         * modules/unictype/combining-class-all: New file.
21469
21470         Tests for module 'unictype/combining-class-byname'.
21471         * modules/unictype/combining-class-byname-tests: New file.
21472         * tests/unictype/test-combiningclass_byname.c: New file.
21473
21474         New module 'unictype/combining-class-byname'.
21475         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
21476         * lib/unictype/combiningclass_byname.c: New file.
21477         * lib/unictype/combiningclass_byname.gperf: New file.
21478         * modules/unictype/combining-class-byname: New file.
21479
21480         Tests for module 'unictype/combining-class-longname'.
21481         * modules/unictype/combining-class-longname-tests: New file.
21482         * tests/unictype/test-combiningclass_longname.c: New file.
21483
21484         New module 'unictype/combining-class-longname'.
21485         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
21486         * lib/unictype/combiningclass_longname.c: New file.
21487         * modules/unictype/combining-class-longname: New file.
21488
21489         Tests for module 'unictype/combining-class-name'.
21490         * modules/unictype/combining-class-name-tests: New file.
21491         * tests/unictype/test-combiningclass_name.c: New file.
21492
21493         New module 'unictype/combining-class-name'.
21494         * lib/unictype.in.h (uc_combining_class_name): New declaration.
21495         * lib/unictype/combiningclass_name.c: New file.
21496         * modules/unictype/combining-class-name: New file.
21497
21498 2011-03-25  Bruno Haible  <bruno@clisp.org>
21499
21500         unictype/combining-class: Rename source files.
21501         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
21502         of unictype/combining.h.
21503         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
21504         Update.
21505         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
21506         * modules/unictype/combining-class (Description): Fix.
21507         (Files, Makefile.am): Update.
21508         * tests/unictype/test-combiningclass.c: Renamed from
21509         tests/unictype/test-combining.c.
21510         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
21511
21512 2011-03-25  Bruno Haible  <bruno@clisp.org>
21513
21514         unictype: Update list of canonical combining classes.
21515         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
21516
21517 2011-03-25  Bruno Haible  <bruno@clisp.org>
21518
21519         unictype/category-byname: Recognize long names as well.
21520         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
21521         a long name.
21522         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
21523         unictype/categ_byname.h.
21524         (UC_CATEGORY_INDEX_*): New enumeration values.
21525         (uc_general_category_byname): Use uc_general_category_lookup and
21526         convert from index to value.
21527         * lib/unictype/categ_byname.gperf: New file.
21528         * modules/unictype/category-byname (Files): Add
21529         lib/unictype/categ_byname.gperf.
21530         (Depends-on): Add gperf.
21531         (Makefile.am): Add rule for generating unictype/categ_byname.h.
21532         * tests/unictype/test-categ_byname.c (main): Test the recognition of
21533         long names.
21534
21535         Tests for module 'unictype/category-longname'.
21536         * modules/unictype/category-longname-tests: New file.
21537         * tests/unictype/test-categ_longname.c: New file.
21538
21539         New module 'unictype/category-longname'.
21540         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
21541         * lib/unictype/categ_longname.c: New file.
21542         * modules/unictype/category-longname: New file.
21543         * modules/unictype/category-all (Depends-on): Add it.
21544
21545 2011-03-25  Bruno Haible  <bruno@clisp.org>
21546
21547         Tests for module 'unictype/category-LC'.
21548         * modules/unictype/category-LC-tests: New file.
21549         * tests/unictype/test-categ_LC.c: New file, automatically generated.
21550
21551         New module 'unictype/category-LC'.
21552         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
21553         (UC_CATEGORY_LC): New declaration.
21554         (UC_CASED_LETTER): New macro.
21555         * lib/gen-uni-tables.c (is_category_LC): New function.
21556         (output_categories): Also handle category LC.
21557         (UC_CATEGORY_MASK_LC): New enumeration value.
21558         (general_category_byname): Also handle category LC.
21559         * lib/unictype/categ_LC.c: New file.
21560         * lib/unictype/categ_LC.h: New file, automatically generated.
21561         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
21562         category LC.
21563         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
21564         * modules/unictype/category-LC: New file.
21565         * modules/unictype/category-byname (Depends-on): Add
21566         unictype/category-LC.
21567         * modules/unictype/category-all (Depends-on): Likewise.
21568
21569 2011-03-25  Eric Blake  <eblake@redhat.com>
21570
21571         xmalloc: revert yesterday's regression
21572         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
21573         realloc's underlying behavior (allowing allocation of zero-size
21574         objects, especially if malloc-gnu is also in use).
21575
21576 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
21577
21578         maint.mk: add missing version to VC-tag
21579         * top/maint.mk: git tag was missing actual tag name; add it.
21580
21581         valgrind: do leak checking, and exit with code 1 on error (not 0)
21582         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
21583         to VALGRIND.
21584
21585 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
21586
21587         posix-modules: say what it does.
21588         * posix-modules: Add a line to the --help output saying what it does.
21589
21590 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
21591
21592         xmalloc: Do not leak if underlying realloc is C99 compatible.
21593         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
21594         This avoids a leak on C99-based systems.  See
21595         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
21596
21597 2011-03-24  Eric Blake  <eblake@redhat.com>
21598
21599         realloc: document portability problem
21600         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
21601         passing 0 size to realloc.
21602
21603 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
21604
21605         doc: update users.txt
21606         * users.txt: Add cvsps, tmpwatch
21607
21608 2011-03-23  Matt Rice  <ratmice@gmail.com>
21609
21610         doc: update users.txt
21611         * users.txt: Add gdb.
21612
21613 2011-03-23  Jim Meyering  <meyering@redhat.com>
21614
21615         doc: update users.txt
21616         Looking through matches up to the following URL (there are still
21617         several more pages), I found several projects that use gnulib:
21618         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
21619         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
21620         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
21621
21622 2011-03-22  Bruno Haible  <bruno@clisp.org>
21623
21624         unictype/bidi*: Rename functions.
21625         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
21626         uc_bidi_class, uc_is_bidi_class): New declarations.
21627         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
21628         uc_bidi_category_byname.
21629         (uc_bidi_category_byname): New function.
21630         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
21631         u_bidi_category_name.
21632         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
21633         (uc_bidi_category_name): New function.
21634         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
21635         uc_bidi_category.
21636         (uc_bidi_category): New function.
21637         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
21638         uc_is_bidi_category. Invoke uc_bidi_class.
21639         (uc_is_bidi_category): New function.
21640         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
21641         instead of uc_bidi_category_byname.
21642         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
21643         instead of uc_bidi_category_name.
21644         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
21645         uc_bidi_category.
21646         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
21647         instead of uc_is_bidi_category.
21648
21649 2011-03-21  Bruno Haible  <bruno@clisp.org>
21650
21651         New module 'unictype/joininggroup-all'.
21652         * modules/unictype/joininggroup-all: New file.
21653
21654         Tests for module 'unictype/joininggroup-of'.
21655         * modules/unictype/joininggroup-of-tests: New file.
21656         * tests/unictype/test-joininggroup_of.c: New file.
21657         * tests/unictype/test-joininggroup_of.h: New file, automatically
21658         generated by gen-uni-tables.
21659
21660         New module 'unictype/joininggroup-of'.
21661         * modules/unictype/joininggroup-of: New file.
21662         * lib/unictype/joininggroup_of.c: New file.
21663         * lib/unictype/joininggroup_of.h: New file, automatically generated by
21664         gen-uni-tables.
21665
21666         Tests for module 'unictype/joininggroup-byname'.
21667         * modules/unictype/joininggroup-byname-tests: New file.
21668         * tests/unictype/test-joininggroup_byname.c: New file.
21669
21670         New module 'unictype/joininggroup-byname'.
21671         * modules/unictype/joininggroup-byname: New file.
21672         * lib/unictype/joininggroup_byname.c: New file.
21673         * lib/unictype/joininggroup_byname.gperf: New file.
21674
21675         Tests for module 'unictype/joininggroup-name'.
21676         * modules/unictype/joininggroup-name-tests: New file.
21677         * tests/unictype/test-joininggroup_name.c: New file.
21678
21679         New module 'unictype/joininggroup-name'.
21680         * modules/unictype/joininggroup-name: New file.
21681         * lib/unictype/joininggroup_name.c: New file.
21682         * lib/unictype/joininggroup_name.h: New file.
21683
21684         New module 'unictype/joiningtype-all'.
21685         * modules/unictype/joiningtype-all: New file.
21686
21687         Tests for module 'unictype/joiningtype-of'.
21688         * modules/unictype/joiningtype-of-tests: New file.
21689         * tests/unictype/test-joiningtype_of.c: New file.
21690         * tests/unictype/test-joiningtype_of.h: New file, automatically
21691         generated by gen-uni-tables.
21692
21693         New module 'unictype/joiningtype-of'.
21694         * modules/unictype/joiningtype-of: New file.
21695         * lib/unictype/joiningtype_of.c: New file.
21696         * lib/unictype/joiningtype_of.h: New file, automatically generated by
21697         gen-uni-tables.
21698
21699         Tests for module 'unictype/joiningtype-byname'.
21700         * modules/unictype/joiningtype-byname-tests: New file.
21701         * tests/unictype/test-joiningtype_byname.c: New file.
21702
21703         New module 'unictype/joiningtype-byname'.
21704         * modules/unictype/joiningtype-byname: New file.
21705         * lib/unictype/joiningtype_byname.c: New file.
21706
21707         Tests for module 'unictype/joiningtype-name'.
21708         * modules/unictype/joiningtype-name-tests: New file.
21709         * tests/unictype/test-joiningtype_name.c: New file.
21710
21711         New module 'unictype/joiningtype-name'.
21712         * modules/unictype/joiningtype-name: New file.
21713         * lib/unictype/joiningtype_name.c: New file.
21714
21715         unictype: Add support for Arabic shaping properties.
21716         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
21717         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
21718         declarations.
21719         (UC_JOINING_GROUP_*): New enumeration values.
21720         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
21721         declarations.
21722         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
21723         (unicode_joining_type): New variable.
21724         (UC_JOINING_GROUP_*): New enumeration values.
21725         (unicode_joining_group): New variable.
21726         (fill_arabicshaping, joining_type_as_c_identifier,
21727         output_joining_type_test, output_joining_type,
21728         joining_group_as_c_identifier, output_joining_group_test,
21729         output_joining_group): New functions.
21730         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
21731         fill_arabicshaping and output_joining_type_test, output_joining_type,
21732         output_joining_group_test, output_joining_group.
21733         Reported by Simon Josefsson.
21734
21735 2011-03-21  Jim Meyering  <meyering@redhat.com>
21736
21737         strftime: fix a bug in yesterday's change
21738         * lib/strftime.c (add): Accommodate width's initial value of -1.
21739         Otherwise, nstrftime would copy uninitialized data into
21740         the result buffer.
21741
21742 2011-03-21  Jim Meyering  <meyering@redhat.com>
21743
21744         tests: add strftime-tests module
21745         * tests/test-strftime.c: New file.
21746         * modules/strftime-tests: New module.
21747
21748 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
21749
21750         strftime: don't assume a byte count fits in 'int'
21751         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
21752         found this problem by static analysis, using gcc -Wstrict-overflow
21753         (GCC 4.5.2, x86-64).  This reported an optimization that depended
21754         on an integer overflow having undefined behavior, but it turns out
21755         that the argument is a size, which might not fit in 'int' anyway,
21756
21757 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
21758
21759         stdio: don't require ignore_value around fwrite
21760
21761         This patch works around libc bug 11959
21762         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
21763         Without this patch, applications must often write
21764         ignore_value (fwrite (...)) even though the ignore_value is
21765         not helpful here.  It's common to write many objects, using
21766         fwrite/printf/etc., and then use ferror to detect output error.
21767
21768         I considered making this patch optional, but decided against it,
21769         because libc is obviously being inconsistent here: there is no
21770         reason libc should insist that user code must inspect fwrite
21771         return's value without also insisting that it inspect printf's,
21772         putchar's, etc.  If user code wants to have a strict style where
21773         all these functions' values are checked (so that ferror need not
21774         be checked), we could add support for that style in a new gnulib
21775         module, but in the meantime it's better to be consistent and to
21776         support common usage.
21777
21778         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
21779         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
21780         that we are compiling in checking mode, and if not C++, and
21781         if not already wrapping fwrite for some other reason.
21782         (fwrite): #define to rpl_fwrite if the latter is defined.
21783
21784 2011-03-20  Bruno Haible  <bruno@clisp.org>
21785
21786         verror: Fix compilation error introduced on 2011-02-13.
21787         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
21788         instead of __attribute__.
21789         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21790
21791 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
21792             Bruno Haible  <bruno@clisp.org>
21793
21794         socklen: do not depend on sys_socket
21795         While trying to modify Emacs to use gnulib's socklen module,
21796         I discovered a circular dependency: socklen depends on sys_socket
21797         and vice versa.  Emacs can use socklen, but it does not need
21798         sys_socket because it has its own substitute for sys/socket.h.
21799         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
21800         gl_TYPE_SOCKLEN_T.
21801         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
21802         gl_PREREQ_SYS_H_SOCKET.
21803         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
21804         gl_PREREQ_SYS_H_SOCKET.
21805         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
21806         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
21807         * modules/socklen (Depends-on): Do not depend on sys_socket.
21808         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
21809
21810 2011-03-20  Jim Meyering  <meyering@redhat.com>
21811
21812         maint.mk: sort file names *after* new transformation
21813         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
21814         prefix would have led to an unwarranted failure in GNU parted.
21815         Sort after that transformation.
21816
21817 2011-03-19  Jim Meyering  <meyering@redhat.com>
21818
21819         maint.mk: fix po-file syntax-check rule
21820         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
21821         Patch by Bruno Haible.
21822
21823 2011-03-19  Bruno Haible  <bruno@clisp.org>
21824
21825         socklen: Update comment.
21826         * m4/socklen.m4: Update comment about platforms.
21827
21828 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
21829             Bruno Haible  <bruno@clisp.org>
21830
21831         inet_ntop, inet_pton: Simplify.
21832         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
21833         documented to provide socklen_t and we already depend on sys_socket.
21834         * modules/inet_pton (Depends-on): Likewise.
21835         * lib/arpa_inet.in.h: Adjust comment.
21836
21837 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
21838             Bruno Haible  <bruno@clisp.org>
21839
21840         netdb: Simplify.
21841         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
21842         documented to provide socklen_t and we already depend on sys_socket.
21843         * lib/netdb.in.h: Adjust comment.
21844
21845 2011-03-19  Bruno Haible  <bruno@clisp.org>
21846
21847         sys_socket, netdb: Document problem with socklen_t.
21848         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
21849         platforms.
21850         * doc/posix-headers/netdb.texi: Likewise.
21851
21852 2011-03-18  Eric Blake  <eblake@redhat.com>
21853
21854         maint.mk: let po check work in VPATH build
21855         * top/maint.mk (po_file): Allow cfg.mk override.
21856         (sc_po_check): Allow VPATH use.
21857         Reported by Jiri Denemark.
21858
21859 2011-03-16  Jim Meyering  <meyering@redhat.com>
21860
21861         maint.mk: allow fine-grained syntax-check exclusion via Make variables
21862         Before, you would have had to create one .x-sc_ file per rule in order
21863         to exempt offending files.  Now, you may instead use a Make variable --
21864         usually defined in cfg.mk -- whose name identifies the affected rule.
21865         * top/maint.mk (_sc_excl): Define.
21866         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
21867         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
21868
21869 2011-03-13  Bruno Haible  <bruno@clisp.org>
21870
21871         ignore-value tests: Avoid warnings.
21872         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
21873         empty for gcc < 3.4.
21874
21875 2011-03-13  Bruno Haible  <bruno@clisp.org>
21876
21877         passfd: Fix link error on Solaris.
21878         * modules/passfd (Description): Correct.
21879         (Depends-on): Add socketlib.
21880         (Link): New section.
21881         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
21882
21883 2011-03-13  Bruno Haible  <bruno@clisp.org>
21884
21885         passfd: Fix link error on AIX 5.2.
21886         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
21887
21888 2011-03-13  Bruno Haible  <bruno@clisp.org>
21889
21890         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
21891         * lib/sys_socket.in.h: Include <stddef.h>.
21892         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
21893         CMSG_FIRSTHDR. Remove unused variable.
21894
21895 2011-03-13  Bruno Haible  <bruno@clisp.org>
21896
21897         passfd: Fix compilation error on OpenBSD.
21898         * lib/passfd.c: Include <sys/uio.h>.
21899
21900 2011-03-13  Bruno Haible  <bruno@clisp.org>
21901
21902         passfd test: Fix warnings.
21903         * tests/test-passfd.c: Include <sys/wait.h>.
21904         (main): Fix typo.
21905
21906 2011-03-13  Bruno Haible  <bruno@clisp.org>
21907
21908         passfd module, part 4, tweaks.
21909         * tests/test-passfd.c: Reorder includes.
21910         (main): Fix perror and printf calls.
21911
21912 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
21913
21914         passfd module, part 4.
21915         * modules/passfd-tests: New file.
21916         * tests/test-passfd.c: New file.
21917
21918 2011-03-13  Jim Meyering  <meyering@redhat.com>
21919
21920         Makefile: rely on GNU make; derive syntax-check rule names
21921         Rather than requiring that each sc_ rule be listed as a dependent
21922         of "check", use features of GNU make to derive the list.
21923         * Makefile (syntax-check-rules): Define.
21924         (check): Depend on the new variable, not the hard-coded list.
21925
21926 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
21927             Bruno Haible  <bruno@clisp.org>
21928
21929         passfd module, part 3.
21930         * lib/passfd.h (recvfd): Add a flags argument.
21931         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
21932         (recvfd): Add a flags argument.
21933         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
21934         exists.
21935         * modules/passfd (Depends-on): Add cloexec.
21936         Suggested by Eric Blake.
21937
21938 2011-03-13  Bruno Haible  <bruno@clisp.org>
21939
21940         passfd module, part 2, tweaks.
21941         * modules/passfd (Files): Reorder.
21942         (Depends-on): Remove errno.
21943         (Include): Remove <sys/socket.h>, <sys/un.h>.
21944         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
21945         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
21946         specification header. Include <sys/socket.h> always. Don't include
21947         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
21948         (sendfd): Clarify that it sets errno when it fails.
21949         (recvfd): Fix specification.
21950
21951 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
21952
21953         passfd module, part 2.
21954         * modules/passfd: New file.
21955         * lib/passfd.h: New file.
21956         * lib/passfd.c: New file.
21957
21958 2011-03-12  Bruno Haible  <bruno@clisp.org>
21959
21960         wcswidth, mbswidth: Avoid integer overflow.
21961         * lib/wcswidth.c: Include <limits.h>.
21962         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
21963         * lib/mbswidth.c: Include <limits.h>.
21964         (mbsnwidth): Avoid 'int' overflow.
21965         Reported by Jim Meyering.
21966
21967 2011-03-12  Bruno Haible  <bruno@clisp.org>
21968
21969         futimens, utimensat: Avoid endless recursion on Solaris 10.
21970         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
21971         Solaris.
21972         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
21973         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
21974
21975 2011-03-11  Jim Meyering  <meyering@redhat.com>
21976
21977         maint.mk: relax a regexp to accommodate other formatting styles
21978         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
21979         between "ngettext" and the following "(".
21980
21981 2011-03-11  Pádraig Brady <P@draigBrady.com>
21982
21983         maint.mk: suppress a false positive warning
21984         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
21985         diagnostics are marked with ngettext.
21986
21987 2011-03-10  Eric Blake  <eblake@redhat.com>
21988
21989         wchar: add explicit dependencies, for Tru64
21990         * modules/mbmemcasecoll (Depends-on): Add wchar.
21991         * modules/mbtowc (Depends-on): Likewise.
21992         * modules/vasnprintf (Depends-on): Likewise.
21993         * modules/unistdio/u-printf-args (Depends-on): Likewise.
21994         * modules/wctomb (Depends-on): Likewise.
21995         Reported by Peter O'Gorman.
21996
21997 2011-03-08  Bruno Haible  <bruno@clisp.org>
21998
21999         passfd module, part 1, tweaks.
22000         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
22001         Improve indentation. Improve AC_MSG_CHECKING messages.
22002         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
22003         gl_SOCKET_FAMILIES.
22004
22005 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22006
22007         passfd module, part 1.
22008         * m4/afunix.m4: New file.
22009         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
22010         sockets.
22011
22012 2011-03-08  Bruno Haible  <bruno@clisp.org>
22013
22014         regex-quote: New API.
22015         * lib/regex-quote.h: Include <stdbool.h>.
22016         (struct regex_quote_spec): New type.
22017         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
22018         New declarations.
22019         (regex_quote_length, regex_quote_copy, regex_quote): Take a
22020         'const struct regex_quote_spec *' argument.
22021         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
22022         (pcre_special): New constant.
22023         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
22024         New functions.
22025         (regex_quote_length, regex_quote_copy, regex_quote): Take a
22026         'const struct regex_quote_spec *' argument.
22027         * modules/regex-quote (Depends-on): Add stdbool.
22028         * tests/test-regex-quote.c (check): Update for new API. Add test for
22029         anchored results.
22030         * NEWS: Mention the API change.
22031         Reported by Reuben Thomas and Eric Blake.
22032
22033 2011-03-06  Bruno Haible  <bruno@clisp.org>
22034
22035         regex-quote: Fix creation of POSIX extended regular expressions.
22036         * lib/regex-quote.c (ere_special): Add grouping and alternation
22037         operators.
22038
22039 2011-03-05  Bruno Haible  <bruno@clisp.org>
22040
22041         doc: Improve doc regarding autopoint vs. gnulib.
22042         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
22043         disable autopoint while running autoreconf.
22044         Suggested by Ralf Wildenhues.
22045
22046 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22047
22048         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
22049         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
22050
22051 2011-03-03  Bruce Korb  <bkorb@gnu.org>
22052
22053         parse-duration: remove xalloc.h dependency
22054         * lib/parse-duration.c (parse_period): handle NULL return from
22055         strdup instead of calling xstrdup().
22056         * modules/parse-duration: remove "xalloc" dependency
22057
22058 2011-03-03  Matthew Booth  <mbooth@redhat.com>
22059
22060         bootstrap: honor m4_base when running aclocal
22061         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
22062
22063 2011-03-02  Jim Meyering  <meyering@redhat.com>
22064
22065         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
22066         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
22067         on request from Matt Booth.
22068
22069 2011-03-01  Eric Blake  <eblake@redhat.com>
22070
22071         test-link: work on Hurd
22072         * tests/test-link.h (test_link): Hurd rejects linking directories
22073         with EISDIR instead of the POSIX-mandated EPERM.
22074
22075 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
22076
22077         stdio: simplify by moving files to printf-posix, sigpipe
22078         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
22079         since this symbol is needed only if printf is replaced.
22080         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
22081         Require gl_ASM_SYMBOL_PREFIX.
22082         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
22083         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
22084         (Depends-on): Add 'raise'.
22085         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
22086         * modules/stdio (Files): Remove lib/stdio-write.c,
22087         m4/asm-underscore.m4.
22088         (Depends-on): Remove 'raise'.
22089
22090         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
22091         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
22092         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
22093         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
22094
22095 2011-02-28  Bruno Haible  <bruno@clisp.org>
22096
22097         localcharset: Assume ANSI C behaviour of free().
22098         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
22099         calling free().
22100         Suggested by Simon Josefsson <simon@josefsson.org>.
22101
22102 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
22103             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
22104             Bruno Haible  <bruno@clisp.org>  (tiny change)
22105
22106         On Cygwin, use /proc file system instead of win32 API.
22107         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
22108         Win32 file names.
22109         (DllMain): Simplify by removing Cygwin specific code.
22110         (find_shared_library_fullname): Use Linux specific implementation also
22111         for Cygwin.
22112         (get_shared_library_fullname): Update accordingly.
22113         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
22114         Win32 file names.
22115         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
22116         Cygwin specific code.
22117
22118 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
22119             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
22120
22121         Fix OpenMP flag detection for various Fortran compilers.
22122         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
22123         OpenMP-conditional compilation construct, to force compile
22124         failure with missing OpenMP flag.
22125         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
22126
22127 2011-02-25  Eric Blake  <eblake@redhat.com>
22128
22129         strstr: expand test coverage
22130         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
22131         compilation.
22132         * tests/test-memmem.c (main): Duplicate tests.
22133         * tests/test-strcasestr.c (main): Likewise.
22134         * tests/test-c-strcasestr.c (main): Likewise.
22135
22136 2011-02-25  Jim Meyering  <meyering@redhat.com>
22137
22138         maint.mk: detect missing-NL-at-EOF, too
22139         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
22140         it also detects when a file lacks a newline at EOF.
22141         (require_exactly_one_NL_at_EOF_): Renamed from
22142         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
22143         since people may well have .x-sc_... file names tied to the
22144         existing name.  Suggested by Eric Blake.
22145
22146 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
22147
22148         dirname: move m4/dos.m4 functionality into lib/dosname.h
22149
22150         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
22151         extracts symbols from it, puts them into config.h; but it's much
22152         easier to use the symbols directly.  filename.h already does this,
22153         but it disagrees with dos.m4 in some respects.  This patch
22154         introduces a different include file dosname.h that packages up
22155         dos.m4, and then later we can work on merging filename.h and
22156         dosname.h.  Applications that need only the easy-to-configure
22157         symbols should consider including dosname.h rather than dirname.h.
22158         * NEWS: Mention incompatible changes.
22159         * m4/dos.m4: Remove.
22160         * lib/dosname.h, modules/dosname: New files.
22161         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
22162         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
22163         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
22164         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
22165         Include dosname.h, not dirname.h.
22166         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
22167         Include dosname.h, for definitions of symbols like ISSLASH
22168         that used to be in config.h.
22169         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
22170         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22171         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22172         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22173         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
22174         * modules/rmdir (Files): Likewise.
22175         * modules/stat (Files): Likewise.
22176         * modules/unlink (Files): Likewise.
22177         * modules/dirname-lgpl (Depends-on): Add dosname.
22178         * modules/lstat (Depends-on): Likewise.
22179         * modules/openat (Depends-on): Likewise.
22180         * modules/rmdir (Depends-on): Likewise.
22181         * modules/savewd (Depends-on): Likewise.
22182         * modules/stat (Depends-on): Likewise.
22183         * modules/unlink (Depends-on): Likewise.
22184         * modules/openat (Depends-on): Remove dirname-lgpl.
22185         * modules/savewd (Depends-on): Likewise.
22186         * tests/test-dirname.c: Do not use removed symbols like
22187         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
22188         the remaining symbols, e.g., ISSLASH ('\\').
22189
22190 2011-02-25  Eric Blake  <eblake@redhat.com>
22191
22192         strstr: revert patches that introduced bug and pessimization
22193         * lib/str-two-way.h: Add another reference.
22194         (two_way_short_needle, two_way_long_needle): Revert changes from
22195         2011-02-24; they pessimize search speed.
22196         (critical_factorization): Partially revert changes from
22197         2010-06-22; they violate the requirement that the left half of the
22198         needle be smaller than the period of the needle.
22199
22200 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
22201
22202         filenamecat: remove unnecessary dependency on dirname-lgpl
22203         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
22204         is no direct dependency, just an indirect one via filenamecat-lgpl.
22205
22206         remove: remove unnecessary use of m4/dos.m4
22207         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
22208         * modules/remove (FILES): Remove m4/dos.m4.
22209
22210         * lib/openat-proc.c: Don't include dirname.h; not needed.
22211
22212         backupfile: remove unnecessary use of m4/dos.m4
22213         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
22214         of its symbols are used by the backupfile code.  backupfile.c does
22215         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
22216         for the rare case of programs that want all their backup file
22217         names to live within 8+3 limits, and dos.m4 doesn't address that.
22218         * modules/backupfile (Files): Remove m4/dos.m4.
22219
22220 2011-02-24  Jim Meyering  <meyering@redhat.com>
22221
22222         strstr: fix a bug whereby strstr would mistakenly return NULL
22223         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
22224         in period calculation.
22225         (two_way_long_needle): Likewise.
22226         The original problem was reported by Mike Stump in
22227         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
22228         Ralf Wildenhues provided the short needle and haystack.
22229         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
22230         Add a more involved test to trigger the bug in two_way_long_needle.
22231
22232 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
22233
22234         gnulib-tool: remove use of bold display in help screen
22235         * gnulib-tool (func_usage): Do not use bold display anymore in the
22236         help screen.  That was just meant to be a temporary emphasis for a
22237         backward-incompatible change.
22238
22239 2011-02-23  Bruno Haible  <bruno@clisp.org>
22240
22241         Fix misindentation of preprocessor directives.
22242         * lib/argp-namefrob.h: Reindent preprocessor directives.
22243         * lib/getopt_int.h (struct _getopt_data): Likewise.
22244         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
22245         * lib/vasnprintf.c (decode_long_double): Likewise.
22246         * tests/test-argmatch.c: Insert blank lines, for clarity.
22247         * tests/test-exclude.c: Likewise.
22248
22249 2011-02-22  Bruno Haible  <bruno@clisp.org>
22250
22251         ioctl: Fix for MacOS X in 64-bit mode.
22252         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
22253         value.
22254         Suggested by Eric Blake.
22255         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
22256
22257 2011-02-22  Jim Meyering  <meyering@redhat.com>
22258
22259         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
22260         * Makefile (sc_cpp_indent_check): Don't limit the check to files
22261         in lib/.
22262
22263 2011-02-22  Eric Blake  <eblake@redhat.com>
22264
22265         maint: avoid any CDPATH issue
22266         * Makefile (sc_cpp_indent_check): Anchor cd argument.
22267
22268         maint: adjust cpp indentation for my modules, as well
22269         * Makefile (sc_cpp_indent_check): Add my name.
22270         * lib/fbufmode.c: Filter through cppi.
22271         * lib/fpurge.c: Likewise.
22272         * lib/freadable.c: Likewise.
22273         * lib/freading.c: Likewise.
22274         * lib/fwritable.c: Likewise.
22275         * lib/fwriting.c: Likewise.
22276         * lib/sigaction.c: Likewise.
22277
22278 2011-02-22  Jim Meyering  <meyering@redhat.com>
22279
22280         maint: adjust cpp indentation to reflect nesting depth
22281         I.e., in a block of code that begins with an unnested "#if",
22282         put one space between the "#" in column 1 and following token.
22283         For example,
22284         -#include <sys/vfs.h>
22285         +# include <sys/vfs.h>
22286         Do this only in .c files that are part of a module I maintain.
22287         * lib/linkat.c: Filter through cppi.
22288         * lib/nanosleep.c: Likewise.
22289         * lib/openat.c: Likewise.
22290         * lib/openat-die.c: Likewise.
22291         * lib/dup3.c: Likewise.
22292         * lib/fchownat.c: Likewise.
22293         * lib/flock.c: Likewise.
22294         * lib/fsync.c: Likewise.
22295         * lib/fts.c: Likewise.
22296         * lib/getpass.c: Likewise.
22297         * lib/gettimeofday.c: Likewise.
22298         * lib/userspec.c: Likewise.
22299         * Makefile (sc_cpp_indent_check): New rule, to check this.
22300
22301 2011-02-22  Bruno Haible  <bruno@clisp.org>
22302
22303         New module 'wctomb'.
22304         * lib/stdlib.in.h (wctomb): New declaration.
22305         * lib/wctomb.c: New file.
22306         * lib/wctomb-impl.h: New file.
22307         * m4/wctomb.m4: New file.
22308         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
22309         REPLACE_WCTOMB.
22310         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
22311         REPLACE_WCTOMB.
22312         * modules/wctomb: New file.
22313         * tests/test-stdlib-c++.cc: Test signature of wctomb.
22314         * doc/posix-functions/wctomb.texi: Mention the new module.
22315         * modules/wctob (Depends-on): Add wctomb.
22316
22317 2011-02-22  Bruno Haible  <bruno@clisp.org>
22318
22319         New module 'mbtowc'.
22320         * lib/stdlib.in.h (mbtowc): New declaration.
22321         * lib/mbtowc.c: New file.
22322         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
22323         * m4/mbtowc.m4: New file.
22324         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
22325         REPLACE_MBTOWC.
22326         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
22327         REPLACE_MBTOWC.
22328         * modules/mbtowc: New file.
22329         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
22330         * doc/posix-functions/mbtowc.texi: Mention the new module.
22331         * modules/btowc (Depends-on): Add mbtowc.
22332
22333 2011-02-22  Bruno Haible  <bruno@clisp.org>
22334
22335         wcrtomb: Add more tests for native Windows platforms.
22336         * tests/test-wcrtomb-w32-1.sh: New file.
22337         * tests/test-wcrtomb-w32-2.sh: New file.
22338         * tests/test-wcrtomb-w32-3.sh: New file.
22339         * tests/test-wcrtomb-w32-4.sh: New file.
22340         * tests/test-wcrtomb-w32-5.sh: New file.
22341         * tests/test-wcrtomb-w32.c: New file.
22342         * modules/wcrtomb-tests (Files): Add them.
22343         (Makefile.am): Arrange to run these tests.
22344         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
22345         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
22346
22347 2011-02-20  Bruno Haible  <bruno@clisp.org>
22348
22349         wcrtomb: Enhance test.
22350         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
22351
22352 2011-02-20  Bruno Haible  <bruno@clisp.org>
22353
22354         mbrtowc: Tiny optimization.
22355         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
22356
22357 2011-02-20  Jim Meyering  <meyering@redhat.com>
22358
22359         test-exclude.c: remove unmatched #endif
22360         * tests/test-exclude.c: Remove stray #endif, left over from
22361         the change of a week ago.
22362
22363 2011-02-19  Jim Meyering  <meyering@redhat.com>
22364
22365         git-version-gen: skip "-dirty" check when appropriate
22366         * build-aux/git-version-gen: Don't run any git commands when the
22367         version string comes from .tarball-version.  Prior to this, we
22368         would run git update-index --refresh even from a just-unpacked
22369         tarball directory, and that could affect a .git/ directory in a
22370         parent of the build directory.  Reported by Mike Frysinger.
22371
22372 2011-02-19  Bruno Haible  <bruno@clisp.org>
22373
22374         unictype/property-byname: Reduce the size of the 'data' segment.
22375         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
22376
22377 2011-02-19  Bruno Haible  <bruno@clisp.org>
22378
22379         unictype/scripts: Reduce the size of the 'data' segment.
22380         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
22381         '%pic'.
22382         * lib/unictype/scripts_byname.gperf: Regenerated.
22383
22384 2011-02-19  Bruno Haible  <bruno@clisp.org>
22385
22386         stdint: Update documentation.
22387         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
22388
22389 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
22390
22391         stdint: omit redundant check for wchar.h
22392         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
22393         always tests whether wchar.h exists, so remove the now-redundant test.
22394
22395 2011-02-18  Bruno Haible  <bruno@clisp.org>
22396
22397         stdint: Cut dependency to module 'wchar'.
22398         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
22399         include the necessary prerequisites.
22400         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
22401         * modules/stdint (Depends-on): Remove wchar.
22402         (Makefile.am): Substitute HAVE_WCHAR_H.
22403         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
22404
22405 2011-02-18  Eric Blake  <eblake@redhat.com>
22406
22407         longlong: skip, rather than fail, on cross-compilation
22408         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
22409         when cross-compiling; regression from 2011-02-16.
22410
22411 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
22412
22413         * NEWS: Mention 2011-02-08 change to stdlib.
22414
22415 2011-02-17  Bruno Haible  <bruno@clisp.org>
22416
22417         getloadavg: Add comments about platforms.
22418         * m4/getloadavg.m4: Add comment.
22419         * lib/getloadavg.c: Likewise.
22420
22421 2011-02-17  Bruno Haible  <bruno@clisp.org>
22422
22423         getloadavg: Fix link error on Solaris 2.6.
22424         * modules/getloadavg (Link): New section.
22425         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
22426         linking test-getloadavg.
22427         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
22428         getloadavg.
22429
22430 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
22431
22432         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
22433         It was 'int', but this doesn't match the IRIX 6.5 manual.
22434         Suggested by Bruno Haible in
22435         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
22436
22437 2011-02-17  Bruno Haible  <bruno@clisp.org>
22438
22439         havelib: Fix comments.
22440         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
22441         change.
22442
22443 2011-02-17  Bruno Haible  <bruno@clisp.org>
22444
22445         havelib: Update config.rpath.
22446         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
22447
22448 2011-02-17  Bruno Haible  <bruno@clisp.org>
22449
22450         getloadavg test: Add some plausibility checks.
22451         * tests/test-getloadavg.c (check_avg): Print a warning when the value
22452         is improbable.
22453
22454 2011-02-16  Eric Blake  <eblake@redhat.com>
22455
22456         maintainer-makefile: make syntax-check a no-op from tarballs
22457         * top/maint.mk (no-vc-detected): New rule.
22458         (local-checks-available): Use it to avoid hanging if someone tries
22459         'make syntax-check' from a tarball.  Also append to any non-syntax
22460         checks already defined in cfg.mk.
22461
22462 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
22463
22464         longlong: tune, particularly for common case of c99
22465
22466         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
22467         or running anything if c99, or if unsigned long long int does not
22468         work.  In either case, we know the answer without further tests.
22469         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
22470         it at most once, and use its results for both long long int and
22471         unsigned long long int.  This is more likely to be efficient in
22472         the common case where the program wants to check for both long
22473         long int and unsigned long long int.
22474         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
22475         since the answer is already known.
22476
22477 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
22478
22479         getloadavg: set errno
22480         * lib/getloadavg.c: Set errno when returning -1.  If no other
22481         error number looks appropriate, set it to ENOSYS if the getloadavg
22482         looks like it can't possibly ever work, ENOTSUP otherwise.
22483         Suggested by Bruno Haible in
22484         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
22485
22486         getloadavg: trim unused parts and speed up 'configure'
22487         * NEWS: Document this.
22488         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
22489         always compiled if getloadavg is absent.
22490         Move test code to ...
22491         * tests/test-getloadavg.c: New file, containing previous
22492         contents of test from lib/getloadavg.c.  It also contains
22493         suggestions by Bruno Haible in
22494         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
22495         * modules/getloadavg-tests: New file.
22496         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
22497         Do tests in the same order as they're needed for getloadavg.c.
22498         Omit setgid-related tests that generate symbols KMEM_GROUP,
22499         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
22500         Do only the tests that are needed to see whether the system has
22501         getloadavg, moving the other tests into ...
22502         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
22503         NLIST_NAME_UNION; nobody should be using it.  Do not define
22504         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
22505         relevant, as the user of this module shouldn't care how getloadavg
22506         is implemented.
22507
22508         getloadavg: omit unused var
22509         * lib/getloadavg.c (getloadavg): Omit unused local variable.
22510
22511 2011-02-15  Jim Meyering  <meyering@redhat.com>
22512
22513         doc: update users.txt
22514         * users.txt: Update iwhd's URL.
22515
22516 2011-02-13  Bruno Haible  <bruno@clisp.org>
22517
22518         Consistent macro naming for macros that use GCC __attribute__.
22519         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
22520         _ATTRIBUTE_NONNULL_.
22521         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
22522         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
22523         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
22524         ATTRIBUTE_DEPRECATED.
22525         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
22526         ATTRIBUTE_NORETURN.
22527         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
22528         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
22529         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
22530         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
22531         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
22532         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
22533         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
22534         ATTRIBUTE_SENTINEL.
22535         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
22536         ATTRIBUTE_RETURN_CHECK.
22537         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
22538         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
22539         ATTRIBUTE_NORETURN.
22540         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
22541         Reported by Paul Eggert.
22542
22543 2011-02-13  Bruno Haible  <bruno@clisp.org>
22544
22545         Don't interfere with a program's definition of __attribute__.
22546         * lib/argp.h (__attribute__): Remove definition.
22547         (_GL_ATTRIBUTE_FORMAT): New macro.
22548         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
22549         * lib/argp-fmtstream.h (__attribute__): Remove definition.
22550         (_GL_ATTRIBUTE_FORMAT): New macro.
22551         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
22552         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
22553         GCC 3 or newer.
22554         * lib/error.h (__attribute__): Remove definition.
22555         (_GL_ATTRIBUTE_FORMAT): New macro.
22556         (error, error_at_line): Use it.
22557         * lib/hash.h (__attribute__): Remove definition.
22558         (ATTRIBUTE_WUR): Update definition. Define always.
22559         * lib/openat.h (__attribute__): Remove definition.
22560         (ATTRIBUTE_NORETURN): Update definition. Define always.
22561         * lib/sigpipe-die.h (__attribute__): Remove definition.
22562         (ATTRIBUTE_NORETURN): Update definition. Define always.
22563         * lib/vasnprintf.h (__attribute__): Remove definition.
22564         (_GL_ATTRIBUTE_FORMAT): New macro.
22565         (asnprintf, vasnprintf): Use it.
22566         * lib/xalloc.h (__attribute__): Remove definition.
22567         (ATTRIBUTE_NORETURN): Update definition. Define always.
22568         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
22569         * lib/xmemdup0.h (__attribute__): Remove definition.
22570         (ATTRIBUTE_NORETURN): Update definition. Define always.
22571         * lib/xprintf.h (__attribute__): Remove definition.
22572         (_GL_ATTRIBUTE_FORMAT): New macro.
22573         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
22574         * lib/xstrtol.h (__attribute__): Remove definition.
22575         (ATTRIBUTE_NORETURN): Update definition. Define always.
22576         * lib/xvasprintf.h (__attribute__): Remove definition.
22577         (_GL_ATTRIBUTE_FORMAT): New macro.
22578         (xasprintf, xvasprintf): Use it.
22579         * tests/test-argmatch.c (__attribute__): Remove definition.
22580         (ATTRIBUTE_NORETURN): Update definition. Define always.
22581         * tests/test-exclude.c (__attribute__): Remove definition.
22582         (ATTRIBUTE_NORETURN): Update definition. Define always.
22583         Reported by Paul Eggert.
22584
22585 2011-02-13  Bruno Haible  <bruno@clisp.org>
22586
22587         mbrtowc: Add more tests for native Windows platforms.
22588         * tests/test-mbrtowc-w32-1.sh: New file.
22589         * tests/test-mbrtowc-w32-2.sh: New file.
22590         * tests/test-mbrtowc-w32-3.sh: New file.
22591         * tests/test-mbrtowc-w32-4.sh: New file.
22592         * tests/test-mbrtowc-w32-5.sh: New file.
22593         * tests/test-mbrtowc-w32.c: New file.
22594         * modules/mbrtowc-tests (Files): Add them.
22595         (Makefile.am): Arrange to run these tests.
22596         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
22597         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
22598
22599 2011-02-13  Bruno Haible  <bruno@clisp.org>
22600
22601         mbrtowc: Work around native Windows bug.
22602         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
22603         guess when no suitable locale for testing was found.
22604         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
22605
22606 2011-02-13  Bruno Haible  <bruno@clisp.org>
22607
22608         mbsinit: Work around mingw bug.
22609         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
22610         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
22611         Windows.
22612         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
22613
22614 2011-02-13  Bruno Haible  <bruno@clisp.org>
22615
22616         mbsinit: Don't crash for a NULL argument.
22617         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
22618         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
22619
22620 2011-02-13  Bruno Haible  <bruno@clisp.org>
22621
22622         Don't interfere with a program's definition of __attribute__.
22623         * lib/stdio.in.h (__attribute__): Remove definition.
22624         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
22625         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
22626         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
22627         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
22628         * lib/string.in.h (__attribute__): Remove definition.
22629         Reported by Paul Eggert.
22630
22631 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
22632
22633         stdlib: don't get in the way of non-GCC __attribute__
22634         See thread starting at
22635         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
22636         Revert previous stdlib change, installing the following instead:
22637         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
22638         to get in the way of a non-GCC compiler that supports __attribute__.
22639         (_GL_ATTRIBUTE_RETURN): New macro.
22640         (_Exit): Use it instead of __attribute__.
22641
22642 2011-02-12  Bruno Haible  <bruno@clisp.org>
22643
22644         quotearg test: Avoid test failure on mingw.
22645         * tests/test-quotearg.sh: Convert the locale identifier from native
22646         Windows syntax to Unix syntax.
22647
22648 2011-02-12  Bruno Haible  <bruno@clisp.org>
22649
22650         setlocale: Prefer gnulib's override over libintl's override.
22651         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
22652         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
22653         GNULIB_defined_setlocale is set.
22654
22655 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
22656
22657         stdlib: support non-GCC __attribute__
22658
22659         Fix a serious and tricky problem encountered when attempting to
22660         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
22661         5.5, but it crashed due to memory corruption on Solaris 10 with
22662         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
22663         bits that are otherwise zero.  This tagging is optional inside
22664         Emacs but is preferred and is used when __attribute__ ((__aligned
22665         (8))) works, as it does with both recent-enough GCC and with Sun C
22666         5.11.  However, Sun C 5.11 is not GCC and does not #define
22667         __GNUC__ and __GNUC_MINOR__.
22668
22669         When I added the getloadavg module to Emacs, it brought in
22670         stdlib.in.h, which contained this fragment:
22671
22672            #ifndef __attribute__
22673            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
22674            #  define __attribute__(Spec)   /* empty */
22675            # endif
22676            #endif
22677
22678         When files that include <stdlib.h> were compiled with Sun C 5.11,
22679         the above code disabled __attribute__ ((__aligned (8))), which
22680         caused variables to not be properly aligned, which eventually led
22681         to the pointer corruption mentioned above.  (This was a bit hard
22682         to diagnose, unfortunately.)
22683
22684         Several "#define __attribute__(X) /* empty */" code snippets need
22685         to be eradicated from Gnulib to work with non-GCC compilers that
22686         support __attribute__.  The Autoconf way to do this is to test for
22687         each kind of attribute that we want support for, and selectively
22688         enable that in source code.
22689
22690         Fix this problem just for stdlib.h, by adding a test for the
22691         __noreturn__ attribute, and change stdlib.in.h to use that test
22692         when needed.  This technique can be easily generalized to the
22693         other *.in.h files and attributes, and a similar technique can be
22694         used for *.h and *.c files.  This patch is enough to solve the
22695         problem for Emacs + getloadavg, and I thought I'd publish it for
22696         feedback before undertaking further, similar fixes in other
22697         modules.
22698
22699         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
22700         because it's not needed for stdlib.h.  It merely substitutes the
22701         value directly into stdlib.h.  We may well need to #define it, or
22702         similar symbols, for other modules, but it's nice to also have an
22703         option to not #define it for applications like Emacs that do not
22704         need it.
22705
22706         * lib/stdlib.in.h (__attribute__): Do not #define.
22707         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
22708         be defined only if the _Exit module is also used.
22709         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
22710         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
22711         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
22712         platforms.
22713         * modules/_Exit (Files): Add m4/attribute.m4.
22714         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
22715         * m4/attribute.m4: New file.
22716
22717 2011-02-12  Bruno Haible  <bruno@clisp.org>
22718
22719         wcsrtombs: Work around bug on native Windows.
22720         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
22721         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
22722         instead of len.
22723         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
22724
22725 2011-02-12  Bruno Haible  <bruno@clisp.org>
22726
22727         mbsrtowcs: Work around bug on native Windows.
22728         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
22729         against mingw bug.
22730         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
22731
22732 2011-02-12  Bruno Haible  <bruno@clisp.org>
22733
22734         Avoid setlocale bugs in tests.
22735         * modules/btowc (Dependencies): Add setlocale.
22736         * modules/c-strcase (Dependencies): Likewise.
22737         * modules/mbmemcasecmp (Dependencies): Likewise.
22738         * modules/mbmemcasecoll (Dependencies): Likewise.
22739         * modules/mbrtowc (Dependencies): Likewise.
22740         * modules/mbscasecmp (Dependencies): Likewise.
22741         * modules/mbscasestr (Dependencies): Likewise.
22742         * modules/mbschr (Dependencies): Likewise.
22743         * modules/mbscspn (Dependencies): Likewise.
22744         * modules/mbsinit (Dependencies): Likewise.
22745         * modules/mbsncasecmp (Dependencies): Likewise.
22746         * modules/mbsnrtowcs (Dependencies): Likewise.
22747         * modules/mbspbrk (Dependencies): Likewise.
22748         * modules/mbspcasecmp (Dependencies): Likewise.
22749         * modules/mbsrchr (Dependencies): Likewise.
22750         * modules/mbsrtowcs (Dependencies): Likewise.
22751         * modules/mbsspn (Dependencies): Likewise.
22752         * modules/mbsstr (Dependencies): Likewise.
22753         * modules/nl_langinfo (Dependencies): Likewise.
22754         * modules/quotearg (Dependencies): Likewise.
22755         * modules/unicase/locale-language (Dependencies): Likewise.
22756         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
22757         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
22758         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
22759         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
22760         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
22761         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
22762         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
22763         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
22764         * modules/vasnprintf-posix (Dependencies): Likewise.
22765         * modules/wcrtomb (Dependencies): Likewise.
22766         * modules/wcsnrtombs (Dependencies): Likewise.
22767         * modules/wcsrtombs (Dependencies): Likewise.
22768
22769 2011-02-12  Bruno Haible  <bruno@clisp.org>
22770
22771         setlocale: Workaround native Windows bug.
22772         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
22773         succeeds but sets LC_CTYPE to "C", report a failure.
22774         * tests/test-setlocale2.sh: New file.
22775         * tests/test-setlocale2.c: New file.
22776         * modules/setlocale-tests (Files): Add the new files.
22777         (Makefile.am): Enable test-setlocale2.sh test.
22778         * doc/posix-functions/setlocale.texi: Mention workaround.
22779
22780 2011-02-11  Bruno Haible  <bruno@clisp.org>
22781
22782         Tests for module 'setlocale'.
22783         * modules/setlocale-tests: New file.
22784         * tests/test-setlocale1.sh: New file.
22785         * tests/test-setlocale1.c: New file.
22786
22787         New module 'setlocale'.
22788         * lib/locale.in.h (setlocale): New declaration.
22789         * lib/setlocale.c: New file, based on
22790         gettext/gettext-runtime/intl/setlocale.c.
22791         * m4/setlocale.m4: New file.
22792         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
22793         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
22794         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
22795         REPLACE_SETLOCALE.
22796         * modules/setlocale: New file.
22797         * tests/test-locale-c++.cc: Test the declaration of setlocale.
22798         * doc/posix-functions/setlocale.texi: Mention the new module.
22799
22800 2011-02-11  Bruno Haible  <bruno@clisp.org>
22801
22802         Prepare for locale dependent tests on mingw.
22803         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
22804         because it has the wrong locale encoding.
22805         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
22806         French_France.1252 instead of "fr".
22807         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
22808         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
22809         because it has the wrong locale encoding.
22810         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
22811         native Windows, try Turkish_Turkey.65001.
22812         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
22813         Chinese_China.54936.
22814
22815         Prepare for locale dependent tests on mingw.
22816         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
22817         differently.
22818         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
22819         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
22820         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
22821         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22822
22823 2011-02-11  Eric Blake  <eblake@redhat.com>
22824
22825         strptime: avoid compiler warnings
22826         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
22827         compiler warnings about dead code.
22828         Reported by Daniel P. Berrange.
22829
22830 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
22831
22832         doc: update users.txt
22833         * users.txt: Add rcs.
22834
22835 2011-02-10  John W. Eaton  <jwe@gnu.org>
22836
22837         doc: update users.txt
22838         * users.txt: Add octave.
22839
22840 2011-02-10  Jim Meyering  <meyering@redhat.com>
22841
22842         doc: update users.txt
22843         * users.txt: Add iwhd.
22844
22845 2011-02-09  Bruno Haible  <bruno@clisp.org>
22846
22847         gnulib-tool: Make copyright notice adjustment more robust.
22848         * gnulib-tool (func_import): In sed_transform_main_lib_file,
22849         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
22850         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
22851         License".
22852         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
22853
22854 2011-02-06  Bruno Haible  <bruno@clisp.org>
22855
22856         New module 'towctrans'.
22857         * modules/towctrans: New file.
22858         * lib/wctype.in.h (towctrans): New declaration.
22859         * lib/towctrans.c: New file.
22860         * lib/towctrans-impl.h: New file.
22861         * m4/towctrans.m4: New file.
22862         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
22863         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
22864         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
22865         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
22866         * doc/posix-functions/towctrans.texi: Mention the new module.
22867
22868 2011-02-06  Bruno Haible  <bruno@clisp.org>
22869
22870         New module 'wctrans'.
22871         * modules/wctrans: New file.
22872         * lib/wctype.in.h (wctrans): New declaration.
22873         * lib/wctrans.c: New file.
22874         * lib/wctrans-impl.h: New file.
22875         * m4/wctrans.m4: New file.
22876         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
22877         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
22878         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
22879         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
22880         * doc/posix-functions/wctrans.texi: Mention the new module.
22881
22882 2011-02-06  Bruno Haible  <bruno@clisp.org>
22883
22884         New module 'iswctype'.
22885         * modules/iswctype: New file.
22886         * lib/wctype.in.h (iswctype): New declaration.
22887         * lib/iswctype.c: New file.
22888         * lib/iswctype-impl.h: New file.
22889         * m4/iswctype.m4: New file.
22890         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
22891         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
22892         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
22893         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
22894         * doc/posix-functions/iswctype.texi: Mention the new module and the
22895         HP-UX 11.00 problem.
22896
22897 2011-02-06  Bruno Haible  <bruno@clisp.org>
22898
22899         New module 'wctype'.
22900         * modules/wctype: Change to represent the wctype() substitute.
22901         * lib/wctype.in.h (wctype): New declaration.
22902         * lib/wctype.c: New file.
22903         * lib/wctype-impl.h: New file.
22904         * m4/wctype.m4: New file.
22905         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
22906         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
22907         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
22908         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
22909         * doc/posix-functions/wctype.texi: Mention the new module and the
22910         HP-UX 11.00 problem.
22911
22912 2011-02-06  Bruno Haible  <bruno@clisp.org>
22913
22914         wctype-h: Ensure wctype_t and wctrans_t are defined.
22915         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
22916         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
22917         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
22918         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
22919         HAVE_WCTRANS_T.
22920         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
22921
22922 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
22923
22924         flock: fix license typo
22925
22926         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
22927         omitted.
22928
22929 2011-02-08  Bruno Haible  <bruno@clisp.org>
22930
22931         Split large sed scripts, for HP-UX sed.
22932         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
22933         to avoid HP-UX limit of 99 commands, in the near future.
22934         * modules/stdlib (Makefile.am): Likewise.
22935         * modules/unistd (Makefile.am): Likewise.
22936         * modules/wchar (Makefile.am): Likewise.
22937         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22938         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
22939         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
22940
22941 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
22942             Bruno Haible  <bruno@clisp.org>
22943
22944         stdlib: improve random_r modularization
22945         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
22946         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
22947         you also need the random_r module to get this material right.
22948         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
22949         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
22950         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
22951
22952 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
22953
22954         stdlib: don't depend on stdint
22955         * lib/stdlib.in.h: Don't include <stdint.h> merely because
22956         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
22957         be independent of whether stdint.h is needed.
22958         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
22959         here, instead of ...
22960         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
22961         struct random_data should be using the random_r module, not just
22962         the stdlib module (which wouldn't make sense: what package needs
22963         just struct random_data without also needing random_r?).
22964         * modules/stdlib (Depends-on): Remove stdint.
22965
22966         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
22967         See the thread rooted at
22968         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
22969         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
22970         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
22971         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
22972         __VMS)); previously it was always included (via fcntl--.h).
22973         (getloadavg): Do not use c_strtod.  Instead, approximate it by
22974         hand; this is good enough for load averages.  Also, do not use
22975         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
22976         flags directly if available and don't bother otherwise.  (Packages
22977         that need the extra reliability should use the modules that define
22978         these flags on older platforms that lack them.)
22979         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
22980         fcntl-safer.
22981
22982 2011-02-08  Jim Meyering  <meyering@redhat.com>
22983
22984         di-set.h, ino-map.h: add multiple-inclusion guard
22985         Technically, the guard is required only for ino-map.h, due to its
22986         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
22987         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
22988         * lib/ino-map.h: Likewise.
22989
22990 2011-02-06  Bruno Haible  <bruno@clisp.org>
22991
22992         iswblank: Ensure declaration on glibc systems.
22993         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
22994         * modules/iswblank (Dependencies): Add 'extensions'.
22995         * doc/posix-functions/iswblank.texi: Document the glibc problem.
22996
22997 2011-02-06  Bruno Haible  <bruno@clisp.org>
22998
22999         New module 'iswblank'.
23000         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
23001         * modules/iswblank: New file.
23002         * modules/wctype-h (Files): Remove lib/iswblank.c.
23003         (Makefile.am): Substitute GNULIB_ISWBLANK.
23004         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
23005         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
23006         (gl_WCTYPE_H_DEFAULTS): New macro.
23007         (gl_WCTYPE_H): Require it. Remove iswblank related code.
23008         * modules/iswblank-tests: New file.
23009         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
23010         * tests/test-wctype-h.c (main): Remove iswblank tests.
23011         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
23012         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
23013         of 'wctype-h'.
23014         * NEWS: Mention the change.
23015         * modules/mbchar (Depends-on): Add iswblank.
23016
23017 2011-02-08  Bruno Haible  <bruno@clisp.org>
23018
23019         di-set tests: Refactor.
23020         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
23021         unnecessary includes.
23022         (ASSERT): Remove macro.
23023         (main): Make C90 compliant by avoiding variable declaration after
23024         statement.
23025         * modules/di-set-tests (Files): Add tests/macros.h.
23026
23027 2011-02-08  Bruno Haible  <bruno@clisp.org>
23028
23029         ino-map tests: Refactor.
23030         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
23031         unnecessary includes.
23032         (ASSERT): Remove macro.
23033         (main): Make C90 compliant by avoiding variable declaration after
23034         statement.
23035         * modules/ino-map-tests (Files): Add tests/macros.h.
23036
23037 2011-02-08  Jim Meyering  <meyering@redhat.com>
23038
23039         di-set: add "const" to a cast
23040         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
23041         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
23042
23043 2011-02-06  Bruno Haible  <bruno@clisp.org>
23044
23045         Rename module 'wctype' to 'wctype-h'.
23046         * modules/wctype-h: Renamed from modules/wctype.
23047         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
23048         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
23049         (Files, Depends-on, Makefile.am): Update.
23050         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
23051         (Files, Makefile.am): Update.
23052         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
23053         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
23054         * doc/posix-headers/wctype.texi: Update.
23055         * doc/posix-functions/iswalnum.texi: Update.
23056         * doc/posix-functions/iswalpha.texi: Update.
23057         * doc/posix-functions/iswblank.texi: Update.
23058         * doc/posix-functions/iswcntrl.texi: Update.
23059         * doc/posix-functions/iswdigit.texi: Update.
23060         * doc/posix-functions/iswgraph.texi: Update.
23061         * doc/posix-functions/iswlower.texi: Update.
23062         * doc/posix-functions/iswprint.texi: Update.
23063         * doc/posix-functions/iswpunct.texi: Update.
23064         * doc/posix-functions/iswspace.texi: Update.
23065         * doc/posix-functions/iswupper.texi: Update.
23066         * doc/posix-functions/iswxdigit.texi: Update.
23067         * doc/posix-functions/towlower.texi: Update.
23068         * doc/posix-functions/towupper.texi: Update.
23069         * NEWS: Mention the change.
23070         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
23071         * modules/mbchar (Dependencies): Likewise.
23072         * modules/mbswidth (Dependencies): Likewise.
23073         * modules/quotearg (Dependencies): Likewise.
23074         * modules/regex (Dependencies): Likewise.
23075         * modules/wcscasecmp (Dependencies): Likewise.
23076         * modules/wcsncasecmp (Dependencies): Likewise.
23077         * modules/wcwidth (Dependencies): Likewise.
23078
23079 2011-02-06  Bruno Haible  <bruno@clisp.org>
23080
23081         New module 'wcswidth'.
23082         * modules/wcswidth: New file.
23083         * lib/wchar.in.h (wcswidth): New declaration.
23084         * lib/wcswidth.c: New file.
23085         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
23086         * m4/wcswidth.m4: New file.
23087         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
23088         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
23089         REPLACE_WCSWIDTH.
23090         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
23091         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
23092         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
23093         * doc/posix-functions/wcswidth.texi: Mention the new module.
23094
23095 2011-02-06  Bruno Haible  <bruno@clisp.org>
23096
23097         New module 'wcstok'.
23098         * modules/wcstok: New file.
23099         * lib/wchar.in.h (wcstok): New declaration.
23100         * lib/wcstok.c: New file.
23101         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
23102         * m4/wcstok.m4: New file.
23103         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
23104         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
23105         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
23106         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
23107         * doc/posix-functions/wcstok.texi: Mention the new module.
23108
23109 2011-02-06  Bruno Haible  <bruno@clisp.org>
23110
23111         New module 'wcsstr'.
23112         * modules/wcsstr: New file.
23113         * lib/wchar.in.h (wcsstr): New declaration.
23114         * lib/wcsstr.c: New file.
23115         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
23116         * m4/wcsstr.m4: New file.
23117         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
23118         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
23119         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
23120         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
23121         * doc/posix-functions/wcsstr.texi: Mention the new module.
23122
23123 2011-02-06  Bruno Haible  <bruno@clisp.org>
23124
23125         New module 'wcspbrk'.
23126         * modules/wcspbrk: New file.
23127         * lib/wchar.in.h (wcspbrk): New declaration.
23128         * lib/wcspbrk.c: New file.
23129         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
23130         * m4/wcspbrk.m4: New file.
23131         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
23132         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
23133         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
23134         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
23135         * doc/posix-functions/wcspbrk.texi: Mention the new module.
23136
23137 2011-02-06  Bruno Haible  <bruno@clisp.org>
23138
23139         New module 'wcsspn'.
23140         * modules/wcsspn: New file.
23141         * lib/wchar.in.h (wcsspn): New declaration.
23142         * lib/wcsspn.c: New file.
23143         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
23144         * m4/wcsspn.m4: New file.
23145         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
23146         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
23147         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
23148         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
23149         * doc/posix-functions/wcsspn.texi: Mention the new module.
23150
23151 2011-02-06  Bruno Haible  <bruno@clisp.org>
23152
23153         New module 'wcscspn'.
23154         * modules/wcscspn: New file.
23155         * lib/wchar.in.h (wcscspn): New declaration.
23156         * lib/wcscspn.c: New file.
23157         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
23158         * m4/wcscspn.m4: New file.
23159         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
23160         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
23161         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
23162         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
23163         * doc/posix-functions/wcscspn.texi: Mention the new module.
23164
23165 2011-02-06  Bruno Haible  <bruno@clisp.org>
23166
23167         New module 'wcsrchr'.
23168         * modules/wcsrchr: New file.
23169         * lib/wchar.in.h (wcsrchr): New declaration.
23170         * lib/wcsrchr.c: New file.
23171         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
23172         * m4/wcsrchr.m4: New file.
23173         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
23174         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
23175         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
23176         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
23177         * doc/posix-functions/wcsrchr.texi: Mention the new module.
23178
23179 2011-02-06  Bruno Haible  <bruno@clisp.org>
23180
23181         New module 'wcschr'.
23182         * modules/wcschr: New file.
23183         * lib/wchar.in.h (wcschr): New declaration.
23184         * lib/wcschr.c: New file.
23185         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
23186         * m4/wcschr.m4: New file.
23187         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
23188         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
23189         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
23190         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
23191         * doc/posix-functions/wcschr.texi: Mention the new module.
23192
23193 2011-02-06  Bruno Haible  <bruno@clisp.org>
23194
23195         New module 'wcsdup'.
23196         * modules/wcsdup: New file.
23197         * lib/wchar.in.h (wcsdup): New declaration.
23198         * lib/wcsdup.c: New file.
23199         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
23200         * m4/wcsdup.m4: New file.
23201         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
23202         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
23203         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
23204         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
23205         * doc/posix-functions/wcsdup.texi: Mention the new module.
23206
23207 2011-02-06  Bruno Haible  <bruno@clisp.org>
23208
23209         New module 'wcsxfrm'.
23210         * modules/wcsxfrm: New file.
23211         * lib/wchar.in.h (wcsxfrm): New declaration.
23212         * lib/wcsxfrm.c: New file.
23213         * lib/wcsxfrm-impl.h: New file.
23214         * m4/wcsxfrm.m4: New file.
23215         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
23216         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
23217         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
23218         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
23219         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
23220
23221 2011-02-06  Bruno Haible  <bruno@clisp.org>
23222
23223         New module 'wcscoll'.
23224         * modules/wcscoll: New file.
23225         * lib/wchar.in.h (wcscoll): New declaration.
23226         * lib/wcscoll.c: New file.
23227         * lib/wcscoll-impl.h: New file.
23228         * m4/wcscoll.m4: New file.
23229         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
23230         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
23231         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
23232         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
23233         * doc/posix-functions/wcscoll.texi: Mention the new module.
23234
23235 2011-02-06  Bruno Haible  <bruno@clisp.org>
23236
23237         New module 'wcsncasecmp'.
23238         * modules/wcsncasecmp: New file.
23239         * lib/wchar.in.h (wcsncasecmp): New declaration.
23240         * lib/wcsncasecmp.c: New file.
23241         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
23242         * m4/wcsncasecmp.m4: New file.
23243         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
23244         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
23245         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
23246         HAVE_WCSNCASECMP.
23247         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
23248         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
23249
23250 2011-02-06  Bruno Haible  <bruno@clisp.org>
23251
23252         New module 'wcscasecmp'.
23253         * modules/wcscasecmp: New file.
23254         * lib/wchar.in.h (wcscasecmp): New declaration.
23255         * lib/wcscasecmp.c: New file.
23256         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
23257         * m4/wcscasecmp.m4: New file.
23258         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
23259         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
23260         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
23261         HAVE_WCSCASECMP.
23262         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
23263         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
23264
23265 2011-02-05  Bruno Haible  <bruno@clisp.org>
23266
23267         New module 'wcsncmp'.
23268         * modules/wcsncmp: New file.
23269         * lib/wchar.in.h (wcsncmp): New declaration.
23270         * lib/wcsncmp.c: New file.
23271         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
23272         * m4/wcsncmp.m4: New file.
23273         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
23274         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
23275         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
23276         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
23277         * doc/posix-functions/wcsncmp.texi: Mention the new module.
23278
23279 2011-02-05  Bruno Haible  <bruno@clisp.org>
23280
23281         New module 'wcscmp'.
23282         * modules/wcscmp: New file.
23283         * lib/wchar.in.h (wcscmp): New declaration.
23284         * lib/wcscmp.c: New file.
23285         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
23286         * m4/wcscmp.m4: New file.
23287         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
23288         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
23289         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
23290         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
23291         * doc/posix-functions/wcscmp.texi: Mention the new module.
23292
23293 2011-02-05  Bruno Haible  <bruno@clisp.org>
23294
23295         New module 'wcsncat'.
23296         * modules/wcsncat: New file.
23297         * lib/wchar.in.h (wcsncat): New declaration.
23298         * lib/wcsncat.c: New file.
23299         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
23300         * m4/wcsncat.m4: New file.
23301         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
23302         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
23303         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
23304         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
23305         * doc/posix-functions/wcsncat.texi: Mention the new module.
23306
23307 2011-02-05  Bruno Haible  <bruno@clisp.org>
23308
23309         New module 'wcscat'.
23310         * modules/wcscat: New file.
23311         * lib/wchar.in.h (wcscat): New declaration.
23312         * lib/wcscat.c: New file.
23313         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
23314         * m4/wcscat.m4: New file.
23315         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
23316         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
23317         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
23318         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
23319         * doc/posix-functions/wcscat.texi: Mention the new module.
23320
23321 2011-02-05  Bruno Haible  <bruno@clisp.org>
23322
23323         New module 'wcpncpy'.
23324         * modules/wcpncpy: New file.
23325         * lib/wchar.in.h (wcpncpy): New declaration.
23326         * lib/wcpncpy.c: New file.
23327         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
23328         * m4/wcpncpy.m4: New file.
23329         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
23330         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
23331         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
23332         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
23333         * doc/posix-functions/wcpncpy.texi: Mention the new module.
23334
23335 2011-02-05  Bruno Haible  <bruno@clisp.org>
23336
23337         New module 'wcsncpy'.
23338         * modules/wcsncpy: New file.
23339         * lib/wchar.in.h (wcsncpy): New declaration.
23340         * lib/wcsncpy.c: New file.
23341         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
23342         * m4/wcsncpy.m4: New file.
23343         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
23344         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
23345         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
23346         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
23347         * doc/posix-functions/wcsncpy.texi: Mention the new module.
23348
23349 2011-02-05  Bruno Haible  <bruno@clisp.org>
23350
23351         New module 'wcpcpy'.
23352         * modules/wcpcpy: New file.
23353         * lib/wchar.in.h (wcpcpy): New declaration.
23354         * lib/wcpcpy.c: New file.
23355         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
23356         * m4/wcpcpy.m4: New file.
23357         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
23358         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
23359         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
23360         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
23361         * doc/posix-functions/wcpcpy.texi: Mention the new module.
23362
23363 2011-02-05  Bruno Haible  <bruno@clisp.org>
23364
23365         New module 'wcscpy'.
23366         * modules/wcscpy: New file.
23367         * lib/wchar.in.h (wcscpy): New declaration.
23368         * lib/wcscpy.c: New file.
23369         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
23370         * m4/wcscpy.m4: New file.
23371         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
23372         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
23373         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
23374         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
23375         * doc/posix-functions/wcscpy.texi: Mention the new module.
23376
23377 2011-02-05  Bruno Haible  <bruno@clisp.org>
23378
23379         New module 'wcsnlen'.
23380         * modules/wcsnlen: New file.
23381         * lib/wchar.in.h (wcsnlen): New declaration.
23382         * lib/wcsnlen.c: New file.
23383         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
23384         * m4/wcsnlen.m4: New file.
23385         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
23386         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
23387         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
23388         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
23389         * doc/posix-functions/wcsnlen.texi: Mention the new module.
23390
23391 2011-02-05  Bruno Haible  <bruno@clisp.org>
23392
23393         New module 'wcslen'.
23394         * modules/wcslen: New file.
23395         * lib/wchar.in.h (wcslen): New declaration.
23396         * lib/wcslen.c: New file.
23397         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
23398         * m4/wcslen.m4: New file.
23399         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
23400         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
23401         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
23402         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
23403         * doc/posix-functions/wcslen.texi: Mention the new module.
23404
23405 2011-02-05  Bruno Haible  <bruno@clisp.org>
23406
23407         New module 'wmemset'.
23408         * modules/wmemset: New file.
23409         * lib/wchar.in.h (wmemset): New declaration.
23410         * lib/wmemset.c: New file.
23411         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
23412         * m4/wmemset.m4: New file.
23413         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
23414         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
23415         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
23416         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
23417         * doc/posix-functions/wmemset.texi: Mention the new module.
23418
23419 2011-02-05  Bruno Haible  <bruno@clisp.org>
23420
23421         New module 'wmemmove'.
23422         * modules/wmemmove: New file.
23423         * lib/wchar.in.h (wmemmove): New declaration.
23424         * lib/wmemmove.c: New file.
23425         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
23426         * m4/wmemmove.m4: New file.
23427         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
23428         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
23429         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
23430         HAVE_WMEMMOVE.
23431         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
23432         * doc/posix-functions/wmemmove.texi: Mention the new module.
23433
23434 2011-02-05  Bruno Haible  <bruno@clisp.org>
23435
23436         New module 'wmemcpy'.
23437         * modules/wmemcpy: New file.
23438         * lib/wchar.in.h (wmemcpy): New declaration.
23439         * lib/wmemcpy.c: New file.
23440         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
23441         * m4/wmemcpy.m4: New file.
23442         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
23443         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
23444         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
23445         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
23446         * doc/posix-functions/wmemcpy.texi: Mention the new module.
23447
23448 2011-02-05  Bruno Haible  <bruno@clisp.org>
23449
23450         New module 'wmemcmp'.
23451         * modules/wmemcmp: New file.
23452         * lib/wchar.in.h (wmemcmp): New declaration.
23453         * lib/wmemcmp.c: New file.
23454         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
23455         * m4/wmemcmp.m4: New file.
23456         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
23457         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
23458         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
23459         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
23460         * doc/posix-functions/wmemcmp.texi: Mention the new module.
23461
23462 2011-02-07  Jim Meyering  <meyering@redhat.com>
23463
23464         di-set, ino-map: new modules, from coreutils
23465         * lib/di-set.c: New file.
23466         * lib/di-set.h: Likewise.
23467         * lib/ino-map.c: Likewise.
23468         * lib/ino-map.h: Likewise.
23469         * modules/di-set: Likewise.
23470         * modules/di-set-tests: Likewise.
23471         * modules/ino-map: Likewise.
23472         * modules/ino-map-tests: Likewise.
23473         * tests/test-di-set.c: Likewise.
23474         * tests/test-ino-map.c: Likewise.
23475
23476 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
23477
23478         getloadavg: merge minor changes from Emacs
23479
23480         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
23481         (getloadavg): Use memset, not bzero.
23482
23483         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
23484         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
23485         clash (bug#86).
23486
23487 2010-11-14  Bruno Haible  <bruno@clisp.org>
23488
23489         Allow multiple gnulib generated replacements to coexist.
23490         * lib/getopt.in.h (struct option): Avoid identical redefinition.
23491         * lib/inttypes.in.h (imaxdiv_t): Likewise.
23492         * lib/langinfo.in.h (nl_item): Likewise.
23493         * lib/math.in.h (_NaN, NAN): Likewise.
23494         * lib/netdb.in.h (struct addrinfo): Likewise.
23495         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
23496         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
23497         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
23498         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
23499         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
23500         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
23501         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
23502         pthread_mutexattr_init, pthread_mutexattr_settype,
23503         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
23504         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
23505         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
23506         pthread_spin_trylock, pthread_spin_unlock): Likewise.
23507         * lib/sched.in.h (struct sched_param): Likewise.
23508         * lib/se-selinux.in.h (security_class_t, security_context_t,
23509         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
23510         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
23511         lsetfilecon, fsetfilecon, security_check_context,
23512         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
23513         Likewise.
23514         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
23515         Likewise.
23516         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
23517         _gl_function_taking_int_returning_void_t, union sigval,
23518         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
23519         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
23520         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23521         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
23522         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
23523         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
23524         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
23525         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
23526         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
23527         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
23528         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
23529         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
23530         socklen_t, rpl_fd_isset): Likewise.
23531         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
23532         * lib/sys_time.in.h (struct timeval): Likewise.
23533         * lib/sys_times.in.h (struct tms): Likewise.
23534         * lib/sys_utsname.in.h (struct utsname):
23535         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
23536         * lib/unistd.in.h (getpagesize): Likewise.
23537         * lib/wchar.in.h (mbstate_t): Likewise.
23538         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
23539         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
23540         towlower, towupper): Likewise.
23541         Reported by Sam Steingold <sds@gnu.org>.
23542
23543 2011-02-05  Eric Blake  <eblake@redhat.com>
23544
23545         unsetenv: work around Haiku issues
23546         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
23547         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
23548
23549 2010-12-30  Bruce Korb  <bkorb@gnu.org>
23550
23551         libposix: avoid calling error() within libposix
23552         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
23553         is defined.
23554
23555 2011-02-05  Eric Blake  <eblake@redhat.com>
23556
23557         strerror_r-posix: port to cygwin
23558         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
23559         implementation.
23560         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
23561         * tests/test-strerror_r.c (main): Fix test.
23562         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
23563         issue.
23564
23565 2011-02-05  Bruno Haible  <bruno@clisp.org>
23566
23567         New module 'wmemchr'.
23568         * modules/wmemchr: New file.
23569         * lib/wchar.in.h (wmemchr): New declaration.
23570         * lib/wmemchr.c: New file.
23571         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
23572         * m4/wmemchr.m4: New file.
23573         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
23574         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
23575         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
23576         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
23577         * doc/posix-functions/wmemchr.texi: Mention the new module.
23578
23579 2011-02-04  Eric Blake  <eblake@redhat.com>
23580
23581         fdopendir: detect FreeBSD bug
23582         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
23583         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
23584
23585 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
23586
23587         stdbool: do not define HAVE_STDBOOL_H
23588         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
23589         AC_HEADER_STDBOOL.  All uses changed.  Do not define
23590         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
23591         imported from the latest Autoconf git.  It was motivated by Emacs,
23592         which uses gnulib but does not need HAVE_STDBOOL_H.
23593
23594 2011-02-04  Bruno Haible  <bruno@clisp.org>
23595
23596         wcsnrtombs: Prepare for new module wwcsnrtombs.
23597         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
23598         * lib/wcsnrtombs.c: Include it.
23599         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
23600
23601         wcsrtombs: Prepare for new module wwcsrtombs.
23602         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
23603         * lib/wcsrtombs.c: Include it.
23604         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
23605
23606         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
23607         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
23608         * lib/mbsnrtowcs.c: Include it.
23609         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
23610
23611         mbsrtowcs: Prepare for new module mbsrtowwcs.
23612         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
23613         * lib/mbsrtowcs.c: Include it.
23614         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
23615
23616 2011-02-04  Bruno Haible  <bruno@clisp.org>
23617
23618         vasnprintf: Reduce use of malloc for small format strings.
23619         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
23620         (arguments): Add room for the first 7 arguments.
23621         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
23622         (char_directives, u8_directives, u16_directives, u32_directives): Add
23623         room for the first 7 directives.
23624         * lib/printf-parse.c: Include <string.h>.
23625         (PRINTF_PARSE): Change memory handling code so that it uses the first
23626         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
23627         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
23628         Reported by Pádraig Brady <P@draigbrady.com>.
23629
23630 2011-01-31  Eric Blake  <eblake@redhat.com>
23631
23632         dup2: work around Haiku bug
23633         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
23634         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
23635         * doc/posix-functions/dup2.texi (dup2): Document the bug.
23636         * tests/test-dup2.c (main): Enhance test.
23637
23638 2011-01-31  Simon Josefsson  <simon@josefsson.org>
23639
23640         doc: off_t is not available in eglibc 2.11.2 stdio.h.
23641         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
23642         declared by eglibc 2.11.2.
23643         * lib/stdio.in.h: Likewise.
23644
23645 2011-01-31  Eric Blake  <eblake@redhat.com>
23646
23647         ignore-value: add missing test dependency
23648         * tests/test-ignore-value.c: Revert previous change; stdio.h
23649         provides off_t.
23650         * modules/ignore-value-tests (Depends-on): Add missing dependency.
23651
23652 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
23653
23654         mktime: clarify long_int width checking
23655         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
23656         the top level, to make it clearer that the assumption about
23657         long_int width is being checked.  See
23658         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
23659
23660 2011-01-30  Simon Josefsson  <simon@josefsson.org>
23661
23662         ignore-value: Fix self-test.
23663         * tests/test-ignore-value.c: Include sys/types.h for off_t.
23664
23665 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
23666
23667         TYPE_MAXIMUM: avoid theoretically undefined behavior
23668         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
23669         negative number, which the C Standard says has undefined behavior.
23670         In practice this is not a problem, but might as well do it by the book.
23671         Reported by Rich Felker and Eric Blake; see
23672         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
23673         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
23674         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
23675         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
23676         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
23677         * m4/stdint.m4 (gl_STDINT_H): Likewise.
23678         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
23679
23680         mktime: #undef mktime before #defining it
23681         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
23682
23683         mktime: systematically normalize tm_isdst comparisons
23684         * lib/mktime.c (isdst_differ): New function.
23685         (__mktime_internal): Use it systematically for all isdst comparisons.
23686         This completes the fix for libc BZ #6723, and removes the need for
23687         normalizing tm_isdst.  See
23688         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
23689         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
23690
23691         mktime: fix some integer overflow issues and sidestep the rest
23692
23693         This was prompted by a bug report by Benjamin Lindner for MinGW
23694         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
23695         His bug is due to signed integer overflow (0 - INT_MIN), and I
23696         I scanned through mktime.c looking for other integer overflow
23697         problems, fixing all the bugs I found.
23698
23699         Although the C Standard says the resulting code is still not safe
23700         in the presence of integer overflow, in practice it should be good
23701         enough for all real-world two's-complement implementations, except
23702         for debugging environments that deliberately trap on integer
23703         overflow (e.g., gcc -ftrapv).
23704
23705         * lib/mktime.c (WRAPV): New macro.
23706         (SHR): Also check that long_int and time_t shift right in the
23707         usual way, before using the fast-but-unportable method.
23708         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
23709         used.  The code already assumed two's complement, so there's
23710         no need to test for alternatives.  All uses removed.
23711         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
23712         the C standard.  Problem reported by Rich Felker in
23713         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
23714         (twos_complement_arithmetic): Also check long_int and time_t.
23715         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
23716         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
23717         (__mktime_internal): Avoid integer overflow with unary subtraction
23718         in two instances where -1 - X is an adequate replacement for -X,
23719         since the calculations are approximate.
23720
23721 2011-01-29  Eric Blake  <eblake@redhat.com>
23722
23723         mktime: avoid infinite loop
23724         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
23725         type; behavior is still undefined but portable to all known targets.
23726         Reported by Rich Felker.
23727
23728 2011-01-29  Simon Josefsson  <simon@josefsson.org>
23729
23730         rename, unlink, same-inode: Relicense.
23731         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
23732         * modules/unlink (License): Likewise.
23733         * modules/same-inode (License): Likewise.
23734
23735 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
23736
23737         mktime: avoid problems on NetBSD 5 / i386
23738         * lib/mktime.c (long_int): New type.  This works around a problem
23739         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
23740         but time_t is 64 bits, and where I expect the existing code is
23741         wrong in some cases.
23742         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
23743         (ydhms_diff): Bring back the compile-time check for wide-enough
23744         year and yday.
23745
23746         mktime: fix misspelling in comment
23747         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
23748         This merges all recent glibc changes of importance.
23749
23750 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23751
23752         move-if-change: cope with concurrent mv of identical file.
23753         * build-aux/move-if-change (CMPPROG): Accept environment
23754         variable as an override for `cmp'.
23755         (usage): Document CMPPROG.
23756         Adjust comparison to drop stdout.  Cope with failure of mv if
23757         the target file exists and is identical to the source, for
23758         parallel builds.
23759         Report from H.J. Lu against binutils in PR binutils/12283.
23760
23761 2011-01-28  Bruce Korb  <bkorb@gnu.org>
23762
23763         * users.txt: Mention sharutils.
23764
23765 2011-01-28  Simon Josefsson  <simon@josefsson.org>
23766
23767         * users.txt: Mention OATH Toolkit.
23768
23769 2011-01-27  Bruno Haible  <bruno@clisp.org>
23770
23771         Prepare for supporting FreeBSD 10.
23772         * build-aux/config.libpath: Remove handling of freebsd1*.
23773
23774 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
23775
23776         Prepare for supporting FreeBSD 10.
23777         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
23778         match FreeBSD 10.0.
23779
23780 2011-01-27  Bruno Haible  <bruno@clisp.org>
23781
23782         vma-iter, get-rusage-as: Add OpenBSD support.
23783         * modules/vma-iter (configure.ac): Test for mquery.
23784         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
23785         * lib/vma-iter.c: Include <sys/mman.h>.
23786         (vma_iterate): Add an implementation based on mquery().
23787         * lib/resource-ext.h (get_rusage_as): Update comments.
23788         * lib/get-rusage-as.c: Likewise.
23789         * lib/get-rusage-data.c: Likewise.
23790
23791 2011-01-26  Karl Berry  <karl@gnu.org>
23792
23793         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
23794         variables to make it easier to override the makeinfo program used.
23795
23796 2011-01-26  Eric Blake  <eblake@redhat.com>
23797
23798         fcntl: work around Haiku F_DUPFD bugs
23799         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
23800         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
23801         cloexec bit on duplication.
23802         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
23803
23804 2011-01-26  Bruno Haible  <bruno@clisp.org>
23805
23806         Enable memory leak tests on AIX.
23807         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
23808         * tests/test-fprintf-posix3.c (main): Likewise.
23809
23810 2011-01-26  Bruno Haible  <bruno@clisp.org>
23811
23812         Tests for module 'get-rusage-data'.
23813         * modules/get-rusage-data-tests: New file.
23814         * tests/test-get-rusage-data.c: New file.
23815
23816         New module 'get-rusage-data'.
23817         * lib/resource-ext.h (get_rusage_data): New declaration.
23818         * lib/get-rusage-data.c: New file.
23819         * modules/get-rusage-data: New file.
23820
23821 2011-01-25  Bruno Haible  <bruno@clisp.org>
23822
23823         get-rusage-as: Allow for easier testing.
23824         * lib/resource-ext.h (get_rusage_as): Add comment.
23825         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
23826         (main): New function for interactive testing.
23827
23828 2011-01-25  Bruno Haible  <bruno@clisp.org>
23829
23830         vma-iter: Treat Haiku like BeOS.
23831         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
23832         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
23833
23834 2011-01-25  Eric Blake  <eblake@redhat.com>
23835
23836         c-stack: fix regression on cygwin when libsigsegv is present
23837         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
23838
23839 2011-01-24  Bruno Haible  <bruno@clisp.org>
23840
23841         vma-iter: Avoid empty intervals.
23842         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
23843         on an empty interval.
23844
23845 2011-01-24  Jim Meyering  <meyering@redhat.com>
23846
23847         u64: remove unnecessary #include
23848         * lib/u64.h: Don't include <stddef.h>.  It was not used.
23849
23850 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
23851
23852         Allow the user to avoid the HAVE_RAW_DECL_* macros.
23853         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
23854
23855 2011-01-23  Bruno Haible  <bruno@clisp.org>
23856
23857         New module 'vma-iter'.
23858         * lib/vma-iter.h: New file.
23859         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
23860         * modules/vma-iter: New file.
23861         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
23862         for get_rusage_as_via_iterator.
23863         (vma_iterate_callback): New function.
23864         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
23865         * modules/get-rusage-as (Depends-on): Add vma-iter.
23866
23867 2011-01-23  Bruno Haible  <bruno@clisp.org>
23868
23869         uninorm: Tweak includes.
23870         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
23871         Reported by Jim Meyering.
23872
23873 2011-01-23  Bruno Haible  <bruno@clisp.org>
23874
23875         get-rusage-as: Improve on NetBSD.
23876         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
23877         /proc, like on FreeBSD.
23878
23879 2011-01-23  Jim Meyering  <meyering@redhat.com>
23880
23881         xreadlink.h: remove unnecessary #include
23882         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
23883
23884         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
23885         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
23886
23887 2011-01-23  Bruno Haible  <bruno@clisp.org>
23888
23889         get-rusage-as: Fix bug.
23890         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
23891         original limit when aborting the first loop.
23892
23893 2011-01-23  Bruno Haible  <bruno@clisp.org>
23894
23895         wctype: Ensure valid C syntax.
23896         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
23897         unconditionally, instead of gl_NEXT_HEADERS conditionally.
23898
23899 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
23900
23901         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
23902         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
23903         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
23904         as they are needed only for configure's test case.
23905         This removes two unnecessary symbols from config.h.
23906
23907         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
23908         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
23909         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
23910         AC_CHECK_HEADERS_ONCE on a header that we also invoke
23911         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
23912         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
23913         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
23914         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
23915         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
23916         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
23917         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
23918         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
23919         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
23920         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
23921         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
23922         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
23923         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
23924         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
23925
23926 2011-01-21  Eric Blake  <eblake@redhat.com>
23927
23928         maintainer-makefile: work with older git for submodule check
23929         * top/maint.mk (public-submodule-commit): Rewrite to avoid
23930         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
23931         Reported by Matthias Bolte.
23932
23933         bootstrap: minor portability fixes
23934         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
23935         (usage): Omit leading capital and trailing . on help phrases, per
23936         GNU Coding Standards.
23937         (check_versions, top level): Prefix messages with script name.
23938
23939 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
23940
23941         bootstrap: support --no-git option
23942         * build-aux/bootstrap: Add --no-git option, to be used when
23943         --gnulib-srcdir points to the exact desired checkout.
23944
23945 2011-01-21  Eric Blake  <eblake@redhat.com>
23946
23947         strerror_r-posix: work with glibc 2.13
23948         * lib/strerror_r.c (strerror_r): Fix return type.
23949
23950 2011-01-21  Pádraig Brady  <P@draigBrady.com>
23951             Bruno Haible  <bruno@clisp.org>
23952
23953         uN_strstr: New unit tests.
23954         * modules/unistr/u8-strstr-tests: New file.
23955         * modules/unistr/u16-strstr-tests: New file.
23956         * modules/unistr/u32-strstr-tests: New file.
23957         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
23958         * tests/unistr/test-u8-strstr.c: New file.
23959         * tests/unistr/test-u16-strstr.c: New file.
23960         * tests/unistr/test-u32-strstr.c: New file.
23961
23962 2011-01-21  Pádraig Brady  <P@draigBrady.com>
23963             Bruno Haible  <bruno@clisp.org>
23964
23965         Make uN_strstr functions O(n) worst-case.
23966         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
23967         16-bit and 32-bit unit cases, use the unibyte algorithm from
23968         lib/mbsstr.c.
23969         * lib/unistr/u8-strstr.c: Include <string.h>.
23970         (UNIT_IS_UINT8_T): New macro.
23971         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
23972         (U_STRLEN, U_STRNLEN): New macros.
23973         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
23974         (U_STRLEN, U_STRNLEN): New macros.
23975         * modules/unistr/u8-strstr (Depends-on): Add strstr.
23976         (configure.ac): Update required libunistring version.
23977         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
23978         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
23979         malloca.
23980         (configure.ac): Update required libunistring version.
23981         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
23982         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
23983         malloca.
23984         (configure.ac): Update required libunistring version.
23985
23986 2011-01-21  Pádraig Brady  <P@draigBrady.com>
23987             Bruno Haible  <bruno@clisp.org>
23988
23989         Prepare for faster uN_strstr functions.
23990         * lib/str-kmp.h: Support definable UNITs.
23991         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
23992         needle_len argument.
23993         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
23994         * lib/mbscasestr.c (mbscasestr): Likewise.
23995
23996 2011-01-21  Pádraig Brady <P@draigBrady.com>
23997
23998         malloca-tests: make faster by unsetting MALLOC_PERTURB_
23999         * tests/test-malloca.c (main): Unset the environment variable
24000         to greatly speed up the test.
24001         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
24002         * modules/malloca-tests: Depend on unsetenv.
24003
24004 2011-01-21  Pádraig Brady <P@draigBrady.com>
24005
24006         ignore-value: remove stdint dependency
24007         * lib/ignore-value.h: Remove <stdint.h>
24008         * modules/ignore-value: Remove stdint dependency.
24009
24010 2011-01-21  Jim Meyering  <meyering@redhat.com>
24011
24012         maint.mk: adjust variable name to be consistent with other gl_ vars
24013         * top/maint.mk (gl_public_submodule_commit): Rename the variable
24014         to be lower case.
24015
24016 2011-01-20  Jim Meyering  <meyering@redhat.com>
24017
24018         maint.mk: make "check" depend on public-submodule-commit by default
24019         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
24020
24021 2011-01-20  Bruno Haible  <bruno@clisp.org>
24022
24023         mbfile, mbiter: Complete change from 2008-12-21.
24024         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
24025         * m4/mbiter.m4 (gl_MBITER): Likewise.
24026
24027 2011-01-20  Jim Meyering  <meyering@redhat.com>
24028
24029         init.sh: insert space between each function name and "()"
24030         * tests/init.sh: Make it a little easier to see that a function's
24031         name is "warn_", and not "warn" when looking at the first part of
24032         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
24033
24034 2011-01-20  Jim Meyering  <meyering@redhat.com>
24035
24036         mountlist: clean up code formatting
24037         * lib/mountlist.c (read_file_system_list): Split a long line,
24038         correct bracing style, use NULL in place of "(struct statfs *)0",
24039         don't parenthesize return value, add spaces around "=" and after
24040         ";-in-for-stmt".
24041
24042 2011-01-14  Markus Duft <mduft@gentoo.org>
24043
24044         mountlist: add support for Interix
24045         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
24046         Apply statvfs to all entries of /dev/fs.
24047         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
24048         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
24049
24050 2011-01-20  Jim Meyering  <meyering@redhat.com>
24051
24052         maint.mk: improve the public-submodule-commit rule
24053         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
24054         to suppress printing of its commands... unless V=1.
24055         Add git submodule's --quiet option to suppress printing of e.g.,
24056         "Entering gnulib" output.
24057         "cd" into $(srcdir) before running git submodule.
24058
24059 2011-01-20  Bruno Haible  <bruno@clisp.org>
24060
24061         include_next: Fix bug introduced on 2011-01-18.
24062         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
24063         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
24064         ac_cv_header_... variable if the second argument is not 'check'.
24065         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
24066         gl_NEXT_HEADERS_INTERNAL.
24067
24068 2011-01-20  Bruno Haible  <bruno@clisp.org>
24069
24070         Allow the user to avoid the GNULIB_TEST_* macros.
24071         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
24072         Suggested by Paul Eggert.
24073
24074 2011-01-14  Jim Meyering  <meyering@redhat.com>
24075
24076         bootstrap: avoid failure when there is no .gitmodules file
24077         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
24078         has been assigned to, even when its value is the empty string.
24079         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
24080         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
24081         Reported by John W. Eaton <jwe@gnu.org>.
24082
24083 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
24084
24085         assume <ctype.h>, ..., <time.h> exist
24086         For years gnulib has been assuming the existence of the headers
24087         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
24088         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
24089         them, since they don't appear to be needed.
24090         * README (Portability guidelines): Document this.
24091         * lib/flock.c: Assume <fcntl.h> exists.
24092         * lib/regex_internal.h: Assume <locale.h> exists.
24093         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
24094         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
24095         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
24096         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
24097         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
24098         * m4/regex.m4 (gl_REGEX): Likewise.
24099         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
24100         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
24101         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
24102         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
24103         * tests/test-argp.c: Likewise.
24104         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
24105
24106         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
24107         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
24108         AA_APPLE_UNIVERSAL_BUILD.  See
24109         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
24110         * NEWS: Document this.
24111
24112 2011-01-19  Eric Blake  <eblake@redhat.com>
24113
24114         c-stack: assume stack overflow if SA_SIGINFO unsupported
24115         * lib/c-stack.c (SIGACTION_WORKS): Rename...
24116         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
24117         sigaction will work.
24118         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
24119         behavior match Linux.
24120         * tests/test-c-stack.c (main): Prefer NULL for pointers.
24121
24122         stdbool-tests: accommodate Haiku
24123         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
24124
24125         binary-io: fix O_TEXT on Haiku
24126         * modules/binary-io (Depends-on): Add fcntl-h.
24127         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
24128         than blindly undefining O_TEXT.
24129         Reported by Scott McCreary.
24130
24131 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
24132
24133         include_next: do not check for standard headers like stddef.h
24134
24135         I found this problem when modifying Emacs to use gnulib.
24136         I noticed that it added HAVE_STDDEF_H to config.h, even though
24137         gnulib always assumes <stddef.h> exists as per README and this
24138         symbol is unnecessary.
24139         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
24140         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
24141         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
24142         faster for headers like stddef.h that are known to exist.
24143         (gl_CHECK_NEXT_HEADERS): Use it.
24144         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
24145         rather than gl_CHECK_NEXT_HEADERS.
24146         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
24147         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
24148
24149 2011-01-18  Eric Blake  <eblake@redhat.com>
24150
24151         ansi-c++-opt: skip C++ dependency style if C++ is unused
24152         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
24153         tests when we know C++ compilation is not desired.
24154         Reported by Scott McCreary.
24155
24156 2011-01-18  Bruno Haible  <bruno@clisp.org>
24157
24158         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
24159         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
24160         (main): Perform test also when getrlimit and setrlimit don't exist or
24161         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
24162         limiting the address space size using setrlimit, compare the address
24163         space size before and after the the test.
24164         * tests/test-dprintf-posix2.c: Likewise.
24165         * tests/test-fprintf-posix3.sh: Update skip messages.
24166         * tests/test-dprintf-posix2.sh: Likewise.
24167         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
24168         * modules/dprintf-posix-tests (Depends-on): Likewise.
24169         Reported by Bruce Korb <bkorb@gnu.org> and
24170         Gary V. Vaughan <gary@gnu.org>.
24171
24172 2011-01-18  Bruno Haible  <bruno@clisp.org>
24173
24174         get-rusage-as: Improvement for Cygwin.
24175         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
24176         areas that are merely reserved.
24177
24178 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
24179
24180         strftime: remove dependencies on multibyte modules
24181
24182         strftime depended on mbrlen, mbsinit, and wchar, but these modules
24183         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
24184         only if __osf__ is defined, and I suspect OSF doesn't need these
24185         other modules.  If my guess is wrong, we'll need to come up with a
24186         variant of strftime that doesn't need the multibyte modules.
24187
24188         I discovered this problem when attempting modify Emacs to use the
24189         strftime module.  With the previous gnulib, this caused Emacs to
24190         need 31 new files, ranging from lib/config.charset to
24191         m4/wint_t.m4.  This was overkill and I expect would be offputting
24192         to the Emacs maintainers.  After this change, only 6 new files are
24193         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
24194         stdbool.m4, and tm_gmtoff.m4.
24195
24196         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
24197         Suggested by Bruno Haible in
24198         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
24199         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
24200         and do not check for wchar.h.
24201         * modules/strftime (Files): Remove m4/mbstate_t.m4.
24202         (Depends-on): Remove mbrlen, mbsinit, wchar.
24203
24204 2011-01-18  Bruno Haible  <bruno@clisp.org>
24205
24206         Tests for module 'get-rusage-as'.
24207         * modules/get-rusage-as-tests: New file.
24208         * tests/test-get-rusage-as.c: New file.
24209
24210         New module 'get-rusage-as'.
24211         * modules/get-rusage-as: New file.
24212         * lib/resource-ext.h: New file.
24213         * lib/get-rusage-as.c: New file.
24214
24215 2011-01-17  Eric Blake  <eblake@redhat.com>
24216
24217         sigaction: relax license from LGPLv3+ to LGPLv2+
24218         * modules/sigaction (License): Relax to LGPLv2+.
24219
24220 2011-01-14  Bruno Haible  <bruno@clisp.org>
24221
24222         filemode: Make function declarations usable in C++ mode.
24223         * lib/filemode.h: Enclose function declarations in extern "C" block.
24224         Reported by John W. Eaton <jwe@gnu.org>.
24225
24226 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
24227
24228         save-cwd: no longer include "xgetcwd.h"
24229         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
24230         This avoids a compilation failure in projects that use save-cwd
24231         without also using the xgetcwd module.
24232
24233 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
24234
24235         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
24236         This is so that a program like Emacs, which needs only dtoastr,
24237         does not have to bother with distributing and compiling ftoastr
24238         and ldtoastr.
24239         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
24240         * modules/dtoastr, modules/ldtoastr: New files.
24241         * modules/ftoastr: Now works just for 'float'.
24242         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
24243         (Makefile.am): Remove ftoastr.h (not needed and no effect),
24244         dtoastr.c, ldtoastr.c.
24245
24246 2011-01-11  Jim Meyering  <meyering@redhat.com>
24247
24248         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
24249         There is no need to work around the lack of the fchdir function,
24250         since gnulib can now provide a replacement when required.
24251         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
24252         * modules/save-cwd (Depends-on): Add fchdir.
24253
24254 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
24255
24256         openat, save-cwd: avoid xmalloc
24257
24258         This removes a direct (but undocumented) dependency of openat on
24259         xalloc, along with an indirect dependency via save-cwd.  It also
24260         removes a dependency of save-cwd on xgetcwd, and thereby
24261         indirectly on xalloc.  This change causes the openat substitute
24262         to fall back on save_cwd when memory is tight, and for save_cwd to
24263         fail instead of dying when memory is tight, but that's good enough.
24264         Problem and initial idea for fix reported by Bastien Roucaries in
24265         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
24266
24267         * lib/openat-proc.c: Include stdlib.h (for malloc), not
24268         xalloc.h (for xmalloc).
24269         (openat_proc_name): Use malloc, not xmalloc.
24270         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
24271         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
24272
24273         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
24274         This avoids heap allocation for file names whose lengths are in
24275         the range 512..1023, with the upper bound increasing to at most
24276         4031 depending on the platform's PATH_MAX.  (We do not want
24277         pathmax.h here as it might supply a non-constant PATH_MAX.)
24278         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
24279         Perhaps they should be moved to malloca.h?
24280         (OPENAT_BUFFER_SIZE): Use them.
24281
24282 2011-01-10  Bruno Haible  <bruno@clisp.org>
24283
24284         doc: Update users.txt.
24285         * users.txt: Add recutils.
24286
24287 2011-01-09  Karl Berry  <karl@gnu.org>
24288
24289         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
24290
24291         * doc/configmake.texi: New file.
24292         * doc/gnulib.texi: Include it.
24293         * modules/configmake: Move documentation from here.
24294
24295 2011-01-09  Bruno Haible  <bruno@clisp.org>
24296
24297         Update to Unicode 6.0.0.
24298         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
24299         (get_lbp): Update for Unicode 6.0.0.
24300         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
24301         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
24302         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
24303         U+11001, U+11038..U+11046. Remove U+06DE.
24304         (uc_width): Fix bounds of planes.
24305         * tests/uniwidth/test-uc_width2.sh: Same updates as in
24306         lib/uniwidth/width.c.
24307         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
24308         trailing whitespace removed.
24309         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
24310         without comments, but with the original copyright notice.
24311         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
24312         * lib/unicase/ignorable.h: Likewise.
24313         * lib/unicase/tocasefold.h: Likewise.
24314         * lib/unicase/tolower.h: Likewise.
24315         * lib/unicase/totitle.h: Likewise.
24316         * lib/unicase/toupper.h: Likewise.
24317         * lib/unictype/bidi_of.h: Likewise.
24318         * lib/unictype/blocks.h: Likewise.
24319         * lib/unictype/categ_C.h: Likewise.
24320         * lib/unictype/categ_Cn.h: Likewise.
24321         * lib/unictype/categ_L.h: Likewise.
24322         * lib/unictype/categ_Ll.h: Likewise.
24323         * lib/unictype/categ_Lm.h: Likewise.
24324         * lib/unictype/categ_Lo.h: Likewise.
24325         * lib/unictype/categ_Lu.h: Likewise.
24326         * lib/unictype/categ_M.h: Likewise.
24327         * lib/unictype/categ_Mc.h: Likewise.
24328         * lib/unictype/categ_Me.h: Likewise.
24329         * lib/unictype/categ_Mn.h: Likewise.
24330         * lib/unictype/categ_N.h: Likewise.
24331         * lib/unictype/categ_Nd.h: Likewise.
24332         * lib/unictype/categ_No.h: Likewise.
24333         * lib/unictype/categ_P.h: Likewise.
24334         * lib/unictype/categ_Po.h: Likewise.
24335         * lib/unictype/categ_S.h: Likewise.
24336         * lib/unictype/categ_Sc.h: Likewise.
24337         * lib/unictype/categ_Sk.h: Likewise.
24338         * lib/unictype/categ_Sm.h: Likewise.
24339         * lib/unictype/categ_So.h: Likewise.
24340         * lib/unictype/categ_of.h: Likewise.
24341         * lib/unictype/combining.h: Likewise.
24342         * lib/unictype/ctype_alnum.h: Likewise.
24343         * lib/unictype/ctype_alpha.h: Likewise.
24344         * lib/unictype/ctype_graph.h: Likewise.
24345         * lib/unictype/ctype_lower.h: Likewise.
24346         * lib/unictype/ctype_print.h: Likewise.
24347         * lib/unictype/ctype_punct.h: Likewise.
24348         * lib/unictype/ctype_upper.h: Likewise.
24349         * lib/unictype/decdigit.h: Likewise.
24350         * lib/unictype/digit.h: Likewise.
24351         * lib/unictype/numeric.h: Likewise.
24352         * lib/unictype/pr_alphabetic.h: Likewise.
24353         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
24354         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
24355         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
24356         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
24357         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
24358         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
24359         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
24360         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
24361         * lib/unictype/pr_case_ignorable.h: Likewise.
24362         * lib/unictype/pr_cased.h: Likewise.
24363         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
24364         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
24365         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
24366         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
24367         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
24368         * lib/unictype/pr_combining.h: Likewise.
24369         * lib/unictype/pr_composite.h: Likewise.
24370         * lib/unictype/pr_currency_symbol.h: Likewise.
24371         * lib/unictype/pr_decimal_digit.h: Likewise.
24372         * lib/unictype/pr_deprecated.h: Likewise.
24373         * lib/unictype/pr_format_control.h: Likewise.
24374         * lib/unictype/pr_grapheme_base.h: Likewise.
24375         * lib/unictype/pr_grapheme_extend.h: Likewise.
24376         * lib/unictype/pr_grapheme_link.h: Likewise.
24377         * lib/unictype/pr_id_continue.h: Likewise.
24378         * lib/unictype/pr_id_start.h: Likewise.
24379         * lib/unictype/pr_ideographic.h: Likewise.
24380         * lib/unictype/pr_lowercase.h: Likewise.
24381         * lib/unictype/pr_math.h: Likewise.
24382         * lib/unictype/pr_numeric.h: Likewise.
24383         * lib/unictype/pr_other_alphabetic.h: Likewise.
24384         * lib/unictype/pr_other_id_continue.h: Likewise.
24385         * lib/unictype/pr_other_math.h: Likewise.
24386         * lib/unictype/pr_punctuation.h: Likewise.
24387         * lib/unictype/pr_sentence_terminal.h: Likewise.
24388         * lib/unictype/pr_terminal_punctuation.h: Likewise.
24389         * lib/unictype/pr_unassigned_code_value.h: Likewise.
24390         * lib/unictype/pr_unified_ideograph.h: Likewise.
24391         * lib/unictype/pr_uppercase.h: Likewise.
24392         * lib/unictype/pr_xid_continue.h: Likewise.
24393         * lib/unictype/pr_xid_start.h: Likewise.
24394         * lib/unictype/scripts.h: Likewise.
24395         * lib/unictype/scripts_byname.gperf: Likewise.
24396         * lib/unictype/sy_java_ident.h: Likewise.
24397         * lib/unigbrk/gbrkprop.h: Likewise.
24398         * lib/unilbrk/lbrkprop1.h: Likewise.
24399         * lib/unilbrk/lbrkprop2.h: Likewise.
24400         * lib/uninorm/decomposition-table2.h: Likewise.
24401         * lib/uniwbrk/wbrkprop.h: Likewise.
24402         * tests/unicase/test-cased.c: Likewise.
24403         * tests/unicase/test-ignorable.c: Likewise.
24404         * tests/unicase/test-uc_tolower.c: Likewise.
24405         * tests/unicase/test-uc_totitle.c: Likewise.
24406         * tests/unicase/test-uc_toupper.c: Likewise.
24407         * tests/unictype/test-categ_C.c: Likewise.
24408         * tests/unictype/test-categ_Cn.c: Likewise.
24409         * tests/unictype/test-categ_L.c: Likewise.
24410         * tests/unictype/test-categ_Ll.c: Likewise.
24411         * tests/unictype/test-categ_Lm.c: Likewise.
24412         * tests/unictype/test-categ_Lo.c: Likewise.
24413         * tests/unictype/test-categ_Lu.c: Likewise.
24414         * tests/unictype/test-categ_M.c: Likewise.
24415         * tests/unictype/test-categ_Mc.c: Likewise.
24416         * tests/unictype/test-categ_Me.c: Likewise.
24417         * tests/unictype/test-categ_Mn.c: Likewise.
24418         * tests/unictype/test-categ_N.c: Likewise.
24419         * tests/unictype/test-categ_Nd.c: Likewise.
24420         * tests/unictype/test-categ_No.c: Likewise.
24421         * tests/unictype/test-categ_P.c: Likewise.
24422         * tests/unictype/test-categ_Po.c: Likewise.
24423         * tests/unictype/test-categ_S.c: Likewise.
24424         * tests/unictype/test-categ_Sc.c: Likewise.
24425         * tests/unictype/test-categ_Sk.c: Likewise.
24426         * tests/unictype/test-categ_Sm.c: Likewise.
24427         * tests/unictype/test-categ_So.c: Likewise.
24428         * tests/unictype/test-ctype_alnum.c: Likewise.
24429         * tests/unictype/test-ctype_alpha.c: Likewise.
24430         * tests/unictype/test-ctype_graph.c: Likewise.
24431         * tests/unictype/test-ctype_lower.c: Likewise.
24432         * tests/unictype/test-ctype_print.c: Likewise.
24433         * tests/unictype/test-ctype_punct.c: Likewise.
24434         * tests/unictype/test-ctype_upper.c: Likewise.
24435         * tests/unictype/test-decdigit.h: Likewise.
24436         * tests/unictype/test-digit.h: Likewise.
24437         * tests/unictype/test-numeric.h: Likewise.
24438         * tests/unictype/test-pr_alphabetic.c: Likewise.
24439         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
24440         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
24441         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
24442         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
24443         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
24444         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
24445         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
24446         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
24447         * tests/unictype/test-pr_case_ignorable.c: Likewise.
24448         * tests/unictype/test-pr_cased.c: Likewise.
24449         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
24450         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
24451         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
24452         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
24453         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
24454         * tests/unictype/test-pr_combining.c: Likewise.
24455         * tests/unictype/test-pr_composite.c: Likewise.
24456         * tests/unictype/test-pr_currency_symbol.c: Likewise.
24457         * tests/unictype/test-pr_decimal_digit.c: Likewise.
24458         * tests/unictype/test-pr_deprecated.c: Likewise.
24459         * tests/unictype/test-pr_format_control.c: Likewise.
24460         * tests/unictype/test-pr_grapheme_base.c: Likewise.
24461         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
24462         * tests/unictype/test-pr_grapheme_link.c: Likewise.
24463         * tests/unictype/test-pr_id_continue.c: Likewise.
24464         * tests/unictype/test-pr_id_start.c: Likewise.
24465         * tests/unictype/test-pr_ideographic.c: Likewise.
24466         * tests/unictype/test-pr_lowercase.c: Likewise.
24467         * tests/unictype/test-pr_math.c: Likewise.
24468         * tests/unictype/test-pr_numeric.c: Likewise.
24469         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
24470         * tests/unictype/test-pr_other_id_continue.c: Likewise.
24471         * tests/unictype/test-pr_other_math.c: Likewise.
24472         * tests/unictype/test-pr_punctuation.c: Likewise.
24473         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
24474         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
24475         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
24476         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
24477         * tests/unictype/test-pr_uppercase.c: Likewise.
24478         * tests/unictype/test-pr_xid_continue.c: Likewise.
24479         * tests/unictype/test-pr_xid_start.c: Likewise.
24480         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
24481         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
24482         changes.
24483         * lib/unictype/categ_Cc.h: Likewise.
24484         * lib/unictype/categ_Cf.h: Likewise.
24485         * lib/unictype/categ_Co.h: Likewise.
24486         * lib/unictype/categ_Cs.h: Likewise.
24487         * lib/unictype/categ_Lt.h: Likewise.
24488         * lib/unictype/categ_Nl.h: Likewise.
24489         * lib/unictype/categ_Pc.h: Likewise.
24490         * lib/unictype/categ_Pd.h: Likewise.
24491         * lib/unictype/categ_Pe.h: Likewise.
24492         * lib/unictype/categ_Pf.h: Likewise.
24493         * lib/unictype/categ_Pi.h: Likewise.
24494         * lib/unictype/categ_Ps.h: Likewise.
24495         * lib/unictype/categ_Z.h: Likewise.
24496         * lib/unictype/categ_Zl.h: Likewise.
24497         * lib/unictype/categ_Zp.h: Likewise.
24498         * lib/unictype/categ_Zs.h: Likewise.
24499         * lib/unictype/ctype_blank.h: Likewise.
24500         * lib/unictype/ctype_cntrl.h: Likewise.
24501         * lib/unictype/ctype_digit.h: Likewise.
24502         * lib/unictype/ctype_space.h: Likewise.
24503         * lib/unictype/ctype_xdigit.h: Likewise.
24504         * lib/unictype/mirror.h: Likewise.
24505         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
24506         * lib/unictype/pr_bidi_block_separator.h: Likewise.
24507         * lib/unictype/pr_bidi_common_separator.h: Likewise.
24508         * lib/unictype/pr_bidi_control.h: Likewise.
24509         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
24510         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
24511         * lib/unictype/pr_bidi_european_digit.h: Likewise.
24512         * lib/unictype/pr_bidi_pdf.h: Likewise.
24513         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
24514         * lib/unictype/pr_bidi_whitespace.h: Likewise.
24515         * lib/unictype/pr_dash.h: Likewise.
24516         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
24517         * lib/unictype/pr_diacritic.h: Likewise.
24518         * lib/unictype/pr_extender.h: Likewise.
24519         * lib/unictype/pr_hex_digit.h: Likewise.
24520         * lib/unictype/pr_hyphen.h: Likewise.
24521         * lib/unictype/pr_ids_binary_operator.h: Likewise.
24522         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
24523         * lib/unictype/pr_ignorable_control.h: Likewise.
24524         * lib/unictype/pr_iso_control.h: Likewise.
24525         * lib/unictype/pr_join_control.h: Likewise.
24526         * lib/unictype/pr_left_of_pair.h: Likewise.
24527         * lib/unictype/pr_line_separator.h: Likewise.
24528         * lib/unictype/pr_logical_order_exception.h: Likewise.
24529         * lib/unictype/pr_non_break.h: Likewise.
24530         * lib/unictype/pr_not_a_character.h: Likewise.
24531         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
24532         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
24533         * lib/unictype/pr_other_id_start.h: Likewise.
24534         * lib/unictype/pr_other_lowercase.h: Likewise.
24535         * lib/unictype/pr_other_uppercase.h: Likewise.
24536         * lib/unictype/pr_paired_punctuation.h: Likewise.
24537         * lib/unictype/pr_paragraph_separator.h: Likewise.
24538         * lib/unictype/pr_pattern_syntax.h: Likewise.
24539         * lib/unictype/pr_pattern_white_space.h: Likewise.
24540         * lib/unictype/pr_private_use.h: Likewise.
24541         * lib/unictype/pr_quotation_mark.h: Likewise.
24542         * lib/unictype/pr_radical.h: Likewise.
24543         * lib/unictype/pr_soft_dotted.h: Likewise.
24544         * lib/unictype/pr_space.h: Likewise.
24545         * lib/unictype/pr_titlecase.h: Likewise.
24546         * lib/unictype/pr_variation_selector.h: Likewise.
24547         * lib/unictype/pr_white_space.h: Likewise.
24548         * lib/unictype/pr_zero_width.h: Likewise.
24549         * lib/unictype/sy_c_ident.h: Likewise.
24550         * lib/unictype/sy_c_whitespace.h: Likewise.
24551         * lib/unictype/sy_java_whitespace.h: Likewise.
24552         * lib/uninorm/composition-table.gperf: Likewise.
24553         * lib/uninorm/decomposition-table1.h: Likewise.
24554         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
24555         LB8.
24556         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
24557         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
24558         * modules/unictype/*: Bump version number of expected libunistring
24559         version.
24560
24561 2011-01-09  Bruno Haible  <bruno@clisp.org>
24562
24563         Update to Unicode 5.2.0.
24564         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
24565         trailing whitespace removed.
24566
24567 2011-01-09  Bruno Haible  <bruno@clisp.org>
24568
24569         New Unicode character properties, from Unicode 5.2.0.
24570         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
24571         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
24572         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
24573         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
24574         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
24575         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
24576         uc_is_property_cased, uc_is_property_case_ignorable,
24577         uc_is_property_changes_when_lowercased,
24578         uc_is_property_changes_when_uppercased,
24579         uc_is_property_changes_when_titlecased,
24580         uc_is_property_changes_when_casefolded,
24581         uc_is_property_changes_when_casemapped): New declarations.
24582         * lib/unictype/pr_byname.gperf: Add the new properties.
24583         * modules/unictype/property-byname (Depends-on): Depend on the new
24584         properties modules.
24585         * modules/unictype/property-all (Depends-on): Likewise.
24586         * MODULES.html.sh (Unicode string functions): Add
24587         unictype/property-case-ignorable, unictype/property-cased,
24588         unictype/property-changes-when-casefolded,
24589         unictype/property-changes-when-casemapped,
24590         unictype/property-changes-when-lowercased,
24591         unictype/property-changes-when-titlecased,
24592         unictype/property-changes-when-uppercased.
24593
24594         New module 'unictype/property-changes-when-casemapped'.
24595         * modules/unictype/property-changes-when-casemapped: New file.
24596         * lib/unictype/pr_changes_when_casemapped.c: New file.
24597         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
24598         generated by gen-uni-tables.
24599         * modules/unictype/property-changes-when-casemapped-tests: New file.
24600         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
24601         automatically generated by gen-uni-tables.
24602
24603         New module 'unictype/property-changes-when-casefolded'.
24604         * modules/unictype/property-changes-when-casefolded: New file.
24605         * lib/unictype/pr_changes_when_casefolded.c: New file.
24606         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
24607         generated by gen-uni-tables.
24608         * modules/unictype/property-changes-when-casefolded-tests: New file.
24609         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
24610         automatically generated by gen-uni-tables.
24611
24612         New module 'unictype/property-changes-when-titlecased'.
24613         * modules/unictype/property-changes-when-titlecased: New file.
24614         * lib/unictype/pr_changes_when_titlecased.c: New file.
24615         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
24616         generated by gen-uni-tables.
24617         * modules/unictype/property-changes-when-titlecased-tests: New file.
24618         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
24619         automatically generated by gen-uni-tables.
24620
24621         New module 'unictype/property-changes-when-uppercased'.
24622         * modules/unictype/property-changes-when-uppercased: New file.
24623         * lib/unictype/pr_changes_when_uppercased.c: New file.
24624         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
24625         generated by gen-uni-tables.
24626         * modules/unictype/property-changes-when-uppercased-tests: New file.
24627         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
24628         automatically generated by gen-uni-tables.
24629
24630         New module 'unictype/property-changes-when-lowercased'.
24631         * modules/unictype/property-changes-when-lowercased: New file.
24632         * lib/unictype/pr_changes_when_lowercased.c: New file.
24633         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
24634         generated by gen-uni-tables.
24635         * modules/unictype/property-changes-when-lowercased-tests: New file.
24636         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
24637         automatically generated by gen-uni-tables.
24638
24639         New module 'unictype/property-case-ignorable'.
24640         * modules/unictype/property-case-ignorable: New file.
24641         * lib/unictype/pr_case_ignorable.c: New file.
24642         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
24643         by gen-uni-tables.
24644         * modules/unictype/property-case-ignorable-tests: New file.
24645         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
24646         generated by gen-uni-tables.
24647
24648         New module 'unictype/property-cased'.
24649         * modules/unictype/property-cased: New file.
24650         * lib/unictype/pr_cased.c: New file.
24651         * lib/unictype/pr_cased.h: New file, automatically generated by
24652         gen-uni-tables.
24653         * modules/unictype/property-cased-tests: New file.
24654         * tests/unictype/test-pr_cased.c: New file, automatically generated by
24655         gen-uni-tables.
24656
24657 2011-01-09  Bruno Haible  <bruno@clisp.org>
24658
24659         Update to Unicode 5.2.0.
24660         * lib/gen-uni-tables.c (output_predicate, output_category,
24661         output_combclass, output_bidi_category, output_decimal_digit_test,
24662         output_decimal_digit, output_digit_test, output_digit,
24663         output_numeric_test, output_numeric, output_mirror, output_scripts,
24664         output_scripts_byname, output_blocks, output_ident_category): Fix
24665         comment header.
24666         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
24667         get_wbp.
24668         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
24669         items.
24670         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
24671         Changes_When_Lowercased, Changes_When_Uppercased,
24672         Changes_When_Titlecased, Changes_When_Casefolded,
24673         Changes_When_Casemapped.
24674         (is_property_alphabetic, is_property_default_ignorable_code_point):
24675         Update for Unicode 5.2.0.
24676         (is_property_cased, is_property_case_ignorable,
24677         is_property_changes_when_lowercased,
24678         is_property_changes_when_uppercased,
24679         is_property_changes_when_titlecased,
24680         is_property_changes_when_casefolded,
24681         is_property_changes_when_casemapped): New functions.
24682         (output_properties): Output also the properties cased, case_ignorable,
24683         changes_when_lowercased, changes_when_uppercased,
24684         changes_when_titlecased, changes_when_casefolded,
24685         changes_when_casemapped.
24686         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
24687         Unicode TR#11 revision 17 -> 19.
24688         (LBP_CP): New enumeration value.
24689         (LBP_*): Adjust values accordingly.
24690         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
24691         TR#14 revision 22 -> 24.
24692         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
24693         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
24694         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
24695         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
24696         is_WBP_MIDLETTER.
24697         (output_composition_tables): Allow for 24 bits instead of 16 bits in
24698         the code1 and code2 of each composition rule.
24699         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
24700         * lib/unicase/ignorable.h: Likewise.
24701         * lib/unicase/tocasefold.h: Likewise.
24702         * lib/unicase/tolower.h: Likewise.
24703         * lib/unicase/totitle.h: Likewise.
24704         * lib/unicase/toupper.h: Likewise.
24705         * lib/unictype/bidi_of.h: Likewise.
24706         * lib/unictype/blocks.h: Likewise.
24707         * lib/unictype/categ_C.h: Likewise.
24708         * lib/unictype/categ_Cf.h: Likewise.
24709         * lib/unictype/categ_Cn.h: Likewise.
24710         * lib/unictype/categ_L.h: Likewise.
24711         * lib/unictype/categ_Ll.h: Likewise.
24712         * lib/unictype/categ_Lm.h: Likewise.
24713         * lib/unictype/categ_Lo.h: Likewise.
24714         * lib/unictype/categ_Lu.h: Likewise.
24715         * lib/unictype/categ_M.h: Likewise.
24716         * lib/unictype/categ_Mc.h: Likewise.
24717         * lib/unictype/categ_Mn.h: Likewise.
24718         * lib/unictype/categ_N.h: Likewise.
24719         * lib/unictype/categ_Nd.h: Likewise.
24720         * lib/unictype/categ_Nl.h: Likewise.
24721         * lib/unictype/categ_No.h: Likewise.
24722         * lib/unictype/categ_P.h: Likewise.
24723         * lib/unictype/categ_Pd.h: Likewise.
24724         * lib/unictype/categ_Po.h: Likewise.
24725         * lib/unictype/categ_S.h: Likewise.
24726         * lib/unictype/categ_Sc.h: Likewise.
24727         * lib/unictype/categ_So.h: Likewise.
24728         * lib/unictype/categ_of.h: Likewise.
24729         * lib/unictype/combining.h: Likewise.
24730         * lib/unictype/ctype_alnum.h: Likewise.
24731         * lib/unictype/ctype_alpha.h: Likewise.
24732         * lib/unictype/ctype_graph.h: Likewise.
24733         * lib/unictype/ctype_lower.h: Likewise.
24734         * lib/unictype/ctype_print.h: Likewise.
24735         * lib/unictype/ctype_punct.h: Likewise.
24736         * lib/unictype/ctype_upper.h: Likewise.
24737         * lib/unictype/decdigit.h: Likewise.
24738         * lib/unictype/digit.h: Likewise.
24739         * lib/unictype/numeric.h: Likewise.
24740         * lib/unictype/pr_alphabetic.h: Likewise.
24741         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
24742         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
24743         * lib/unictype/pr_bidi_european_digit.h: Likewise.
24744         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
24745         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
24746         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
24747         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
24748         * lib/unictype/pr_combining.h: Likewise.
24749         * lib/unictype/pr_composite.h: Likewise.
24750         * lib/unictype/pr_currency_symbol.h: Likewise.
24751         * lib/unictype/pr_dash.h: Likewise.
24752         * lib/unictype/pr_decimal_digit.h: Likewise.
24753         * lib/unictype/pr_deprecated.h: Likewise.
24754         * lib/unictype/pr_diacritic.h: Likewise.
24755         * lib/unictype/pr_extender.h: Likewise.
24756         * lib/unictype/pr_grapheme_base.h: Likewise.
24757         * lib/unictype/pr_grapheme_extend.h: Likewise.
24758         * lib/unictype/pr_grapheme_link.h: Likewise.
24759         * lib/unictype/pr_id_continue.h: Likewise.
24760         * lib/unictype/pr_id_start.h: Likewise.
24761         * lib/unictype/pr_ideographic.h: Likewise.
24762         * lib/unictype/pr_ignorable_control.h: Likewise.
24763         * lib/unictype/pr_logical_order_exception.h: Likewise.
24764         * lib/unictype/pr_lowercase.h: Likewise.
24765         * lib/unictype/pr_numeric.h: Likewise.
24766         * lib/unictype/pr_other_alphabetic.h: Likewise.
24767         * lib/unictype/pr_punctuation.h: Likewise.
24768         * lib/unictype/pr_sentence_terminal.h: Likewise.
24769         * lib/unictype/pr_terminal_punctuation.h: Likewise.
24770         * lib/unictype/pr_unassigned_code_value.h: Likewise.
24771         * lib/unictype/pr_unified_ideograph.h: Likewise.
24772         * lib/unictype/pr_uppercase.h: Likewise.
24773         * lib/unictype/pr_xid_continue.h: Likewise.
24774         * lib/unictype/pr_xid_start.h: Likewise.
24775         * lib/unictype/pr_zero_width.h: Likewise.
24776         * lib/unictype/scripts.h: Likewise.
24777         * lib/unictype/scripts_byname.gperf: Likewise.
24778         * lib/unictype/sy_java_ident.h: Likewise.
24779         * lib/unigbrk/gbrkprop.h: Likewise.
24780         * lib/unilbrk/lbrkprop1.h: Likewise.
24781         * lib/unilbrk/lbrkprop2.h: Likewise.
24782         * lib/unilbrk/lbrktables.h: Likewise.
24783         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
24784         LBP_CP. Implement rule LB30.
24785         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
24786         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
24787         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
24788         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
24789         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
24790         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
24791         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
24792         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
24793         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
24794         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
24795         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
24796         bits instead of 16 bits in the code1 and code2 of each composition
24797         rule.
24798         (uc_composition): Update for Unicode 5.2.0.
24799         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
24800         * lib/uninorm/decomposition-table2.h: Likewise.
24801         * lib/uniwbrk/wbrkprop.h: Likewise.
24802         * tests/unicase/test-cased.c: Likewise.
24803         * tests/unicase/test-ignorable.c: Likewise.
24804         * tests/unicase/test-uc_tolower.c: Likewise.
24805         * tests/unicase/test-uc_totitle.c: Likewise.
24806         * tests/unicase/test-uc_toupper.c: Likewise.
24807         * tests/unictype/test-categ_C.c: Likewise.
24808         * tests/unictype/test-categ_Cf.c: Likewise.
24809         * tests/unictype/test-categ_Cn.c: Likewise.
24810         * tests/unictype/test-categ_L.c: Likewise.
24811         * tests/unictype/test-categ_Ll.c: Likewise.
24812         * tests/unictype/test-categ_Lm.c: Likewise.
24813         * tests/unictype/test-categ_Lo.c: Likewise.
24814         * tests/unictype/test-categ_Lu.c: Likewise.
24815         * tests/unictype/test-categ_M.c: Likewise.
24816         * tests/unictype/test-categ_Mc.c: Likewise.
24817         * tests/unictype/test-categ_Mn.c: Likewise.
24818         * tests/unictype/test-categ_N.c: Likewise.
24819         * tests/unictype/test-categ_Nd.c: Likewise.
24820         * tests/unictype/test-categ_Nl.c: Likewise.
24821         * tests/unictype/test-categ_No.c: Likewise.
24822         * tests/unictype/test-categ_P.c: Likewise.
24823         * tests/unictype/test-categ_Pd.c: Likewise.
24824         * tests/unictype/test-categ_Po.c: Likewise.
24825         * tests/unictype/test-categ_S.c: Likewise.
24826         * tests/unictype/test-categ_Sc.c: Likewise.
24827         * tests/unictype/test-categ_So.c: Likewise.
24828         * tests/unictype/test-ctype_alnum.c: Likewise.
24829         * tests/unictype/test-ctype_alpha.c: Likewise.
24830         * tests/unictype/test-ctype_graph.c: Likewise.
24831         * tests/unictype/test-ctype_lower.c: Likewise.
24832         * tests/unictype/test-ctype_print.c: Likewise.
24833         * tests/unictype/test-ctype_punct.c: Likewise.
24834         * tests/unictype/test-ctype_upper.c: Likewise.
24835         * tests/unictype/test-decdigit.h: Likewise.
24836         * tests/unictype/test-digit.h: Likewise.
24837         * tests/unictype/test-numeric.h: Likewise.
24838         * tests/unictype/test-pr_alphabetic.c: Likewise.
24839         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
24840         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
24841         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
24842         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
24843         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
24844         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
24845         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
24846         * tests/unictype/test-pr_combining.c: Likewise.
24847         * tests/unictype/test-pr_composite.c: Likewise.
24848         * tests/unictype/test-pr_currency_symbol.c: Likewise.
24849         * tests/unictype/test-pr_dash.c: Likewise.
24850         * tests/unictype/test-pr_decimal_digit.c: Likewise.
24851         * tests/unictype/test-pr_deprecated.c: Likewise.
24852         * tests/unictype/test-pr_diacritic.c: Likewise.
24853         * tests/unictype/test-pr_extender.c: Likewise.
24854         * tests/unictype/test-pr_grapheme_base.c: Likewise.
24855         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
24856         * tests/unictype/test-pr_grapheme_link.c: Likewise.
24857         * tests/unictype/test-pr_id_continue.c: Likewise.
24858         * tests/unictype/test-pr_id_start.c: Likewise.
24859         * tests/unictype/test-pr_ideographic.c: Likewise.
24860         * tests/unictype/test-pr_ignorable_control.c: Likewise.
24861         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
24862         * tests/unictype/test-pr_lowercase.c: Likewise.
24863         * tests/unictype/test-pr_numeric.c: Likewise.
24864         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
24865         * tests/unictype/test-pr_punctuation.c: Likewise.
24866         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
24867         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
24868         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
24869         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
24870         * tests/unictype/test-pr_uppercase.c: Likewise.
24871         * tests/unictype/test-pr_xid_continue.c: Likewise.
24872         * tests/unictype/test-pr_xid_start.c: Likewise.
24873         * tests/unictype/test-pr_zero_width.c: Likewise.
24874         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
24875         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
24876         changed behaviour: line breaking is now disallowed between a letter
24877         or '=' and '('.
24878         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
24879         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
24880         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
24881         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
24882         * tests/uniwidth/test-uc_width2.sh: Same updates as in
24883         lib/uniwidth/width.c.
24884         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
24885         without comments, but with the original copyright notice.
24886         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
24887         changes.
24888         * lib/unictype/categ_Cc.h: Likewise.
24889         * lib/unictype/categ_Co.h: Likewise.
24890         * lib/unictype/categ_Cs.h: Likewise.
24891         * lib/unictype/categ_Lt.h: Likewise.
24892         * lib/unictype/categ_Me.h: Likewise.
24893         * lib/unictype/categ_Pc.h: Likewise.
24894         * lib/unictype/categ_Pe.h: Likewise.
24895         * lib/unictype/categ_Pf.h: Likewise.
24896         * lib/unictype/categ_Pi.h: Likewise.
24897         * lib/unictype/categ_Ps.h: Likewise.
24898         * lib/unictype/categ_Sk.h: Likewise.
24899         * lib/unictype/categ_Sm.h: Likewise.
24900         * lib/unictype/categ_Z.h: Likewise.
24901         * lib/unictype/categ_Zl.h: Likewise.
24902         * lib/unictype/categ_Zp.h: Likewise.
24903         * lib/unictype/categ_Zs.h: Likewise.
24904         * lib/unictype/ctype_blank.h: Likewise.
24905         * lib/unictype/ctype_cntrl.h: Likewise.
24906         * lib/unictype/ctype_digit.h: Likewise.
24907         * lib/unictype/ctype_space.h: Likewise.
24908         * lib/unictype/ctype_xdigit.h: Likewise.
24909         * lib/unictype/mirror.h: Likewise.
24910         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
24911         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
24912         * lib/unictype/pr_bidi_block_separator.h: Likewise.
24913         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
24914         * lib/unictype/pr_bidi_common_separator.h: Likewise.
24915         * lib/unictype/pr_bidi_control.h: Likewise.
24916         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
24917         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
24918         * lib/unictype/pr_bidi_pdf.h: Likewise.
24919         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
24920         * lib/unictype/pr_bidi_whitespace.h: Likewise.
24921         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
24922         * lib/unictype/pr_format_control.h: Likewise.
24923         * lib/unictype/pr_hex_digit.h: Likewise.
24924         * lib/unictype/pr_hyphen.h: Likewise.
24925         * lib/unictype/pr_ids_binary_operator.h: Likewise.
24926         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
24927         * lib/unictype/pr_iso_control.h: Likewise.
24928         * lib/unictype/pr_join_control.h: Likewise.
24929         * lib/unictype/pr_left_of_pair.h: Likewise.
24930         * lib/unictype/pr_line_separator.h: Likewise.
24931         * lib/unictype/pr_math.h: Likewise.
24932         * lib/unictype/pr_non_break.h: Likewise.
24933         * lib/unictype/pr_not_a_character.h: Likewise.
24934         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
24935         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
24936         * lib/unictype/pr_other_id_continue.h: Likewise.
24937         * lib/unictype/pr_other_id_start.h: Likewise.
24938         * lib/unictype/pr_other_lowercase.h: Likewise.
24939         * lib/unictype/pr_other_math.h: Likewise.
24940         * lib/unictype/pr_other_uppercase.h: Likewise.
24941         * lib/unictype/pr_paired_punctuation.h: Likewise.
24942         * lib/unictype/pr_paragraph_separator.h: Likewise.
24943         * lib/unictype/pr_pattern_syntax.h: Likewise.
24944         * lib/unictype/pr_pattern_white_space.h: Likewise.
24945         * lib/unictype/pr_private_use.h: Likewise.
24946         * lib/unictype/pr_quotation_mark.h: Likewise.
24947         * lib/unictype/pr_radical.h: Likewise.
24948         * lib/unictype/pr_soft_dotted.h: Likewise.
24949         * lib/unictype/pr_space.h: Likewise.
24950         * lib/unictype/pr_titlecase.h: Likewise.
24951         * lib/unictype/pr_variation_selector.h: Likewise.
24952         * lib/unictype/pr_white_space.h: Likewise.
24953         * lib/unictype/sy_c_ident.h: Likewise.
24954         * lib/unictype/sy_c_whitespace.h: Likewise.
24955         * lib/unictype/sy_java_whitespace.h: Likewise.
24956         * modules/uni*/*: Bump version number of expected libunistring version.
24957         Reported by Simon Josefsson.
24958
24959 2011-01-09  Karl Heuer  <kwzh@gnu.org>
24960
24961         useless-if-before-free: fix typo in --help and make the internal,
24962         automatic version date update process work once again.
24963         --help output contained a NUL character instead of the
24964         backslash-zero that was intended.  Also, the "must lie within
24965         the first 8 lines" line is on line 9, and hence not getting
24966         automatically updated.
24967         * build-aux/useless-if-before-free: Fix the former by adding a
24968         backslash, and the latter by condensing the three lines of what-it-does
24969         to a single line, leaving one line of slack for the future.
24970
24971 2011-01-09  Bruno Haible  <bruno@clisp.org>
24972
24973         uniwidth/width: Fix width of U+1D173..U+1D17A.
24974         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
24975         symbolic_width, output_width_property_test): New functions.
24976         (main): Invoke output_nonspacing_property, output_width_property_test.
24977         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
24978         U+1D173..U+1D17A.
24979         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
24980         1.
24981         * modules/uniwidth/*: Bump version number of expected libunistring
24982         version.
24983         * modules/unilbrk/*: Likewise.
24984
24985 2011-01-08  Bruno Haible  <bruno@clisp.org>
24986
24987         uninorm tests: Preserve copyright of Unicode data file.
24988         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
24989         Mention modifications.
24990
24991 2011-01-08  Bruno Haible  <bruno@clisp.org>
24992
24993         gen-uni-tables: Prepare for Unicode 5.2.0.
24994         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
24995         (debug_output_lbp, output_lbp): Update.
24996
24997 2011-01-08  Bruno Haible  <bruno@clisp.org>
24998
24999         unilbrk: Clarify gen-uni-tables.c code.
25000         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
25001         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
25002         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
25003
25004 2011-01-07  Bruno Haible  <bruno@clisp.org>
25005
25006         strtod: Restore errno when successfully parsing Infinity or NaN.
25007         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
25008         restore the original errno.
25009
25010 2011-01-07  Bruno Haible  <bruno@clisp.org>
25011
25012         remove test: Avoid failure on HP-UX 11.
25013         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
25014
25015 2011-01-07  Bruno Haible  <bruno@clisp.org>
25016
25017         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
25018         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
25019         error code.
25020
25021 2011-01-07  Pádraig Brady <P@draigBrady.com>
25022
25023         ignore-value: fixup comments, and add Eric Blake
25024         as an author since he rewrote the macros.
25025         * lib/ignore-value.h (ignore_value):  State that
25026         we now support aggregates.  Also specify exactly
25027         when the GCC warn_unused_result feature was added.
25028
25029 2011-01-06  Eric Blake  <eblake@redhat.com>
25030
25031         ignore-value: support aggregate types
25032         * lib/ignore-value.h (ignore_value): Provide separate gcc
25033         definition.
25034         * modules/ignore-value-tests: New test module.
25035         * tests/test-ignore-value.c: New test.
25036
25037         maint.mk: improve sc_prohibit_strcmp regex
25038         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
25039         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
25040         definition of STRNEQ.
25041
25042         signal: work around Haiku issue with SIGBUS
25043         * lib/siglist.h: Add comment.
25044         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
25045         strsignal's favoring of SIGSEGV.
25046         * tests/test-signal.c (main): Avoid test failure.
25047         * doc/posix-headers/signal.texi (signal.h): Document the issue.
25048         Reported by Scott McCreary.
25049
25050         maint.mk: add pre-release check to ensure submodule commits are public
25051         * top/maint.mk (public-submodule-commit): New rule.
25052         (submodule-checks): New variable.
25053         (alpha beta stable): Depend on the variable.
25054
25055 2011-01-05  Pádraig Brady <P@draigBrady.com>
25056         and Jim Meyering  <meyering@redhat.com>
25057
25058         ignore-value: make ignore_value more generic; deprecate ignore_ptr
25059         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
25060         (ATTRIBUTE_DEPRECATED): Define.
25061         (_ignore_case): New function.
25062         (ignore_value): New macro, to replace the old function.
25063         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
25064         * modules/ignore-value (Depends-on): Add stdint.
25065
25066 2011-01-04  Eric Blake  <eblake@redhat.com>
25067
25068         doc: regenerate INSTALL
25069         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
25070         @firstparagraphindent support, now that autoconf dropped it.
25071         (INSTALL_PRELUDE): Reinstate old macro.
25072         * doc/install.texi: Resync from autoconf.
25073         * doc/INSTALL: Reflect recent autoconf update.
25074         * doc/INSTALL.ISO: Likewise.
25075         * doc/INSTALL.UTF-8: Likewise.
25076         Reported by Karl Berry.
25077
25078 2011-01-04  Bruce Korb  <address@hidden>
25079
25080         git-version-gen: avoid a sub-shell
25081         * build-aux/git-version-gen: Redirect stderr in `...` via
25082         "exec 2>...", rather than via an added sub-shell.
25083
25084 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
25085
25086         git-version-gen: use (...) rather than sh -c '...'
25087         * build-aux/git-version-gen: Rather than hard-coding a shell's name
25088         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
25089
25090 2011-01-03  Jim Meyering  <meyering@redhat.com>
25091
25092         git-version-gen: convert leading TABs to spaces
25093         * build-aux/git-version-gen: Expand leading TABs.
25094
25095         git-version-gen: handle failed "git rev-list"
25096         * build-aux/git-version-gen: Rather than leaking a "fatal" error
25097         from git and proceeding as if it had succeeded but printed no SHA1
25098         checksums, suppress the diagnostic and handle the failure.
25099         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
25100
25101         git-version-gen: include command name in one more diagnostic
25102         * build-aux/git-version-gen: When the required .tarball-version file
25103         was missing or unreadable, you might see the diagnostic from "cat",
25104         but no trace of the name of the invoking script.  Now, you still see
25105         the diagnostic from cat, but also get one from "git-version-gen: ".
25106         Inspired by a patch from Bruce Korb.
25107
25108         update-copyright: adjust test to match changed code
25109         * tests/test-update-copyright.sh: Change test's expected output
25110         to match new actual output.
25111
25112 2011-01-02  Bruno Haible  <bruno@clisp.org>
25113
25114         getlogin_r: Avoid test failure on HP-UX 11.
25115         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
25116         ERANGE when the second argument is zero.
25117         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
25118         portability problem.
25119
25120 2011-01-02  Bruce Korb  <bkorb@gnu.org>
25121
25122         * build-aux/update-copyright: doc Simon's changes
25123
25124 2011-01-02  Simon Josefsson  <simon@josefsson.org>
25125
25126         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
25127         environment variable.
25128
25129 2011-01-02  Bruno Haible  <bruno@clisp.org>
25130
25131         unigbrk: Avoid gcc warnings.
25132         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
25133         unused variable.
25134         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
25135         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
25136         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
25137         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
25138         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
25139         Change type of first argument to 'const char *'.
25140         (main): Remove unused variable.
25141         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
25142         type of first argument to 'const char *'.
25143         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
25144         Likewise.
25145         (main): Change type of variable 's'.
25146         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
25147         to 'int'.
25148
25149 2011-01-02  Bruno Haible  <bruno@clisp.org>
25150
25151         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
25152         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
25153         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
25154         bug.
25155         * lib/pwrite.c: Undo 2010-12-31 patch.
25156         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
25157
25158 2011-01-02  Bruno Haible  <bruno@clisp.org>
25159
25160         pread: Fix test whether it works.
25161         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
25162
25163 2011-01-02  Bruno Haible  <bruno@clisp.org>
25164
25165         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
25166         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
25167         ends in "6". Don't require a specific month name. Try also the locale
25168         names found on HP-UX 11 and Solaris 7.
25169
25170 2011-01-02  Bruno Haible  <bruno@clisp.org>
25171
25172         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
25173         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
25174         C linkage.
25175         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
25176
25177 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
25178
25179         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
25180         for consistency, since the "cluster" term is not used elsewhere.
25181         * lib/unigbrk.in.h: Update name.
25182         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
25183         * lib/unigbrk/u16-grapheme-next.c: Update name.
25184         * lib/unigbrk/u16-grapheme-prev.c: Update name.
25185         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
25186         * lib/unigbrk/u32-grapheme-next.c: Update name.
25187         * lib/unigbrk/u32-grapheme-prev.c: Update name.
25188         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
25189         * lib/unigbrk/u8-grapheme-next.c: Update name.
25190         * lib/unigbrk/u8-grapheme-prev.c: Update name.
25191         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
25192         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
25193         Suggested by Bruno Haible.
25194
25195 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
25196
25197         Remove module 'u8-grapheme-len' as too redundant with
25198         'u8-grapheme-next'.
25199         * modules/unigbrk/u8-grapheme-len: Delete file.
25200         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
25201         * lib/unigbrk.in.h: Remove prototype for deleted function.
25202         * lib/unigbrk/u8-grapheme-len.c: Delete file.
25203         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
25204
25205         Remove module 'u16-grapheme-len' as too redundant with
25206         'u16-grapheme-next'.
25207         * modules/unigbrk/u16-grapheme-len: Delete file.
25208         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
25209         * lib/unigbrk.in.h: Remove prototype for deleted function.
25210         * lib/unigbrk/u16-grapheme-len.c: Delete file.
25211         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
25212
25213         Remove module 'u32-grapheme-len' as too redundant with
25214         'u32-grapheme-next'.
25215         * modules/unigbrk/u32-grapheme-len: Delete file.
25216         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
25217         * lib/unigbrk.in.h: Remove prototype for deleted function.
25218         * lib/unigbrk/u32-grapheme-len.c: Delete file.
25219         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
25220
25221         Suggested by Bruno Haible.
25222
25223 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
25224
25225         * unigbrk.in.h: Fix typo: "ben" => "been".
25226         Reported by Bruno Haible.
25227
25228 2011-01-01  Jim Meyering  <meyering@redhat.com>
25229
25230         maint: update almost all copyright ranges to include 2011
25231         Run the new "make update-copyright" rule.
25232
25233 2011-01-01  Jim Meyering  <meyering@redhat.com>
25234
25235         maint: update-copyright: exempt doc/INSTALL*
25236         * Makefile (update-copyright): Also exclude doc/INSTALL*,
25237         since they are generated.  Suggested by Bruno Haible.
25238
25239 2011-01-01  Jim Meyering  <meyering@redhat.com>
25240
25241         maint: refine the update-copyright rule
25242         * Makefile (update-copyright): Also exclude any file that includes
25243         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
25244         code that merely generates the comment.
25245
25246 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
25247
25248         New module 'u8-grapheme-len'.
25249         * modules/unigbrk/u8-grapheme-len: New file.
25250         * modules/unigbrk/u8-grapheme-len-tests: New file.
25251         * lib/unigbrk.in.h: Add prototype for new function.
25252         * lib/unigbrk/u8-grapheme-len.c: New file.
25253         * tests/unigbrk/test-u8-grapheme-len.c: New file.
25254
25255         New module 'u16-grapheme-len'.
25256         * modules/unigbrk/u16-grapheme-len: New file.
25257         * modules/unigbrk/u16-grapheme-len-tests: New file.
25258         * lib/unigbrk.in.h: Add prototype for new function.
25259         * lib/unigbrk/u16-grapheme-len.c: New file.
25260         * tests/unigbrk/test-u16-grapheme-len.c: New file.
25261
25262         New module 'u32-grapheme-len'.
25263         * modules/unigbrk/u32-grapheme-len: New file.
25264         * modules/unigbrk/u32-grapheme-len-tests: New file.
25265         * lib/unigbrk.in.h: Add prototype for new function.
25266         * lib/unigbrk/u32-grapheme-len.c: New file.
25267         * tests/unigbrk/test-u32-grapheme-len.c: New file.
25268
25269         New module 'u8-grapheme-next'.
25270         * modules/unigbrk/u8-grapheme-next: New file.
25271         * modules/unigbrk/u8-grapheme-next-tests: New file.
25272         * lib/unigbrk.in.h: Add prototype for new function.
25273         * lib/unigbrk/u8-grapheme-next.c: New file.
25274         * tests/unigbrk/test-u8-grapheme-next.c: New file.
25275
25276         New module 'u16-grapheme-next'.
25277         * modules/unigbrk/u16-grapheme-next: New file.
25278         * modules/unigbrk/u16-grapheme-next-tests: New file.
25279         * lib/unigbrk.in.h: Add prototype for new function.
25280         * lib/unigbrk/u16-grapheme-next.c: New file.
25281         * tests/unigbrk/test-u16-grapheme-next.c: New file.
25282
25283         New module 'u32-grapheme-next'.
25284         * modules/unigbrk/u32-grapheme-next: New file.
25285         * modules/unigbrk/u32-grapheme-next-tests: New file.
25286         * lib/unigbrk.in.h: Add prototype for new function.
25287         * lib/unigbrk/u32-grapheme-next.c: New file.
25288         * tests/unigbrk/test-u32-grapheme-next.c: New file.
25289
25290         New module 'u8-grapheme-prev'.
25291         * modules/unigbrk/u8-grapheme-prev: New file.
25292         * modules/unigbrk/u8-grapheme-prev-tests: New file.
25293         * lib/unigbrk.in.h: Add prototype for new function.
25294         * lib/unigbrk/u8-grapheme-prev.c: New file.
25295         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
25296
25297         New module 'u16-grapheme-prev'.
25298         * modules/unigbrk/u16-grapheme-prev: New file.
25299         * modules/unigbrk/u16-grapheme-prev-tests: New file.
25300         * lib/unigbrk.in.h: Add prototype for new function.
25301         * lib/unigbrk/u16-grapheme-prev.c: New file.
25302         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
25303
25304         New module 'u32-grapheme-prev'.
25305         * modules/unigbrk/u32-grapheme-prev: New file.
25306         * modules/unigbrk/u32-grapheme-prev-tests: New file.
25307         * lib/unigbrk.in.h: Add prototype for new function.
25308         * lib/unigbrk/u32-grapheme-prev.c: New file.
25309         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
25310
25311         New module 'u8-grapheme-breaks'.
25312         * modules/unigbrk/u8-grapheme-breaks: New file.
25313         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
25314         * lib/unigbrk.in.h: Add prototype for new function.
25315         * lib/unigbrk/u8-grapheme-breaks.c: New file.
25316         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
25317
25318         New module 'u16-grapheme-breaks'.
25319         * modules/unigbrk/u16-grapheme-breaks: New file.
25320         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
25321         * lib/unigbrk.in.h: Add prototype for new function.
25322         * lib/unigbrk/u16-grapheme-breaks.c: New file.
25323         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
25324
25325         New module 'u32-grapheme-breaks'.
25326         * modules/unigbrk/u32-grapheme-breaks: New file.
25327         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
25328         * lib/unigbrk.in.h: Add prototype for new function.
25329         * lib/unigbrk/u32-grapheme-breaks.c: New file.
25330         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
25331
25332         New module 'ulc-grapheme-breaks'.
25333         * modules/unigbrk/ulc-grapheme-breaks: New file.
25334         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
25335         * m4/locale-ar.m4: New file.
25336         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
25337         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
25338         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
25339
25340 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
25341
25342         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
25343         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
25344         modified how this file was generated before I initially submitted
25345         the module, but failed to regenerate it.  This meant that several
25346         of the level2 entries were wrong.
25347         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
25348         Remove the division-by-2 that is folded into the table now that
25349         gbrkprop.h has been regenerated properly.  Now -1 entries are
25350         handled correctly.
25351
25352         New module 'unigbrk/uc-gbrk-prop-tests'.
25353         * modules/unigbrk/uc-gbrk-prop-tests: New file.
25354         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
25355         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
25356         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
25357
25358 2011-01-01  Bruno Haible  <bruno@clisp.org>
25359
25360         Avoid use of hexadecimal escapes.
25361         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
25362         instead of hexadecimal escapes.
25363
25364 2011-01-01  Jim Meyering  <meyering@redhat.com>
25365
25366         maint: new rule to update copyright year ranges
25367         * Makefile (update-copyright): New rule.
25368
25369         maint: indent with TABs in Makefile
25370         * Makefile: Expand leading sequences of spaces to TABs
25371
25372         version-etc: update the copyright year it reports
25373         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
25374
25375 2010-12-31  Bruno Haible  <bruno@clisp.org>
25376
25377         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
25378         * lib/isfinite.c (zerof, zerod, zerol): New variables.
25379         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
25380         zero.
25381
25382 2010-12-31  Bruno Haible  <bruno@clisp.org>
25383
25384         pwrite: Work around HP-UX 11.11 bug.
25385         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
25386         works and set REPLACE_PWRITE if not.
25387         * lib/pwrite.c (pwrite): Add an implementation that uses the system
25388         function.
25389         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
25390
25391 2010-12-31  Bruno Haible  <bruno@clisp.org>
25392
25393         pread: Work around HP-UX 11 bugs.
25394         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
25395         and set REPLACE_PREAD if not.
25396         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
25397
25398 2010-12-31  Eric Blake  <eblake@redhat.com>
25399
25400         nl_langinfo: fix YESEXPR on Irix 6.5
25401         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
25402         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
25403         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
25404         it.
25405
25406 2010-12-31  Bruno Haible  <bruno@clisp.org>
25407
25408         iconv: Document HP-UX 11 bug.
25409         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
25410
25411 2010-12-31  Bruno Haible  <bruno@clisp.org>
25412
25413         ldexpl: Fix link error on HP-UX 11.
25414         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
25415         LDEXPL_LIBM, using $ISNANL_LIBM.
25416
25417 2010-12-31  Eric Blake  <eblake@redhat.com>
25418
25419         ftello: avoid compilation failure with SunStudio c89
25420         * lib/ftello.c (ftello): Use lseek, not llseek.
25421
25422         tests: avoid failing coreutils tests on cygwin
25423         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
25424         (create_exe_shims_): Return 0 when skipping.
25425
25426 2010-12-31  Bruno Haible  <bruno@clisp.org>
25427
25428         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
25429         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
25430
25431 2010-12-31  Bruno Haible  <bruno@clisp.org>
25432
25433         waitpid: Fix link error in C++ mode.
25434         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
25435
25436 2010-12-31  Bruno Haible  <bruno@clisp.org>
25437
25438         isnan: Use GCC built-ins when possible.
25439         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
25440         __builtin_isnan.
25441         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
25442         (isnan): Define using GCC built-ins for GCC >= 4.0.
25443
25444 2010-12-31  Bruno Haible  <bruno@clisp.org>
25445
25446         isnand: Fix mistake.
25447         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
25448         __builtin_isnand.
25449
25450 2010-12-31  Bruno Haible  <bruno@clisp.org>
25451
25452         open: Avoid C++ error on HP-UX 11.
25453         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
25454
25455 2010-12-31  Bruno Haible  <bruno@clisp.org>
25456
25457         time_r: Add missing declarations on HP-UX 11.
25458         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
25459         instead of HAVE_LOCALTIME_R.
25460         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
25461         HAVE_LOCALTIME_R always.
25462         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
25463         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
25464         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
25465         HAVE_LOCALTIME_R.
25466         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
25467         * doc/posix-functions/localtime_r.texi: Likewise.
25468
25469 2010-12-29  Eric Blake  <eblake@redhat.com>
25470
25471         mountlist: tweak previous commit
25472         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
25473         Reported by Paul Eggert.
25474
25475         mountlist: fix local drive detection on cygwin
25476         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
25477         that works for cygwin.
25478
25479 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
25480
25481         ftoastr, snprintf: ftoastr + snprintf module
25482         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
25483         since the snprintf module now should be good enough here.
25484         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
25485         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
25486         and gl_MODULE_INDICATOR([snprintf]), but the former enables
25487         GNULIB_SNPRINTF only for the test directory, and the latter
25488         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
25489         seems to suffice by itself.
25490
25491 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
25492
25493         alloca: one step towards thread-safety
25494         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
25495         need for a static variable.  All callers changed.  This does not
25496         make the alloca replacement thread-safe, but it's one step.
25497
25498         tests: minor indenting change
25499         * tests/init.sh: Sync from coreutils housekeeping patch
25500         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
25501         to keep lines within 80 columns.
25502
25503 2010-12-28  Jim Meyering  <meyering@redhat.com>
25504
25505         regex: don't infloop on persistent failing calloc
25506         * lib/regexec.c (build_trtable): Return failure indication upon
25507         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
25508         In glibc, this was fixed for version 2.13:
25509         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
25510
25511 2010-12-28  Bruno Haible  <bruno@clisp.org>
25512             Paul Eggert <eggert@cs.ucla.edu>
25513
25514         linkat: Make implementation robust against system behaviour variations.
25515         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
25516         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
25517         way, and to -2 if it needs a generic runtime test.
25518         * lib/linkat.c (solaris_optimized_link_immediate,
25519         solaris_optimized_link_follow): New functions.
25520         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
25521         (check_same_link): Use it.
25522
25523 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
25524
25525         New module 'unigbrk/base'.
25526         * modules/unigbrk/base: New file.
25527         * lib/unigbrk.in.h: New file.
25528
25529         New module 'unigbrk/uc-gbrk-prop'.
25530         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
25531         * modules/unigbrk/uc-gbrk-prop: New file.
25532         * lib/unigbrk/gbrkprop.h: New file.
25533         * lib/unigbrk/uc-gbrk-prop.c: New file.
25534
25535         New module 'unigbrk/uc-is-grapheme-break'.
25536         * modules/unigbrk/uc-is-grapheme-break: New file.
25537         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
25538         * lib/unigbrk/uc-is-grapheme-break.c: New file.
25539         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
25540         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
25541         * tests/unigbrk/GraphemeBreakTest.txt: New file.
25542
25543         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
25544
25545 2010-12-27  Bruno Haible  <bruno@clisp.org>
25546
25547         linkat test: Avoid failure on Solaris 11 2010-11.
25548         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
25549
25550 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
25551
25552         utimens: work around glibc rounding bug on more platforms
25553         * lib/utimens.c (fdutimens): Work around rounding bug even if
25554         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
25555         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
25556
25557 2010-12-27  Bruno Haible  <bruno@clisp.org>
25558
25559         select tests: Improve comments.
25560         * tests/test-select.c (do_select): Add comments.
25561
25562 2010-12-27  Bruno Haible  <bruno@clisp.org>
25563
25564         select tests: Safer way of handling timeout.
25565         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
25566         at every invocation.
25567
25568 2010-12-27  Bruno Haible  <bruno@clisp.org>
25569
25570         select tests: Use 'bool' where appropriate.
25571         * tests/test-select.c (connect_to_socket): Change argument type to
25572         'bool'.
25573
25574 2010-12-27  Bruno Haible  <bruno@clisp.org>
25575
25576         select tests: Use existing modules.
25577         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
25578         (configure.ac): Don't test for unistd.h.
25579         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
25580         declared in <unistd.h>.
25581
25582 2010-12-27  Bruno Haible  <bruno@clisp.org>
25583
25584         mbrtowc: Work around a Solaris 7 bug.
25585         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
25586         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
25587         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
25588         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
25589         MBRTOWC_NULL_ARG1_BUG.
25590         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
25591         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
25592         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
25593         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
25594
25595 2010-12-27  Jim Meyering  <meyering@redhat.com>
25596
25597         read-file.c: tweak syntax
25598         * lib/read-file.c (fread_file): Remove space after "*" in function
25599         definitions.
25600
25601 2010-12-27  Bruno Haible  <bruno@clisp.org>
25602
25603         times test: Avoid gcc warnings on OSF/1.
25604         * tests/test-times.c (main): Cast printf arguments from clock_t to
25605         'long int'.
25606
25607 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
25608
25609         utimens: work around glibc rounding bug on older Linux kernels
25610         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
25611         on Linux with a glibc whose utimes might not work, then work
25612         around a longstanding glibc bug involving rounding rather than
25613         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
25614         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
25615
25616 2010-12-26  Bruno Haible  <bruno@clisp.org>
25617
25618         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
25619         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
25620         _GL_CXXALIAS_SYS.
25621         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25622
25623 2010-12-26  Bruno Haible  <bruno@clisp.org>
25624
25625         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
25626         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
25627         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
25628         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
25629         looking for the declaration.
25630         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
25631         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
25632         problem.
25633         * doc/posix-functions/inet_pton.texi: Likewise.
25634
25635 2010-12-26  Bruno Haible  <bruno@clisp.org>
25636
25637         arpa_inet: Use the common idioms with C++ support.
25638         * lib/arpa_inet.in.h: Include c++defs.h.
25639         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
25640         support.
25641         * modules/arpa_inet (Depends-on): Add c++defs.
25642         (Makefile.am): Substitute the contents of c++defs.h.
25643         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
25644         * modules/arpa_inet-c++-tests: New file.
25645         * tests/test-arpa_inet-c++.cc: New file.
25646
25647 2010-12-25  Bruno Haible  <bruno@clisp.org>
25648
25649         Fix more C++ link errors on Solaris 8.
25650         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
25651         $(LIB_EACCESS).
25652         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
25653         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
25654         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
25655         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
25656         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
25657
25658 2010-12-25  Bruno Haible  <bruno@clisp.org>
25659
25660         printf-posix: Fix link error when a non-GCC compiler is used.
25661         * lib/stdio.in.h (printf): When not using GCC, override printf
25662         correctly.
25663         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25664
25665 2010-12-25  Bruno Haible  <bruno@clisp.org>
25666
25667         strerror_r-posix: Update doc.
25668         * doc/posix-functions/strerror_r.texi: Update doc about the return
25669         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
25670
25671 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
25672
25673         utimens: simplify the logic of the previous change
25674         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
25675         This should not affect whether the test succeeds or fails.
25676
25677         utimens: configure better on hosts with NFS clock skew
25678         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
25679         uses the clock of the local host.  It might use the clock of the
25680         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
25681         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
25682
25683 2010-12-25  Bruno Haible  <bruno@clisp.org>
25684
25685         ptsname test: Avoid failure on Solaris.
25686         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
25687         open a pseudo-terminal; don't use BSD-style ptys.
25688         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
25689
25690 2010-12-25  Bruno Haible  <bruno@clisp.org>
25691
25692         ptsname: Avoid ERANGE failure on some systems.
25693         * lib/ptsname.c (buffer): Increase size.
25694
25695 2010-12-25  Bruno Haible  <bruno@clisp.org>
25696
25697         rename, renameat: Avoid test failures at NFS mounted locations.
25698         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
25699         so that subsequent mkdir calls succeed.
25700
25701 2010-12-25  Bruno Haible  <bruno@clisp.org>
25702
25703         iswblank: Fix C++ link error on Solaris 8.
25704         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
25705         _GL_FUNCDECL_SYS.
25706
25707 2010-12-25  Bruno Haible  <bruno@clisp.org>
25708
25709         unistd: Fix C++ link error on Solaris 8.
25710         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
25711
25712 2010-12-25  Bruno Haible  <bruno@clisp.org>
25713
25714         readlink doc: Mention an old glibc bug.
25715         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
25716
25717 2010-12-25  Bruno Haible  <bruno@clisp.org>
25718
25719         fcntl-h: Fix for use of C++ on glibc systems.
25720         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
25721         also on glibc systems in C++ mode.
25722         Reported by Gary V. Vaughan <gary@gnu.org>.
25723
25724 2010-12-25  Bruno Haible  <bruno@clisp.org>
25725
25726         roundl-ieee: Make it work on OSF/1 5.1 with cc.
25727         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
25728
25729 2010-12-25  Bruno Haible  <bruno@clisp.org>
25730
25731         truncl-ieee: Make it work on OSF/1 5.1 with cc.
25732         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
25733         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
25734         test whether truncl works according to ISO C 99 with IEC 60559.
25735         * m4/truncl-ieee.m4: New file.
25736         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
25737         m4/signbit.m4.
25738         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
25739
25740 2010-12-25  Bruno Haible  <bruno@clisp.org>
25741
25742         ceill-ieee: Make it work on OSF/1 5.1 with cc.
25743         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
25744         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
25745         test whether ceill works according to ISO C 99 with IEC 60559.
25746         * m4/ceill-ieee.m4: New file.
25747         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
25748         m4/signbit.m4.
25749         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
25750
25751 2010-12-25  Bruno Haible  <bruno@clisp.org>
25752
25753         Ensure all prerequisites of <wchar.h> are included.
25754         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
25755         before <wchar.h>.
25756         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
25757         gl_MBRLEN_NUL_RETVAL): Likewise.
25758         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
25759         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
25760         AC_FUNC_MBRTOWC): Likewise.
25761         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
25762         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
25763         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
25764         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
25765         Likewise.
25766         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
25767         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
25768         (gl_WCHAR_H): Improve comments.
25769         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25770
25771 2010-12-25  Bruno Haible  <bruno@clisp.org>
25772
25773         strtok_r: Fix C syntax error in autoconf macro.
25774         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
25775         characters in test program.
25776
25777 2010-12-24  Bruno Haible  <bruno@clisp.org>
25778
25779         ceil, trunc, round: Fix gcc warnings.
25780         * lib/ceil.c (MIN): Undefine before redefining.
25781         * lib/trunc.c (MIN): Likewise.
25782         * lib/round.c (MIN): Likewise.
25783         Include <math.h> first.
25784
25785 2010-12-24  Bruno Haible  <bruno@clisp.org>
25786
25787         select tests: Avoid failures on OSF/1 5.1.
25788         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
25789         failure of closing the last socket; it may fail with ECONNRESET.
25790
25791 2010-12-24  Eric Blake  <eblake@redhat.com>
25792
25793         stdint: avoid HP-UX 10.20 preprocessor bug
25794         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
25795         than #if.
25796         * tests/test-floor2.c (main): Likewise.
25797         Reported by Peter O'Gorman.
25798
25799         pipe: make obsoletion transition easier
25800         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
25801         * modules/pipe (Files): Include revived file.
25802         (Include): Drop reference, to mirror getdate's behavior.
25803
25804 2010-12-24  Bruno Haible  <bruno@clisp.org>
25805
25806         sys_socket: Hide mismatch of declarations on NonStop Kernel.
25807         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
25808         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
25809         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25810
25811 2010-12-24  Bruno Haible  <bruno@clisp.org>
25812
25813         gethostname: Ensure declaration on NonStop Kernel.
25814         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
25815         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25816
25817 2010-12-24  Bruno Haible  <bruno@clisp.org>
25818
25819         sys_select: Ensure all necessary types on NonStop Kernel.
25820         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
25821         include <sys/time.h>.
25822         * doc/posix-headers/sys_select.texi: Mention that it's missing on
25823         NonStop Kernel.
25824         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25825
25826 2010-12-24  Bruno Haible  <bruno@clisp.org>
25827
25828         sys_select: Remove unneeded include.
25829         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
25830         have <sys/select.h>.
25831
25832 2010-12-24  Bruno Haible  <bruno@clisp.org>
25833
25834         gethostname: Provide a fallback for HOST_NAME_MAX.
25835         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
25836         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
25837         instead.
25838         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25839
25840 2010-12-24  Bruno Haible  <bruno@clisp.org>
25841
25842         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
25843         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
25844         (SA_RESTART): Likewise.
25845         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25846
25847 2010-12-24  Bruno Haible  <bruno@clisp.org>
25848
25849         signal: Define NSIG.
25850         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
25851         * tests/test-signal.c (nsig): New variable.
25852         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25853
25854 2010-12-24  Bruno Haible  <bruno@clisp.org>
25855
25856         rename, renameat: Avoid test failures on OSF/1 5.1.
25857         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
25858         alternative error codes.
25859         * tests/test-renameat.c (main): Likewise.
25860
25861 2010-12-24  Bruno Haible  <bruno@clisp.org>
25862
25863         *printf: Detect large precisions bug on Solaris 10/SPARC.
25864         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
25865         by Paul Eggert.
25866         * tests/test-snprintf-posix.h (test_function): Add this test code here
25867         too.
25868         * tests/test-sprintf-posix.h (test_function): Likewise.
25869         * tests/test-vasnprintf-posix.c (test_function): Likewise.
25870         * tests/test-vasprintf-posix.c (test_function): Likewise.
25871         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
25872         around by gnulib.
25873         * doc/posix-functions/printf.texi: Likewise.
25874         * doc/posix-functions/snprintf.texi: Likewise.
25875         * doc/posix-functions/sprintf.texi: Likewise.
25876         * doc/posix-functions/vfprintf.texi: Likewise.
25877         * doc/posix-functions/vprintf.texi: Likewise.
25878         * doc/posix-functions/vsnprintf.texi: Likewise.
25879         * doc/posix-functions/vsprintf.texi: Likewise.
25880         * doc/posix-functions/dprintf.texi: Undo last commit.
25881         * doc/posix-functions/vdprintf.texi: Likewise.
25882
25883 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
25884
25885         tests: port test-fdutimensat.c to Solaris 8
25886         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
25887         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
25888         On Solaris 8, it fails with errno == ENOSYS, because there is no
25889         futimens (so it can't use the fd), and there is no lutimens (so it
25890         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
25891
25892         vsnprintf: make more consistent with snprintf; doc fixes
25893
25894         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
25895         the byte count return problem was promoted from the snprintf-posix
25896         to the snprintf module.
25897         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
25898         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
25899         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
25900         * tests/test-snprintf.c (main): Check the byte count returned.
25901         * tests/test-vsnprintf.c (main): Likewise.
25902
25903 2010-12-23  Eric Blake  <eblake@redhat.com>
25904
25905         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
25906         * modules/sigpipe (License): Relax license.
25907
25908 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
25909
25910         doc: document Solaris printf bug with large float precisions
25911         * doc/posix-functions/dprintf.texi (dprintf):
25912         * doc/posix-functions/fprintf.texi (fprintf):
25913         * doc/posix-functions/printf.texi (printf):
25914         * doc/posix-functions/snprintf.texi (snprintf):
25915         * doc/posix-functions/sprintf.texi (sprintf):
25916         * doc/posix-functions/vdprintf.texi (vdprintf):
25917         * doc/posix-functions/vfprintf.texi (vfprintf):
25918         * doc/posix-functions/vprintf.texi (vprintf):
25919         * doc/posix-functions/vsnprintf.texi (vsnprintf):
25920         * doc/posix-functions/vsprintf.texi (vsprintf):
25921         Mention that these functions mishandle large floating point
25922         precisions on Solaris 10.  The same bug is also present in Solaris
25923         8, and I assume earlier.  This causes "cd gnulib-tests; make
25924         check" to fail on Solaris 8 (and I assume, later) when building
25925         the latest coreutils, in test-vasprintf-posix's call to
25926         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
25927         the wide flavors (e.g., wprintf) so this patch just updates the
25928         documentation for the narrow ones.
25929
25930         test-posixtm.c: add two tests
25931         * tests/test-posixtm.c: Add two tests, to highlight the
25932         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
25933         around this bug; this is merely to document it.
25934
25935 2010-12-22  Bruno Haible  <bruno@clisp.org>
25936
25937         getlogin_r: Work around portability problem on OSF/1.
25938         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
25939         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
25940         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
25941         test for a truncated result.
25942         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
25943         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
25944         * modules/getlogin_r (Depends-on): Add memchr.
25945         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
25946
25947 2010-12-22  Bruno Haible  <bruno@clisp.org>
25948
25949         ptsname: Avoid test failure on OSF/1 5.1.
25950         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
25951         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
25952         (same_slave): New function.
25953         (main): Use it to compare ptsname's result with the expected file name.
25954
25955 2010-12-22  Bruno Haible  <bruno@clisp.org>
25956
25957         Port extended stdio modules to HP NonStop Kernel.
25958         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
25959         macros.
25960         * lib/fbufmode.c: Update comments.
25961         * lib/fflush.c: Likewise.
25962         * lib/fpurge.c: Likewise.
25963         * lib/freadable.c: Likewise.
25964         * lib/freadahead.c: Likewise.
25965         * lib/freading.c: Likewise.
25966         * lib/freadptr.c: Likewise.
25967         * lib/freadseek.c: Likewise.
25968         * lib/fseeko.c: Likewise.
25969         * lib/fseterr.c: Likewise.
25970         * lib/fwritable.c: Likewise.
25971         * lib/fwriting.c: Likewise.
25972         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
25973
25974 2010-12-22  Bruno Haible  <bruno@clisp.org>
25975
25976         ttyname_r: Work around bug on OSF/1 5.1.
25977         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
25978         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
25979         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
25980         present.
25981         * lib/ttyname_r.c (ttyname_r): Update comments.
25982
25983 2010-12-22  Bruno Haible  <bruno@clisp.org>
25984
25985         round: Implement result sign according to IEEE 754.
25986         * lib/round.c (MIN, MINUS_ZERO): New macros.
25987         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
25988         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
25989         * tests/test-round-ieee.c (main): Likewise.
25990         * tests/test-roundl-ieee.c (main): Likewise.
25991
25992         trunc: Implement result sign according to IEEE 754.
25993         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
25994         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
25995         * tests/test-trunc2.c: Include minus-zero.h.
25996         (MINUS_ZERO): New macro.
25997         (trunc_reference): Keep in sync with lib/trunc.c.
25998         * tests/test-truncf2.c: Include minus-zero.h.
25999         (MINUS_ZERO): New macro.
26000         (truncf_reference): Keep in sync with lib/trunc.c.
26001         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
26002         * tests/test-trunc-ieee.c (main): Likewise.
26003         * tests/test-truncl-ieee.c (main): Likewise.
26004
26005         ceil: Implement result sign according to IEEE 754.
26006         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
26007         (FUNC): Return -0.0 for -1 < x < 0.
26008         * tests/test-ceil2.c: Include minus-zero.h.
26009         (MINUS_ZERO): New macro.
26010         (ceil_reference): Keep in sync with lib/ceil.c.
26011         * tests/test-ceilf2.c: Include minus-zero.h.
26012         (MINUS_ZERO): New macro.
26013         (ceilf_reference): Keep in sync with lib/ceil.c.
26014         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
26015         * tests/test-ceil-ieee.c (main): Likewise.
26016         * tests/test-ceill-ieee.c (main): Likewise.
26017
26018         floor: Implement result sign according to IEEE 754.
26019         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
26020         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
26021         * tests/test-floorf2.c (floorf_reference): Likewise.
26022         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
26023         * tests/test-floor-ieee.c (main): Likewise.
26024         * tests/test-floorl-ieee.c (main): Likewise.
26025
26026 2010-12-22  Bruno Haible  <bruno@clisp.org>
26027
26028         getaddrinfo: Update doc.
26029         * doc/posix-functions/gai_strerror.texi: Return type is also different
26030         on AIX and HP-UX.
26031
26032 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26033
26034         getaddrinfo, inet_ntop: Update doc for Solaris.
26035         * doc/posix-functions/gai_strerror.texi: Return type is also an
26036         issue on Solaris 9 and earlier.
26037         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
26038         on Solaris 10 and earlier.
26039
26040 2010-12-21  Bruno Haible  <bruno@clisp.org>
26041
26042         New module 'roundl-ieee'.
26043         * modules/roundl-ieee: New file.
26044         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
26045         test whether roundl works according to ISO C 99 with IEC 60559.
26046         * m4/roundl-ieee.m4: New file.
26047         * modules/roundl-ieee-tests: New file.
26048         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
26049         * tests/test-roundl.c (main): Remove signbit tests.
26050         * modules/roundl-tests (Depends-on): Remove signbit.
26051         * doc/posix-functions/roundl.texi: Mention the new module.
26052
26053 2010-12-21  Bruno Haible  <bruno@clisp.org>
26054
26055         New module 'truncl-ieee'.
26056         * modules/truncl-ieee: New file.
26057         * modules/truncl-ieee-tests: New file.
26058         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
26059         * tests/test-truncl.c (main): Remove signbit tests.
26060         * modules/truncl-tests (Depends-on): Remove signbit.
26061         * doc/posix-functions/truncl.texi: Mention the new module.
26062
26063 2010-12-21  Bruno Haible  <bruno@clisp.org>
26064
26065         New module 'ceill-ieee'.
26066         * modules/ceill-ieee: New file.
26067         * modules/ceill-ieee-tests: New file.
26068         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
26069         * tests/test-ceill.c (main): Remove signbit tests.
26070         * modules/ceill-tests (Depends-on): Remove signbit.
26071         * doc/posix-functions/ceill.texi: Mention the new module.
26072
26073 2010-12-21  Bruno Haible  <bruno@clisp.org>
26074
26075         New module 'floorl-ieee'.
26076         * modules/floorl-ieee: New file.
26077         * modules/floorl-ieee-tests: New file.
26078         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
26079         * tests/test-floorl.c (main): Remove signbit tests.
26080         * modules/floorl-tests (Depends-on): Remove signbit.
26081         * doc/posix-functions/floorl.texi: Mention the new module.
26082
26083 2010-12-21  Bruno Haible  <bruno@clisp.org>
26084
26085         New module 'round-ieee'.
26086         * modules/round-ieee: New file.
26087         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
26088         whether round works according to ISO C 99 with IEC 60559.
26089         * m4/round-ieee.m4: New file.
26090         * modules/round-ieee-tests: New file.
26091         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
26092         * tests/test-round1.c (main): Remove signbit tests.
26093         * modules/round-tests (Depends-on): Remove 'signbit'.
26094         * doc/posix-functions/round.texi: Mention the new module.
26095
26096 2010-12-21  Bruno Haible  <bruno@clisp.org>
26097
26098         New module 'trunc-ieee'.
26099         * modules/trunc-ieee: New file.
26100         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
26101         whether trunc works according to ISO C 99 with IEC 60559.
26102         * m4/trunc-ieee.m4: New file.
26103         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
26104         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
26105         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
26106         * modules/trunc-ieee-tests: New file.
26107         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
26108         * tests/test-trunc1.c (main): Remove signbit tests.
26109         * modules/trunc-tests (Depends-on): Remove 'signbit'.
26110         * doc/posix-functions/trunc.texi: Mention the new module.
26111
26112 2010-12-21  Bruno Haible  <bruno@clisp.org>
26113
26114         New module 'ceil-ieee'.
26115         * modules/ceil-ieee: New file.
26116         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
26117         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
26118         ISO C 99 with IEC 60559.
26119         * m4/ceil-ieee.m4: New file.
26120         * modules/ceil (Files): Add lib/ceil.c.
26121         (Depends-on): Add 'float'.
26122         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26123         * lib/math.in.h (ceil): New declaration.
26124         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
26125         REPLACE_CEIL.
26126         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
26127         * modules/ceil-ieee-tests: New file.
26128         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
26129         * tests/test-math-c++.cc: Check the signature of 'ceil'.
26130         * doc/posix-functions/ceil.texi: Mention the new module.
26131
26132 2010-12-21  Bruno Haible  <bruno@clisp.org>
26133
26134         New module 'floor-ieee'.
26135         * modules/floor-ieee: New file.
26136         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
26137         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
26138         ISO C 99 with IEC 60559.
26139         * m4/floor-ieee.m4: New file.
26140         * modules/floor (Files): Add lib/floor.c.
26141         (Depends-on): Add 'float'.
26142         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26143         * lib/math.in.h (floor): New declaration.
26144         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
26145         REPLACE_FLOOR.
26146         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
26147         * modules/floor-ieee-tests: New file.
26148         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
26149         * tests/test-math-c++.cc: Check the signature of 'floor'.
26150         * doc/posix-functions/floor.texi: Mention the new module.
26151
26152 2010-12-21  Bruno Haible  <bruno@clisp.org>
26153
26154         New module 'roundf-ieee'.
26155         * modules/roundf-ieee: New file.
26156         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
26157         test whether roundf works according to ISO C 99 with IEC 60559.
26158         * m4/roundf-ieee.m4: New file.
26159         * modules/roundf-ieee-tests: New file.
26160         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
26161         * tests/test-roundf1.c (main): Remove signbit tests.
26162         * modules/roundf-tests (Depends-on): Remove 'signbit'.
26163         * doc/posix-functions/roundf.texi: Mention the new module.
26164
26165 2010-12-21  Bruno Haible  <bruno@clisp.org>
26166
26167         New module 'truncf-ieee'.
26168         * modules/truncf-ieee: New file.
26169         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
26170         test whether truncf works according to ISO C 99 with IEC 60559.
26171         * m4/truncf-ieee.m4: New file.
26172         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
26173         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
26174         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
26175         * modules/truncf-ieee-tests: New file.
26176         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
26177         * tests/test-truncf1.c (main): Remove signbit tests.
26178         * modules/truncf-tests (Depends-on): Remove 'signbit'.
26179         * doc/posix-functions/truncf.texi: Mention the new module.
26180
26181 2010-12-21  Bruno Haible  <bruno@clisp.org>
26182
26183         New module 'ceilf-ieee'.
26184         * modules/ceilf-ieee: New file.
26185         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
26186         test whether ceilf works according to ISO C 99 with IEC 60559.
26187         * m4/ceilf-ieee.m4: New file.
26188         * modules/ceilf-ieee-tests: New file.
26189         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
26190         * tests/test-ceilf1.c (main): Remove signbit tests.
26191         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
26192         * doc/posix-functions/ceilf.texi: Mention the new module.
26193
26194 2010-12-21  Bruno Haible  <bruno@clisp.org>
26195
26196         New module 'floorf-ieee'.
26197         * modules/floorf-ieee: New file.
26198         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
26199         test whether floorf works according to ISO C 99 with IEC 60559.
26200         * m4/floorf-ieee.m4: New file.
26201         * modules/floorf-ieee-tests: New file.
26202         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
26203         * tests/test-floorf1.c (main): Remove signbit tests.
26204         * modules/floorf-tests (Depends-on): Remove 'signbit'.
26205         * doc/posix-functions/floorf.texi: Mention the new module.
26206
26207 2010-12-21  Bruno Haible  <bruno@clisp.org>
26208
26209         Support for minus zero in autoconf macros.
26210         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
26211         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
26212         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
26213         * tests/minus-zero.h: Update comments.
26214
26215 2010-12-21  Bruno Haible  <bruno@clisp.org>
26216
26217         Tests for module 'ceil'.
26218         * modules/ceil-tests: New file.
26219         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
26220         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
26221
26222 2010-12-21  Bruno Haible  <bruno@clisp.org>
26223
26224         Tests for module 'floor'.
26225         * modules/floor-tests: New file.
26226         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
26227         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
26228
26229 2010-12-21  Bruno Haible  <bruno@clisp.org>
26230
26231         math: Fix indentation.
26232         * lib/math.in.h (floorf): Fix indentation.
26233
26234 2010-12-21  Bruno Haible  <bruno@clisp.org>
26235
26236         Fix cross-compilation guesses on Solaris.
26237         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
26238         not match "solaris2.10".
26239         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26240         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
26241         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
26242
26243 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
26244
26245         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
26246         This fixes a problem observed with the latest coreutils snapshot
26247         that caused a test to fail on Solaris 8.  src/csplit.c's call
26248         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
26249         earlier, instead of returning the number of bytes that would have
26250         been generated; this causes csplit to incorrectly report memory
26251         exhaustion.
26252         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
26253         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
26254         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
26255         comments to match.
26256         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
26257         Fix typo in matching older versions of Solaris: "solaris2.10"
26258         is matched by the shell pattern "solaris2.[0-9]*".  This matters
26259         only for guessing while cross-compiling.
26260         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
26261
26262 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
26263
26264         ftoastr: fix comment again
26265         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
26266         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
26267         Also, simplify example a bit by using flags = 0.
26268
26269 2010-12-20  Bruno Haible  <bruno@clisp.org>
26270
26271         round*, trunc*: Update documentation regarding glibc.
26272         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
26273         * doc/posix-functions/round.texi: Likewise.
26274         * doc/posix-functions/roundl.texi: Likewise.
26275         * doc/posix-functions/truncf.texi: Likewise.
26276         * doc/posix-functions/trunc.texi: Likewise.
26277         * doc/posix-functions/truncl.texi: Likewise.
26278
26279 2010-12-20  Bruno Haible  <bruno@clisp.org>
26280
26281         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
26282         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
26283         * doc/posix-functions/round.texi: Likewise.
26284         * doc/posix-functions/roundl.texi: Likewise.
26285
26286 2010-12-20  Bruno Haible  <bruno@clisp.org>
26287
26288         ttyname_r: Add missing declaration on HP-UX 11.
26289         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
26290         HAVE_TTYNAME_R.
26291         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
26292         declared. Set HAVE_TTYNAME_R always.
26293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26294         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
26295         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
26296         HAVE_TTYNAME_R.
26297         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
26298
26299 2010-12-20  Bruno Haible  <bruno@clisp.org>
26300
26301         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
26302         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
26303         * doc/posix-functions/getlogin_r.texi: Likewise.
26304         * tests/test-getlogin.c: Include <errno.h>.
26305         (main): Avoid test failure on HP-UX 11.11.
26306         * tests/test-getlogin_r.c (main): Likewise.
26307
26308 2010-12-20  Bruno Haible  <bruno@clisp.org>
26309
26310         getlogin_r: Add missing declaration on HP-UX 11.
26311         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
26312         declared also when it exists as a function.
26313         * doc/posix-functions/getlogin_r.texi: Document this workaround.
26314
26315 2010-12-20  Bruno Haible  <bruno@clisp.org>
26316
26317         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
26318         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
26319         through wcrtomb.
26320
26321 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
26322
26323         ftoastr: fix comment
26324         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
26325         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
26326
26327 2010-12-19  Bruno Haible  <bruno@clisp.org>
26328
26329         isnan: Ensure it is a macro.
26330         * lib/math.in.h (isnan): Define as a macro if not already a macro.
26331         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
26332         Solaris.
26333
26334 2010-12-19  Bruno Haible  <bruno@clisp.org>
26335
26336         ldexpl test: Fix link error on OSF/1 5.1.
26337         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
26338
26339 2010-12-19  Bruno Haible  <bruno@clisp.org>
26340
26341         wctype: Make it work in C++ mode on OSF/1 5.1.
26342         * lib/wctype.in.h (iswblank): Declare but not define here.
26343         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
26344         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
26345         * modules/wctype (Files): Add lib/iswblank.c.
26346
26347 2010-12-19  Bruno Haible  <bruno@clisp.org>
26348
26349         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
26350         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
26351         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
26352
26353 2010-12-19  Bruno Haible  <bruno@clisp.org>
26354
26355         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
26356         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
26357         _POSIX_PII_SOCKET.
26358         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
26359         * doc/posix-functions/recvfrom.texi: Likewise.
26360         * doc/posix-functions/send.texi: Likewise.
26361         * doc/posix-functions/sendto.texi: Likewise.
26362
26363 2010-12-19  Bruno Haible  <bruno@clisp.org>
26364
26365         tcgetsid: Add missing declaration on OSF/1 5.1.
26366         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
26367         HAVE_TCGETSID.
26368         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
26369         Don't set HAVE_TCGETSID.
26370         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
26371         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
26372         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
26373         HAVE_TCGETSID.
26374         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
26375
26376 2010-12-19  Bruno Haible  <bruno@clisp.org>
26377
26378         stdio: Fix problem with popen() declaration on OSF/1 5.1.
26379         * lib/stdio.in.h: During the include_next statement, let recursive
26380         includes of this file include only the system header file.
26381
26382 2010-12-19  Bruno Haible  <bruno@clisp.org>
26383
26384         iconv_open: Fix regression from 2010-12-04.
26385         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
26386         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
26387
26388 2010-12-19  Bruno Haible  <bruno@clisp.org>
26389
26390         stdbool test: Avoid a gcc warning.
26391         * tests/test-stdbool.c (main): Fail if e1 is false.
26392         Reported by Jim Meyering.
26393
26394 2010-12-19  Jim Meyering  <meyering@redhat.com>
26395
26396         setenv: restore to working order
26397         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
26398         mistakenly removed.
26399         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
26400         HAVE_SETENV.
26401         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
26402         HAVE_SETENV.
26403
26404 2010-12-19  Bruno Haible  <bruno@clisp.org>
26405
26406         Document some different function declarations on OSF/1 5.1.
26407         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
26408         * doc/posix-functions/inet_ntop.texi: Likewise.
26409         * doc/posix-functions/gethostname.texi: Likewise.
26410         * lib/unistd.in.h (gethostname): Update comment.
26411
26412 2010-12-19  Bruno Haible  <bruno@clisp.org>
26413
26414         doc: Mention vasprintf-posix module.
26415         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
26416         the 'vasprintf-posix' module.
26417         * doc/glibc-functions/vasprintf.texi: Likewise.
26418
26419 2010-12-19  Bruno Haible  <bruno@clisp.org>
26420
26421         unsetenv: Add missing declaration on OSF/1 5.1.
26422         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
26423         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
26424         Don't set HAVE_UNSETENV. In the test program, set _BSD.
26425         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
26426         not HAVE_UNSETENV.
26427         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
26428         HAVE_UNSETENV.
26429         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
26430
26431 2010-12-19  Bruno Haible  <bruno@clisp.org>
26432
26433         setenv: Add missing declaration on OSF/1 5.1.
26434         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
26435         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
26436         declared. Don't set HAVE_SETENV.
26437         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
26438         not HAVE_SETENV.
26439         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
26440         HAVE_SETENV.
26441         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
26442
26443 2010-12-19  Bruno Haible  <bruno@clisp.org>
26444
26445         nl_langinfo tests: Avoid gcc warning.
26446         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
26447
26448 2010-12-19  Bruno Haible  <bruno@clisp.org>
26449
26450         mknod: Avoid error in C++ mode on OSF/1 with GCC.
26451         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
26452         _GL_CXXALIAS_SYS.
26453
26454 2010-12-19  Bruno Haible  <bruno@clisp.org>
26455
26456         stdbool: Relax test.
26457         * tests/test-stdbool.c (e): Don't require that casts from a variable's
26458         address to 'bool' work in static initializer, for compilers other than
26459         GCC.
26460
26461 2010-12-19  Bruno Haible  <bruno@clisp.org>
26462
26463         ftello: Add missing declaration on OSF/1 5.1.
26464         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
26465         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
26466         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
26467         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
26468         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
26469
26470 2010-12-19  Bruno Haible  <bruno@clisp.org>
26471
26472         fseeko: Add missing declaration on OSF/1 5.1.
26473         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
26474         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
26475         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
26476         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
26477         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
26478
26479 2010-12-19  Bruno Haible  <bruno@clisp.org>
26480
26481         fchdir: Add missing declaration on OSF/1 5.1.
26482         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
26483         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
26484         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
26485         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
26486         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
26487
26488 2010-12-19  Bruno Haible  <bruno@clisp.org>
26489
26490         relocatable-prog-wrapper: Separate from relocatable-prog.
26491         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
26492         uninstall-relocwrapper rule here.
26493         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
26494         Reported by Ian Beckwith <ianb@erislabs.net>.
26495
26496 2010-12-19  Bruno Haible  <bruno@clisp.org>
26497
26498         unistr/u8-mbsnlen: Add missing dependency.
26499         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
26500         Reported by Ian Beckwith <ianb@erislabs.net>.
26501
26502 2010-12-19  Bruno Haible  <bruno@clisp.org>
26503
26504         iconv: Make it possible again to use this module without 'iconv-h'.
26505         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
26506         if it is not defined.
26507         Reported by Ian Beckwith <ianb@erislabs.net>.
26508
26509 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
26510
26511         acl: port to Solaris 8 when copying from tmpfs to ufs
26512         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
26513         error number.  Problem observed on Solaris 8 with latest
26514         coreutils, with "mv A B", where A is on a tmpfs file system and B
26515         is on a ufs file system.  This caused coreutils' mv/part-symlink
26516         test to fail.
26517
26518         tests: set fail=0 at start
26519         * tests/init.sh (setup_): Move fail=0 initialization here ...
26520         (mktempd_): ... from here, so that tests can rely on fail being
26521         set to 0 initially.  This fixes a problem in coreutils; see:
26522         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
26523
26524 2010-12-18  Bruno Haible  <bruno@clisp.org>
26525
26526         memmem-simple: Stylistic changes.
26527         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
26528         Fix preprocessor directive indentation.
26529
26530 2010-12-15  Pádraig Brady <P@draigBrady.com>
26531
26532         memmem, memmem-simple: reorganize and expand empty needle check
26533         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
26534         functional checks to memmem-simple so that one has a fully functional
26535         memmem by using just this module.
26536         Restrict the performance only check to the memmem module.
26537         Also expand the empty needle check to ensure the correct
26538         pointer is returned, not just a non NULL pointer.
26539         * doc/glibc-functions/memmem.texi: Rearrange the portability
26540         documentation to correlate with the rearranged checks.
26541         Clarify exactly how the memmem and memmem-simple modules
26542         relate to each other.
26543
26544 2010-12-15  Pádraig Brady <P@draigBrady.com>
26545             Bruno Haible  <bruno@clisp.org>
26546
26547         Improve cross-compilation guesses for uClibc.
26548         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
26549         that uClibc does not have the glibc bug.
26550         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
26551         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
26552
26553 2010-12-14  Eric Blake  <eblake@redhat.com>
26554
26555         configmake: provide fallbacks for oldest supported autotools
26556         * m4/configmake.m4: New file.
26557         * modules/configmake (Files): Ship it.
26558         (configure.ac): Use it to guarantee fallbacks.
26559
26560 2010-12-13  Pádraig Brady <P@draigBrady.com>
26561
26562         read-file: Improve handling of large files
26563         * lib/read-file.c (fread_file): Minimize realloc()s
26564         for regular files, and better manage sizes around SIZE_MAX.
26565
26566 2010-12-13  Eric Blake  <eblake@redhat.com>
26567
26568         cloexec, fcntl: relax license
26569         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
26570         consent from all contributors.
26571         * modules/fcntl (License): Likewise.
26572
26573 2010-12-10  Bruno Haible  <bruno@clisp.org>
26574
26575         Tests for module 'pipe-posix'.
26576         * modules/pipe-posix-tests: New file.
26577         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
26578
26579 2010-12-10  Bruno Haible  <bruno@clisp.org>
26580
26581         pipe-posix: Make it work in C++ mode.
26582         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
26583         (pipe): Use common idiom, not a macro definition.
26584         * lib/pipe.c: New file.
26585         * m4/pipe.m4: New file.
26586         * modules/pipe-posix (Description): Enhance.
26587         (Files): Add lib/pipe.c, m4/pipe.m4.
26588         (configure.ac): Invoke gl_FUNC_PIPE.
26589         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
26590         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
26591         * tests/test-unistd-c++.cc: Check the signature of pipe.
26592
26593 2010-12-10  Bruno Haible  <bruno@clisp.org>
26594
26595         Rename module 'pipe' to 'spawn-pipe'.
26596         * modules/spawn-pipe: New file, renamed from modules/pipe.
26597         (Files, configure.ac, Makefile.am): Update.
26598         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
26599         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
26600         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
26601         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
26602         "spawn-pipe.h" instead of "pipe.h".
26603         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
26604         to gl_SPAWN_PIPE.
26605         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
26606         (Files, Makefile.am): Update.
26607         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
26608         Update.
26609         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
26610         Include "spawn-pipe.h" instead of "pipe.h".
26611         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
26612         * lib/javacomp.c: Likewise.
26613         * lib/javaversion.c: Likewise.
26614         * lib/pipe-filter-gi.c: Likewise.
26615         * lib/pipe-filter-ii.c: Likewise.
26616         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
26617         * modules/javacomp (Depends-on): Likewise.
26618         * modules/javaversion (Depends-on): Likewise.
26619         * modules/pipe-filter-gi (Depends-on): Likewise.
26620         * modules/pipe-filter-ii (Depends-on): Likewise.
26621         * MODULES.html.sh (Executing programs): Update.
26622         * NEWS: Mention the change.
26623
26624 2010-12-10  Eric Blake  <eblake@redhat.com>
26625
26626         pipe-posix: new module
26627         * modules/pipe-posix: New file.
26628         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
26629         (gl_UNISTD_H): Check for declaration.
26630         * modules/unistd (Makefile.am): Substitute it.
26631         * lib/unistd.in.h (pipe): Provide it for mingw.
26632         * doc/posix-functions/pipe.texi (pipe): Update documentation.
26633         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
26634
26635 2010-12-07  Bruno Haible  <bruno@clisp.org>
26636
26637         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
26638         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
26639         u8_strcmp_gnu.
26640         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
26641
26642 2010-12-06  Bruno Haible  <bruno@clisp.org>
26643
26644         Update internal documentation.
26645         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
26646
26647 2010-12-04  Bruno Haible  <bruno@clisp.org>
26648
26649         Put more information about failed tests into the test return codes.
26650         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
26651         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
26652         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
26653         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
26654         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
26655         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
26656         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
26657         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
26658         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
26659         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
26660         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
26661         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
26662         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
26663         * m4/stdint.m4 (gl_STDINT_H): Likewise.
26664         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
26665         returns a bit mask.
26666         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
26667         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
26668         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
26669         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
26670         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
26671         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
26672         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
26673         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
26674         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
26675         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
26676         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
26677         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
26678         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
26679         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
26680         * m4/link.m4 (gl_FUNC_LINK): Likewise.
26681         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
26682         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
26683         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
26684         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26685         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
26686         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
26687         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
26688         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
26689         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
26690         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
26691         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
26692         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
26693         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
26694         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
26695         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
26696         gl_PRINTF_PRECISION): Likewise.
26697         * m4/regex.m4 (gl_REGEX): Likewise.
26698         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
26699         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
26700         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
26701         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
26702         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
26703         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
26704         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
26705         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
26706         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
26707         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
26708         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
26709         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
26710         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
26711         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
26712         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
26713         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
26714         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
26715         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26716         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
26717         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
26718         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
26719         enumerated value.
26720         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
26721
26722 2010-12-04  Bruno Haible  <bruno@clisp.org>
26723
26724         Update for Solaris 11 2010-11.
26725         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
26726         Express, released in November 2010.
26727
26728 2010-12-04  Bruno Haible  <bruno@clisp.org>
26729
26730         nproc: Relax license.
26731         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
26732         and Paul Eggert.
26733         Requested by Ludovic Courtès <ludo@gnu.org>.
26734
26735 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
26736
26737         utimecmp: fine-grained src to nearby coarse-grained dest
26738
26739         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
26740         and the source is on a file system with higher-resolution time
26741         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
26742         not work, and the time stamps are close together, the algorithm to
26743         determine the exact resolution from the read-back mtime was buggy:
26744         it had a "!=" where it should have had an "==".  This bug has been
26745         in the code ever since it was introduced to gnulib.
26746         Problem reported by Dan Jacobson in
26747         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
26748
26749 2010-11-30  Bruno Haible  <bruno@clisp.org>
26750
26751         strerror_r-posix: Fix autoconf test.
26752         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
26753
26754 2010-11-28  Bruno Haible  <bruno@clisp.org>
26755             Paul Eggert  <eggert@cs.ucla.edu>
26756
26757         Tests for module 'getdomainname'.
26758         * modules/getdomainname-tests: New file.
26759         * tests/test-getdomainname.c: New file, based on
26760         tests/test-gethostname.c.
26761
26762 2010-11-28  Bruno Haible  <bruno@clisp.org>
26763             Paul Eggert  <eggert@cs.ucla.edu>
26764
26765         getdomainname: Use the system function when possible.
26766         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
26767         (getdomainname): Replace if needed. Provide the declaration if it is
26768         missing. Don't use _GL_CXXALIAS_SYS_CAST.
26769         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
26770         (getdomainname): When the system has getdomainname, call the system
26771         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
26772         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
26773         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
26774         found in libnsl. Look for the declaration also in <netdb.h>. Replace
26775         the function if its second argument is of type 'int' or if it is found
26776         in libnsl.
26777         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
26778         <sys/systeminfo.h> and sysinfo().
26779         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
26780         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26781         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
26782         HAVE_GETDOMAINNAME.
26783         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
26784         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
26785         * doc/glibc-functions/getdomainname.texi: Document the problems with
26786         the getdomainname declaration.
26787
26788 2010-11-28  Bruno Haible  <bruno@clisp.org>
26789
26790         sys_socket: Ensure ss_family field on AIX.
26791         * lib/sys_socket.in.h (ss_family): New macro definition.
26792         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
26793         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
26794         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
26795         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
26796         * modules/sys_socket (Makefile.am): Substitute
26797         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
26798         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
26799
26800 2010-11-27  Bruno Haible  <bruno@clisp.org>
26801
26802         readline: Improve configure output.
26803         * m4/readline.m4 (gl_FUNC_READLINE): Make the
26804         "checking for readline..." result understandable.
26805
26806 2010-11-27  Bruno Haible  <bruno@clisp.org>
26807
26808         *printf-posix: Detect a bug on Solaris 10/x86.
26809         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
26810         for floating-point output.
26811         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
26812         directive.
26813         * tests/test-snprintf-posix.h (test_function): Likewise.
26814         * tests/test-sprintf-posix.h (test_function): Likewise.
26815         * tests/test-vasprintf-posix.c (test_function): Likewise.
26816         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
26817         * doc/posix-functions/printf.texi: Likewise.
26818         * doc/posix-functions/snprintf.texi: Likewise.
26819         * doc/posix-functions/sprintf.texi: Likewise.
26820         * doc/posix-functions/vfprintf.texi: Likewise.
26821         * doc/posix-functions/vprintf.texi: Likewise.
26822         * doc/posix-functions/vsnprintf.texi: Likewise.
26823         * doc/posix-functions/vsprintf.texi: Likewise.
26824         * doc/glibc-functions/obstack_printf.texi: Likewise.
26825         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
26826
26827 2010-11-27  Bruno Haible  <bruno@clisp.org>
26828
26829         Fix link error when module libunistring-optional is in use.
26830         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
26831         * modules/striconveha-tests (Makefile.am): Likewise.
26832
26833 2010-11-27  Bruno Haible  <bruno@clisp.org>
26834
26835         regex: Mention link dependencies.
26836         * modules/regex (Link): New section.
26837         * modules/rpmatch (Link): Likewise.
26838         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
26839
26840 2010-11-27  Bruno Haible  <bruno@clisp.org>
26841
26842         ftoastr: Fix compilation error on Solaris.
26843         * lib/ftoastr.c: Include <config.h>.
26844
26845 2010-11-27  Bruno Haible  <bruno@clisp.org>
26846
26847         getloadavg: Update documentation.
26848         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
26849
26850 2010-11-27  Bruno Haible  <bruno@clisp.org>
26851
26852         sys_socket: Fix test whether the functions are declared.
26853         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
26854         not <sys/select.h>.
26855
26856 2010-11-27  Bruno Haible  <bruno@clisp.org>
26857
26858         getpass: Make sure to get system declaration on some platforms.
26859         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
26860         gl_USE_SYSTEM_EXTENSIONS.
26861         * modules/getpass (Depends-on): Add extensions.
26862
26863 2010-11-26  Bruno Haible  <bruno@clisp.org>
26864
26865         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
26866         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
26867         'iconv' module is present.
26868         (ICONV_CONST): New macro.
26869         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
26870         ICONV_CONST.
26871         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
26872         set ICONV_CONST.
26873         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
26874         here.
26875         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
26876         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
26877         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
26878         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
26879         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
26880         present.
26881
26882 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
26883
26884         ftoastr: comment fix
26885         * lib/ftoastr.c: "little" -> "little or no" in comment
26886
26887 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
26888
26889         stdint: port to GCC 4.3 + OSX + Octave
26890         On this platform, stdint.h is buggy and defines int64_t to long
26891         long int.  The replacement defined it to long int, causing
26892         problems with C++ style name mangling.  Instead, trust the system
26893         definition if INT64_MAX is defined, and likewise for the unsigned
26894         variant.   Problem reported by Jarno Rajahalme in
26895         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
26896         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
26897         and don't mess with int64_t and INT64_MAX in this case.
26898         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
26899
26900 2010-11-24  Bruno Haible  <bruno@clisp.org>
26901
26902         doc: Corrections regarding MacOS X 10.4 and 10.5.
26903         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
26904         MacOS X.
26905         Reported by Simon Josefsson.
26906
26907 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
26908
26909         Uninstall ".bin" files installed by relocwrapper.
26910         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
26911         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
26912         unless it is already there.
26913
26914 2010-11-21  Bruno Haible  <bruno@clisp.org>
26915
26916         Update for NetBSD 5.0.
26917         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
26918         NetBSD; the test fails on NetBSD 5.0.
26919         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
26920         about NetBSD.
26921
26922 2010-11-21  Bruno Haible  <bruno@clisp.org>
26923
26924         Update for HP-UX 11.23 and HP-UX 11.31.
26925         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
26926         HP-UX.
26927
26928 2010-11-21  Bruno Haible  <bruno@clisp.org>
26929
26930         Update for MacOS X 10.5.
26931         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
26932         MacOS X; the test fails on MacOS X 10.5.8.
26933         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
26934         about MacOS X.
26935
26936 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
26937
26938         bootstrap: add bootstrap_sync option.
26939         See discussion at
26940         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
26941         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
26942         * build-aux/bootstrap: Accept --bootstrap-sync to update
26943         bootstrap if it is not identical to the local gnulib's
26944         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
26945         enable this by default.  Accept --no-bootstrap-sync to disable
26946         it.
26947
26948 2010-11-20  Bruno Haible  <bruno@clisp.org>
26949
26950         Ensure that <features.h> is included before __GLIBC__ is tested.
26951         * lib/printf-parse.h: Include <features.h>.
26952         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
26953         Reported by Mike Frysinger <vapier@gentoo.org>.
26954
26955         Ensure that <features.h> is included before __GLIBC__ is tested.
26956         * lib/wchar.in.h: Include <features.h>.
26957         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
26958         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
26959         Reported by Mike Frysinger <vapier@gentoo.org>.
26960
26961         Ensure that <features.h> is included before __GLIBC__ is tested.
26962         * lib/arpa_inet.in.h: Include <features.h>.
26963         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
26964         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
26965         Reported by Mike Frysinger <vapier@gentoo.org>.
26966
26967         Ensure that <features.h> is included before __GLIBC__ is tested.
26968         * build-aux/link-warning.h: Include <features.h>.
26969         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
26970         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
26971         Reported by Mike Frysinger <vapier@gentoo.org>.
26972
26973         Ensure that <features.h> is included before __GLIBC__ is tested.
26974         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
26975         Reported by Mike Frysinger <vapier@gentoo.org>.
26976
26977 2010-11-20  Bruno Haible  <bruno@clisp.org>
26978
26979         memmem: Fix autoconf test.
26980         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
26981
26982 2010-11-20  Bruno Haible  <bruno@clisp.org>
26983
26984         Port to uClibc.
26985         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
26986         * lib/fcntl.in.h: Likewise.
26987         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
26988         * lib/mbrtowc.c (mbrtowc): Likewise.
26989         * lib/relocatable.c (find_shared_library_fullname): Likewise.
26990         * lib/strerror_r.c: Likewise.
26991         * lib/unistr/u8-strnlen.c: Likewise.
26992         * lib/vasnprintf.c (decimal_point_char): Likewise.
26993         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26994         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
26995         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
26996         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
26997         * tests/test-sigaction.c (handler, main): Likewise.
26998         * lib/freading.h: Treat uClibc like a non-glibc platform.
26999         * lib/freading.c: Likewise.
27000         * lib/gettext.h: Likewise.
27001         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
27002         Likewise.
27003         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
27004         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
27005         * lib/propername.c (proper_name_utf8): Likewise.
27006         * lib/spawn.in.h: Likewise.
27007         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
27008         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
27009         mem_cd_iconveh_internal): Likewise.
27010         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
27011         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
27012         strstr, strcasestr): Likewise.
27013         * lib/unicodeio.c (unicode_to_mb): Likewise.
27014         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
27015         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
27016         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
27017         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
27018         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
27019         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
27020         * lib/unistr/u8-stpncpy.c: Likewise.
27021         * lib/vasnprintf.c (VASNPRINTF): Likewise.
27022         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
27023         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27024         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27025         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
27026         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
27027         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
27028         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
27029         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
27030         Likewise.
27031         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27032         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27033         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
27034         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27035         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
27036         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
27037         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
27038         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
27039         * tests/test-getopt.h (OPTIND_MIN): Likewise.
27040         * tests/test-striconveha.c (main): Likewise.
27041         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27042         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
27043         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
27044         * doc/posix-functions/getline.texi: Likewise.
27045         Reported by Mike Frysinger <vapier@gentoo.org>.
27046
27047 2010-11-20  Bruno Haible  <bruno@clisp.org>
27048
27049         nproc: Fix condition.
27050         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
27051         HAVE_PTHREAD_AFFINITY_NP.
27052
27053 2010-11-20  Bruno Haible  <bruno@clisp.org>
27054
27055         Fix a comment.
27056         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
27057
27058 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
27059
27060         ftoastr: don't assume snprintf
27061         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
27062         Implement a subset of snprintf here, by using sprintf safely.
27063         * modules/ftoastr (Depends-on): Remove snprintf.
27064
27065 2010-11-19  Jim Meyering  <meyering@redhat.com>
27066
27067         test-rename.h: fix compilation failure
27068         * tests/test-rename.h (test_rename): Add omitted "}".
27069
27070 2010-11-17  Jim Meyering  <meyering@redhat.com>
27071
27072         maint.mk: add a URL discussing the no-@acronym policy
27073         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
27074
27075 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
27076
27077         ftoastr: depend on snprintf, improve comments
27078         * lib/ftoastr.c: Also mention Loitsch's draft.
27079         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
27080         needed in the current implementation, but it might simplify
27081         speeding up the code later.
27082         * modules/ftoastr: Depend on snprintf; this improves portability.
27083         Suggested by Bruno Haible in the same email.
27084
27085         ftoastr: port to hosts lacking strtof and strtold
27086         Problem reported by Bruno Haible in
27087         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
27088         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
27089         environment and strtold (and presumably strtof) are not available.
27090         * modules/ftoastr (Files): Add m4/c-strtod.m4.
27091         (configure.ac): Require gl_C99_STRTOLD.
27092
27093 2010-11-18  Bruno Haible  <bruno@clisp.org>
27094
27095         c-strtold: Avoid link error on AIX 7.
27096         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
27097         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
27098         (gl_C_STRTOLD): Test whether strtold_l exists.
27099         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27100
27101 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
27102
27103         intprops: new macro INT_BITS_STRLEN_BOUND
27104         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
27105         ftoastr.h.  This exposes an internal of intprops.h that was formerly
27106         not exposed.  Also, it uses a slightly tighter bound than before;
27107         though this makes no practical difference, we might as well be as
27108         tight as we easily can.
27109
27110         ftoastr: new module, for lossless conversion of floats to short strings
27111         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
27112         * modules/ftoastr: New files.
27113
27114 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
27115
27116         bootstrap: port to Solaris sed
27117         * build-aux/bootstrap (get_version): Port to Solaris sed.
27118         See Ralf Wildenhues's note in
27119         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
27120
27121 2010-11-14  Jim Meyering  <meyering@redhat.com>
27122
27123         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
27124         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
27125         and move definition closer to sole use.
27126
27127 2010-11-13  Jim Meyering  <meyering@redhat.com>
27128
27129         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
27130         Now we require at least autoconf-2.59, which means the work-around
27131         is no longer needed.
27132         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
27133         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
27134         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
27135         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
27136         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
27137
27138 2010-11-13  Bruno Haible  <bruno@clisp.org>
27139
27140         rename, renameat: Avoid test failures at NFS mounted locations.
27141         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
27142         functions.
27143         (test_rename): Use assert_nonexistent.
27144         * tests/test-rename.c: Include <dirent.h>.
27145         * tests/test-renameat.c: Likewise.
27146         Reported by Gary V. Vaughan <gary@gnu.org>.
27147
27148         rename, renameat: Document Linux bug with NFS
27149         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
27150         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
27151         * doc/posix-functions/renameat.texi: Likewise.
27152         Suggested by Eric Blake.
27153
27154 2010-11-13  Bruno Haible  <bruno@clisp.org>
27155
27156         rename test: Add comments.
27157         * tests/test-rename.h (test_rename): Add structure and comments.
27158
27159 2010-11-13  Eric Blake  <eblake@redhat.com>
27160
27161         maintainer-makefile: cover a few more files
27162         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
27163         scripts generated within C files, for libvirt.
27164
27165 2010-11-13  Bruno Haible  <bruno@clisp.org>
27166
27167         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
27168         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
27169         character, return the number of bytes that belong together, not always
27170         1.
27171         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
27172         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
27173         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
27174         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
27175         number of bytes of an invalid character.
27176         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
27177         (main): Invoke it.
27178         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
27179         results.
27180         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
27181         malformed byte sequences.
27182         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
27183         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
27184         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
27185         Reported by Ben Pfaff and Paolo Bonzini.
27186
27187 2010-11-13  Bruno Haible  <bruno@clisp.org>
27188
27189         openat: Work around glibc bug with fchownat() and empty file names.
27190         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
27191         (gl_FUNC_FCHOWNAT): Invoke it.
27192         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
27193         * doc/posix-functions/fchownat.texi: Document the glibc bug.
27194         Reported by Gary V. Vaughan <gary@gnu.org>.
27195
27196 2010-11-13  Bruno Haible  <bruno@clisp.org>
27197
27198         openat: Ensure autoconf macro ordering.
27199         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
27200         gl_USE_SYSTEM_EXTENSIONS.
27201         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
27202
27203 2010-11-13  Bruno Haible  <bruno@clisp.org>
27204
27205         Update comments.
27206         * lib/unistr/u8-check.c: Update file name in comments.
27207         * lib/unistr/u8-mblen.c: Likewise.
27208         * lib/unistr/u8-prev.c: Likewise.
27209         * lib/unistr/u8-strmblen.c: Likewise.
27210         * lib/unistr/u8-strmbtouc.c: Likewise.
27211
27212 2010-11-13  Jim Meyering  <meyering@redhat.com>
27213
27214         tests: avoid test failure on Solaris 10 due to lack of PATH export
27215         * tests/test-update-copyright.sh: Don't forget to export PATH.
27216
27217         init.sh: ensure that IFS is defined, just in case...
27218         * tests/init.sh (setup_): Ensure that IFS is defined,
27219         so that saving and restoring it works as expected.  This
27220         appears to be useful at least for an old version of dash
27221         from a long time ago (RH 6).  See here for details:
27222         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
27223
27224         maint.mk: tighten "test a == b" check
27225         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
27226         test to files that contain something like #!/bin/sh.
27227         Without this, coreutils would get two false positives in
27228         the comments of C source files.
27229
27230 2010-11-12  Eric Blake  <eblake@redhat.com>
27231
27232         bootstrap: fix typo in previous attempt
27233         * build-aux/bootstrap (buildreq): Correct the grouping.
27234         Reported by Paul Eggert.
27235
27236         maintainer-makefile: prohibit test x == x
27237         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
27238         Based on a report by Matthias Bolte.
27239
27240         bootstrap: allow FreeBSD gzip
27241         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
27242         which has no '.' and goes to stderr.
27243         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
27244         Reported by Matthias Bolte.
27245
27246         maintainer-makefile: check for i18n setup
27247         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
27248         will likely work.
27249
27250 2010-11-12  Bruno Haible  <bruno@clisp.org>
27251
27252         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
27253         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
27254         * lib/nanosleep.c (nanosleep): Likewise.
27255
27256 2010-11-11  Bruno Haible  <bruno@clisp.org>
27257
27258         fcntl-h: Fix for use of C++ on glibc systems.
27259         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27260         also on glibc systems in C++ mode.
27261         Reported by Gary V. Vaughan <gary@gnu.org>.
27262
27263 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27264
27265         mknod: avoid false failure with dash
27266         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
27267
27268 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
27269
27270         unlink: Fix "is it should" typo in diagnostic.
27271         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
27272         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
27273
27274 2010-11-11  Bruno Haible  <bruno@clisp.org>
27275
27276         Tests for module 'strerror_r-posix'.
27277         * modules/strerror_r-posix-tests: New file.
27278         * tests/test-strerror_r.c: New file.
27279         * tests/test-string-c++.cc: Check the signature of strerror_r.
27280
27281         New module 'strerror_r-posix'.
27282         * lib/string.in.h (strerror_r): New declaration.
27283         * lib/strerror_r.c: New file.
27284         * m4/strerror_r.m4: New file.
27285         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
27286         of strerror_r.
27287         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
27288         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
27289         * modules/strerror_r-posix: New file.
27290         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
27291         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
27292         * doc/posix-functions/strerror_r.texi: Mention the new module and the
27293         portability problems.
27294
27295 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
27296
27297         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
27298         line is also considered for output. Quoted function name in shell
27299         command, so temporary files for functions like MyClass::operator()
27300         are removed correctly without errors.
27301
27302 2010-11-09  Bruno Haible  <bruno@clisp.org>
27303
27304         * doc/posix-functions/strerror.texi: List more failing platforms.
27305
27306         * doc/posix-functions/strerror.texi: Add a comment.
27307
27308 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
27309
27310         fdopendir: fix bug on MacOS X when low on file descriptors
27311
27312         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
27313         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
27314         All callers changed.
27315         (fdopendir): Invoke save_cwd at the top level, not after using
27316         multiple dup() calls to use up file descriptors.  Then retry
27317         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
27318         less than the maximum number of open file descriptors, because
27319         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
27320         on Mac OS X 10.6.4 for tar 1.24
27321         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
27322         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
27323         and for tar 1.25
27324         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
27325
27326 2010-11-07  Bruno Haible  <bruno@clisp.org>
27327
27328         vasnprintf: Support I flag on glibc systems.
27329         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
27330         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
27331         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
27332         snprintf function.
27333         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
27334         glibc systems.
27335         * tests/test-vasnprintf-posix3.c: New file.
27336         * modules/vasnprintf-posix-tests (Files): Add it.
27337         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
27338
27339 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27340
27341         [html] Fix copy/paste bug: Use unique name for compiler warnings.
27342         * MODULES.html.sh: For compiler warnings, use name
27343         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
27344
27345 2010-11-05  Eric Blake  <eblake@redhat.com>
27346
27347         ceil, floor: avoid spurious failure with icc
27348         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
27349         [denormals-as-zero] when optimizing without -mieee-fp option.
27350         * tests/test-floorf2.c (floorf_reference): Likewise.
27351         * tests/test-ceilf1.c (dummy): New function.
27352         (main): Use it to outsmart icc's optimization.
27353         * tests/test-floorf1.c (dummy, main): Likewise.
27354
27355         tests: require working signbit
27356         * modules/ceilf-tests (Depends-on): Add signbit.
27357         * modules/ceill-tests (Depends-on): Likewise.
27358         * modules/floorf-tests (Depends-on): Likewise.
27359         * modules/floorl-tests (Depends-on): Likewise.
27360         * modules/round-tests (Depends-on): Likewise.
27361         * modules/roundf-tests (Depends-on): Likewise.
27362         * modules/roundl-tests (Depends-on): Likewise.
27363         * modules/trunc-tests (Depends-on): Likewise.
27364         * modules/truncf-tests (Depends-on): Likewise.
27365         * modules/truncl-tests (Depends-on): Likewise.
27366
27367         strtod: work around icc bug
27368         * lib/strtod.c (minus_zero): Define to working value.
27369         (strtod): Use it to avoid icc bug.
27370
27371         copysign: enhance tests
27372         * modules/copysign-tests (Files): Add minus-zero.h.
27373         * tests/test-copysign.c (main): Also test zeros.
27374
27375 2010-11-04  Eric Blake  <eblake@redhat.com>
27376
27377         ceil, floor, round, trunc: enhance tests of -0
27378         * tests/test-ceilf1.c (main): Ensure correct sign of result.
27379         * tests/test-ceill.c (main): Likewise.
27380         * tests/test-floorf1.c (main): Likewise.
27381         * tests/test-floorl.c (main): Likewise.
27382         * tests/test-round1.c (main): Likewise.
27383         * tests/test-roundf1.c (main): Likewise.
27384         * tests/test-roundl.c (main): Likewise.
27385         * tests/test-trunc1.c (main): Likewise.
27386         * tests/test-truncf1.c (main): Likewise.
27387         * tests/test-truncl.c (main): Likewise.
27388
27389 2010-11-04  Eric Blake  <eblake@redhat.com>
27390
27391         frexp, tests: work around ICC bug with -zero
27392         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
27393         works with more compilers.
27394         * tests/minus-zero.h: New file.
27395         * modules/ceilf-tests (Files): Include it.
27396         * modules/ceill-tests (Files): Likewise.
27397         * modules/floorf-tests (Files): Likewise.
27398         * modules/floorl-tests (Files): Likewise.
27399         * modules/frexp-nolibm-tests (Files): Likewise.
27400         * modules/frexp-tests (Files): Likewise.
27401         * modules/frexpl-nolibm-tests (Files): Likewise.
27402         * modules/frexpl-tests (Files): Likewise.
27403         * modules/isnan-tests (Files): Likewise.
27404         * modules/isnand-nolibm-tests (Files): Likewise.
27405         * modules/isnand-tests (Files): Likewise.
27406         * modules/isnanf-nolibm-tests (Files): Likewise.
27407         * modules/isnanf-tests (Files): Likewise.
27408         * modules/isnanl-nolibm-tests (Files): Likewise.
27409         * modules/isnanl-tests (Files): Likewise.
27410         * modules/round-tests (Files): Likewise.
27411         * modules/roundf-tests (Files): Likewise.
27412         * modules/roundl-tests (Files): Likewise.
27413         * modules/ldexpl-tests (Files): Likewise.
27414         * modules/signbit-tests (Files): Likewise.
27415         * modules/snprintf-posix-tests (Files): Likewise.
27416         * modules/sprintf-posix-tests (Files): Likewise.
27417         * modules/strtod-tests (Files): Likewise.
27418         * modules/trunc-tests (Files): Likewise.
27419         * modules/truncf-tests (Files): Likewise.
27420         * modules/truncl-tests (Files): Likewise.
27421         * modules/vsnprintf-posix-tests (Files): Likewise.
27422         * modules/vsprintf-posix-tests (Files): Likewise.
27423         * modules/vasnprintf-posix-tests (Files): Likewise.
27424         * modules/vasprintf-posix-tests (Files): Likewise.
27425         * tests/test-ceilf1.c (main): Use it.
27426         * tests/test-ceill.c (main): Likewise.
27427         * tests/test-floorf1.c (main): Likewise.
27428         * tests/test-floorl.c (main): Likewise.
27429         * tests/test-frexp.c (main): Likewise.
27430         * tests/test-frexpl.c (main): Likewise.
27431         * tests/test-isnan.c (main): Likewise.
27432         * tests/test-isnand.h (main): Likewise.
27433         * tests/test-isnanf.h (main): Likewise.
27434         * tests/test-isnanl.h (main): Likewise.
27435         * tests/test-ldexpl.c (main): Likewise.
27436         * tests/test-round.c (main): Likewise.
27437         * tests/test-roundf.c (main): Likewise.
27438         * tests/test-roundl.c (main): Likewise.
27439         * tests/test-signbit.c (test_signbitf, test_signbitd)
27440         (test_signbitl): Likewise.
27441         * tests/test-snprintf-posix.h (test_function): Likewise.
27442         * tests/test-sprintf-posix.h (test_function): Likewise.
27443         * tests/test-strtod.c (main): Likewise.
27444         * tests/test-trunc1.c (main): Likewise.
27445         * tests/test-truncf1.c (main): Likewise.
27446         * tests/test-truncl.c (main): Likewise.
27447
27448         isnanl: work around icc bug
27449         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
27450
27451 2010-11-03  Eric Blake  <eblake@redhat.com>
27452
27453         tests: fix compiler warnings
27454         * tests/test-getopt.h (test_getopt): Fix condition.
27455         * tests/test-getopt_long.h (test_getopt_long): Likewise.
27456         * tests/test-pipe2.c (main): Likewise.
27457         * tests/test-quotearg-simple.c (main): Avoid icc warning.
27458
27459         utimens: fix broken m4 test
27460         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
27461
27462 2010-10-28  Bruno Haible  <bruno@clisp.org>
27463
27464         posix_spawn*, getdtablesize: Relax license.
27465         * modules/posix_spawn (License): Change to LGPLv2+.
27466         * modules/posix_spawnp (License): Likewise.
27467         * modules/posix_spawn-internal (License): Likewise.
27468         * modules/posix_spawnattr_init (License): Likewise.
27469         * modules/posix_spawnattr_getflags (License): Likewise.
27470         * modules/posix_spawnattr_setflags (License): Likewise.
27471         * modules/posix_spawnattr_getpgroup (License): Likewise.
27472         * modules/posix_spawnattr_setpgroup (License): Likewise.
27473         * modules/posix_spawnattr_getschedparam (License): Likewise.
27474         * modules/posix_spawnattr_setschedparam (License): Likewise.
27475         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
27476         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
27477         * modules/posix_spawnattr_getsigdefault (License): Likewise.
27478         * modules/posix_spawnattr_setsigdefault (License): Likewise.
27479         * modules/posix_spawnattr_getsigmask (License): Likewise.
27480         * modules/posix_spawnattr_setsigmask (License): Likewise.
27481         * modules/posix_spawnattr_destroy (License): Likewise.
27482         * modules/posix_spawn_file_actions_init (License): Likewise.
27483         * modules/posix_spawn_file_actions_addclose (License): Likewise.
27484         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
27485         * modules/posix_spawn_file_actions_addopen (License): Likewise.
27486         * modules/posix_spawn_file_actions_destroy (License): Likewise.
27487         * modules/getdtablesize (License): Likewise.
27488         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
27489
27490 2010-10-26  Bruno Haible  <bruno@clisp.org>
27491
27492         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
27493         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
27494         Cygwin and mingw.
27495         Suggested by Eric Blake.
27496
27497 2010-10-26  Bruno Haible  <bruno@clisp.org>
27498
27499         stdio: Work around compilation error due to renameat() on Solaris 10.
27500         * lib/stdio.in.h: Include <unistd.h> on Solaris.
27501         * lib/renameat.c: Don't include <unistd.h> here.
27502         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
27503         Reported by Paul Eggert and Eric Blake.
27504
27505 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
27506
27507         renameat: port to Solaris 10, which declares renameat in unistd.h
27508
27509         * lib/renameat.c: Include unistd.h before stdio.h, because
27510         Solaris 10 declares renameat in unistd.h.  Problem encountered
27511         when building GNU tar 1.24 on Solaris 10.
27512
27513 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
27514
27515         fdopendir: fix C89 compilation
27516         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
27517         compilers.
27518
27519 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
27520
27521         inttostr: simplify by removing unnecessary redundancy
27522         * lib/anytostr.c: Don't include verify.h.
27523         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
27524         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
27525         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
27526         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
27527         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
27528         Likewise.
27529         * modules/inttostr (Depends-on): Remove 'verify'.
27530
27531 2010-10-23  Bruno Haible  <bruno@clisp.org>
27532
27533         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
27534         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
27535         Reported by Eric Blake.
27536
27537 2010-10-23  Bruno Haible  <bruno@clisp.org>
27538
27539         Tests: Fix LOCALE_JA on MirBSD 10.
27540         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
27541         to an UTF-8 locale.
27542         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
27543         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
27544         Reported by Eric Blake.
27545
27546 2010-10-21  Bruno Haible  <bruno@clisp.org>
27547
27548         nl_langinfo test: Avoid test failure on NetBSD 5.
27549         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
27550         Reported by Eric Blake.
27551
27552 2010-10-21  Eric Blake  <eblake@redhat.com>
27553
27554         c-stack: work around libsigsegv 2.8 bug
27555         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
27556         overflow on at least PowerPC64.
27557
27558 2010-10-17  Bruno Haible  <bruno@clisp.org>
27559
27560         userspec: Drop redundant file.
27561         * modules/userspec (Files): Remove lib/inttostr.h.
27562
27563 2010-10-17  Bruno Haible  <bruno@clisp.org>
27564
27565         nl_langinfo tests: Silence some warnings.
27566         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
27567         Reported by Jim Meyering.
27568
27569 2010-10-17  Bruno Haible  <bruno@clisp.org>
27570
27571         Make use of GCC's attribute __alloc_size__.
27572         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
27573         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
27574         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
27575         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
27576         __alloc_size__.
27577         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
27578         Suggested by Jim Meyering.
27579
27580 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
27581
27582         bootstrap: anchor .gitignore entries.
27583         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
27584         with...
27585         (insert_vc_ignore): ... this new function, which prepends `/' to
27586         all .gitignore entries before passing them to
27587         insert_sorted_if_absent.
27588
27589 2010-10-16  Bruno Haible  <bruno@clisp.org>
27590
27591         nextafter: Fix configure check.
27592         * modules/nextafter (configure.ac): Correct expected prototype.
27593
27594 2010-10-16  Bruno Haible  <bruno@clisp.org>
27595
27596         termios: Update documentation.
27597         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
27598
27599 2010-10-16  Bruno Haible  <bruno@clisp.org>
27600
27601         tests: Make them compile with TinyCC.
27602         * tests/test-strstr.c (main): Remove parentheses around array
27603         initializer.
27604
27605 2010-10-15  Eric Blake  <eblake@redhat.com>
27606
27607         ignore-value: make header idempotent
27608         * lib/ignore-value.h: Add double-inclusion guards.
27609         Reported by Stefan Berger.
27610
27611 2010-10-15  Jim Meyering  <meyering@redhat.com>
27612
27613         GNUmakefile: handle "stable" target, not "major"
27614         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
27615         lists in maint.mk and announce-gen.  Without this, "make stable"
27616         would fail to ensure that $(VERSION) is up to date.
27617
27618 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
27619
27620         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
27621         & co.
27622
27623 2010-10-14  Bruno Haible  <bruno@clisp.org>
27624
27625         vasnprintf: Don't set errno to 0.
27626         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
27627         block that sets it to 0.
27628         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
27629
27630 2010-10-14  Bruno Haible  <bruno@clisp.org>
27631
27632         socketlib: Fix.
27633         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
27634         gl_PREREQ_SYS_H_WINSOCK2.
27635         Reported by Ian Beckwith <ianb@erislabs.net>.
27636
27637 2010-10-13  Jim Meyering  <meyering@redhat.com>
27638
27639         test-select-stdin.c: avoid warn_unused_result warnings
27640         * tests/test-select-stdin.c: Include "macros.h".
27641         ASSERT that read and fflush succeed.
27642
27643 2010-10-13  Jim Meyering  <meyering@redhat.com>
27644
27645         git-version-gen: do require git-VC'd files in cwd
27646         * build-aux/git-version-gen: Reject a git version string
27647         if there are no commits associated with the current directory.
27648         This avoids an unlikely false-positive (unrelated dir whose parent
27649         repository also contains a tag matching v*), as pointed out
27650         by Giuseppe Scrivano in
27651         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
27652
27653 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
27654
27655         argv-iter: omit nonconforming declaration
27656         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
27657         enum arg_iter_err declaration, which doesn't conform to C99.
27658         Solaris 10 cc warns about this.
27659
27660 2010-10-13  Eric Blake  <eblake@redhat.com>
27661
27662         termios: fix compilation on mingw
27663         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
27664         (gl_TERMIOS_H): Adjust it on mingw.
27665         * modules/termios (Makefile.am): Substitute new key.
27666         * lib/termios.in.h (includes): Make include_next conditional.
27667         * doc/posix-headers/termios.texi (termios.h): Update
27668         documentation.
27669         Reported by Daniel P. Berrange.
27670
27671 2010-10-13  Jim Meyering  <meyering@redhat.com>
27672
27673         git-version-gen: don't require that .git/ be in the current dir
27674         * build-aux/git-version-gen: Adjust this script so that it works
27675         when run from any working directory beneath the top-level .git/-
27676         containing directory.  Inspired by a patch from Giuseppe Scrivano,
27677         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
27678
27679         test-select: avoid warn_unused_result warnings
27680         * tests/test-select.c: Include "macros.h".
27681         ASSERT that each call to read, write, and pipe succeeds.
27682         While not technically required, also check each "close".
27683         * modules/select-tests (Files): Add tests/macros.h.
27684
27685         test-symlinkat: remove declaration of unused local
27686         * tests/test-symlinkat.c (main): Remove unused local, "buf".
27687
27688         test-inttostr: avoid shadowing warnings
27689         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
27690         and use malloc rather than the stack for the same reason as
27691         mentioned in the comment justifying the other allocation.
27692
27693 2010-10-11  Bruno Haible  <bruno@clisp.org>
27694
27695         stdlib: Allow multiple gnulib generated replacements to coexist.
27696         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
27697         Reported by Sam Steingold <sds@gnu.org>.
27698
27699 2010-10-11  Jim Meyering  <meyering@redhat.com>
27700
27701         fix a documentation typo
27702         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
27703
27704 2010-10-11  Eric Blake  <eblake@redhat.com>
27705
27706         futimens: work around Solaris 11 bug
27707         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
27708         * tests/test-futimens.h (test_futimens): Enhance, rather than
27709         weaken test.
27710         * doc/posix-functions/futimens.texi (futimens): Document the bug.
27711
27712 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
27713
27714         Indentation.
27715         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
27716         higher-level operators more to the left.
27717
27718 2010-10-11  Jim Meyering  <meyering@redhat.com>
27719
27720         test-futimens: avoid unwarranted test failure on Solaris 5.11
27721         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
27722         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
27723         because it tries to dereference the NULL name argument.
27724
27725 2010-10-11  Bruno Haible  <bruno@clisp.org>
27726
27727         Indentation.
27728         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
27729         indentation.
27730
27731 2010-10-11  Jim Meyering  <meyering@redhat.com>
27732
27733         spawn.in.h: make indentation consistent with parentheses
27734         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
27735         Make indentation consistent with parentheses.
27736
27737 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
27738
27739         Fix mismatched parens in previous commit
27740         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
27741         parens.
27742
27743 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
27744
27745         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
27746
27747         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
27748         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
27749         * lib/malloca.c: Include "verify.h".
27750         (verify1): Remove, replacing with a verify call.
27751         * lib/relocwrapper.c (verify1): Likewise.
27752         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
27753         Likewise.
27754         * modules/malloca (Depends-on): Add 'verify'.
27755         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
27756         * modules/vasnprintf (Depends-on): Add 'verify'.
27757         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
27758         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
27759         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
27760         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
27761         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
27762         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
27763         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
27764
27765         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
27766
27767         Formerly the style was sometimes 2*X - 1, because the C standard
27768         was wrongly thought to disallow ?: in integral constant expressions.
27769         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
27770         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
27771         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
27772         * lib/stdint.in.h (_verify_intmax_size): Likewise.
27773         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
27774         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
27775         verify that time_t cannot be floating.
27776
27777 2010-10-08  Eric Blake  <eblake@redhat.com>
27778
27779         time: enforce recent POSIX ruling that time_t is integral
27780         * lib/time.in.h (__time_t_must_be_integral): Detect any
27781         problematic systems, allowing the rest of gnulib to assume POSIX.
27782
27783 2010-10-08  Jim Meyering  <meyering@redhat.com>
27784
27785         fdopendir: fix a bug on systems lacking openat and /proc support
27786         OpenBSD 4.7 is one such system.  The most noticeable effect was
27787         failure of any application making nontrivial use of fts: rm, du,
27788         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
27789           ./rm: traversal failed: `a': Bad file descriptor
27790         Debugging that, you see that even though FD 6 was closed just
27791         prior to the opendir call in fd_clone_opendir, its resulting
27792         dir->dd_fd was 8, rather than the expected value of 6:
27793
27794         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
27795         93                close (fd);
27796         (gdb) n
27797         94                dir = fd_clone_opendir (dupfd);
27798         (gdb) n
27799         95                saved_errno = errno;
27800         (gdb) p dir->dd_fd
27801         $11 = 8
27802
27803         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
27804         The problem is that on OpenBSD, fd_clone_opendir has to resort
27805         to using the old-style save/restore CWD mechanism, due to its
27806         lack of openat/proc support, and *that* would steal the FD (6)
27807         that opendir was supposed to use.
27808
27809         The fix is to squirrel away the desired FD so that save_cwd uses a
27810         different one, and then free the dest FD right before calling opendir.
27811         That guarantees opendir will use the required file descriptor.
27812
27813         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
27814
27815 2010-10-08  Bruno Haible  <bruno@clisp.org>
27816
27817         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
27818         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
27819
27820 2010-10-08  Bruno Haible  <bruno@clisp.org>
27821
27822         nanosleep: Make replacement POSIX compliant.
27823         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
27824         is out of range.
27825         Reported by Jim Meyering.
27826
27827 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
27828
27829         bootstrap: add hook for altering gnulib.mk, for Bison
27830         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
27831         the Bison bootstrapping process can rewrite file names and variables
27832         in this file before later parts of 'bootstrap' use the file.
27833         Bison wants to include lib/gnulib.mk from the top-level makefile,
27834         so it needs the file names in this file to be relative to the top
27835         level, not relative to lib; plus it needs variable names to be
27836         rewritten.
27837         (slurp): Use the new function.
27838
27839         bootstrap: reformat for readability
27840         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
27841
27842 2010-10-08  Eric Blake  <eblake@redhat.com>
27843
27844         docs: update cygwin progress
27845         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
27846         1.7.7.
27847         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
27848         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
27849         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
27850         * doc/posix-functions/carg.texi (carg): Likewise.
27851         * doc/posix-functions/cargf.texi (cargf): Likewise.
27852         * doc/posix-functions/casin.texi (casin): Likewise.
27853         * doc/posix-functions/casinf.texi (casinf): Likewise.
27854         * doc/posix-functions/casinh.texi (casinh): Likewise.
27855         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
27856         * doc/posix-functions/catan.texi (catan): Likewise.
27857         * doc/posix-functions/catanf.texi (catanf): Likewise.
27858         * doc/posix-functions/catanh.texi (catanh): Likewise.
27859         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
27860         * doc/posix-functions/ccos.texi (ccos): Likewise.
27861         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
27862         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
27863         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
27864         * doc/posix-functions/cexp.texi (cexp): Likewise.
27865         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
27866         * doc/posix-functions/cimag.texi (cimag): Likewise.
27867         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
27868         * doc/posix-functions/clog.texi (clog): Likewise.
27869         * doc/posix-functions/clogf.texi (clogf): Likewise.
27870         * doc/posix-functions/conj.texi (conj): Likewise.
27871         * doc/posix-functions/conjf.texi (conjf): Likewise.
27872         * doc/posix-functions/cpow.texi (cpow): Likewise.
27873         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
27874         * doc/posix-functions/cproj.texi (cproj): Likewise.
27875         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
27876         * doc/posix-functions/creal.texi (creal): Likewise.
27877         * doc/posix-functions/crealf.texi (crealf): Likewise.
27878         * doc/posix-functions/csin.texi (csin): Likewise.
27879         * doc/posix-functions/csinf.texi (csinf): Likewise.
27880         * doc/posix-functions/csinh.texi (csinh): Likewise.
27881         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
27882         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
27883         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
27884         * doc/posix-functions/ctan.texi (ctan): Likewise.
27885         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
27886         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
27887         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
27888         * doc/posix-headers/complex.texi (complex.h): Likewise.
27889
27890 2010-10-07  Jim Meyering  <meyering@redhat.com>
27891
27892         parse-datetime: avoid compilation failure on OpenBSD 4.7
27893         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
27894         This works around a compilation failure on OpenBSD 4.7:
27895         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
27896
27897 2010-10-07  Eric Blake  <eblake@redhat.com>
27898
27899         docs: update cygwin progress
27900         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
27901         1.7.6.
27902         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
27903         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
27904         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
27905         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
27906         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
27907         Likewise.
27908         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
27909         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
27910         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
27911         Likewise.
27912         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
27913         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
27914         Likewise.
27915         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
27916         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
27917         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
27918         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
27919         Likewise.
27920         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
27921         Likewise.
27922         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
27923
27924         docs: update parse-datetime history
27925         * doc/parse-datetime.texi (Authors of parse_datetime): Better
27926         documentation of this function's history and alternatives.
27927
27928         cygwin: use more robust version check
27929         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
27930         exclude an eventual cygwin 1.9.1.
27931         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27932         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
27933         (gl_FUNC_STRCASESTR): Likewise.
27934         Reported by Bruno Haible.
27935
27936 2010-10-06  Bruno Haible  <bruno@clisp.org>
27937
27938         string, sys_select: Avoid #including large headers unless necessary.
27939         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
27940         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
27941         OSF/1, BeOS, Haiku.
27942         Reported by Jim Meyering.
27943
27944 2010-10-05  Eric Blake  <eblake@redhat.com>
27945
27946         memmem, strstr, strcasestr: fix bug with long periodic needle
27947         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
27948         periodic needle having false positive.
27949         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
27950         and cygwin 1.7.7.
27951         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
27952         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
27953         (gl_FUNC_STRCASESTR): Likewise.
27954         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
27955         * tests/test-memmem.c (main): Expose the bug.
27956         * tests/test-strcasestr.c (main): Likewise.
27957         * tests/test-strstr.c (main): Likewise.
27958         * tests/test-c-strcasestr.c (main): Likewise.
27959         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
27960         * doc/posix-functions/strstr.texi (strstr): Likewise.
27961         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
27962         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
27963
27964 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
27965
27966         parse-datetime: do some more renaming
27967         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
27968         parse_datetime, not get_date.  Mention the renaming.
27969         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
27970         in comments.
27971         * m4/bison.m4: Likewise.
27972
27973 2010-10-05  Eric Blake  <eblake@redhat.com>
27974
27975         parse-datetime: better name than get_date
27976         * NEWS: Reword the deprecation notice.
27977         * modules/get_date: Rename to modules/parse-datetime.
27978         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
27979         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
27980         * lib/get_date.y: Rename to lib/parse-datetime.y.
27981         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
27982         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
27983         * doc/getdate.texi: Provide fallback wrapper.
27984         * lib/getdate.h: Move guts, and wrap...
27985         * lib/parse-datetime.h: ...new file.
27986         * lib/parse-datetime.y (get_date): Rename...
27987         (parse_datetime): ...to this.
27988         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
27989         (gl_PARSE_DATETIME): ...to this.
27990         * doc/posix-functions/getdate.texi (get_date): Provide fallback
27991         documentation.
27992         * modules/getdate (Files): Provide fallback docs and header.
27993         (Notice, Depends-on): Update references.
27994         * tests/test-parse-datetime.c: Likewise.
27995         * DEPENDENCIES: Likewise.
27996         * MODULES.html.sh (Date and time <time.h>): Likewise.
27997         * doc/parse-datetime.texi (Date input formats)
27998         (Authors of parse_datetime): Likewise.
27999         * modules/parse-datetime (Files, configure.ac, Makefile.am)
28000         (Include): Likewise.
28001         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
28002         * gnulib-tool: Likewise.
28003         * m4/bison.m4 (gl_BISON): Likewise.
28004         Suggested by Bruno Haible.
28005
28006 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28007
28008         more ports to Solaris tr, which needs [] around ranges
28009         * gnulib-tool: Solaris tr needs [] around ranges.
28010         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28011         * tests/test-pipe-filter-gi1.c (main): Likewise.
28012         * tests/test-pipe-filter-ii1.c (main): Likewise.
28013
28014 2010-10-05  Eric Blake  <eblake@redhat.com>
28015
28016         bootstrap: fix Solaris regression
28017         * build-aux/bootstrap (check_versions): Solaris tr still needs []
28018         around ranges.
28019         Reported by Pádraig Brady.
28020
28021         bootstrap: work with pkg-config
28022         * build-aux/bootstrap (check_versions): Also transliterate - in
28023         prerequisite name.
28024         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
28025         prerequisites that were already found, to avoid confusion.
28026         Reported by Justin Clift.
28027
28028         faccessat: remove unused wrappers
28029         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
28030         presence of these wrappers dragged in -lgen on Solaris.
28031         Reported by Clemens Brogi; fix suggested by Paul Eggert.
28032
28033 2010-10-05  Jim Meyering  <meyering@redhat.com>
28034
28035         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
28036         * Makefile (sc_pragma_columns): New syntax-check rule.
28037
28038 2010-10-04  Bruno Haible  <bruno@clisp.org>
28039
28040         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
28041         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
28042         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
28043         Reported by Bruce Korb and Eric Blake.
28044
28045 2010-10-04  Bruno Haible  <bruno@clisp.org>
28046
28047         threadlib: Make option --with-libpth-prefix work.
28048         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
28049         use $LIBPTH, not just -lpth.
28050
28051 2010-10-04  Bruno Haible  <bruno@clisp.org>
28052
28053         Avoid line length limitation from HP NonStop system header files.
28054         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
28055         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
28056         * lib/ctype.in.h: Likewise.
28057         * lib/dirent.in.h: Likewise.
28058         * lib/errno.in.h: Likewise.
28059         * lib/fcntl.in.h: Likewise.
28060         * lib/float.in.h: Likewise.
28061         * lib/getopt.in.h: Likewise.
28062         * lib/iconv.in.h: Likewise.
28063         * lib/inttypes.in.h: Likewise.
28064         * lib/langinfo.in.h: Likewise.
28065         * lib/locale.in.h: Likewise.
28066         * lib/math.in.h: Likewise.
28067         * lib/netdb.in.h: Likewise.
28068         * lib/netinet_in.in.h: Likewise.
28069         * lib/poll.in.h: Likewise.
28070         * lib/pthread.in.h: Likewise.
28071         * lib/pty.in.h: Likewise.
28072         * lib/sched.in.h: Likewise.
28073         * lib/se-selinux.in.h: Likewise.
28074         * lib/search.in.h: Likewise.
28075         * lib/signal.in.h: Likewise.
28076         * lib/spawn.in.h: Likewise.
28077         * lib/stdarg.in.h: Likewise.
28078         * lib/stddef.in.h: Likewise.
28079         * lib/stdint.in.h: Likewise.
28080         * lib/stdio.in.h: Likewise.
28081         * lib/stdlib.in.h: Likewise.
28082         * lib/string.in.h: Likewise.
28083         * lib/strings.in.h: Likewise.
28084         * lib/sys_file.in.h: Likewise.
28085         * lib/sys_ioctl.in.h: Likewise.
28086         * lib/sys_select.in.h: Likewise.
28087         * lib/sys_socket.in.h: Likewise.
28088         * lib/sys_stat.in.h: Likewise.
28089         * lib/sys_time.in.h: Likewise.
28090         * lib/sys_times.in.h: Likewise.
28091         * lib/sys_utsname.in.h: Likewise.
28092         * lib/sys_wait.in.h: Likewise.
28093         * lib/sysexits.in.h: Likewise.
28094         * lib/termios.in.h: Likewise.
28095         * lib/time.in.h: Likewise.
28096         * lib/unistd.in.h: Likewise.
28097         * lib/wchar.in.h: Likewise.
28098         * lib/wctype.in.h: Likewise.
28099         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
28100         * modules/ctype (Makefile.am): Likewise.
28101         * modules/dirent (Makefile.am): Likewise.
28102         * modules/errno (Makefile.am): Likewise.
28103         * modules/fcntl-h (Makefile.am): Likewise.
28104         * modules/float (Makefile.am): Likewise.
28105         * modules/getopt-posix (Makefile.am): Likewise.
28106         * modules/iconv-h (Makefile.am): Likewise.
28107         * modules/inttypes (Makefile.am): Likewise.
28108         * modules/langinfo (Makefile.am): Likewise.
28109         * modules/locale (Makefile.am): Likewise.
28110         * modules/math (Makefile.am): Likewise.
28111         * modules/netdb (Makefile.am): Likewise.
28112         * modules/netinet_in (Makefile.am): Likewise.
28113         * modules/poll-h (Makefile.am): Likewise.
28114         * modules/pthread (Makefile.am): Likewise.
28115         * modules/pty (Makefile.am): Likewise.
28116         * modules/sched (Makefile.am): Likewise.
28117         * modules/search (Makefile.am): Likewise.
28118         * modules/selinux-h (Makefile.am): Likewise.
28119         * modules/signal (Makefile.am): Likewise.
28120         * modules/spawn (Makefile.am): Likewise.
28121         * modules/stdarg (Makefile.am): Likewise.
28122         * modules/stddef (Makefile.am): Likewise.
28123         * modules/stdint (Makefile.am): Likewise.
28124         * modules/stdio (Makefile.am): Likewise.
28125         * modules/stdlib (Makefile.am): Likewise.
28126         * modules/string (Makefile.am): Likewise.
28127         * modules/strings (Makefile.am): Likewise.
28128         * modules/sys_file (Makefile.am): Likewise.
28129         * modules/sys_ioctl (Makefile.am): Likewise.
28130         * modules/sys_select (Makefile.am): Likewise.
28131         * modules/sys_socket (Makefile.am): Likewise.
28132         * modules/sys_stat (Makefile.am): Likewise.
28133         * modules/sys_time (Makefile.am): Likewise.
28134         * modules/sys_times (Makefile.am): Likewise.
28135         * modules/sys_utsname (Makefile.am): Likewise.
28136         * modules/sys_wait (Makefile.am): Likewise.
28137         * modules/sysexits (Makefile.am): Likewise.
28138         * modules/termios (Makefile.am): Likewise.
28139         * modules/time (Makefile.am): Likewise.
28140         * modules/unistd (Makefile.am): Likewise.
28141         * modules/wchar (Makefile.am): Likewise.
28142         * modules/wctype (Makefile.am): Likewise.
28143
28144 2010-10-04  Bruno Haible  <bruno@clisp.org>
28145
28146         read-file tests: Avoid a test failure on NonStop Kernel.
28147         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
28148         a regular file.
28149         Reported by Joachim Schmitz <schmitz@hp.com>.
28150
28151 2010-10-03  Bruno Haible  <bruno@clisp.org>
28152
28153         gnulib-tool: Fixes for --create-testdir with --libtool.
28154         * gnulib-tool (func_get_automake_snippet): Don't augment
28155         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
28156         an executable.
28157         (func_create_testdir): Handle module 'alloca' like func_import.
28158         Reported by Bruce Korb <bruce.korb@gmail.com>.
28159
28160 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
28161
28162         Avoid some lines longer than 80 characters.
28163         * lib/stdint.in.h: Break long comment lines.
28164         * lib/math.in.h: Likewise.
28165         (_GL_NUM_UINT_WORDS): New macro, for readability.
28166         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
28167         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
28168         * lib/stdlib.in.h: Likewise.
28169         * lib/spawn.in.h: Likewise.
28170         * lib/sys_socket.in.h: Update an URL.
28171         * lib/sys_stat.in.h: Break long line.
28172
28173 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
28174
28175         Improve pmccabe2html.
28176         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
28177         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
28178         when the sources change. Remove the line in the HTML about "Used
28179         ranges" (which implied that there might be other unused ranges),
28180         rename "Resume" to "Summary" (easier to understand for more users).
28181         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
28182         styles, and some unnecessary blank lines.
28183
28184 2010-10-03  Bruno Haible  <bruno@clisp.org>
28185             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
28186
28187         acl: Add support for ACLs on NonStop Kernel.
28188         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
28189         Check whether the function aclsort() exists.
28190         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
28191         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
28192         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
28193         (acl_nontrivial [HAVE_ACLSORT]: New function.
28194         (file_has_acl): Implement for NonStop Kernel.
28195         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
28196         (qset_acl): Implement for NonStop Kernel.
28197         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
28198         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
28199         (main): Implement for NonStop Kernel.
28200         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
28201         Kernel. Handle this flavor.
28202         * tests/test-set-mode-acl.sh: Likewise.
28203         * tests/test-copy-acl.sh: Likewise.
28204         * tests/test-copy-file.sh: Likewise.
28205
28206 2010-10-03  Bruno Haible  <bruno@clisp.org>
28207
28208         Info about ACLs on NonStop Kernel.
28209         * doc/acl-resources.txt: Add info about NonStop Kernel.
28210         References by Joachim Schmitz <schmitz@hp.com>.
28211
28212 2010-10-02  Bruno Haible  <bruno@clisp.org>
28213
28214         Define missing EDQUOT on NonStop Kernel.
28215         * lib/errno.in.h (EDQUOT): Assign a value if missing.
28216         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
28217         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
28218         missing.
28219         * doc/posix-headers/errno.texi: Mention the NSK bug.
28220         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
28221         Reported by Joachim Schmitz <schmitz@hp.com>.
28222
28223 2010-10-02  Bruno Haible  <bruno@clisp.org>
28224
28225         Update doc for POSIX:2008.
28226         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
28227         Update URL of POSIX specification.
28228
28229 2010-10-02  Bruno Haible  <bruno@clisp.org>
28230
28231         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
28232         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
28233         from gnulib, not from Automake.
28234
28235 2010-10-02  Bruno Haible  <bruno@clisp.org>
28236
28237         New module 'system-posix'.
28238         * modules/system-posix: New file.
28239         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
28240         module is present.
28241         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
28242         GNULIB_SYSTEM_POSIX.
28243         * modules/stdlib (Depends-on): Remove sys_wait.
28244         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
28245         * doc/posix-functions/system.texi: Mention the new module.
28246         * doc/posix-headers/stdlib.texi: Likewise.
28247         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
28248         define test_sys_wait_macros to a no-op.
28249         Reported by Sam Steingold <sds@gnu.org>.
28250
28251 2010-09-30  Bruno Haible  <bruno@clisp.org>
28252
28253         More renaming from 'getdate' to 'get_date'.
28254         * doc/get_date.texi: Renamed from doc/getdate.texi.
28255         * modules/get_date (Files): Update.
28256         * MODULES.html.sh (Date and time <time.h>): Update.
28257         * DEPENDENCIES: Update.
28258         * gnulib-tool: Update comment.
28259         * m4/bison.m4 (gl_BISON): Likewise.
28260         * m4/get_date.m4 (gl_GET_DATE): Likewise.
28261
28262 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
28263
28264         bootstrap: support ACLOCAL_FLAGS during aclocal
28265         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
28266         can add additional -I dir for third-party .m4 files.
28267
28268 2010-09-30  Eric Blake  <eblake@redhat.com>
28269
28270         bootstrap: use glibtoolize on MacOS
28271         * build-aux/bootstrap (check_versions): Convert libtool into
28272         libtoolize.
28273         (tool search): Move libtool check earlier, and look for
28274         glibtoolize for MacOS.
28275         (gnulib_tool_options): Auto-add --libtool when appropriate.
28276         Reported by Justin Clift.
28277
28278         poll: fix typo that broke test on MacOS
28279         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
28280         Reported by Justin Clift.
28281
28282         getdate: rename to get_date
28283         Note: getdate.h is not renamed, to minimize client impact.
28284         * modules/getdate: Mark obsolete.  Move old contents...
28285         * modules/get_date: ...to new module name.
28286         * modules/getdate-tests: Move...
28287         * modules/get_date-tests: ...here.
28288         * m4/getdate.m4: Move...
28289         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
28290         * lib/getdate.y: Move...
28291         * lib/get_date.y: ...here.
28292         * tests/test-getdate.c: Move...
28293         * tests/test-get_date.c: ...here.
28294         * doc/posix-functions/getdate.texi (getdate): Update name.
28295         * NEWS: Mention the change.
28296
28297 2010-09-29  Bruno Haible  <bruno@clisp.org>
28298
28299         Separate the module 'waitpid' from the module 'sys_wait'.
28300         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
28301         present.
28302         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
28303         gl_MODULE_INDICATOR_FOR_TESTS.
28304         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
28305         * modules/sys_wait (Depends-on): Remove waitpid.
28306         (Makefile.am): Substitute GNULIB_WAITPID.
28307         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
28308         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
28309         signature only if the 'waitpid' module is present.
28310         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
28311         * NEWS: Mention the change.
28312         * modules/grantpt (Depends-on): Add waitpid.
28313         * modules/wait-process (Depends-on): Likewise.
28314
28315 2010-09-29  Bruno Haible  <bruno@clisp.org>
28316
28317         More tests for module 'sys_wait'.
28318         * modules/sys_wait-c++-tests: New file.
28319         * tests/test-sys_wait-c++.cc: New file.
28320         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
28321         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
28322
28323 2010-09-29  Bruno Haible  <bruno@clisp.org>
28324
28325         New module 'waitpid'.
28326         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
28327         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
28328         Don't include <process.h>.
28329         (waitpid): Declare only, using modern idiom.
28330         * m4/waitpid.m4: New file.
28331         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
28332         * modules/waitpid: New file.
28333         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
28334         (Makefile.am): Update.
28335         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
28336
28337 2010-09-28  Bruno Haible  <bruno@clisp.org>
28338
28339         poll: Assume ANSI C.
28340         * lib/poll.c (poll): Use an ANSI C declaration.
28341
28342 2010-09-28  Bruno Haible  <bruno@clisp.org>
28343
28344         poll-h: Create poll.h on all platforms.
28345         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
28346         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
28347         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
28348         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
28349         (gl_REPLACE_POLL_H): Don't set POLL_H.
28350         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
28351         * modules/poll-h (Depends-on): Add include_next.
28352         (Makefile.am): Create poll.h unconditionally. Substitute also
28353         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
28354
28355 2010-09-28  Bruno Haible  <bruno@clisp.org>
28356
28357         Tests for module 'poll-h'.
28358         * modules/poll-h-c++-tests: New file.
28359         * tests/test-poll-h-c++.cc: New file.
28360
28361         Tests for module 'poll-h'.
28362         * modules/poll-h-tests: New file.
28363         * tests/test-poll-h.c: New file.
28364
28365 2010-09-28  Bruno Haible  <bruno@clisp.org>
28366
28367         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
28368         * modules/poll-h (Depends-on): Add 'extensions'.
28369
28370 2010-09-28  Bruno Haible  <bruno@clisp.org>
28371
28372         New module 'poll-h'.
28373         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
28374         (poll): Use modern idiom.
28375         * modules/poll-h: New file.
28376         * modules/poll (Files): Remove lib/poll.in.h.
28377         (Depends-on): Add poll-h.
28378         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
28379         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
28380         * m4/poll_h.m4: New file.
28381         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
28382         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
28383         and invoke gl_REPLACE_POLL_H.
28384         * lib/poll.c: Use common idiom.
28385         * tests/test-poll.c: Likewise.
28386         * doc/posix-headers/poll.texi: Mention the poll-h module.
28387         Suggested by Eric Blake.
28388
28389 2010-09-26  Bruno Haible  <bruno@clisp.org>
28390
28391         sys_wait: Implement WSTOPSIG.
28392         * lib/sys_wait.in.h (WSTOPSIG): New macro.
28393         Reported by Simon Josefsson.
28394
28395 2010-09-26  Simon Josefsson  <simon@josefsson.org>
28396
28397         stdlib, sys_wait: Avoid compilation error on mingw.
28398         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
28399
28400 2010-09-26  Bruno Haible  <bruno@clisp.org>
28401
28402         stdlib tests: Avoid code duplication.
28403         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
28404         * modules/sys_wait-tests (Files): Likewise.
28405         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
28406         * tests/test-stdlib.c: Include test-sys_wait.h.
28407         (main): Invoke test_sys_wait_macros.
28408         * tests/test-sys_wait.c: Include test-sys_wait.h.
28409         (main): Invoke test_sys_wait_macros.
28410
28411 2010-09-25  Simon Josefsson  <simon@josefsson.org>
28412
28413         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
28414         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
28415         sure Windows sockets are working before calling getaddrinfo.
28416         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
28417         * doc/gnulib.texi (Windows sockets): Fix typo.
28418
28419 2010-09-25  Bruno Haible  <bruno@clisp.org>
28420
28421         Tests for module 'regex-quote'.
28422         * modules/regex-quote-tests: New file.
28423         * tests/test-regex-quote.c: New file.
28424
28425         New module 'regex-quote'.
28426         * lib/regex-quote.h: New file.
28427         * lib/regex-quote.c: New file.
28428         * modules/regex-quote: New file.
28429         Suggested by Reuben Thomas <rrt@sc3d.org>.
28430
28431 2010-09-24  Bruno Haible  <bruno@clisp.org>
28432
28433         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
28434         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
28435
28436 2010-09-23  Bruno Haible  <bruno@clisp.org>
28437
28438         setenv: Relax license.
28439         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
28440         Blake.
28441         Requested by Eric Blake.
28442
28443 2010-09-22  Bruno Haible  <bruno@clisp.org>
28444
28445         termios: Relax license.
28446         * modules/termios (License): Change to LGPLv2+.
28447         Requested by Eric Blake.
28448
28449 2010-09-22  Bruno Haible  <bruno@clisp.org>
28450
28451         threadlib: Allow the package to change the default to 'no'.
28452         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
28453         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
28454         Reported by Paul Eggert.
28455
28456 2010-09-22  Pádraig Brady  <P@draigbrady.com>
28457             Bruno Haible  <bruno@clisp.org>
28458
28459         Fix endless loop in mbmemcasecoll.
28460         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
28461         byte.
28462         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
28463
28464 2010-09-22  Bruno Haible  <bruno@clisp.org>
28465
28466         Tests for module 'memcoll'.
28467         * modules/memcoll-tests: New file.
28468         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
28469
28470         memcoll, xmemcoll: Clarify size vs. length.
28471         * modules/memcoll.c (memcoll0): Clarify specification.
28472         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
28473         passed to collate_error.
28474
28475 2010-09-22  Bruno Haible  <bruno@clisp.org>
28476
28477         Tests for module 'memcasecmp'.
28478         * modules/memcasecmp-tests: New file.
28479         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
28480
28481 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
28482
28483         * lib/pthread.in.h: Add split double-inclusion guard, and include
28484         system <pthread.h> if there is one.  Use @@-style as in other
28485         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
28486         pthread.h doesn't.
28487         (pthread_mutexattr_destroy, pthread_mutexattr_init):
28488         (pthread_mutexattr_settype, pthread_mutex_trylock):
28489         New static inline functions, if there's no system <pthread.h>.
28490         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
28491         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
28492         Approximate with mutexes if the system lacks spinlocks, as in
28493         MacOS.
28494         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
28495         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
28496         @@-style.  Check for spinlocks separately.
28497         (gl_PTHREAD_DEFAULTS): New macro.
28498         * modules/pthread: Redo to use a more typical style for in.h files.
28499
28500 2010-09-21  Eric Blake  <eblake@redhat.com>
28501
28502         net_if: enhance tests
28503         * tests/test-net_if.c (main): Move signature checks earlier.
28504         Print failures to stderr.
28505         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
28506         Document the bug that we do not yet fix.
28507
28508 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
28509
28510         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
28511         about gnulib, not GSS.
28512
28513 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
28514
28515         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
28516         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
28517         for Emacs.
28518         * build-aux/pmccabe2html: Make Makefile.am example code more
28519         cut-and-paste friendly.
28520
28521 2010-09-21  Simon Josefsson  <simon@josefsson.org>
28522
28523         * tests/test-net_if.c: New file.
28524         * modules/net_if-tests: New file.
28525
28526 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
28527
28528         pthread: add pthread_spin_destroy
28529         * lib/pthread.in.h (pthread_spin_destroy): New function.
28530
28531 2010-09-19  Bruno Haible  <bruno@clisp.org>
28532
28533         gnulib-tool: Fix --help output.
28534         * gnulib-tool (func_usage): Fix help message.
28535         Reported by Reuben Thomas <rrt@sc3d.org>.
28536
28537 2010-09-18  Jim Meyering  <meyering@redhat.com>
28538
28539         maint.mk: avoid unexpanded \n in two diagnostics
28540         * top/maint.mk (sc_prohibit_always_true_header_tests):
28541         Don't use a literal \n in a halt=... assignment.  It would not be
28542         expanded, and the two \n bytes would appear in the diagnostic output
28543         rather than the desired newline.  Use halt=$$(printf ... instead.
28544         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
28545
28546 2010-09-18  Bruno Haible  <bruno@clisp.org>
28547
28548         netinet_in: Doc tweak.
28549         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
28550         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28551
28552 2010-09-18  Jim Meyering  <meyering@redhat.com>
28553
28554         init.sh: correct an outdated comment
28555         * tests/init.sh (create_exe_shims_):  s/function/alias/
28556
28557         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
28558         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
28559         a file named "*.exe" is removed between the glob expansion and the
28560         processing of that oddly named file.
28561
28562 2010-09-17  Eric Blake  <eblake@redhat.com>
28563
28564         mirbsd: add some more support
28565         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
28566         in BSD family.
28567         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
28568         devices as OpenBSD.
28569         * m4/host-os.m4 (mirbsd): Add MirBSD.
28570
28571         tests: fix unportable assumption on sys/wait.h
28572         * tests/test-sys_wait.c (main): Relax test.
28573         * tests/test-stdlib.c (main): Likewise.
28574
28575         init.sh: accommodate directory with no .exes
28576         * tests/init.sh: Accomodate directory containing only scripts.
28577
28578         tests: avoid compiler warning
28579         * tests/test-stdlib.c (main): Use the variable.
28580
28581         fdutimens, fdutimensat: update signature, again
28582         * lib/utimens.h (gl_futimens): Delete, and move signature...
28583         (fdutimens): ...here.
28584         (fdutimensat): Rearrange signature.
28585         (lutimensat): Rename variable for clarity.
28586         * lib/fdutimensat.c (fdutimensat): Update signature.
28587         * lib/utimens.c (fdutimens): Likewise.
28588         (gl_futimens): Delete.
28589         (utimens, lutimens): Update callers.
28590         * lib/futimens.c (futimens): Likewise.
28591         * tests/test-fdutimensat.c: Likewise.
28592         * tests/test-utimens.c: Likewise.
28593         * tests/test-futimens.h: Update comment.
28594         * NEWS: Mention this.
28595         Suggested by Paul Eggert.
28596
28597 2010-09-17  Bruno Haible  <bruno@clisp.org>
28598
28599         Take over the maintenance of some older macros from Autoconf.
28600         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
28601         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
28602         GNU Autoconf.
28603         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
28604         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
28605
28606 2010-09-17  Eric Blake  <eblake@redhat.com>
28607
28608         fdutimensat: drop atflag validation
28609         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
28610         with valid fd, to close a race scenario where futimens is
28611         unsupported and FILE was replaced by a symlink.
28612         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
28613         accordingly.
28614         Suggested by Paul Eggert.
28615
28616 2010-09-16  Bruno Haible  <bruno@clisp.org>
28617
28618         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
28619         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
28620
28621 2010-09-16  Bruno Haible  <bruno@clisp.org>
28622
28623         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
28624         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
28625         login_tty exists.
28626         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28627
28628 2010-09-16  Bruno Haible  <bruno@clisp.org>
28629
28630         login_tty: Make the replacement code work on BSD systems.
28631         * lib/login_tty.c: Include <sys/ioctl.h>.
28632         (login_tty): Use ioctl TIOCSCTTY when available.
28633         * modules/login_tty (Depends-on): Add sys_ioctl.
28634         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28635
28636 2010-09-16  Bruno Haible  <bruno@clisp.org>
28637
28638         login_tty: Stricter unit test.
28639         * modules/login_tty-tests (Depends-on): Add tcgetsid.
28640         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
28641         and tcgetsid() after login_tty.
28642         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28643
28644 2010-09-16  Bruno Haible  <bruno@clisp.org>
28645
28646         New module 'tcgetsid'.
28647         * lib/tcgetsid.c: New file.
28648         * m4/tcgetsid.m4: New file.
28649         * modules/tcgetsid: New file.
28650         * modules/termios (Depends-on): Add c++defs, warn-on-use.
28651         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
28652         GNULIB_TCGETSID, HAVE_TCGETSID.
28653         * lib/termios.in.h: Include <sys/types.h>.
28654         (tcgetsid): New declaration.
28655         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
28656         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
28657         * doc/posix-functions/tcgetsid.texi: Mention the new module.
28658         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
28659
28660 2010-09-16  Bruno Haible  <bruno@clisp.org>
28661
28662         Tests for module 'termios'.
28663         * modules/termios-c++-tests: New file.
28664         * modules/termios-tests: New file.
28665         * tests/test-termios-c++.cc: New file.
28666         * tests/test-termios.c: New file.
28667
28668         New module 'termios'.
28669         * modules/termios: New file.
28670         * lib/termios.in.h: New file.
28671         * m4/termios_h.m4: New file.
28672         * doc/posix-headers/termios.texi: Mention the new module.
28673
28674 2010-09-16  Eric Blake  <eblake@redhat.com>
28675
28676         fdutimensat: add an atflag parameter
28677         * lib/fdutimensat.c (fdutimensat): Add new parameter.
28678         * lib/utimens.h (fdutimensat): Update prototype.
28679         * tests/test-fdutimensat.c: Adjust test to match.
28680         * NEWS: Document the change.
28681         Suggested by Paul Eggert.
28682
28683 2010-09-16  Bruno Haible  <bruno@clisp.org>
28684
28685         Fix typos in comments.
28686         * lib/striconveh.h: Fix typo in comment.
28687         * lib/login_tty.c (login_tty): Likewise.
28688
28689 2010-09-15  Bruno Haible  <bruno@clisp.org>
28690
28691         stdlib: clarify MirBSD WEXITSTATUS bug
28692         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
28693         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
28694
28695 2010-09-15  Eric Blake  <eblake@redhat.com>
28696
28697         stdlib: work around MirBSD WEXITSTATUS bug
28698         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
28699         * modules/stdlib (Depends-on): Add sys_wait.
28700         * tests/test-sys_wait.c (main): Enhance test.
28701         * tests/test-stdlib.c (main): Likewise.
28702         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
28703
28704         docs: mention MacOS issue with WEXITSTATUS(constant)
28705         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
28706         issue.
28707         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
28708
28709         strnlen: add tests
28710         * modules/strnlen-tests: New file.
28711         * tests/test-strnlen.c: Likewise.
28712
28713 2010-09-14  Bruno Haible  <bruno@clisp.org>
28714
28715         unistr/base: Avoid link errors when module 'libunistring' is also used.
28716         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
28717         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
28718         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
28719         Declare also when HAVE_LIBUNISTRING is set.
28720         Reported by Pádraig Brady <P@draigbrady.com>.
28721
28722 2010-09-14  Eric Blake  <eblake@redhat.com>
28723
28724         test-rawmemchr: make more robust
28725         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
28726         (Depends-on, configure.ac): Add needed prerequisites to use it.
28727         * modules/memchr-tests (Files, Depends-on, configure.ac):
28728         Likewise, to avoid implicit reliance on memchr module prereqs.
28729         * tests/test-memchr.c (main): Ensure proper masking.
28730         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
28731         reads.
28732
28733         memchr: detect glibc Alpha bug
28734         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
28735         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
28736         Alpha.
28737         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
28738         * tests/test-memchr.c (main): Enhance test.
28739         Reported by Nelson H. F. Beebe.
28740
28741 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
28742
28743         fts, getcwd, glob: audit for dirfd returning -1
28744         * lib/fts.c (opendir): Remove #define; no longer used.
28745         (opendirat): New arg PDIR_FD.  All callers changed.
28746         (fts_build, _opendir2): Use new opendirat to avoid the need for
28747         dirfd, or for checking whether dirfd returns a negative value.
28748         Don't use opendir; always use openat followed by fdopendir.
28749         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
28750         it.
28751         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
28752         returns -1 here.
28753         * modules/fts (Depends-on): Remove dirfd.
28754         * modules/getcwd (Depends-on): Likewise.
28755
28756 2010-09-13  Eric Blake  <eblake@redhat.com>
28757
28758         float: fix broken MirBSD header
28759         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
28760         * doc/posix-headers/float.texi (float.h): Document it.
28761
28762 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
28763
28764         fts: use O_NOFOLLOW to avoid race condition when opening a directory
28765         * lib/fts.c (opendirat): New arg extra_flags.
28766         (__opendir2): Use it to avoid following symlinks when opening
28767         a directory, if symlinks are not supposed to be followed.  See
28768         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
28769
28770         fdopendir: preserve argument fd before returning
28771         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
28772         (fdopendir_with_dup, fd_clone_opendir): New static functions.
28773         (fdopendir): Use them, arranging for FD to be open to the same
28774         directory that it was when it started.  (It might be temporarily
28775         closed while fdopendir is running, so this not thread- or
28776         signal-safe.)  Be careful to do the right thing even when file
28777         descriptors are scarce and dup fails with errno == EMFILE.  See
28778         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
28779
28780 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
28781
28782         regex: Pass the system regex if its only problem is 32-bit regoff_t.
28783         * NEWS: Document change.
28784         * m4/regex.m4: Disable test for regoff_t size.
28785
28786 2010-09-13  Jim Meyering  <meyering@redhat.com>
28787
28788         fts: don't operate on an invalid file descriptor after failed dup
28789         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
28790         negative file descriptor.
28791
28792 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
28793
28794         savedir: add streamsavedir, deprecate fdsavedir
28795         * NEWS: Mention deprecation of fdsavedir.
28796         * lib/savedir.c (streamsavedir): New extern function, whose name
28797         ends in "savedir" to be consistent with the others.  This differs
28798         from savedirstream in that it doesn't close its argument.  The
28799         next version of GNU tar will use this instead of fdsavedir, to
28800         avoid some race conditions and conserve file descriptors.
28801         (savedirstream): Reimplement as a wrapper around streamsavedir.
28802         (fdsavedir): Add a comment deprecating this function.  As far as
28803         I know, only GNU tar used it, and GNU tar doesn't need it any more.
28804         * lib/savedir.h (streamsavedir): New decl.
28805         (fdsavedir): Add a comment deprecating this.
28806
28807 2010-09-10  Bruno Haible  <bruno@clisp.org>
28808
28809         langinfo: Fix last commit.
28810         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
28811         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
28812         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28813
28814 2010-09-10  Bruno Haible  <bruno@clisp.org>
28815
28816         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
28817         * lib/progreloc.c (O_EXEC): Define fallback.
28818
28819 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
28820
28821         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
28822         * NEWS: Document recent changes to fcntl-h.
28823         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
28824         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
28825         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
28826         Similarly for O_SEARCH; this last was already true, but not documented.
28827         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
28828         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
28829         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
28830         Likewise.
28831         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
28832         is zero, not whether it is defined.
28833         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
28834         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
28835         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
28836
28837 2010-09-10  Bruno Haible  <bruno@clisp.org>
28838
28839         langinfo, nl_langinfo: Fix for IRIX 5.3.
28840         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
28841         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
28842         HAVE_LANGINFO_YESEXPR.
28843         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
28844         HAVE_LANGINFO_YESEXPR.
28845         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
28846         HAVE_LANGINFO_T_FMT_AMPM is 0.
28847         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
28848         HAVE_LANGINFO_YESEXPR is 0.
28849         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
28850         NOEXPR.
28851         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
28852         * doc/posix-functions/nl_langinfo.texi: Likewise.
28853         Reported by Eric Blake.
28854
28855 2010-09-10  Bruno Haible  <bruno@clisp.org>
28856
28857         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
28858         * doc/glibc-functions/login_tty.texi: Mention the include file problem
28859         on FreeBSD 8.0 and OpenBSD 4.6.
28860         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
28861         * m4/pty_h.m4 (gl_PTY_H): Likewise.
28862         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
28863         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
28864         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
28865         ac_includes_default.
28866         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
28867
28868 2010-09-09  Eric Blake  <eblake@redhat.com>
28869
28870         strsignal: work around NetBSD bug
28871         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
28872         * lib/string.in.h (includes): Likewise.
28873         * doc/posix-functions/strsignal.texi (strsignal): Document the
28874         bug.
28875         Reported by Nelson H. F. Beebe.
28876
28877         gnulib-tool: work with NetBSD /bin/sh
28878         * gnulib-tool (func_cache_var, func_cache_lookup_module)
28879         (func_get_description, func_get_comment, func_get_status)
28880         (func_get_notice, func_get_applicability, func_get_filelist)
28881         (func_get_dependencies, func_get_autoconf_early_snippet)
28882         (func_get_autoconf_snippet, func_get_automake_snippet)
28883         (func_get_include_directive, func_get_link_directive)
28884         (func_get_license, func_get_maintainer, func_import): Avoid
28885         shell syntax errors from parsing syntax extensions.
28886
28887 2010-09-09  Bruno Haible  <bruno@clisp.org>
28888
28889         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
28890         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
28891         a reliable way to determine whether the 'alias' command works.
28892
28893 2010-09-08  Jim Meyering  <meyering@redhat.com>
28894
28895         init.sh: penalize a set-x-impaired shell; don't disqualify it
28896         * tests/init.sh: Too many shells corrupt application stderr when
28897         you set -x, so we can't afford to disqualify them, since at least
28898         on Irix-6.5, that would disqualify all bourne shells.
28899         Instead, use a two-pass approach.
28900         On the first pass, try to find a shell that meets the stricter
28901         condition that set -x does not corrupt stderr.
28902         If no shell meets the stricter condition, retest each candidate
28903         shell, but without that extra condition.  Finally, when
28904         VERBOSE=yes is requested and set -x might cause trouble, simply
28905         issue a warning and refrain from enabling debug output.
28906
28907 2010-09-08  Eric Blake  <eblake@redhat.com>
28908
28909         unsetenv: fix OpenBSD bug
28910         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
28911         * doc/posix-functions/unsetenv.texi (unsetenv): Update
28912         documentation.
28913         Reported by Jim Meyering.
28914
28915         strtod: work around IRIX 6.5 bug
28916         * lib/strtod.c (strtod): Reparse number on shorter string if
28917         exponent parse was invalid.
28918         * tests/test-strtod.c (main): Add check for "0x1p 2".
28919         Reported by Tom G. Christensen.
28920
28921         getopt: optimize previous patch
28922         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
28923         empty variable.  Speed up awk script.
28924         Reported by Paolo Bonzini.
28925
28926 2010-09-08  Jim Meyering  <meyering@redhat.com>
28927
28928         test.sh: disqualify shells for which set -x corrupts stderr
28929         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
28930         and OpenBSD 4.7.  They make it so with "set -x", environment settings
28931         appear in stderr output.  For example, this command:
28932             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
28933         prints "P=1" on those two systems:
28934
28935 2010-09-08  Bruno Haible  <bruno@clisp.org>
28936
28937         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
28938         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
28939         commands, because some shells ignore redirections when there is an
28940         error in the command lookup.
28941         Reported by Eric Blake.
28942
28943 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
28944
28945         * lib/regex.h: Fix a mention of `regex_compile' (should be
28946         `re_compile_pattern').
28947         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
28948         (re_set_registers): Correct name of parameter in comment.
28949
28950         * doc/regex.texi: Add documentation for missing syntax flags.
28951         Remove commented-out documentation of defunct syntax option
28952         RE_NO_EMPTY_ALTS.
28953         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
28954         Add documentation of re_set_registers.
28955         Document trick to re-use a pattern buffer by setting fastmap manually.
28956         Update documentation of struct re_pattern_buffer per public members.
28957         Uncomment documentation of equivalence class operators and
28958         collating symbol operators, since they are now implemented,
28959         Explain leftmost-longest matching in relation to alternatives.
28960         Tidy documentation of substring matching.
28961         Remove POSIX documentation, which is done better in
28962         glibc, and refer the reader there. Keep BSD API documentation, as
28963         that is not readily available elsewhere.
28964
28965 2010-09-07  Eric Blake  <eblake@redhat.com>
28966
28967         getopt: handle POSIXLY_CORRECT set but not exported
28968         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
28969         export state of POSIXLY_CORRECT, due to bash set -o posix.
28970         Reported by Dustin J. Mitchell.
28971
28972 2010-09-05  Bruno Haible  <bruno@clisp.org>
28973
28974         gnulib-tool: Highlight the changed options.
28975         * gnulib-tool (func_usage): Display the --import, --add-import,
28976         --remove-import explanations in bold font.
28977
28978 2010-09-06  Karl Berry  <karl@gnu.org>
28979
28980         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
28981
28982 2010-09-05  Bruno Haible  <bruno@clisp.org>
28983
28984         uniwidth/width: Update comment.
28985         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
28986         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
28987
28988 2010-09-05  Bruno Haible  <bruno@clisp.org>
28989
28990         isinf, isnan: Relax license.
28991         * modules/isinf (License): Change from GPL to LGPL, with consent from
28992         Ben Pfaff.
28993         * modules/isnan (License): Likewise.
28994         Requested by Ludovic Courtès.
28995
28996 2010-09-04  Bruno Haible  <bruno@clisp.org>
28997
28998         gnulib-tool: Help migration from --import to --add-import or --update.
28999         * gnulib-tool: Emit a verbose error message when --import is used
29000         without any module name.
29001
29002 2010-09-04  Bruno Haible  <bruno@clisp.org>
29003
29004         Update doc about gnulib-tool.
29005         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
29006         'gnulib-tool --update' in more detail.
29007         Reported by Eric Blake.
29008
29009 2010-09-04  Bruno Haible  <bruno@clisp.org>
29010
29011         gnulib-tool: Change --import. New options --add/remove-import.
29012         * gnulib-tool: New options --add-import, --remove-import.
29013         (func_usage): Document them.
29014         (have_associative): Define always.
29015         (func_import): In import mode, don't merge the specified settings with
29016         the cached settings. Implement remove-import mode.
29017         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
29018         Explain when to use them versus --import.
29019         (Simple update): Use --add-import instead of --import.
29020         * NEWS: Mention the change.
29021
29022 2010-09-04  Bruno Haible  <bruno@clisp.org>
29023
29024         * doc/gnulib-tool.texi (Initial import): Update paragraph about
29025         separate gnulib.mk.
29026
29027 2010-09-04  Bruno Haible  <bruno@clisp.org>
29028
29029         gnulib-tool: Don't talk about CVS any more.
29030         * gnulib-tool (func_usage, func_import): Write "version control"
29031         instead of CVS.
29032
29033 2010-09-04  Jim Meyering  <meyering@redhat.com>
29034
29035         maint.mk: avoid obscure sc_copyright_check failure in coreutils
29036         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
29037         false positives (whose names may be ill-chosen) when searching
29038         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
29039         would cause a false-positive.
29040
29041         avoid coreutils "make distcheck" failure
29042         Coreutils tests with an absolute build directory name that contains
29043         a space.  Not quoting this directory name caused a failure.
29044         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
29045         * tests/test-vc-list-files-cvs.sh: Likewise.
29046
29047 2010-09-04  Bruno Haible  <bruno@clisp.org>
29048
29049         gnulib-tool: Avoid error when run in a package without Makefile.am.
29050         * gnulib-tool: When collecting the m4dirs in a package that does not
29051         have a Makefile.am, eliminate those directories that contain no
29052         gnulib-cache.m4. Fix expression that counts these directories.
29053
29054 2010-09-04  Bruno Haible  <bruno@clisp.org>
29055
29056         update-copyright test: Improve output when perl is missing or too old.
29057         * tests/test-update-copyright.sh: Move test of Perl version down after
29058         the test whether Perl exists. Provide an explanation relating Perl's
29059         error message to Automake's SKIP: message.
29060
29061 2010-09-04  Bruno Haible  <bruno@clisp.org>
29062
29063         Don't augment PATH in TESTS_ENVIRONMENT.
29064         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
29065         set abs_aux_dir instead of augmenting PATH.
29066         * modules/vc-list-files-tests (Makefile.am): Likewise.
29067         * tests/test-update-copyright.sh: Augment PATH here.
29068         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
29069         path_prepend_.
29070         * tests/test-vc-list-files-git.sh: Likewise.
29071
29072 2010-09-04  Jim Meyering  <meyering@redhat.com>
29073
29074         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
29075         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
29076
29077 2010-09-04  Bruno Haible  <bruno@clisp.org>
29078
29079         strdup: Fix compilation error in C++ mode.
29080         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
29081         the macro.
29082
29083 2010-09-04  Bruno Haible  <bruno@clisp.org>
29084
29085         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
29086         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
29087         macro into a function.
29088         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
29089
29090 2010-09-04  Bruno Haible  <bruno@clisp.org>
29091
29092         Set PATH_SEPARATOR the same way autoconf does.
29093         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
29094         the value of PATH_SEPARATOR the same way autoconf-generated configure
29095         scripts do.
29096         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
29097         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
29098
29099 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
29100
29101         Set PATH_SEPARATOR the same way autoconf does.
29102         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
29103         the same way autoconf-generated configure scripts do.
29104         * posix-modules: Likewise.
29105
29106 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
29107
29108         hash: fix safe_hasher const typo
29109         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
29110         const; otherwise, there is a type error later.
29111
29112 2010-09-02  Jim Meyering  <meyering@redhat.com>
29113
29114         test-update-copyright.sh: require perl 5.8.0
29115         * tests/test-update-copyright.sh: Require 5.8.0,
29116         which Tom G. Christensen has confirmed is adequate,
29117         while 5.6.1 is not.
29118
29119 2010-09-02  Eric Blake  <eblake@redhat.com>
29120
29121         tests: init.sh improvements for re-exec'ing with zsh
29122         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
29123         -vx through shell re-exec.
29124         Reported by Tom G. Christensen.
29125
29126         wctype: fix typo in previous commit
29127         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
29128         Reported by Ludovic Courtès.
29129
29130 2010-09-02  Jim Meyering  <meyering@redhat.com>
29131
29132         test-update-copyright.sh: skip test if Perl is too old
29133         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
29134         Reported by Tom G. Christensen.
29135
29136 2010-09-02  Bruno Haible  <bruno@clisp.org>
29137
29138         wctype: Avoid compilation error on IRIX 6.5.30.
29139         * lib/wctype.in.h (iswblank): Declare with a replacement if
29140         REPLACE_ISWBLANK is set.
29141         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
29142         declared. Set REPLACE_ISWBLANK.
29143         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
29144         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
29145         * doc/posix-headers/wctype.texi: Likewise.
29146         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29147
29148 2010-09-01  Bruno Haible  <bruno@clisp.org>
29149
29150         New module 'socketlib'.
29151         * modules/socketlib: New file.
29152         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
29153         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
29154         * modules/sockets (Depends-on): Add socketlib.
29155         Suggested by Sam Steingold <sds@gnu.org>.
29156
29157 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
29158
29159         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
29160
29161         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
29162         when one needs search access to a directory but not read access.
29163         On systems where it is available, it works in some cases where
29164         O_RDONLY does not, namely on directories that are searchable but
29165         not readable, and which need only to be searchable.  If O_SEARCH
29166         is not available, fall back to the traditional method of using
29167         O_RDONLY.
29168
29169         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
29170         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
29171         when opening a directory that needs only to be searchable.
29172         * lib/chdir-safer.c (chdir_no_follow): Likewise.
29173         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
29174         * lib/openat-proc.c (openat_proc_name): Likewise.
29175         * lib/openat.c (openat_needs_fchdir): Likewise.
29176         * lib/save-cwd.c (save_cwd): Likewise.
29177         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
29178
29179 2010-08-28  Bruno Haible  <bruno@clisp.org>
29180
29181         New module 'host-cpu-c-abi'.
29182         * modules/host-cpu-c-abi: New file.
29183         * m4/host-cpu-c-abi.m4: New file, based on part of
29184         clisp/src/m4/general.m4.
29185         Requested by Sam Steingold <sds@gnu.org>.
29186
29187 2010-08-31  Eric Blake  <eblake@redhat.com>
29188         and Jim Meyering  <meyering@redhat.com>
29189
29190         hash: factor, and guard against misbehaving hasher function
29191         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
29192         of table->hasher's return value.  Also protect against a hash value
29193         so large that adding it to table->bucket results in a NULL pointer.
29194         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
29195         Use it in place of open-coded check-and-abort.
29196
29197 2010-08-30  Bruno Haible  <bruno@clisp.org>
29198
29199         hash: silence spurious clang warning
29200         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
29201         Reported by Eric Blake.
29202
29203 2010-08-30  Eric Blake  <eblake@redhat.com>
29204
29205         strstr, memmem, strcasestr: avoid leaked shell message
29206         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
29207         FreeBSD.
29208         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29209         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29210
29211         tests: silence clang warning
29212         * tests/test-malloca.c (do_allocation): Avoid dead store.
29213
29214 2010-08-29  Bruno Haible  <bruno@clisp.org>
29215
29216         gettext: Fix recent mistake.
29217         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
29218
29219 2010-08-29  Bruno Haible  <bruno@clisp.org>
29220
29221         selinux-h: Offer a --without-selinux option.
29222         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
29223         --without-selinux was specified, skip all tests and define
29224         HAVE_SELINUX_SELINUX_H to 0.
29225         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
29226         set LIB_SELINUX to empty.
29227         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
29228         gl_LIBSELINUX. If --without-selinux was specified, replace
29229         selinux/context.h.
29230         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
29231
29232 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29233             Bruno Haible  <bruno@clisp.org>
29234
29235         Make the module 'realloc-gnu' work again on AIX and OSF/1.
29236         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
29237         of HAVE_REALLOC.
29238         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
29239         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
29240         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
29241         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
29242
29243 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29244             Bruno Haible  <bruno@clisp.org>
29245
29246         Make the module 'calloc-gnu' work again on AIX and OSF/1.
29247         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
29248         HAVE_CALLOC.
29249         * lib/xmalloc.c: Update accordingly.
29250         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
29251         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
29252         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
29253
29254 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
29255             Bruno Haible  <bruno@clisp.org>
29256
29257         Make the module 'malloc-gnu' work again on AIX and OSF/1.
29258         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
29259         HAVE_MALLOC.
29260         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
29261         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
29262         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
29263
29264 2010-08-29  Bruno Haible  <bruno@clisp.org>
29265
29266         Update modules list.
29267         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
29268         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
29269         (String handling <string.h>): Add astrxfrm.
29270         (File system functions): Add readlinkat.
29271
29272 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29273
29274         Tests for module 'realloc-gnu'.
29275         * modules/realloc-gnu-tests: New file.
29276         * tests/test-realloc-gnu.c: New file.
29277
29278         Tests for module 'calloc-gnu'.
29279         * modules/calloc-gnu-tests: New file.
29280         * tests/test-calloc-gnu.c: New file.
29281
29282         Tests for module 'malloc-gnu'.
29283         * modules/malloc-gnu-tests: New file.
29284         * tests/test-malloc-gnu.c: New file.
29285
29286 2010-08-28  Bruno Haible  <bruno@clisp.org>
29287
29288         Rename module 'realloc' -> 'realloc-gnu'.
29289         * modules/realloc-gnu: New file, copied from modules/realloc.
29290         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
29291         obsolete.
29292         * modules/mgetgroups (Depends-on): Update.
29293         * doc/posix-functions/realloc.texi: Update.
29294         * NEWS: Mention the change.
29295
29296         Rename module 'calloc' -> 'calloc-gnu'.
29297         * modules/calloc-gnu: New file, copied from modules/calloc.
29298         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
29299         obsolete.
29300         * doc/posix-functions/calloc.texi: Update.
29301         * NEWS: Mention the change.
29302
29303         Rename module 'malloc' -> 'malloc-gnu'.
29304         * modules/malloc-gnu: New file, copied from modules/malloc.
29305         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
29306         obsolete.
29307         * modules/argp (Depends-on): Update.
29308         * modules/regex (Depends-on): Update.
29309         * doc/posix-functions/malloc.texi: Update.
29310         * NEWS: Mention the change.
29311
29312 2010-08-28  Eric Blake  <eblake@redhat.com>
29313
29314         pread, pwrite: add missing dependency
29315         * modules/pread (Depends-on): Add extensions.
29316         * modules/pwrite (Depends-on): Likewise.
29317
29318 2010-08-28  Bruno Haible  <bruno@clisp.org>
29319
29320         unistr/u*-strchr: Fix tests dependencies.
29321         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
29322         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
29323         Reported by Ian Beckwith <ianb@erislabs.net>.
29324
29325 2010-08-28  Bruno Haible  <bruno@clisp.org>
29326
29327         read-file: Don't occupy too much unused memory.
29328         * lib/read-file.c (fread_file): Shrink the buffer at the end.
29329
29330 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
29331             Eric Blake  <eblake@redhat.com>
29332             Bruno Haible  <bruno@clisp.org>
29333
29334         read-file: Avoid memory reallocations with regular files.
29335         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
29336         (fread_file): With regular files, use the remaining length as the
29337         initial buffer size.  Check against overflow.
29338         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
29339         sys_stat.
29340
29341 2010-08-28  Bruno Haible  <bruno@clisp.org>
29342
29343         ftello: Relax license.
29344         * modules/ftello (License): Relax to LGPLv2+.
29345         Reported by Eric Blake.
29346
29347 2010-08-28  Bruno Haible  <bruno@clisp.org>
29348
29349         Avoid relocwrapper link errors due to gnulib replacement functions.
29350         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
29351         function.
29352         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29353
29354 2010-08-28  Bruno Haible  <bruno@clisp.org>
29355
29356         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
29357         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
29358         defined.
29359         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
29360         Suggested by Eric Blake.
29361
29362 2010-08-28  Bruno Haible  <bruno@clisp.org>
29363
29364         sys_socket, netdb: Ensure socklen_t gets defined.
29365         * modules/sys_socket (Depends-on): Add socklen.
29366         * modules/netdb (Depends-on): Likewise.
29367         * modules/getaddrinfo (Depends-on): Remove socklen.
29368         * modules/getsockopt (Depends-on): Likewise.
29369         * modules/setsockopt (Depends-on): Likewise.
29370         * tests/test-sys_socket.c: Check that socklen_t is defined.
29371         * tests/test-netdb.c: Likewise.
29372         * m4/socklen.m4: Update comments.
29373         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
29374
29375 2010-08-27  Eric Blake  <eblake@redhat.com>
29376
29377         login_tty: add missing dependency
29378         * modules/login_tty (Depends-on): Add pty.
29379
29380 2010-08-26  Eric Blake  <eblake@redhat.com>
29381
29382         lib-symbol-versions: fix m4 quoting
29383         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
29384         format for AC_LINK_IFELSE.
29385
29386         glob: fix compile test
29387         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
29388
29389         btowc: fix missing file
29390         * modules/btowc (Files): Also ship locale-fr.m4.
29391
29392         lseek: fix link test
29393         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
29394         AC_LINK_IFELSE.
29395
29396         include_next: silence autoconf 2.68 warning
29397         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
29398         AC_COMPILE_IFELSE as special.
29399         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
29400         autoconf < 2.68.
29401
29402         acl: fix compilation test
29403         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
29404         AC_COMPILE_IFELSE.
29405
29406 2010-08-26  Bruno Haible  <bruno@clisp.org>
29407
29408         Modernize AC_TRY_RUN invocations.
29409         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
29410         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
29411         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
29412         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
29413         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
29414         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
29415         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
29416         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
29417         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29418         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
29419         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
29420         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
29421         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
29422         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
29423         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
29424         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
29425         gl_MBRLEN_NUL_RETVAL): Likewise.
29426         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
29427         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
29428         Likewise.
29429         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
29430         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
29431         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
29432         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
29433         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
29434         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
29435         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
29436         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
29437         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
29438         Likewise.
29439         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
29440         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
29441         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
29442         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
29443         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29444         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
29445         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
29446         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
29447         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
29448         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
29449
29450 2010-08-26  Bruno Haible  <bruno@clisp.org>
29451
29452         Modernize AC_TRY_LINK invocations.
29453         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
29454         AC_TRY_LINK.
29455         * m4/argp.m4 (gl_ARGP): Likewise.
29456         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
29457         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
29458         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
29459         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
29460         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
29461         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
29462         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
29463         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
29464         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
29465         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
29466         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
29467         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
29468         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
29469         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
29470         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
29471         * m4/hostent.m4 (gl_HOSTENT): Likewise.
29472         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
29473         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
29474         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
29475         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
29476         Likewise.
29477         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
29478         Likewise.
29479         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
29480         Likewise.
29481         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
29482         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
29483         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
29484         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
29485         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
29486         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
29487         * m4/servent.m4 (gl_SERVENT): Likewise.
29488         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
29489         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
29490         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
29491         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
29492         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
29493         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
29494         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
29495         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
29496         * modules/tsearch-tests (configure.ac): Likewise.
29497
29498 2010-08-26  Bruno Haible  <bruno@clisp.org>
29499
29500         Modernize AC_TRY_COMPILE invocations.
29501         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
29502         AC_TRY_COMPILE.
29503         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
29504         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
29505         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
29506         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
29507         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
29508         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
29509         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
29510         * m4/lock.m4 (gl_LOCK): Likewise.
29511         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
29512         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
29513         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
29514         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
29515         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
29516         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
29517         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
29518         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
29519         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
29520         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
29521         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
29522         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
29523         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
29524         extraneous semicolon.
29525
29526 2010-08-26  Jim Meyering  <meyering@redhat.com>
29527
29528         stat-time: relax license LGPL
29529         * modules/stat-time (License): Change from GPL to LGPL,
29530         with consent from all contributors, for use in libguile.
29531         Requested by Ludovic Courtès.
29532
29533 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
29534
29535         poll: return immediately on POLLHUP.
29536         * lib/poll.c (poll): Always set timeout before wait_timeout is
29537         computed.
29538
29539 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29540
29541         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
29542         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
29543         rmdir ("dir/.//"), unlinkat.
29544
29545 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
29546
29547         stdbool: avoid spurious failure with modern xlc
29548         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
29549
29550 2010-08-24  Bruno Haible  <bruno@clisp.org>
29551
29552         getloadavg: simplify code
29553         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
29554         gl_have_func. Update comments.
29555
29556 2010-08-24  Eric Blake  <eblake@redhat.com>
29557
29558         getloadavg: don't define SVR4 on cygwin
29559         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
29560         only define SVR4 when -lkvm is required.
29561         Reported by Yaakov Selkowitz.
29562
29563 2010-08-24  Bruno Haible  <bruno@clisp.org>
29564
29565         priv-set: fix comment
29566         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
29567
29568 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
29569
29570         priv-set: fix comments
29571         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
29572         to match code, as suggested by David Bartley in:
29573         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
29574
29575 2010-08-23  Eric Blake  <eblake@redhat.com>
29576
29577         stdbool: avoid rejecting clang
29578         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
29579         * tests/test-stdbool.c: Enable more tests if using the system
29580         <stdbool.h> instead of the gnulib replacement.
29581         (main): Move xlc bug test to a runtime test for all compilers.
29582         Reported by Anders Kaseorg.
29583
29584         argz: fix shell quoting issue
29585         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
29586         Reported by Charles Wilson.
29587
29588 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
29589             Erik Faye-Lund <kusmabite@gmail.com>
29590
29591         poll, select: handle ERROR_BROKEN_PIPE.
29592         * lib/poll.c (win32_compute_revents): Return POLLHUP when
29593         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
29594         * lib/select.c (win32_compute_revents): Do not mark a pipe
29595         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
29596
29597 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
29598
29599         fts: allow compilation with C++
29600         * lib/fts_.h: Specify extern "C" linkage with C++.
29601
29602 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29603
29604         Fix gnulib-tool sed script de-commentation for AIX sed.
29605         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
29606         sed.
29607
29608 2010-08-17  Eric Blake  <eblake@redhat.com>
29609
29610         test-stddef: test for (some) offsetof bugs
29611         * tests/test-stddef.c: Enhance test to ensure correct type of
29612         offsetof.
29613         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
29614         that we are not fixing at this time.
29615
29616 2010-08-15  Bruno Haible  <bruno@clisp.org>
29617
29618         stpncpy: Allow stpncpy to be defined as a macro.
29619         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
29620         if it's already correctly declared.
29621         * lib/string.in.h (stpncpy): Undefine before redefining.
29622         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
29623
29624 2010-08-14  Bruno Haible  <bruno@clisp.org>
29625
29626         Rename module 'memxfrm' to 'amemxfrm'.
29627         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
29628         (amemxfrm): Renamed from memxfrm.
29629         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
29630         (amemxfrm): Renamed from memxfrm.
29631         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
29632         * NEWS: Mention the change.
29633         * MODULES.html.sh (String handling <string.h>): Update.
29634         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
29635         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
29636         * lib/unicase/u16-casexfrm.c: Likewise.
29637         * lib/unicase/u32-casexfrm.c: Likewise.
29638         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
29639         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
29640         * lib/uninorm/u16-normxfrm.c: Likewise.
29641         * lib/uninorm/u32-normxfrm.c: Likewise.
29642         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
29643         memxfrm.
29644         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
29645         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
29646         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
29647         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
29648         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
29649         Suggested by Paul Eggert.
29650
29651 2010-08-14  Bruno Haible  <bruno@clisp.org>
29652
29653         Tests for module 'astrxfrm'.
29654         * modules/astrxfrm-tests: New file.
29655         * tests/test-astrxfrm.c: New file.
29656
29657         New module 'astrxfrm'.
29658         * lib/astrxfrm.h: New file.
29659         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
29660         * modules/astrxfrm: New file.
29661
29662 2010-08-14  Reuben Thomas <rrt@sc3d.org>
29663
29664         regex: Tweak doc.
29665         * doc/regex.texi (Overview): Don't mention regex.c.
29666         (GNU Regular Expression Compiling): Likewise.
29667         (Match-end-of-line Operator): Mention 'not_eol'.
29668
29669 2010-08-14  Brian Gough  <bjg@gnu.org>
29670             Bruno Haible  <bruno@clisp.org>
29671
29672         git-merge-changelog: add doc relating to use with bzr and hg.
29673         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
29674
29675 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
29676
29677         pthread: fix pthread.h creation for srcdir != builddir
29678         * modules/pthread (Makefile.am): Fix the rule to work also in a
29679         non-srcdir build.
29680
29681 2010-08-13  Karl Berry  <karl@gnu.org>
29682
29683         * doc/regex.texi (Predefined Syntaxes): @smallexample.
29684         * doc/posix-*/*: force line break before @url of POSIX
29685         specifications.
29686         Suggested by Werner Lemberg.
29687
29688 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
29689
29690         strtod: fix const diagnostic
29691         * lib/strtod.c (strtod): Don't assign const char * to char *,
29692         as this elicits a warning from GCC when warnings are enabled.
29693
29694 2010-08-10  Pádraig Brady <P@draigbrady.com>
29695         and Eric Blake  <eblake@redhat.com>
29696
29697         copy-acl: ignore ENOTSUP on HP-UX
29698         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
29699         so that it is available for HP-UX.
29700         * lib/copy-acl.c (qcopy_acl): Use it.
29701         Reported by Patrick M. Callahan.
29702
29703 2010-08-10  Eric Blake  <eblake@redhat.com>
29704
29705         open, chown: relax license
29706         * modules/open (License): Change to LGPLv2+, with consent by all
29707         authors, for use in augeas.
29708         * modules/chown (License): Likewise.
29709         * modules/lchown (Likewise): Likewise.
29710         Requested by Adam Stokes.
29711
29712 2010-08-09  Karl Berry  <karl@gnu.org>
29713
29714         * build-aux/ar-lib: new file, import from Automake.
29715         * config/srclist.txt: autocheck for updates.
29716
29717 2010-08-09  Eric Blake  <eblake@redhat.com>
29718
29719         readlinkat: adjust client modules
29720         * modules/areadlinkat (Depends-on): Use readlinkat, not
29721         symlinkat.
29722         * modules/areadlinkat-with-size (Depends-on): Likewise.
29723
29724         mknod: be more vocal about danger of running tests as root
29725         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
29726         root, since that is just asking for problems.
29727         Suggested by Bruno Haible, based on a report by Rainer Tammer.
29728
29729         readlinkat: split into its own module
29730         * modules/symlinkat: Split readlinkat...
29731         * modules/readlinkat: ...into separate module.
29732         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
29733         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
29734         * lib/symlinkat.c (readlinkat): Move...
29735         * lib/readlinkat.c: ...into new file.
29736         * modules/symlinkat-tests: Split readlinkat test...
29737         * modules/readlinkat-tests: ...into separate module.
29738         * tests/test-symlinkat.c: Split...
29739         * tests/test-readlinkat.c: ...into new file.
29740         * NEWS: Document the split.
29741         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
29742         * lib/unistd.in.h (readlinkat): Likewise.
29743         Suggested by Bruno Haible.
29744
29745 2010-08-08  Bruno Haible  <bruno@clisp.org>
29746
29747         memxfrm: Speed up.
29748         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
29749         that usually only one call to strxfrm is necessary for each string
29750         part.
29751         Reported by Paul Eggert <eggert@cs.ucla.edu>.
29752
29753 2010-08-07  Karl Berry  <karl@gnu.org>
29754
29755         * doc/posix-headers/limits.texi,
29756         * doc/posix-functions/malloc.texi,
29757         * doc/posix-functions/strsignal.texi: missing @item.
29758         * doc/ld-version-script.texi: spurious leading i.
29759         * doc/regex.texi (Interval Operators): no commas inside @var.
29760
29761 2010-08-01  Bruno Haible  <bruno@clisp.org>
29762
29763         Integrate the regex documentation.
29764         * doc/gnulib.texi: Define 'cn' index.
29765         (Regular expressions): New a chapter that includes regex.texi and
29766         regexprops-generic.texi.
29767         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
29768         syntax.
29769
29770         Whitespace cleanup.
29771         * doc/regex.texi: Remove trailing spaces.
29772
29773         Add regex documentation.
29774         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
29775         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
29776         Written by Kathy A. Hargreaves and Karl Berry.
29777
29778 2010-08-01  Bruno Haible  <bruno@clisp.org>
29779
29780         link: Update documentation.
29781         * doc/posix-functions/link.texi: Update regarding Solaris.
29782
29783 2010-07-31  Bruno Haible  <bruno@clisp.org>
29784
29785         Update modules list.
29786         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
29787         (String handling <string.h>): Add memcmp2, memxfrm.
29788         (Container data structures): Add xlist, xsublist, xoset.
29789         (Core language properties): Add alignof, unused-parameter.
29790         (Process control, Numeric conversion functions <stdlib.h>): Renamed
29791         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
29792         (Unibyte characters <ctype.h>): New section.
29793         (String handling <string.h>): New section.
29794         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
29795         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
29796         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
29797         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
29798         tan, tanh, tanl, y0, y1, yn.
29799         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
29800         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
29801         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
29802         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
29803         unlockpt, vdprintf, vdprintf-posix.
29804         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
29805         (File system functions): Add concat-filename, sys_file, sys_ioctl,
29806         xconcat-filename.
29807         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
29808         getdtablesize, pipe2, pipe2-safer.
29809         (Security): New section.
29810         (Networking functions): Add accept4.
29811         (Signal handling): Add sigpipe.
29812         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
29813         mbmemcasecoll.
29814         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
29815         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
29816         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
29817         pipe-filter-ii.
29818         (Misc): Add argp-version-etc, login_tty, parse-duration.
29819
29820 2010-07-31  Bruno Haible  <bruno@clisp.org>
29821
29822         Improve doc in MODULES.html.
29823         * modules/linkat (Description): Add the word "function".
29824         * modules/mkfifo (Description): Likewise.
29825         * modules/mknod (Description): Likewise.
29826         * modules/remove (Description): Likewise.
29827         * modules/renameat (Description): Likewise.
29828         * modules/stat (Description): Likewise.
29829         * modules/symlink (Description): Likewise.
29830         * modules/unlink (Description): Likewise.
29831
29832 2010-07-31  Bruno Haible  <bruno@clisp.org>
29833
29834         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
29835         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
29836         option --enable/disable-c++ instead of --enable/disable-cxx.
29837         * NEWS: Mention the change.
29838
29839 2010-07-31  Bruno Haible  <bruno@clisp.org>
29840
29841         readlink, areadlink: Relax test a bit.
29842         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
29843         alternative to ENOTDIR.
29844         * tests/test-areadlink.h (test_areadlink): Likewise.
29845         Reported by Rainer Tammer.
29846
29847 2010-07-31  Bruno Haible  <bruno@clisp.org>
29848
29849         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
29850         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
29851         character, perform the search using U_STRCHR.
29852         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
29853         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
29854         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
29855         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
29856         Suggested by Paolo Bonzini.
29857
29858 2010-07-31  Bruno Haible  <bruno@clisp.org>
29859
29860         unistr/u*-strstr: Fix dependencies.
29861         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
29862         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
29863         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
29864
29865 2010-07-31  Bruno Haible  <bruno@clisp.org>
29866
29867         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
29868         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
29869         the beginning of the loop.
29870         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
29871         cases in 'switch' statement.
29872
29873         unistr/u8-strchr: Fix several bugs.
29874         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
29875         the string. When not found, return NULL, not a pointer near the end.
29876
29877         More tests for unistr/u8-strchr.
29878         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
29879         that the function does not read past the first occurrence of the byte
29880         being searched.
29881         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
29882         * tests/unistr/test-u16-strchr.c (main): New function.
29883         * tests/unistr/test-u32-strchr.c (main): New function.
29884
29885 2010-07-31  Bruno Haible  <bruno@clisp.org>
29886
29887         posix-modules: Ignore backup files of documentation files.
29888         * posix-modules: grep only through files named *.texi.
29889
29890 2010-07-31  Bruno Haible  <bruno@clisp.org>
29891
29892         symlinkat: Fix documentation.
29893         * doc/posix-functions/readlinkat.texi: Fix module name.
29894
29895 2010-07-31  Bruno Haible  <bruno@clisp.org>
29896
29897         fchownat: Replace also when chown has the trailing slash bug.
29898         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
29899         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
29900         introduced on 2010-04-10.
29901         Reported by Rainer Tammer.
29902
29903 2010-07-31  Bruno Haible  <bruno@clisp.org>
29904
29905         linkat: Work around AIX 7.1 bug.
29906         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
29907         whether linkat handles trailing slash correctly. If not, replace linkat
29908         and define LINKAT_TRAILING_SLASH_BUG.
29909         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
29910         check whether (fd1,file1) points to a directory if file1 or file2 ends
29911         in a slash. Code taken from lib/link.c.
29912         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
29913         Reported by Rainer Tammer.
29914
29915 2010-07-31  Bruno Haible  <bruno@clisp.org>
29916
29917         Correctly determine whether pow is available in libc on AIX 7 with xlc.
29918         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
29919         This disables an xlc optimization that was causing wrong test results.
29920         Reported by Rainer Tammer.
29921
29922 2010-07-31  Bruno Haible  <bruno@clisp.org>
29923
29924         iconv: Work around AIX 6.1..7.1 bug.
29925         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
29926         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
29927         cross-compiling, guess no on all versions of AIX.
29928         Reported by Rainer Tammer.
29929
29930 2010-07-31  Bruno Haible  <bruno@clisp.org>
29931
29932         readlink: Relax test a bit.
29933         * tests/test-readlink.h (test_readlink): Allow different errno value
29934         when readlink is called with a file name that ends in / and refers to
29935         a file.
29936         Suggested by Eric Blake.
29937         Reported by Rainer Tammer.
29938
29939 2010-07-31  Bruno Haible  <bruno@clisp.org>
29940
29941         copysign: Does not require -lm on glibc systems.
29942         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
29943         gl_COMMON_DOUBLE_MATHFUNC.
29944         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
29945
29946 2010-07-31  Bruno Haible  <bruno@clisp.org>
29947
29948         duplocale: Work around AIX 7.1 bug.
29949         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
29950         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
29951         * lib/duplocale.c (rpl_duplocale): Update comment.
29952         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
29953         Reported by Rainer Tammer.
29954
29955 2010-07-30  Bruno Haible  <bruno@clisp.org>
29956
29957         dirfd: Avoid link error on AIX 7.1.
29958         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
29959         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
29960         exist, set REPLACE_DIRFD.
29961         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
29962         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
29963         * doc/posix-functions/dirfd.texi: Update.
29964         Reported by Rainer Tammer.
29965
29966 2010-07-30  Eric Blake  <eblake@redhat.com>
29967
29968         strtod: next round of AIX fixes
29969         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
29970         exponent.
29971         * tests/test-strtod.c (main): Enhance tests.
29972         * doc/posix-functions/strtod.texi (strtod): Document next bug.
29973         Reported by Rainer Tammer.
29974
29975         futimens: fix configure check
29976         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
29977         Reported by Bruno Haible.
29978
29979 2010-07-30  Bruno Haible  <bruno@clisp.org>
29980
29981         getline: Update regarding AIX.
29982         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
29983         Reported by Rainer Tammer.
29984
29985 2010-07-30  Bruno Haible  <bruno@clisp.org>
29986
29987         wcwidth: Drop replacement on AIX 7.
29988         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
29989         AIX 7.
29990         Reported by Rainer Tammer.
29991
29992 2010-07-30  Bruno Haible  <bruno@clisp.org>
29993
29994         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
29995         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
29996         a 'char *'.
29997         Reported by Rainer Tammer.
29998
29999 2010-07-30  Bruno Haible  <bruno@clisp.org>
30000
30001         unlink: Update regarding AIX.
30002         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
30003         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
30004         Reported by Rainer Tammer.
30005
30006 2010-07-30  Bruno Haible  <bruno@clisp.org>
30007
30008         symlink: Update regarding AIX.
30009         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
30010         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
30011         Reported by Rainer Tammer.
30012
30013 2010-07-30  Bruno Haible  <bruno@clisp.org>
30014
30015         strndup: Update regarding AIX.
30016         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
30017         AIX 7.
30018         Reported by Rainer Tammer.
30019
30020 2010-07-30  Bruno Haible  <bruno@clisp.org>
30021
30022         stat: Update regarding AIX.
30023         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
30024         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
30025         Reported by Rainer Tammer.
30026
30027 2010-07-30  Bruno Haible  <bruno@clisp.org>
30028
30029         truncl: Fix autoconf test.
30030         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
30031         whether truncl works.
30032         Reported by Rainer Tammer.
30033
30034 2010-07-30  Bruno Haible  <bruno@clisp.org>
30035
30036         round: Update regarding AIX.
30037         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
30038         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
30039         Reported by Rainer Tammer.
30040
30041 2010-07-30  Bruno Haible  <bruno@clisp.org>
30042
30043         rename: Update regarding AIX.
30044         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
30045         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
30046         Reported by Rainer Tammer.
30047
30048 2010-07-30  Bruno Haible  <bruno@clisp.org>
30049
30050         printf.m4: Update regarding AIX.
30051         * m4/printf.m4: Update comments regarding AIX.
30052         Reported by Rainer Tammer.
30053
30054 2010-07-30  Bruno Haible  <bruno@clisp.org>
30055
30056         iconv: Update regarding AIX.
30057         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
30058         AIX 7.
30059         Reported by Rainer Tammer.
30060
30061 2010-07-30  Bruno Haible  <bruno@clisp.org>
30062
30063         getopt: Update regarding AIX.
30064         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
30065         no on AIX.
30066         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
30067         Reported by Rainer Tammer.
30068
30069 2010-07-30  Bruno Haible  <bruno@clisp.org>
30070
30071         ldexpl; Update regarding AIX.
30072         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
30073         on AIX 7.
30074         Reported by Rainer Tammer.
30075
30076 2010-07-30  Bruno Haible  <bruno@clisp.org>
30077
30078         frexpl: Update regarding AIX.
30079         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
30080         on AIX 7.
30081         Reported by Rainer Tammer.
30082
30083 2010-07-30  Bruno Haible  <bruno@clisp.org>
30084
30085         open, fopen: Update regarding AIX.
30086         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
30087         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30088         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
30089         * doc/posix-functions/fopen.texi: Likewise.
30090         Reported by Rainer Tammer.
30091
30092 2010-07-30  Bruno Haible  <bruno@clisp.org>
30093
30094         chown: Update doc regarding AIX.
30095         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
30096         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
30097         Reported by Rainer Tammer.
30098
30099 2010-07-30  Eric Blake  <eblake@redhat.com>
30100
30101         strtod: fix bug in replacement function on AIX
30102         * lib/strtod.c (strtod): Special case broken "0x" parse in
30103         underlying strtod.
30104         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
30105         * doc/posix-functions/strtod.texi (strtod): Likewise.
30106         Reported by Rainer Tammer.
30107
30108 2010-07-30  Bruno Haible  <bruno@clisp.org>
30109
30110         mbrlen: Fix cross-compilation guess for AIX.
30111         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
30112         guess. Leftover from 2008-12-22.
30113
30114 2010-07-30  Bruno Haible  <bruno@clisp.org>
30115
30116         mbrtowc: Fix cross-compilation guess for AIX.
30117         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
30118         guess. Leftover from 2008-12-21.
30119
30120 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
30121
30122         init.sh: work around trap limitation of some shells
30123         * tests/init.sh (setup_): Move exit trap outside of shell function.
30124
30125 2010-07-29  Eric Blake  <eblake@redhat.com>
30126
30127         strtod: aid debugging
30128         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
30129         understanding why strtod is rejected.
30130
30131 2010-07-28  Bruno Haible  <bruno@clisp.org>
30132
30133         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
30134         * lib/unistr/u8-chr.c: Include <string.h>.
30135         * tests/unistr/test-u8-chr.c: Likewise.
30136         * tests/unistr/test-u16-chr.c: Likewise.
30137         * tests/unistr/test-u32-chr.c: Likewise.
30138         * tests/unistr/test-u8-strchr.c: Likewise.
30139         * tests/unistr/test-u16-strchr.c: Likewise.
30140         * tests/unistr/test-u32-strchr.c: Likewise.
30141         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
30142         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
30143         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
30144         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
30145
30146 2010-07-28  Bruno Haible  <bruno@clisp.org>
30147
30148         Use spaces for indentation, not tabs.
30149         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
30150
30151 2010-07-27  Bruno Haible  <bruno@clisp.org>
30152
30153         mbspcasecmp: Fix function specification.
30154         * lib/string.in.h (mbspcasecmp): Fix specification comment.
30155         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
30156         Reported by Eric Blake <eblake@redhat.com>.
30157
30158 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
30159
30160         timespec: use cast and not conditional, as truncation isn't possible
30161         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
30162         instead of a conditional.  Comment about the situation in more detail.
30163         This undoes most of the 2009-10-29 patch.
30164
30165 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
30166
30167         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
30168         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
30169         * lib/unistr/u8-strchr.c: Likewise.
30170         * modules/unistr/u8-chr: Depend on memchr.
30171
30172         unistr/u*-strchr: add tests
30173         * modules/unistr/u8-strchr-tests: New file.
30174         * modules/unistr/u16-strchr-tests: New file.
30175         * modules/unistr/u32-strchr-tests: New file.
30176         * tests/unistr/test-strchr.h: New file.
30177         * tests/unistr/test-u8-strchr.c: New file.
30178         * tests/unistr/test-u16-strchr.c: New file.
30179         * tests/unistr/test-u32-strchr.c: New file.
30180
30181         unistr/u*-chr: test multibyte sequences more
30182         * tests/unistr/test-chr.h: Do complete testing of the characters in the
30183         test vector.
30184         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
30185         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
30186         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
30187
30188         unistr/u*-chr: test multibyte sequences
30189         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
30190
30191         unistr/u*-chr: prepare for multibyte tests
30192         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
30193         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
30194         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
30195         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
30196         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
30197         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
30198
30199 2010-07-18  Bruno Haible  <bruno@clisp.org>
30200
30201         unistr/u8-strchr: Optimize non-ASCII argument case.
30202         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
30203         because the first byte often matches anyway.
30204         Reported by Pádraig Brady <P@draigbrady.com>.
30205
30206 2010-07-15  Karl Berry  <karl@gnu.org>
30207
30208         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
30209
30210 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
30211
30212         getcwd: on Solaris, work better if ancestors are inaccessible
30213         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
30214         buffer and size, try again with a large buffer.  This works better
30215         on Solaris, since its getcwd succeeds even if the path to the root
30216         is inaccessible, and this is helpful in common cases such as .zfs
30217         hidden directories.  Problem reported by J Chapman Flack in
30218         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
30219         Use system getcwd if it's declared, not merely if it's partly
30220         working; use the partly-working test only to avoid needless effort
30221         if the system getcwd fails.
30222         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
30223         comment that was already obsolete and is now even more obsolete.
30224         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
30225         now might call strdup.
30226
30227 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
30228
30229         pthread: Add enough so that coreutils/src/sort.c compiles.
30230         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
30231         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
30232         gnulib. Include <sched.h> and <time.h>, as per POSIX.
30233         Include <sys/types.h>, in case it defines pthread_t.
30234         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
30235         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
30236         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
30237         (pthread_rwlockattr_t, pthread_spinlock_t):
30238         New typedefs, if HAVE_PTHREAD_T is not defined.
30239         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
30240         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
30241         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
30242         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
30243         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
30244         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
30245         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
30246         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
30247         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
30248         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
30249         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
30250         New macros.
30251         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
30252         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
30253         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
30254         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
30255         (pthread_spin_unlock): New dummy functions.
30256         (pthread_create): Return EAGAIN; don't set errno.
30257         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
30258         require AC_C_INLINE.
30259         * modules/pthread (Depends-on): Add sched, time.
30260         (pthread.h): Use AM_V_GEN.
30261
30262 2010-07-13  Bruno Haible  <bruno@clisp.org>
30263
30264         striconveh: Don't malloc memory if the result buffer is sufficient.
30265         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
30266         buffer if its size is sufficient.
30267         Reported by Ludovic Courtès <ludo@gnu.org>.
30268
30269 2010-07-13  Bruno Haible  <bruno@clisp.org>
30270
30271         strtod: Add safety check.
30272         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
30273
30274 2010-07-12  Bruno Haible  <bruno@clisp.org>
30275
30276         Unify tests that set gl_cv_func_ldexpl_no_libm.
30277         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
30278         gl_FUNC_LDEXPL.
30279         (gl_FUNC_LDEXPL): Invoke it.
30280         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
30281
30282 2010-07-12  Bruno Haible  <bruno@clisp.org>
30283
30284         Unify tests that set gl_cv_func_ldexp_no_libm.
30285         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
30286         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
30287         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
30288         (configure.ac): Simply invoke gl_FUNC_LDEXP.
30289         * modules/strtod (Files): Add m4/ldexp.m4.
30290
30291 2010-07-12  Bruno Haible  <bruno@clisp.org>
30292
30293         Unify tests that set gl_cv_func_frexpl_no_libm.
30294         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
30295         gl_FUNC_FREXPL_NO_LIBM.
30296         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
30297         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
30298
30299 2010-07-12  Bruno Haible  <bruno@clisp.org>
30300
30301         Unify tests that set gl_cv_func_frexp_no_libm.
30302         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
30303         gl_FUNC_FREXP_NO_LIBM.
30304         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
30305         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30306
30307 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
30308
30309         memcoll: clarify sizes versus lengths, document better, and tweak perf
30310         * lib/memcoll.c (strcoll_loop, memcoll0):
30311         Improve quality of descriptive comments.  Name variables
30312         consistently as to whether they are lengths (which do not include
30313         terminating null) versus sizes (which do).
30314         * lib/xmemcoll.c (xmemcoll0): Likewise.
30315         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
30316         returned when s1size == 0; this is easier to compile and saves
30317         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
30318
30319 2010-07-12  Bruno Haible  <bruno@clisp.org>
30320
30321         Tests for module '_Exit'.
30322         * modules/_Exit-tests: New file.
30323         * tests/test-_Exit.sh: New file.
30324         * tests/test-_Exit.c: New file.
30325
30326         New module '_Exit'.
30327         * lib/stdlib.in.h (__attribute__): New macro.
30328         (_Exit): New declaration.
30329         * lib/_Exit.c: New file.
30330         * m4/_Exit.m4: New file.
30331         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
30332         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
30333         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
30334         * modules/_Exit: New file.
30335         * tests/test-stdlib-c++.cc (_Exit): Check signature.
30336         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
30337
30338 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
30339
30340         strtod: make it more-accurate typically, and don't require libm
30341         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
30342         Include limits.h.  Don't include string.h.
30343         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
30344         (locale_isspace): New function, so that no casts are needed to
30345         check whether *s is a space.
30346         (ldexp): Provide an unused dummy if not available.
30347         (scale_radix_exp, parse_number, underlying_strtod): New functions.
30348         (strtod): Use them.  This implementation prefers to use the
30349         underlying strtod if available, falling back on our own code
30350         only to fix known bugs.  This is more likely to produce an
30351         accurate result.  Also, it avoids the use of libm functions.
30352         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
30353         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
30354         was absent, but it caused a test failure with coreutils.
30355         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
30356         with libm.
30357         * modules/strtod (Makefile.am, Link): libm is no longer needed.
30358         * modules/strtod-tests (Makefile.am): Likewise.
30359
30360 2010-07-11  Pádraig Brady  <P@draigBrady.com>
30361             Bruno Haible  <bruno@clisp.org>
30362
30363         unistr/u8-strchr: Optimize ASCII argument case.
30364         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
30365
30366 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
30367
30368         (x)memcoll: minor tweaks
30369         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
30370         is after the type that it qualifies.
30371         (memcoll0): Likewise.
30372         * lib/memcoll.h (memcoll0): Likewise.
30373         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
30374         * lib/xmemcoll.h (xmemcoll0): Likewise.
30375         * lib/memcoll.c (memcoll0): Correct the comment.  This function
30376         differs from memcoll in that the NUL byte is part of the argument.
30377         Omit the abort-checks, as performance is a real issue here.  Plus,
30378         the checks were wrong anyway (an off-by-one error).  Omit local
30379         variable 'diff', as it's a bit clearer that way.
30380         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
30381         no longer needed.
30382
30383 2010-07-08  Chen Guo <chenguo4@yahoo.com>
30384
30385         (x)memcoll: speedup when input is known to be NUL delimited
30386         * lib/memcoll.c: Include stdlib.
30387         (memcoll0): New function.
30388         (strcoll_loop): New function, refactored for use in both memcoll
30389         and memcoll0.
30390         * lib/memcoll.h (memcoll0): Add prototype.
30391         * lib/xmemcoll.c (xmemcoll0): New function.
30392         (collate_error): New function, refactored for use in both xmemcoll
30393         and xmemcoll0.
30394         * lib/xmemcoll.h (xmemcoll0): Add prototype.
30395         * m4/memcoll.m4: add inline invocation.
30396
30397 2010-07-06  Pádraig Brady  <P@draigBrady.com>
30398
30399         * build-aux/bootstrap: Remove any local translations
30400         from the translation project synchronization directory,
30401         so that local only translations are not distributed.
30402
30403 2010-07-04  Bruno Haible  <bruno@clisp.org>
30404
30405         fsusage: Clarify which code applies to which platforms.
30406         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
30407         platform.
30408         * lib/fsusage.c (get_fs_usage): Likewise.
30409
30410 2010-07-04  Bruno Haible  <bruno@clisp.org>
30411
30412         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
30413         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
30414         Reported by Martin Lambers <marlam@marlam.de>.
30415
30416 2010-07-04  Jim Meyering  <meyering@redhat.com>
30417
30418         hash: once again explicitly disallow insertion of NULL
30419         * lib/hash.c (hash_insert0): Reinstate just-removed test:
30420         inserting a NULL pointer cannot work with these functions.
30421         Add a comment with details.
30422         This reverts part of the 2010-07-01 commit, 5bef1a35
30423         "hash: extend module to deal with non-pointer keys".
30424
30425 2010-07-01  Bruno Haible  <bruno@clisp.org>
30426
30427         stdbool: Update doc.
30428         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
30429         Info from Christian Weisgerber <naddy@mips.inka.de>.
30430
30431 2010-07-01  Jim Meyering  <meyering@redhat.com>
30432
30433         hash: extend module to deal with non-pointer keys
30434         * lib/hash.c (hash_insert0): New interface, much like hash_insert
30435         but that allows insertion of non-pointer entries.
30436         Do not disallow an ENTRY value of NULL.
30437         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
30438         * lib/hash.h (hash_insert0): Declare.
30439
30440 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
30441
30442         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
30443         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
30444         not present (i.e. with autoconf 2.59 and when using gettextize, not
30445         gnulib), require AC_GNU_SOURCE instead.
30446
30447 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
30448
30449         idpriv-drop: Fix tests.
30450         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
30451         not to the test-idpriv-droptemp program.
30452
30453 2010-06-29  Bruno Haible  <bruno@clisp.org>
30454
30455         string: Fix syntax error with g++ 2.96.
30456         * lib/string.in.h (__pure__): Remove definition.
30457         (_GL_ATTRIBUTE_PURE): New macro.
30458         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
30459         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
30460         Reported by Christian Weisgerber <naddy@mips.inka.de>.
30461
30462 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
30463
30464         unitypes: Fix bug introduced on 2010-05-18.
30465         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
30466
30467 2010-06-22  Eric Blake  <eblake@redhat.com>
30468
30469         memmem: slight optimization
30470         * lib/str-two-way.h (critical_factorization): Update comments.
30471         Reduce work during factorization phase.
30472         Reported by Carlos Bueno <carlos@bueno.org>.
30473
30474 2010-06-21  Bruno Haible  <bruno@clisp.org>
30475
30476         Fix HAVE_CALLOC_POSIX misnomer.
30477         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
30478         !HAVE_CALLOC_POSIX.
30479         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
30480         HAVE_CALLOC_POSIX.
30481         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
30482         instead of HAVE_CALLOC_POSIX.
30483         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
30484         HAVE_CALLOC_POSIX.
30485
30486         Use modern idiom for calloc() replacement.
30487         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
30488         AC_FUNC_CALLOC.
30489         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
30490         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
30491         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
30492         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
30493         (gl_REPLACE_CALLOC): New macro.
30494
30495 2010-06-21  Bruno Haible  <bruno@clisp.org>
30496
30497         Fix HAVE_REALLOC_POSIX misnomer.
30498         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
30499         !HAVE_REALLOC_POSIX.
30500         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
30501         HAVE_REALLOC_POSIX.
30502         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
30503         instead of HAVE_REALLOC_POSIX.
30504         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
30505         HAVE_REALLOC_POSIX.
30506
30507         Use modern idiom for realloc() replacement.
30508         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
30509         AC_FUNC_REALLOC.
30510         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
30511         Autoconf's AC_FUNC_REALLOC.
30512         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
30513         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
30514         (gl_REPLACE_REALLOC): New macro.
30515         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
30516
30517 2010-06-21  Bruno Haible  <bruno@clisp.org>
30518
30519         Fix HAVE_MALLOC_POSIX misnomer.
30520         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
30521         !HAVE_MALLOC_POSIX.
30522         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
30523         HAVE_MALLOC_POSIX.
30524         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
30525         instead of HAVE_MALLOC_POSIX.
30526         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
30527         HAVE_MALLOC_POSIX.
30528
30529         Use modern idiom for malloc() replacement.
30530         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
30531         AC_FUNC_MALLOC.
30532         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
30533         Autoconf's AC_FUNC_MALLOC.
30534         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
30535         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
30536         (gl_REPLACE_MALLOC): New macro.
30537         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
30538
30539 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
30540
30541         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
30542         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
30543         This macro takes 3 arguments, not 4.
30544
30545 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
30546
30547         ipv6: fix detection under mingw
30548         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
30549         in6_addr.
30550
30551 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
30552
30553         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
30554         that strtod() works when cross-compiling to a glibc version known
30555         to work.
30556
30557 2010-06-15  Bruno Haible  <bruno@clisp.org>
30558
30559         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
30560
30561 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
30562
30563         select: Correct timeout.
30564         * lib/select.c (rpl_select): Compute wait_timeout correctly.
30565
30566 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
30567
30568         git-version-gen: init shell var to avoid env var influence
30569         * build-aux/git-version-gen (v): Init shell var to empty.
30570
30571 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
30572
30573         priv-set: Don't assume that priv.h exists merely because getppriv does.
30574         See Jan Andersen's bug report about AIX 5L in
30575         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
30576         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
30577         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
30578         * lib/priv-set.h: Likewise.
30579         * tests/test-priv-set.c: Likewise.
30580
30581 2010-06-13  Bruno Haible  <bruno@clisp.org>
30582
30583         relocatable: Make it easier to test whether to install wrappers.
30584         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
30585         RELOCATABLE_VIA_WRAPPER.
30586
30587 2010-06-13  Bruno Haible  <bruno@clisp.org>
30588
30589         gnulib-tool: Display specified modules and dependencies differently.
30590         * gnulib-tool (func_show_module_list): New function.
30591         (func_import, func_create_testdir): Invoke it.
30592         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
30593
30594 2010-06-13  Bruno Haible  <bruno@clisp.org>
30595
30596         gnulib-tool: Align code of func_import and func_create_testdir.
30597         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
30598         specified_modules.
30599
30600 2010-06-12  Jim Meyering  <meyering@redhat.com>
30601
30602         test-inttostr: avoid spurious failure on Solaris 9
30603         * tests/test-inttostr.c (main): Skip the test when snprintf fails
30604         to accept "%ju".  Reported by Bruno Haible.
30605
30606 2010-06-11  Jim Meyering  <meyering@redhat.com>
30607
30608         test-sys_socket: mark variables as used more readably
30609         * tests/test-sys_socket.c (main): Mark otherwise unused variables
30610         as "used" explicitly via (void) statement casts.  This is more
30611         readable than using them in an artificial return expression.
30612         Suggestion from Bruno Haible.
30613
30614 2010-06-11  Bruno Haible  <bruno@clisp.org>
30615
30616         Avoid some more warnings from "gcc -Wwrite-strings".
30617         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
30618         to 'const char *'.
30619         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
30620         * tests/test-c-strcasestr.c (main): Likewise.
30621         * tests/test-mbscasestr1.c (main): Likewise.
30622         * tests/test-mbscasestr2.c (main): Likewise.
30623         * tests/test-memmem.c (main): Likewise.
30624         * tests/test-strstr.c (main): Likewise.
30625         * tests/test-strcasestr.c (main): Likewise.
30626
30627 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30628
30629         init.sh: change framework_failure_ to fail with status 99, not 1
30630         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
30631         automake's parallel-tests rule that this is an unexpected failure,
30632         even if the test is listed in XFAIL_TESTS.
30633
30634 2010-06-11  Jim Meyering  <meyering@redhat.com>
30635
30636         test-inttostr: avoid warnings about 4-6KB literal strings
30637         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
30638         Include "macros.h", for its definition of ASSERT.
30639         (CK): s/assert/ASSERT/
30640         * modules/inttostr-tests (Files): Add macros.h.
30641
30642         init.sh: don't use $ME_ or skip_ before they are defined
30643         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
30644         their first uses.  Also hoist their companions: warn_, fail_,
30645         framework_failure_, $stderr_fileno.  Prompted by a patch from
30646         Stefano Lattarini.
30647
30648         test-sys_socket: avoid set-but-not-used warnings from gcc
30649         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
30650         avoid warning about set-but-not-used variables.
30651
30652         test-xvasprintf: avoid 'const' discard warnings
30653         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
30654         "const" when assigning from literal strings.
30655         (test_xasprintf): Add "void" in function argument list to placate
30656         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
30657
30658         tests: avoid compilation warnings in argmatch and exclude tests...
30659         in packages that define ARGMATCH_DIE_DECL, like coreutils.
30660         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
30661         Since it always exits, declare with the "noreturn" attribute.
30662         * tests/test-argmatch.c: Likewise.
30663
30664         tests: avoid 'const' discard warnings in mbsstr tests
30665         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
30666         * tests/test-mbsstr2.c (main): Likewise.
30667
30668         test-verify: avoid warning from gcc's -Wmissing-declarations
30669         * tests/test-verify.c (function): Declare to be static.
30670
30671         test-inttostr.c: include <string.h> for use of strcmp
30672         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
30673
30674         test-linkat: avoid failed assertion on "other" architectures
30675         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
30676         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
30677         sparc: https://bugs.launchpad.net/bugs/591968
30678
30679 2010-06-11  Jim Meyering  <meyering@redhat.com>
30680
30681         printf.m4: avoid autoconf's "Expanded Before Required" warning
30682         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
30683         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
30684         autoconf warning.
30685
30686 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
30687
30688         Replacement header templates are now named with ".in", not "_".
30689         * doc/gnulib-intro.texi: Correct.
30690
30691 2010-06-10  Jim Meyering  <meyering@redhat.com>
30692
30693         inttostr-tests: depend on snprintf, not snprintf-posix
30694         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
30695         snprintf-posix, to avoid this aclocal failure:
30696           missing file gnulib-tests/vasnprintf.c
30697           configure.ac:45: error: expected source file, required through \
30698           AC_LIBSOURCES, not found
30699
30700 2010-06-10  Jim Meyering  <meyering@redhat.com>
30701
30702         inttostr: add a new function, inttostr, and tests
30703         The namesake function was not available.  The existence of the
30704         template file, inttostr.c makes its addition nontrivial.
30705         * lib/anytostr.c: Rename from inttostr.c.
30706         (anytostr): Rename from inttostr.
30707         * lib/inttostr.c: New file.
30708         * modules/inttostr (Files): Add anytostr.c.
30709         (Makefile.am): Set lib_SOURCES instead of ...
30710         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
30711         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
30712         * lib/offtostr.c: Likewise.
30713         * lib/uinttostr.c: Likewise.
30714         * lib/umaxtostr.c: Likewise.
30715         * modules/inttostr-tests: New file.
30716         * tests/test-inttostr.c: New file.  Test these functions.
30717
30718 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
30719             Bruno Haible  <bruno@clisp.org>
30720
30721         Add "Extending Gnulib" chapter to manual.
30722         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
30723         chapter.
30724         (Extending Gnulib): New chapter.
30725         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
30726         chapter.
30727
30728 2010-06-09  Bruno Haible  <bruno@clisp.org>
30729
30730         Avoid relocwrapper link errors due to gnulib replacement functions.
30731         * lib/areadlink.c: Use the system's malloc, realloc functions.
30732         (areadlink): Set errno to ENOMEM explicitly.
30733         * modules/areadlink (Depends-on): Remove malloc-posix.
30734         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30735
30736 2010-06-09  Bruno Haible  <bruno@clisp.org>
30737
30738         Avoid relocwrapper link errors due to gnulib replacement functions.
30739         * lib/canonicalize-lgpl.c: Use the system's malloc function.
30740         * lib/malloca.c: Likewise.
30741         * lib/relocatable.c: Likewise.
30742         * lib/progreloc.c: Use the system's malloc, sprintf functions.
30743         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
30744         * lib/setenv.c: Use the system's malloc, realloc functions.
30745         * lib/strerror.c: Use the system's sprintf function.
30746         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30747
30748 2010-06-04  Bruno Haible  <bruno@clisp.org>
30749
30750         Prefer documented low-level autoconf macro names.
30751         * m4/lib-link.m4: Use m4_translit instead of translit.
30752         * m4/environ.m4: Likewise.
30753         * m4/mathfunc.m4: Likewise.
30754         * m4/onceonly.m4: Likewise.
30755         * m4/stdint.m4: Likewise.
30756         Suggested by Eric Blake.
30757
30758 2010-06-04  Martin Lambers  <marlam@marlam.de>
30759             Bruno Haible  <bruno@clisp.org>
30760
30761         havelib: Allow library names with '+' characters.
30762         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
30763         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
30764
30765 2010-06-09  Bruno Haible  <bruno@clisp.org>
30766
30767         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
30768         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
30769         realloc failed.
30770
30771 2010-06-08  Peter Simons  <simons@cryp.to>
30772
30773         maint.mk: make the news-check rule more configurable
30774         * top/maint.mk (news-check-lines-spec): New variable.
30775         (news-check): Use "sed -n 1,10p" in place of "head".
30776
30777 2010-06-07  Jim Meyering  <meyering@redhat.com>
30778
30779         do-release-commit-and-tag: fix typo in --help
30780         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
30781
30782         regex: avoid new dead-code warning with gcc-4.6.0
30783         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
30784         if-block containing a while-loop.  It's been unused for at least
30785         5 years.
30786
30787 2010-06-05  Bruno Haible  <bruno@clisp.org>
30788
30789         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
30790         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
30791
30792 2010-06-04  Bruno Haible  <bruno@clisp.org>
30793
30794         Update to GNU gettext 0.18.1.
30795         * modules/gettext (configure.ac): Require gettext infrastructure from
30796         version 0.18.1.
30797
30798 2010-06-03  Bruno Haible  <bruno@clisp.org>
30799
30800         Don't use AC_LIBOBJ with file names in subdirectories.
30801         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
30802         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
30803         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
30804         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
30805         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
30806         gl_LIBUNISTRING_LIBSOURCE.
30807         (Makefile.am): Augment lib_SOURCES here, conditionally.
30808         * NEWS: Drop requirement for Automake option 'subdir-objects'.
30809
30810 2010-06-03  Bruno Haible  <bruno@clisp.org>
30811
30812         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
30813         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
30814         expansion does not end with a newline.
30815         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
30816         unnecessary newline.
30817
30818 2010-06-03  Bruno Haible  <bruno@clisp.org>
30819
30820         Reduce dependencies.
30821         * tests/test-quotearg.h: New file, extracted from
30822         tests/test-quotearg.c.
30823         * tests/test-quotearg-simple.c: New file, extracted from
30824         tests/test-quotearg.c.
30825         * tests/test-quotearg.c: Don't include <ctype.h>.
30826         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
30827         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
30828         use_quote_double_quotes, use_quotearg_colon): Moved to
30829         tests/test-quotearg.h.
30830         (results_g, flag_results, custom_quotes, custom_results): Moved
30831         to tests/test-quotearg-simple.c.
30832         (main): Moved the part that does not depend on gettext to
30833         tests/test-quotearg-simple.c. Return 77 if the test cannot be
30834         performed.
30835         * modules/quotearg-simple: New file.
30836         * modules/quotearg-simple-tests: New file.
30837         * modules/quotearg (Depends-on): Add quotearg-simple.
30838         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
30839         (Files): Add tests/test-quotearg.h.
30840         Reported by Paolo Bonzini.
30841
30842 2010-06-03  Bruno Haible  <bruno@clisp.org>
30843
30844         Reduce dependencies.
30845         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
30846
30847 2010-06-03  Bruno Haible  <bruno@clisp.org>
30848
30849         time: Undefine more broken macros.
30850         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
30851         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
30852         Reported by Eric Blake.
30853
30854 2010-06-03  Bruno Haible  <bruno@clisp.org>
30855
30856         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
30857         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
30858         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
30859         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
30860         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
30861         Reported by Ludovic Courtès <ludo@gnu.org>.
30862
30863 2010-06-02  Eric Blake  <eblake@redhat.com>
30864
30865         time: work with mingw + pthreads-win32 library
30866         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
30867         if timespec is defined only in pthread.h.
30868         * modules/time (Makefile.am): Substitute it.
30869         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
30870         <pthread.h>, when needed.
30871         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
30872         from the library.
30873
30874 2010-05-31  Bruno Haible  <bruno@clisp.org>
30875
30876         Avoid expanding two macros in the wrong order.
30877         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
30878         gl_LIBUNISTRING if it is defined.
30879         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
30880         autoconf >= 2.64.
30881         Reported by Ludovic Courtès <ludo@gnu.org>.
30882
30883 2010-05-27  Jim Meyering  <meyering@redhat.com>
30884
30885         maint.mk: also prohibit "#undef" of always-defined symbols
30886         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
30887         Allow more than one space before the symbol name.
30888         (sc_prohibit_always-defined_macros): Use grep's -E, now that
30889         the regexp uses alternation.
30890
30891 2010-05-26  Eric Blake  <eblake@redhat.com>
30892
30893         maint.mk: avoid echo -e
30894         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
30895         Convert all uses of echo -* to printf.
30896         Reported by Matthias Bolte.
30897
30898 2010-05-25  Bruno Haible  <bruno@clisp.org>
30899
30900         Update to GNU gettext 0.18, part 2.
30901         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
30902         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
30903
30904 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30905
30906         Add missing include in test-pwrite.c.
30907         * tests/test-pwrite.c: Include string.h, for strcmp.
30908
30909 2010-05-24  Bruno Haible  <bruno@clisp.org>
30910
30911         * NEWS: Mention requirement for Automake option 'subdir-objects'.
30912
30913 2010-05-24  Bruno Haible  <bruno@clisp.org>
30914
30915         Don't use conversion with transliteration in u{8,16,32}_strcoll.
30916         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
30917         iconveh_error argument.
30918         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
30919         U_STRCONV_TO_LOCALE.
30920         * lib/unistr/u16-strcoll.c: Likewise.
30921         * lib/unistr/u32-strcoll.c: Likewise.
30922         * modules/unistr/u8-strcoll (Depends-on): Add
30923         uniconv/u8-strconv-to-enc, localcharset. Remove
30924         uniconv/u8-strconv-to-locale.
30925         (configure.ac): Bump version number.
30926         * modules/unistr/u16-strcoll (Depends-on): Add
30927         uniconv/u16-strconv-to-enc, localcharset. Remove
30928         uniconv/u16-strconv-to-locale.
30929         (configure.ac): Bump version number.
30930         * modules/unistr/u32-strcoll (Depends-on): Add
30931         uniconv/u32-strconv-to-enc, localcharset. Remove
30932         uniconv/u32-strconv-to-locale.
30933         (configure.ac): Bump version number.
30934
30935 2010-05-24  Bruno Haible  <bruno@clisp.org>
30936
30937         Avoid a test failure on NetBSD 5.0.
30938         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
30939         an iconv() bug.
30940
30941 2010-05-24  Bruno Haible  <bruno@clisp.org>
30942
30943         Adjust #include directive style.
30944         * modules/regex (Includes): Recommend to write <regex.h>.
30945
30946 2010-05-24  Bruno Haible  <bruno@clisp.org>
30947
30948         regex: Don't require alloca.
30949         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
30950         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
30951         only inside if (0).
30952
30953 2010-05-23  Jim Meyering  <meyering@redhat.com>
30954
30955         test-renameat.c: include <sys/stat.h>
30956         * tests/test-renameat.c: Include <sys/stat.h>; required for
30957         definition of S_IS* macros.
30958
30959 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
30960
30961         Update maintainer documentation for 'relocatable-prog' module.
30962         * doc/relocatable-maint.texi: Update.
30963         Comments by Bruno Haible.
30964
30965 2010-05-23  Bruno Haible  <bruno@clisp.org>
30966
30967         git-merge-changelog: Enable --split-merged-entry by default.
30968         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
30969         (usage): Don't mention this option any more.
30970         Reported by Ralf Wildenhues.
30971
30972 2010-05-23  Jim Meyering  <meyering@redhat.com>
30973
30974         test-pwrite: do not leave behind a test file named "out"
30975         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
30976         The trivial-looking use of init.sh is really necessary.
30977         It ensures that the temporary file, "out", is created in
30978         a temporary directory, and removed upon termination.
30979         * tests/test-pwrite.sh: Re-add file.
30980         * modules/pwrite-tests: Reference it.
30981
30982 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30983
30984         Fix output redirection buglet in init.sh.
30985         * tests/init.sh: Fix redirection of stderr.
30986
30987 2010-05-20  Simon Josefsson  <simon@josefsson.org>
30988
30989         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
30990
30991 2010-05-17  Simon Josefsson  <simon@josefsson.org>
30992
30993         * modules/valgrind-tests: New file.
30994         * m4/valgrind-tests.m4: New file.
30995         * doc/valgrind-tests.texi: New file.
30996         * doc/gnulib.texi (Running self-tests under valgrind): New
30997         section.
30998
30999 2010-05-19  Bruno Haible  <bruno@clisp.org>
31000
31001         Clean up dead code in recent commit.
31002         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
31003         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
31004         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
31005         Suggested by Paolo Bonzini.
31006
31007 2010-05-19  Bruno Haible  <bruno@clisp.org>
31008
31009         Avoid valgrind error reports from libunistring.
31010         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
31011         * modules/libunistring (Files): Add it.
31012         * modules/libunistring-optional (Files): Likewise.
31013
31014 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
31015             Bruno Haible  <bruno@clisp.org>
31016
31017         New module 'libunistring-optional'.
31018         * modules/libunistring-optional: New file.
31019         * m4/libunistring-base.m4: New file.
31020         * m4/libunistring-optional.m4: New file.
31021         * lib/unicase.in.h: Renamed from lib/unicase.h.
31022         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
31023         * lib/unictype.in.h: Renamed from lib/unictype.h.
31024         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
31025         * lib/uniname.in.h: Renamed from lib/uniname.h.
31026         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
31027         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
31028         * lib/unistr.in.h: Renamed from lib/unistr.h.
31029         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
31030         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
31031         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
31032         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
31033         gl_LIBUNISTRING. If the library was found, determine the installed
31034         version and set LIBUNISTRING_VERSION.
31035         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
31036         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
31037         handle a configuration option --with-included-libunistring.
31038         * modules/libunistring (Files): Add m4/absolute-header.m4.
31039         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
31040         Add m4/libunistring-base.m4.
31041         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31042         (Makefile.am): Build unicase.h from unicase.in.h.
31043         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
31044         Add m4/libunistring-base.m4.
31045         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31046         (Makefile.am): Build uniconv.h from uniconv.in.h.
31047         * modules/unictype/base (Files): Use unictype.in.h instead of
31048         unictype.h. Add m4/libunistring-base.m4.
31049         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31050         (Makefile.am): Build unictype.h from unictype.in.h.
31051         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
31052         Add m4/libunistring-base.m4.
31053         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31054         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
31055         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
31056         Add m4/libunistring-base.m4.
31057         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31058         (Makefile.am): Build uniname.h from uniname.in.h.
31059         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
31060         Add m4/libunistring-base.m4.
31061         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31062         (Makefile.am): Build uninorm.h from uninorm.in.h.
31063         * modules/unistdio/base (Files): Use unistdio.in.h instead of
31064         unistdio.h. Add m4/libunistring-base.m4.
31065         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31066         (Makefile.am): Build unistdio.h from unistdio.in.h.
31067         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
31068         Add m4/libunistring-base.m4.
31069         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31070         (Makefile.am): Build unistr.h from unistr.in.h.
31071         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
31072         Add m4/libunistring-base.m4.
31073         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31074         (Makefile.am): Build unitypes.h from unitypes.in.h.
31075         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
31076         Add m4/libunistring-base.m4.
31077         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31078         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
31079         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
31080         uniwidth.h. Add m4/libunistring-base.m4.
31081         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
31082         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
31083         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
31084         instead of augmenting lib_SOURCES.
31085         * modules/unicase/empty-suffix-context: Likewise.
31086         * modules/unicase/locale-language: Likewise.
31087         * modules/unicase/tolower: Likewise.
31088         * modules/unicase/totitle: Likewise.
31089         * modules/unicase/toupper: Likewise.
31090         * modules/unicase/u8-casecmp: Likewise.
31091         * modules/unicase/u8-casecoll: Likewise.
31092         * modules/unicase/u8-casefold: Likewise.
31093         * modules/unicase/u8-casexfrm: Likewise.
31094         * modules/unicase/u8-ct-casefold: Likewise.
31095         * modules/unicase/u8-ct-tolower: Likewise.
31096         * modules/unicase/u8-ct-totitle: Likewise.
31097         * modules/unicase/u8-ct-toupper: Likewise.
31098         * modules/unicase/u8-is-cased: Likewise.
31099         * modules/unicase/u8-is-casefolded: Likewise.
31100         * modules/unicase/u8-is-lowercase: Likewise.
31101         * modules/unicase/u8-is-titlecase: Likewise.
31102         * modules/unicase/u8-is-uppercase: Likewise.
31103         * modules/unicase/u8-prefix-context: Likewise.
31104         * modules/unicase/u8-suffix-context: Likewise.
31105         * modules/unicase/u8-tolower: Likewise.
31106         * modules/unicase/u8-totitle: Likewise.
31107         * modules/unicase/u8-toupper: Likewise.
31108         * modules/unicase/u16-casecmp: Likewise.
31109         * modules/unicase/u16-casecoll: Likewise.
31110         * modules/unicase/u16-casefold: Likewise.
31111         * modules/unicase/u16-casexfrm: Likewise.
31112         * modules/unicase/u16-ct-casefold: Likewise.
31113         * modules/unicase/u16-ct-tolower: Likewise.
31114         * modules/unicase/u16-ct-totitle: Likewise.
31115         * modules/unicase/u16-ct-toupper: Likewise.
31116         * modules/unicase/u16-is-cased: Likewise.
31117         * modules/unicase/u16-is-casefolded: Likewise.
31118         * modules/unicase/u16-is-lowercase: Likewise.
31119         * modules/unicase/u16-is-titlecase: Likewise.
31120         * modules/unicase/u16-is-uppercase: Likewise.
31121         * modules/unicase/u16-prefix-context: Likewise.
31122         * modules/unicase/u16-suffix-context: Likewise.
31123         * modules/unicase/u16-tolower: Likewise.
31124         * modules/unicase/u16-totitle: Likewise.
31125         * modules/unicase/u16-toupper: Likewise.
31126         * modules/unicase/u32-casecmp: Likewise.
31127         * modules/unicase/u32-casecoll: Likewise.
31128         * modules/unicase/u32-casefold: Likewise.
31129         * modules/unicase/u32-casexfrm: Likewise.
31130         * modules/unicase/u32-ct-casefold: Likewise.
31131         * modules/unicase/u32-ct-tolower: Likewise.
31132         * modules/unicase/u32-ct-totitle: Likewise.
31133         * modules/unicase/u32-ct-toupper: Likewise.
31134         * modules/unicase/u32-is-cased: Likewise.
31135         * modules/unicase/u32-is-casefolded: Likewise.
31136         * modules/unicase/u32-is-lowercase: Likewise.
31137         * modules/unicase/u32-is-titlecase: Likewise.
31138         * modules/unicase/u32-is-uppercase: Likewise.
31139         * modules/unicase/u32-prefix-context: Likewise.
31140         * modules/unicase/u32-suffix-context: Likewise.
31141         * modules/unicase/u32-tolower: Likewise.
31142         * modules/unicase/u32-totitle: Likewise.
31143         * modules/unicase/u32-toupper: Likewise.
31144         * modules/unicase/ulc-casecmp: Likewise.
31145         * modules/unicase/ulc-casecoll: Likewise.
31146         * modules/unicase/ulc-casexfrm: Likewise.
31147         * modules/uniconv/u8-conv-from-enc: Likewise.
31148         * modules/uniconv/u8-conv-to-enc: Likewise.
31149         * modules/uniconv/u8-strconv-from-enc: Likewise.
31150         * modules/uniconv/u8-strconv-from-locale: Likewise.
31151         * modules/uniconv/u8-strconv-to-enc: Likewise.
31152         * modules/uniconv/u8-strconv-to-locale: Likewise.
31153         * modules/uniconv/u16-conv-from-enc: Likewise.
31154         * modules/uniconv/u16-conv-to-enc: Likewise.
31155         * modules/uniconv/u16-strconv-from-enc: Likewise.
31156         * modules/uniconv/u16-strconv-from-locale: Likewise.
31157         * modules/uniconv/u16-strconv-to-enc: Likewise.
31158         * modules/uniconv/u16-strconv-to-locale: Likewise.
31159         * modules/uniconv/u32-conv-from-enc: Likewise.
31160         * modules/uniconv/u32-conv-to-enc: Likewise.
31161         * modules/uniconv/u32-strconv-from-enc: Likewise.
31162         * modules/uniconv/u32-strconv-from-locale: Likewise.
31163         * modules/uniconv/u32-strconv-to-enc: Likewise.
31164         * modules/uniconv/u32-strconv-to-locale: Likewise.
31165         * modules/unictype/bidicategory-byname: Likewise.
31166         * modules/unictype/bidicategory-name: Likewise.
31167         * modules/unictype/bidicategory-of: Likewise.
31168         * modules/unictype/bidicategory-test: Likewise.
31169         * modules/unictype/block-list: Likewise.
31170         * modules/unictype/block-test: Likewise.
31171         * modules/unictype/category-C: Likewise.
31172         * modules/unictype/category-Cc: Likewise.
31173         * modules/unictype/category-Cf: Likewise.
31174         * modules/unictype/category-Cn: Likewise.
31175         * modules/unictype/category-Co: Likewise.
31176         * modules/unictype/category-Cs: Likewise.
31177         * modules/unictype/category-L: Likewise.
31178         * modules/unictype/category-Ll: Likewise.
31179         * modules/unictype/category-Lm: Likewise.
31180         * modules/unictype/category-Lo: Likewise.
31181         * modules/unictype/category-Lt: Likewise.
31182         * modules/unictype/category-Lu: Likewise.
31183         * modules/unictype/category-M: Likewise.
31184         * modules/unictype/category-Mc: Likewise.
31185         * modules/unictype/category-Me: Likewise.
31186         * modules/unictype/category-Mn: Likewise.
31187         * modules/unictype/category-N: Likewise.
31188         * modules/unictype/category-Nd: Likewise.
31189         * modules/unictype/category-Nl: Likewise.
31190         * modules/unictype/category-No: Likewise.
31191         * modules/unictype/category-P: Likewise.
31192         * modules/unictype/category-Pc: Likewise.
31193         * modules/unictype/category-Pd: Likewise.
31194         * modules/unictype/category-Pe: Likewise.
31195         * modules/unictype/category-Pf: Likewise.
31196         * modules/unictype/category-Pi: Likewise.
31197         * modules/unictype/category-Po: Likewise.
31198         * modules/unictype/category-Ps: Likewise.
31199         * modules/unictype/category-S: Likewise.
31200         * modules/unictype/category-Sc: Likewise.
31201         * modules/unictype/category-Sk: Likewise.
31202         * modules/unictype/category-Sm: Likewise.
31203         * modules/unictype/category-So: Likewise.
31204         * modules/unictype/category-Z: Likewise.
31205         * modules/unictype/category-Zl: Likewise.
31206         * modules/unictype/category-Zp: Likewise.
31207         * modules/unictype/category-Zs: Likewise.
31208         * modules/unictype/category-and: Likewise.
31209         * modules/unictype/category-and-not: Likewise.
31210         * modules/unictype/category-byname: Likewise.
31211         * modules/unictype/category-name: Likewise.
31212         * modules/unictype/category-none: Likewise.
31213         * modules/unictype/category-of: Likewise.
31214         * modules/unictype/category-or: Likewise.
31215         * modules/unictype/category-test: Likewise.
31216         * modules/unictype/combining-class: Likewise.
31217         * modules/unictype/ctype-alnum: Likewise.
31218         * modules/unictype/ctype-alpha: Likewise.
31219         * modules/unictype/ctype-blank: Likewise.
31220         * modules/unictype/ctype-cntrl: Likewise.
31221         * modules/unictype/ctype-digit: Likewise.
31222         * modules/unictype/ctype-graph: Likewise.
31223         * modules/unictype/ctype-lower: Likewise.
31224         * modules/unictype/ctype-print: Likewise.
31225         * modules/unictype/ctype-punct: Likewise.
31226         * modules/unictype/ctype-space: Likewise.
31227         * modules/unictype/ctype-upper: Likewise.
31228         * modules/unictype/ctype-xdigit: Likewise.
31229         * modules/unictype/decimal-digit: Likewise.
31230         * modules/unictype/digit: Likewise.
31231         * modules/unictype/mirror: Likewise.
31232         * modules/unictype/numeric: Likewise.
31233         * modules/unictype/property-alphabetic: Likewise.
31234         * modules/unictype/property-ascii-hex-digit: Likewise.
31235         * modules/unictype/property-bidi-arabic-digit: Likewise.
31236         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
31237         * modules/unictype/property-bidi-block-separator: Likewise.
31238         * modules/unictype/property-bidi-boundary-neutral: Likewise.
31239         * modules/unictype/property-bidi-common-separator: Likewise.
31240         * modules/unictype/property-bidi-control: Likewise.
31241         * modules/unictype/property-bidi-embedding-or-override: Likewise.
31242         * modules/unictype/property-bidi-eur-num-separator: Likewise.
31243         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
31244         * modules/unictype/property-bidi-european-digit: Likewise.
31245         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
31246         * modules/unictype/property-bidi-left-to-right: Likewise.
31247         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
31248         * modules/unictype/property-bidi-other-neutral: Likewise.
31249         * modules/unictype/property-bidi-pdf: Likewise.
31250         * modules/unictype/property-bidi-segment-separator: Likewise.
31251         * modules/unictype/property-bidi-whitespace: Likewise.
31252         * modules/unictype/property-byname: Likewise.
31253         * modules/unictype/property-combining: Likewise.
31254         * modules/unictype/property-composite: Likewise.
31255         * modules/unictype/property-currency-symbol: Likewise.
31256         * modules/unictype/property-dash: Likewise.
31257         * modules/unictype/property-decimal-digit: Likewise.
31258         * modules/unictype/property-default-ignorable-code-point: Likewise.
31259         * modules/unictype/property-deprecated: Likewise.
31260         * modules/unictype/property-diacritic: Likewise.
31261         * modules/unictype/property-extender: Likewise.
31262         * modules/unictype/property-format-control: Likewise.
31263         * modules/unictype/property-grapheme-base: Likewise.
31264         * modules/unictype/property-grapheme-extend: Likewise.
31265         * modules/unictype/property-grapheme-link: Likewise.
31266         * modules/unictype/property-hex-digit: Likewise.
31267         * modules/unictype/property-hyphen: Likewise.
31268         * modules/unictype/property-id-continue: Likewise.
31269         * modules/unictype/property-id-start: Likewise.
31270         * modules/unictype/property-ideographic: Likewise.
31271         * modules/unictype/property-ids-binary-operator: Likewise.
31272         * modules/unictype/property-ids-trinary-operator: Likewise.
31273         * modules/unictype/property-ignorable-control: Likewise.
31274         * modules/unictype/property-iso-control: Likewise.
31275         * modules/unictype/property-join-control: Likewise.
31276         * modules/unictype/property-left-of-pair: Likewise.
31277         * modules/unictype/property-line-separator: Likewise.
31278         * modules/unictype/property-logical-order-exception: Likewise.
31279         * modules/unictype/property-lowercase: Likewise.
31280         * modules/unictype/property-math: Likewise.
31281         * modules/unictype/property-non-break: Likewise.
31282         * modules/unictype/property-not-a-character: Likewise.
31283         * modules/unictype/property-numeric: Likewise.
31284         * modules/unictype/property-other-alphabetic: Likewise.
31285         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
31286         * modules/unictype/property-other-grapheme-extend: Likewise.
31287         * modules/unictype/property-other-id-continue: Likewise.
31288         * modules/unictype/property-other-id-start: Likewise.
31289         * modules/unictype/property-other-lowercase: Likewise.
31290         * modules/unictype/property-other-math: Likewise.
31291         * modules/unictype/property-other-uppercase: Likewise.
31292         * modules/unictype/property-paired-punctuation: Likewise.
31293         * modules/unictype/property-paragraph-separator: Likewise.
31294         * modules/unictype/property-pattern-syntax: Likewise.
31295         * modules/unictype/property-pattern-white-space: Likewise.
31296         * modules/unictype/property-private-use: Likewise.
31297         * modules/unictype/property-punctuation: Likewise.
31298         * modules/unictype/property-quotation-mark: Likewise.
31299         * modules/unictype/property-radical: Likewise.
31300         * modules/unictype/property-sentence-terminal: Likewise.
31301         * modules/unictype/property-soft-dotted: Likewise.
31302         * modules/unictype/property-space: Likewise.
31303         * modules/unictype/property-terminal-punctuation: Likewise.
31304         * modules/unictype/property-test: Likewise.
31305         * modules/unictype/property-titlecase: Likewise.
31306         * modules/unictype/property-unassigned-code-value: Likewise.
31307         * modules/unictype/property-unified-ideograph: Likewise.
31308         * modules/unictype/property-uppercase: Likewise.
31309         * modules/unictype/property-variation-selector: Likewise.
31310         * modules/unictype/property-white-space: Likewise.
31311         * modules/unictype/property-xid-continue: Likewise.
31312         * modules/unictype/property-xid-start: Likewise.
31313         * modules/unictype/property-zero-width: Likewise.
31314         * modules/unictype/scripts: Likewise.
31315         * modules/unictype/syntax-c-ident: Likewise.
31316         * modules/unictype/syntax-c-whitespace: Likewise.
31317         * modules/unictype/syntax-java-ident: Likewise.
31318         * modules/unictype/syntax-java-whitespace: Likewise.
31319         * modules/unilbrk/u8-possible-linebreaks: Likewise.
31320         * modules/unilbrk/u8-width-linebreaks: Likewise.
31321         * modules/unilbrk/u16-possible-linebreaks: Likewise.
31322         * modules/unilbrk/u16-width-linebreaks: Likewise.
31323         * modules/unilbrk/u32-possible-linebreaks: Likewise.
31324         * modules/unilbrk/u32-width-linebreaks: Likewise.
31325         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
31326         * modules/unilbrk/ulc-width-linebreaks: Likewise.
31327         * modules/uniname/uniname: Likewise.
31328         * modules/uninorm/canonical-decomposition: Likewise.
31329         * modules/uninorm/composition: Likewise.
31330         * modules/uninorm/decomposing-form: Likewise.
31331         * modules/uninorm/decomposition: Likewise.
31332         * modules/uninorm/filter: Likewise.
31333         * modules/uninorm/nfc: Likewise.
31334         * modules/uninorm/nfd: Likewise.
31335         * modules/uninorm/nfkc: Likewise.
31336         * modules/uninorm/nfkd: Likewise.
31337         * modules/uninorm/u8-normalize: Likewise.
31338         * modules/uninorm/u8-normcmp: Likewise.
31339         * modules/uninorm/u8-normcoll: Likewise.
31340         * modules/uninorm/u8-normxfrm: Likewise.
31341         * modules/uninorm/u16-normalize: Likewise.
31342         * modules/uninorm/u16-normcmp: Likewise.
31343         * modules/uninorm/u16-normcoll: Likewise.
31344         * modules/uninorm/u16-normxfrm: Likewise.
31345         * modules/uninorm/u32-normalize: Likewise.
31346         * modules/uninorm/u32-normcmp: Likewise.
31347         * modules/uninorm/u32-normcoll: Likewise.
31348         * modules/uninorm/u32-normxfrm: Likewise.
31349         * modules/unistdio/u8-asnprintf: Likewise.
31350         * modules/unistdio/u8-asprintf: Likewise.
31351         * modules/unistdio/u8-snprintf: Likewise.
31352         * modules/unistdio/u8-sprintf: Likewise.
31353         * modules/unistdio/u8-u8-asnprintf: Likewise.
31354         * modules/unistdio/u8-u8-asprintf: Likewise.
31355         * modules/unistdio/u8-u8-snprintf: Likewise.
31356         * modules/unistdio/u8-u8-sprintf: Likewise.
31357         * modules/unistdio/u8-u8-vasnprintf: Likewise.
31358         * modules/unistdio/u8-u8-vasprintf: Likewise.
31359         * modules/unistdio/u8-u8-vsnprintf: Likewise.
31360         * modules/unistdio/u8-u8-vsprintf: Likewise.
31361         * modules/unistdio/u8-vasnprintf: Likewise.
31362         * modules/unistdio/u8-vasprintf: Likewise.
31363         * modules/unistdio/u8-vsnprintf: Likewise.
31364         * modules/unistdio/u8-vsprintf: Likewise.
31365         * modules/unistdio/u16-asnprintf: Likewise.
31366         * modules/unistdio/u16-asprintf: Likewise.
31367         * modules/unistdio/u16-snprintf: Likewise.
31368         * modules/unistdio/u16-sprintf: Likewise.
31369         * modules/unistdio/u16-u16-asnprintf: Likewise.
31370         * modules/unistdio/u16-u16-asprintf: Likewise.
31371         * modules/unistdio/u16-u16-snprintf: Likewise.
31372         * modules/unistdio/u16-u16-sprintf: Likewise.
31373         * modules/unistdio/u16-u16-vasnprintf: Likewise.
31374         * modules/unistdio/u16-u16-vasprintf: Likewise.
31375         * modules/unistdio/u16-u16-vsnprintf: Likewise.
31376         * modules/unistdio/u16-u16-vsprintf: Likewise.
31377         * modules/unistdio/u16-vasnprintf: Likewise.
31378         * modules/unistdio/u16-vasprintf: Likewise.
31379         * modules/unistdio/u16-vsnprintf: Likewise.
31380         * modules/unistdio/u16-vsprintf: Likewise.
31381         * modules/unistdio/u32-asnprintf: Likewise.
31382         * modules/unistdio/u32-asprintf: Likewise.
31383         * modules/unistdio/u32-snprintf: Likewise.
31384         * modules/unistdio/u32-sprintf: Likewise.
31385         * modules/unistdio/u32-u32-asnprintf: Likewise.
31386         * modules/unistdio/u32-u32-asprintf: Likewise.
31387         * modules/unistdio/u32-u32-snprintf: Likewise.
31388         * modules/unistdio/u32-u32-sprintf: Likewise.
31389         * modules/unistdio/u32-u32-vasnprintf: Likewise.
31390         * modules/unistdio/u32-u32-vasprintf: Likewise.
31391         * modules/unistdio/u32-u32-vsnprintf: Likewise.
31392         * modules/unistdio/u32-u32-vsprintf: Likewise.
31393         * modules/unistdio/u32-vasnprintf: Likewise.
31394         * modules/unistdio/u32-vasprintf: Likewise.
31395         * modules/unistdio/u32-vsnprintf: Likewise.
31396         * modules/unistdio/u32-vsprintf: Likewise.
31397         * modules/unistdio/ulc-asnprintf: Likewise.
31398         * modules/unistdio/ulc-asprintf: Likewise.
31399         * modules/unistdio/ulc-fprintf: Likewise.
31400         * modules/unistdio/ulc-snprintf: Likewise.
31401         * modules/unistdio/ulc-sprintf: Likewise.
31402         * modules/unistdio/ulc-vasnprintf: Likewise.
31403         * modules/unistdio/ulc-vasprintf: Likewise.
31404         * modules/unistdio/ulc-vfprintf: Likewise.
31405         * modules/unistdio/ulc-vsnprintf: Likewise.
31406         * modules/unistdio/ulc-vsprintf: Likewise.
31407         * modules/unistr/u8-check: Likewise.
31408         * modules/unistr/u8-chr: Likewise.
31409         * modules/unistr/u8-cmp: Likewise.
31410         * modules/unistr/u8-cmp2: Likewise.
31411         * modules/unistr/u8-cpy: Likewise.
31412         * modules/unistr/u8-cpy-alloc: Likewise.
31413         * modules/unistr/u8-endswith: Likewise.
31414         * modules/unistr/u8-mblen: Likewise.
31415         * modules/unistr/u8-mbsnlen: Likewise.
31416         * modules/unistr/u8-mbtouc: Likewise.
31417         * modules/unistr/u8-mbtouc-unsafe: Likewise.
31418         * modules/unistr/u8-mbtoucr: Likewise.
31419         * modules/unistr/u8-move: Likewise.
31420         * modules/unistr/u8-next: Likewise.
31421         * modules/unistr/u8-prev: Likewise.
31422         * modules/unistr/u8-set: Likewise.
31423         * modules/unistr/u8-startswith: Likewise.
31424         * modules/unistr/u8-stpcpy: Likewise.
31425         * modules/unistr/u8-stpncpy: Likewise.
31426         * modules/unistr/u8-strcat: Likewise.
31427         * modules/unistr/u8-strchr: Likewise.
31428         * modules/unistr/u8-strcmp: Likewise.
31429         * modules/unistr/u8-strcoll: Likewise.
31430         * modules/unistr/u8-strcpy: Likewise.
31431         * modules/unistr/u8-strcspn: Likewise.
31432         * modules/unistr/u8-strdup: Likewise.
31433         * modules/unistr/u8-strlen: Likewise.
31434         * modules/unistr/u8-strmblen: Likewise.
31435         * modules/unistr/u8-strmbtouc: Likewise.
31436         * modules/unistr/u8-strncat: Likewise.
31437         * modules/unistr/u8-strncmp: Likewise.
31438         * modules/unistr/u8-strncpy: Likewise.
31439         * modules/unistr/u8-strnlen: Likewise.
31440         * modules/unistr/u8-strpbrk: Likewise.
31441         * modules/unistr/u8-strrchr: Likewise.
31442         * modules/unistr/u8-strspn: Likewise.
31443         * modules/unistr/u8-strstr: Likewise.
31444         * modules/unistr/u8-strtok: Likewise.
31445         * modules/unistr/u8-to-u16: Likewise.
31446         * modules/unistr/u8-to-u32: Likewise.
31447         * modules/unistr/u8-uctomb: Likewise.
31448         * modules/unistr/u16-check: Likewise.
31449         * modules/unistr/u16-chr: Likewise.
31450         * modules/unistr/u16-cmp: Likewise.
31451         * modules/unistr/u16-cmp2: Likewise.
31452         * modules/unistr/u16-cpy: Likewise.
31453         * modules/unistr/u16-cpy-alloc: Likewise.
31454         * modules/unistr/u16-endswith: Likewise.
31455         * modules/unistr/u16-mblen: Likewise.
31456         * modules/unistr/u16-mbsnlen: Likewise.
31457         * modules/unistr/u16-mbtouc: Likewise.
31458         * modules/unistr/u16-mbtouc-unsafe: Likewise.
31459         * modules/unistr/u16-mbtoucr: Likewise.
31460         * modules/unistr/u16-move: Likewise.
31461         * modules/unistr/u16-next: Likewise.
31462         * modules/unistr/u16-prev: Likewise.
31463         * modules/unistr/u16-set: Likewise.
31464         * modules/unistr/u16-startswith: Likewise.
31465         * modules/unistr/u16-stpcpy: Likewise.
31466         * modules/unistr/u16-stpncpy: Likewise.
31467         * modules/unistr/u16-strcat: Likewise.
31468         * modules/unistr/u16-strchr: Likewise.
31469         * modules/unistr/u16-strcmp: Likewise.
31470         * modules/unistr/u16-strcoll: Likewise.
31471         * modules/unistr/u16-strcpy: Likewise.
31472         * modules/unistr/u16-strcspn: Likewise.
31473         * modules/unistr/u16-strdup: Likewise.
31474         * modules/unistr/u16-strlen: Likewise.
31475         * modules/unistr/u16-strmblen: Likewise.
31476         * modules/unistr/u16-strmbtouc: Likewise.
31477         * modules/unistr/u16-strncat: Likewise.
31478         * modules/unistr/u16-strncmp: Likewise.
31479         * modules/unistr/u16-strncpy: Likewise.
31480         * modules/unistr/u16-strnlen: Likewise.
31481         * modules/unistr/u16-strpbrk: Likewise.
31482         * modules/unistr/u16-strrchr: Likewise.
31483         * modules/unistr/u16-strspn: Likewise.
31484         * modules/unistr/u16-strstr: Likewise.
31485         * modules/unistr/u16-strtok: Likewise.
31486         * modules/unistr/u16-to-u32: Likewise.
31487         * modules/unistr/u16-to-u8: Likewise.
31488         * modules/unistr/u16-uctomb: Likewise.
31489         * modules/unistr/u32-check: Likewise.
31490         * modules/unistr/u32-chr: Likewise.
31491         * modules/unistr/u32-cmp: Likewise.
31492         * modules/unistr/u32-cmp2: Likewise.
31493         * modules/unistr/u32-cpy: Likewise.
31494         * modules/unistr/u32-cpy-alloc: Likewise.
31495         * modules/unistr/u32-endswith: Likewise.
31496         * modules/unistr/u32-mblen: Likewise.
31497         * modules/unistr/u32-mbsnlen: Likewise.
31498         * modules/unistr/u32-mbtouc: Likewise.
31499         * modules/unistr/u32-mbtouc-unsafe: Likewise.
31500         * modules/unistr/u32-mbtoucr: Likewise.
31501         * modules/unistr/u32-move: Likewise.
31502         * modules/unistr/u32-next: Likewise.
31503         * modules/unistr/u32-prev: Likewise.
31504         * modules/unistr/u32-set: Likewise.
31505         * modules/unistr/u32-startswith: Likewise.
31506         * modules/unistr/u32-stpcpy: Likewise.
31507         * modules/unistr/u32-stpncpy: Likewise.
31508         * modules/unistr/u32-strcat: Likewise.
31509         * modules/unistr/u32-strchr: Likewise.
31510         * modules/unistr/u32-strcmp: Likewise.
31511         * modules/unistr/u32-strcoll: Likewise.
31512         * modules/unistr/u32-strcpy: Likewise.
31513         * modules/unistr/u32-strcspn: Likewise.
31514         * modules/unistr/u32-strdup: Likewise.
31515         * modules/unistr/u32-strlen: Likewise.
31516         * modules/unistr/u32-strmblen: Likewise.
31517         * modules/unistr/u32-strmbtouc: Likewise.
31518         * modules/unistr/u32-strncat: Likewise.
31519         * modules/unistr/u32-strncmp: Likewise.
31520         * modules/unistr/u32-strncpy: Likewise.
31521         * modules/unistr/u32-strnlen: Likewise.
31522         * modules/unistr/u32-strpbrk: Likewise.
31523         * modules/unistr/u32-strrchr: Likewise.
31524         * modules/unistr/u32-strspn: Likewise.
31525         * modules/unistr/u32-strstr: Likewise.
31526         * modules/unistr/u32-strtok: Likewise.
31527         * modules/unistr/u32-to-u16: Likewise.
31528         * modules/unistr/u32-to-u8: Likewise.
31529         * modules/unistr/u32-uctomb: Likewise.
31530         * modules/uniwbrk/u8-wordbreaks: Likewise.
31531         * modules/uniwbrk/u16-wordbreaks: Likewise.
31532         * modules/uniwbrk/u32-wordbreaks: Likewise.
31533         * modules/uniwbrk/ulc-wordbreaks: Likewise.
31534         * modules/uniwbrk/wordbreak-property: Likewise.
31535         * modules/uniwidth/u8-strwidth: Likewise.
31536         * modules/uniwidth/u8-width: Likewise.
31537         * modules/uniwidth/u16-strwidth: Likewise.
31538         * modules/uniwidth/u16-width: Likewise.
31539         * modules/uniwidth/u32-strwidth: Likewise.
31540         * modules/uniwidth/u32-width: Likewise.
31541         * modules/uniwidth/width: Likewise.
31542         * modules/unicase/cased-tests (Makefile.am): Link all test programs
31543         with $(LIBUNISTRING).
31544         * modules/unicase/ignorable-tests: Likewise.
31545         * modules/unicase/locale-language-tests: Likewise.
31546         * modules/unicase/tolower-tests: Likewise.
31547         * modules/unicase/totitle-tests: Likewise.
31548         * modules/unicase/toupper-tests: Likewise.
31549         * modules/unicase/u8-casecmp-tests: Likewise.
31550         * modules/unicase/u8-casecoll-tests: Likewise.
31551         * modules/unicase/u8-casefold-tests: Likewise.
31552         * modules/unicase/u8-is-cased-tests: Likewise.
31553         * modules/unicase/u8-is-casefolded-tests: Likewise.
31554         * modules/unicase/u8-is-lowercase-tests: Likewise.
31555         * modules/unicase/u8-is-titlecase-tests: Likewise.
31556         * modules/unicase/u8-is-uppercase-tests: Likewise.
31557         * modules/unicase/u8-tolower-tests: Likewise.
31558         * modules/unicase/u8-totitle-tests: Likewise.
31559         * modules/unicase/u8-toupper-tests: Likewise.
31560         * modules/unicase/u16-casecmp-tests: Likewise.
31561         * modules/unicase/u16-casecoll-tests: Likewise.
31562         * modules/unicase/u16-casefold-tests: Likewise.
31563         * modules/unicase/u16-is-cased-tests: Likewise.
31564         * modules/unicase/u16-is-casefolded-tests: Likewise.
31565         * modules/unicase/u16-is-lowercase-tests: Likewise.
31566         * modules/unicase/u16-is-titlecase-tests: Likewise.
31567         * modules/unicase/u16-is-uppercase-tests: Likewise.
31568         * modules/unicase/u16-tolower-tests: Likewise.
31569         * modules/unicase/u16-totitle-tests: Likewise.
31570         * modules/unicase/u16-toupper-tests: Likewise.
31571         * modules/unicase/u32-casecmp-tests: Likewise.
31572         * modules/unicase/u32-casecoll-tests: Likewise.
31573         * modules/unicase/u32-casefold-tests: Likewise.
31574         * modules/unicase/u32-is-cased-tests: Likewise.
31575         * modules/unicase/u32-is-casefolded-tests: Likewise.
31576         * modules/unicase/u32-is-lowercase-tests: Likewise.
31577         * modules/unicase/u32-is-titlecase-tests: Likewise.
31578         * modules/unicase/u32-is-uppercase-tests: Likewise.
31579         * modules/unicase/u32-tolower-tests: Likewise.
31580         * modules/unicase/u32-totitle-tests: Likewise.
31581         * modules/unicase/u32-toupper-tests: Likewise.
31582         * modules/unicase/ulc-casecmp-tests: Likewise.
31583         * modules/unicase/ulc-casecoll-tests: Likewise.
31584         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
31585         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
31586         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
31587         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
31588         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
31589         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
31590         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
31591         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
31592         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
31593         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
31594         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
31595         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
31596         * modules/unictype/bidicategory-byname-tests: Likewise.
31597         * modules/unictype/bidicategory-name-tests: Likewise.
31598         * modules/unictype/bidicategory-of-tests: Likewise.
31599         * modules/unictype/bidicategory-test-tests: Likewise.
31600         * modules/unictype/block-list-tests: Likewise.
31601         * modules/unictype/block-of-tests: Likewise.
31602         * modules/unictype/block-test-tests: Likewise.
31603         * modules/unictype/category-C-tests: Likewise.
31604         * modules/unictype/category-Cc-tests: Likewise.
31605         * modules/unictype/category-Cf-tests: Likewise.
31606         * modules/unictype/category-Cn-tests: Likewise.
31607         * modules/unictype/category-Co-tests: Likewise.
31608         * modules/unictype/category-Cs-tests: Likewise.
31609         * modules/unictype/category-L-tests: Likewise.
31610         * modules/unictype/category-Ll-tests: Likewise.
31611         * modules/unictype/category-Lm-tests: Likewise.
31612         * modules/unictype/category-Lo-tests: Likewise.
31613         * modules/unictype/category-Lt-tests: Likewise.
31614         * modules/unictype/category-Lu-tests: Likewise.
31615         * modules/unictype/category-M-tests: Likewise.
31616         * modules/unictype/category-Mc-tests: Likewise.
31617         * modules/unictype/category-Me-tests: Likewise.
31618         * modules/unictype/category-Mn-tests: Likewise.
31619         * modules/unictype/category-N-tests: Likewise.
31620         * modules/unictype/category-Nd-tests: Likewise.
31621         * modules/unictype/category-Nl-tests: Likewise.
31622         * modules/unictype/category-No-tests: Likewise.
31623         * modules/unictype/category-P-tests: Likewise.
31624         * modules/unictype/category-Pc-tests: Likewise.
31625         * modules/unictype/category-Pd-tests: Likewise.
31626         * modules/unictype/category-Pe-tests: Likewise.
31627         * modules/unictype/category-Pf-tests: Likewise.
31628         * modules/unictype/category-Pi-tests: Likewise.
31629         * modules/unictype/category-Po-tests: Likewise.
31630         * modules/unictype/category-Ps-tests: Likewise.
31631         * modules/unictype/category-S-tests: Likewise.
31632         * modules/unictype/category-Sc-tests: Likewise.
31633         * modules/unictype/category-Sk-tests: Likewise.
31634         * modules/unictype/category-Sm-tests: Likewise.
31635         * modules/unictype/category-So-tests: Likewise.
31636         * modules/unictype/category-Z-tests: Likewise.
31637         * modules/unictype/category-Zl-tests: Likewise.
31638         * modules/unictype/category-Zp-tests: Likewise.
31639         * modules/unictype/category-Zs-tests: Likewise.
31640         * modules/unictype/category-and-not-tests: Likewise.
31641         * modules/unictype/category-and-tests: Likewise.
31642         * modules/unictype/category-byname-tests: Likewise.
31643         * modules/unictype/category-name-tests: Likewise.
31644         * modules/unictype/category-none-tests: Likewise.
31645         * modules/unictype/category-of-tests: Likewise.
31646         * modules/unictype/category-or-tests: Likewise.
31647         * modules/unictype/category-test-withtable-tests: Likewise.
31648         * modules/unictype/combining-class-tests: Likewise.
31649         * modules/unictype/ctype-alnum-tests: Likewise.
31650         * modules/unictype/ctype-alpha-tests: Likewise.
31651         * modules/unictype/ctype-blank-tests: Likewise.
31652         * modules/unictype/ctype-cntrl-tests: Likewise.
31653         * modules/unictype/ctype-digit-tests: Likewise.
31654         * modules/unictype/ctype-graph-tests: Likewise.
31655         * modules/unictype/ctype-lower-tests: Likewise.
31656         * modules/unictype/ctype-print-tests: Likewise.
31657         * modules/unictype/ctype-punct-tests: Likewise.
31658         * modules/unictype/ctype-space-tests: Likewise.
31659         * modules/unictype/ctype-upper-tests: Likewise.
31660         * modules/unictype/ctype-xdigit-tests: Likewise.
31661         * modules/unictype/decimal-digit-tests: Likewise.
31662         * modules/unictype/digit-tests: Likewise.
31663         * modules/unictype/mirror-tests: Likewise.
31664         * modules/unictype/numeric-tests: Likewise.
31665         * modules/unictype/property-alphabetic-tests: Likewise.
31666         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
31667         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
31668         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
31669         * modules/unictype/property-bidi-block-separator-tests: Likewise.
31670         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
31671         * modules/unictype/property-bidi-common-separator-tests: Likewise.
31672         * modules/unictype/property-bidi-control-tests: Likewise.
31673         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
31674         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
31675         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
31676         * modules/unictype/property-bidi-european-digit-tests: Likewise.
31677         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
31678         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
31679         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
31680         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
31681         * modules/unictype/property-bidi-pdf-tests: Likewise.
31682         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
31683         * modules/unictype/property-bidi-whitespace-tests: Likewise.
31684         * modules/unictype/property-byname-tests: Likewise.
31685         * modules/unictype/property-combining-tests: Likewise.
31686         * modules/unictype/property-composite-tests: Likewise.
31687         * modules/unictype/property-currency-symbol-tests: Likewise.
31688         * modules/unictype/property-dash-tests: Likewise.
31689         * modules/unictype/property-decimal-digit-tests: Likewise.
31690         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
31691         * modules/unictype/property-deprecated-tests: Likewise.
31692         * modules/unictype/property-diacritic-tests: Likewise.
31693         * modules/unictype/property-extender-tests: Likewise.
31694         * modules/unictype/property-format-control-tests: Likewise.
31695         * modules/unictype/property-grapheme-base-tests: Likewise.
31696         * modules/unictype/property-grapheme-extend-tests: Likewise.
31697         * modules/unictype/property-grapheme-link-tests: Likewise.
31698         * modules/unictype/property-hex-digit-tests: Likewise.
31699         * modules/unictype/property-hyphen-tests: Likewise.
31700         * modules/unictype/property-id-continue-tests: Likewise.
31701         * modules/unictype/property-id-start-tests: Likewise.
31702         * modules/unictype/property-ideographic-tests: Likewise.
31703         * modules/unictype/property-ids-binary-operator-tests: Likewise.
31704         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
31705         * modules/unictype/property-ignorable-control-tests: Likewise.
31706         * modules/unictype/property-iso-control-tests: Likewise.
31707         * modules/unictype/property-join-control-tests: Likewise.
31708         * modules/unictype/property-left-of-pair-tests: Likewise.
31709         * modules/unictype/property-line-separator-tests: Likewise.
31710         * modules/unictype/property-logical-order-exception-tests: Likewise.
31711         * modules/unictype/property-lowercase-tests: Likewise.
31712         * modules/unictype/property-math-tests: Likewise.
31713         * modules/unictype/property-non-break-tests: Likewise.
31714         * modules/unictype/property-not-a-character-tests: Likewise.
31715         * modules/unictype/property-numeric-tests: Likewise.
31716         * modules/unictype/property-other-alphabetic-tests: Likewise.
31717         * modules/unictype/property-other-default-ignorable-code-point-tests:
31718         Likewise.
31719         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
31720         * modules/unictype/property-other-id-continue-tests: Likewise.
31721         * modules/unictype/property-other-id-start-tests: Likewise.
31722         * modules/unictype/property-other-lowercase-tests: Likewise.
31723         * modules/unictype/property-other-math-tests: Likewise.
31724         * modules/unictype/property-other-uppercase-tests: Likewise.
31725         * modules/unictype/property-paired-punctuation-tests: Likewise.
31726         * modules/unictype/property-paragraph-separator-tests: Likewise.
31727         * modules/unictype/property-pattern-syntax-tests: Likewise.
31728         * modules/unictype/property-pattern-white-space-tests: Likewise.
31729         * modules/unictype/property-private-use-tests: Likewise.
31730         * modules/unictype/property-punctuation-tests: Likewise.
31731         * modules/unictype/property-quotation-mark-tests: Likewise.
31732         * modules/unictype/property-radical-tests: Likewise.
31733         * modules/unictype/property-sentence-terminal-tests: Likewise.
31734         * modules/unictype/property-soft-dotted-tests: Likewise.
31735         * modules/unictype/property-space-tests: Likewise.
31736         * modules/unictype/property-terminal-punctuation-tests: Likewise.
31737         * modules/unictype/property-test-tests: Likewise.
31738         * modules/unictype/property-titlecase-tests: Likewise.
31739         * modules/unictype/property-unassigned-code-value-tests: Likewise.
31740         * modules/unictype/property-unified-ideograph-tests: Likewise.
31741         * modules/unictype/property-uppercase-tests: Likewise.
31742         * modules/unictype/property-variation-selector-tests: Likewise.
31743         * modules/unictype/property-white-space-tests: Likewise.
31744         * modules/unictype/property-xid-continue-tests: Likewise.
31745         * modules/unictype/property-xid-start-tests: Likewise.
31746         * modules/unictype/property-zero-width-tests: Likewise.
31747         * modules/unictype/scripts-tests: Likewise.
31748         * modules/unictype/syntax-c-ident-tests: Likewise.
31749         * modules/unictype/syntax-c-whitespace-tests: Likewise.
31750         * modules/unictype/syntax-java-ident-tests: Likewise.
31751         * modules/unictype/syntax-java-whitespace-tests: Likewise.
31752         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
31753         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
31754         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
31755         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
31756         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
31757         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
31758         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
31759         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
31760         * modules/uniname/uniname-tests: Likewise.
31761         * modules/uninorm/canonical-decomposition-tests: Likewise.
31762         * modules/uninorm/compat-decomposition-tests: Likewise.
31763         * modules/uninorm/composition-tests: Likewise.
31764         * modules/uninorm/decomposing-form-tests: Likewise.
31765         * modules/uninorm/decomposition-tests: Likewise.
31766         * modules/uninorm/filter-tests: Likewise.
31767         * modules/uninorm/nfc-tests: Likewise.
31768         * modules/uninorm/nfd-tests: Likewise.
31769         * modules/uninorm/nfkc-tests: Likewise.
31770         * modules/uninorm/nfkd-tests: Likewise.
31771         * modules/uninorm/u8-normcmp-tests: Likewise.
31772         * modules/uninorm/u8-normcoll-tests: Likewise.
31773         * modules/uninorm/u16-normcmp-tests: Likewise.
31774         * modules/uninorm/u16-normcoll-tests: Likewise.
31775         * modules/uninorm/u32-normcmp-tests: Likewise.
31776         * modules/uninorm/u32-normcoll-tests: Likewise.
31777         * modules/unistdio/u8-asnprintf-tests: Likewise.
31778         * modules/unistdio/u8-vasnprintf-tests: Likewise.
31779         * modules/unistdio/u8-vasprintf-tests: Likewise.
31780         * modules/unistdio/u8-vsnprintf-tests: Likewise.
31781         * modules/unistdio/u8-vsprintf-tests: Likewise.
31782         * modules/unistdio/u16-asnprintf-tests: Likewise.
31783         * modules/unistdio/u16-vasnprintf-tests: Likewise.
31784         * modules/unistdio/u16-vasprintf-tests: Likewise.
31785         * modules/unistdio/u16-vsnprintf-tests: Likewise.
31786         * modules/unistdio/u16-vsprintf-tests: Likewise.
31787         * modules/unistdio/u32-asnprintf-tests: Likewise.
31788         * modules/unistdio/u32-vasnprintf-tests: Likewise.
31789         * modules/unistdio/u32-vasprintf-tests: Likewise.
31790         * modules/unistdio/u32-vsnprintf-tests: Likewise.
31791         * modules/unistdio/u32-vsprintf-tests: Likewise.
31792         * modules/unistdio/ulc-asnprintf-tests: Likewise.
31793         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
31794         * modules/unistdio/ulc-vasprintf-tests: Likewise.
31795         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
31796         * modules/unistdio/ulc-vsprintf-tests: Likewise.
31797         * modules/unistr/u8-check-tests: Likewise.
31798         * modules/unistr/u8-chr-tests: Likewise.
31799         * modules/unistr/u8-cmp-tests: Likewise.
31800         * modules/unistr/u8-cmp2-tests: Likewise.
31801         * modules/unistr/u8-cpy-alloc-tests: Likewise.
31802         * modules/unistr/u8-cpy-tests: Likewise.
31803         * modules/unistr/u8-mblen-tests: Likewise.
31804         * modules/unistr/u8-mbsnlen-tests: Likewise.
31805         * modules/unistr/u8-mbtouc-tests: Likewise.
31806         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
31807         * modules/unistr/u8-mbtoucr-tests: Likewise.
31808         * modules/unistr/u8-move-tests: Likewise.
31809         * modules/unistr/u8-next-tests: Likewise.
31810         * modules/unistr/u8-prev-tests: Likewise.
31811         * modules/unistr/u8-set-tests: Likewise.
31812         * modules/unistr/u8-stpcpy-tests: Likewise.
31813         * modules/unistr/u8-stpncpy-tests: Likewise.
31814         * modules/unistr/u8-strcat-tests: Likewise.
31815         * modules/unistr/u8-strcmp-tests: Likewise.
31816         * modules/unistr/u8-strcoll-tests: Likewise.
31817         * modules/unistr/u8-strcpy-tests: Likewise.
31818         * modules/unistr/u8-strdup-tests: Likewise.
31819         * modules/unistr/u8-strlen-tests: Likewise.
31820         * modules/unistr/u8-strmblen-tests: Likewise.
31821         * modules/unistr/u8-strmbtouc-tests: Likewise.
31822         * modules/unistr/u8-strncat-tests: Likewise.
31823         * modules/unistr/u8-strncmp-tests: Likewise.
31824         * modules/unistr/u8-strncpy-tests: Likewise.
31825         * modules/unistr/u8-strnlen-tests: Likewise.
31826         * modules/unistr/u8-to-u16-tests: Likewise.
31827         * modules/unistr/u8-to-u32-tests: Likewise.
31828         * modules/unistr/u8-uctomb-tests: Likewise.
31829         * modules/unistr/u16-check-tests: Likewise.
31830         * modules/unistr/u16-chr-tests: Likewise.
31831         * modules/unistr/u16-cmp-tests: Likewise.
31832         * modules/unistr/u16-cmp2-tests: Likewise.
31833         * modules/unistr/u16-cpy-alloc-tests: Likewise.
31834         * modules/unistr/u16-cpy-tests: Likewise.
31835         * modules/unistr/u16-mblen-tests: Likewise.
31836         * modules/unistr/u16-mbsnlen-tests: Likewise.
31837         * modules/unistr/u16-mbtouc-tests: Likewise.
31838         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
31839         * modules/unistr/u16-mbtoucr-tests: Likewise.
31840         * modules/unistr/u16-move-tests: Likewise.
31841         * modules/unistr/u16-next-tests: Likewise.
31842         * modules/unistr/u16-prev-tests: Likewise.
31843         * modules/unistr/u16-set-tests: Likewise.
31844         * modules/unistr/u16-stpcpy-tests: Likewise.
31845         * modules/unistr/u16-stpncpy-tests: Likewise.
31846         * modules/unistr/u16-strcat-tests: Likewise.
31847         * modules/unistr/u16-strcmp-tests: Likewise.
31848         * modules/unistr/u16-strcoll-tests: Likewise.
31849         * modules/unistr/u16-strcpy-tests: Likewise.
31850         * modules/unistr/u16-strdup-tests: Likewise.
31851         * modules/unistr/u16-strlen-tests: Likewise.
31852         * modules/unistr/u16-strmblen-tests: Likewise.
31853         * modules/unistr/u16-strmbtouc-tests: Likewise.
31854         * modules/unistr/u16-strncat-tests: Likewise.
31855         * modules/unistr/u16-strncmp-tests: Likewise.
31856         * modules/unistr/u16-strncpy-tests: Likewise.
31857         * modules/unistr/u16-strnlen-tests: Likewise.
31858         * modules/unistr/u16-to-u32-tests: Likewise.
31859         * modules/unistr/u16-to-u8-tests: Likewise.
31860         * modules/unistr/u16-uctomb-tests: Likewise.
31861         * modules/unistr/u32-check-tests: Likewise.
31862         * modules/unistr/u32-chr-tests: Likewise.
31863         * modules/unistr/u32-cmp-tests: Likewise.
31864         * modules/unistr/u32-cmp2-tests: Likewise.
31865         * modules/unistr/u32-cpy-alloc-tests: Likewise.
31866         * modules/unistr/u32-cpy-tests: Likewise.
31867         * modules/unistr/u32-mblen-tests: Likewise.
31868         * modules/unistr/u32-mbsnlen-tests: Likewise.
31869         * modules/unistr/u32-mbtouc-tests: Likewise.
31870         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
31871         * modules/unistr/u32-mbtoucr-tests: Likewise.
31872         * modules/unistr/u32-move-tests: Likewise.
31873         * modules/unistr/u32-next-tests: Likewise.
31874         * modules/unistr/u32-prev-tests: Likewise.
31875         * modules/unistr/u32-set-tests: Likewise.
31876         * modules/unistr/u32-stpcpy-tests: Likewise.
31877         * modules/unistr/u32-stpncpy-tests: Likewise.
31878         * modules/unistr/u32-strcat-tests: Likewise.
31879         * modules/unistr/u32-strcmp-tests: Likewise.
31880         * modules/unistr/u32-strcoll-tests: Likewise.
31881         * modules/unistr/u32-strcpy-tests: Likewise.
31882         * modules/unistr/u32-strdup-tests: Likewise.
31883         * modules/unistr/u32-strlen-tests: Likewise.
31884         * modules/unistr/u32-strmblen-tests: Likewise.
31885         * modules/unistr/u32-strmbtouc-tests: Likewise.
31886         * modules/unistr/u32-strncat-tests: Likewise.
31887         * modules/unistr/u32-strncmp-tests: Likewise.
31888         * modules/unistr/u32-strncpy-tests: Likewise.
31889         * modules/unistr/u32-strnlen-tests: Likewise.
31890         * modules/unistr/u32-to-u16-tests: Likewise.
31891         * modules/unistr/u32-to-u8-tests: Likewise.
31892         * modules/unistr/u32-uctomb-tests: Likewise.
31893         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
31894         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
31895         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
31896         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
31897         * modules/uniwidth/u8-strwidth-tests: Likewise.
31898         * modules/uniwidth/u8-width-tests: Likewise.
31899         * modules/uniwidth/u16-strwidth-tests: Likewise.
31900         * modules/uniwidth/u16-width-tests: Likewise.
31901         * modules/uniwidth/u32-strwidth-tests: Likewise.
31902         * modules/uniwidth/u32-width-tests: Likewise.
31903         * modules/uniwidth/width-tests: Likewise.
31904
31905 2010-05-18  Richard Jones  <rjones@redhat.com>
31906
31907         doc: users.txt: list hivex
31908         * users.txt: Add hivex.
31909
31910 2010-05-18  Richard Jones  <rjones@redhat.com>
31911
31912         doc: users.txt: list febootstrap
31913         * users.txt: Add febootstrap.
31914
31915 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
31916
31917         bootstrap: fix an error when gnulib is not used as a git submodule
31918         * build-aux/bootstrap (gnulib_path): If its length is zero then
31919         assign "gnulib" to it.
31920         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
31921
31922 2010-05-16  Bruno Haible  <bruno@clisp.org>
31923
31924         Avoid autoconf warnings about AM_ICONV.
31925         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
31926         2.64.
31927
31928 2010-05-16  Bruno Haible  <bruno@clisp.org>
31929
31930         absolute-header: Make the macro usable in more situations.
31931         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
31932         from gl_ABSOLUTE_HEADER.
31933         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
31934
31935 2010-05-16  James Youngman  <jay@gnu.org>
31936
31937         doc: update users.txt
31938         * users.txt: Add CSSC.
31939
31940 2010-05-16  Jim Meyering  <meyering@redhat.com>
31941
31942         init.sh: fix an error in the previous change; add more comments
31943         * tests/init.sh: Compare exit code in loop against 9, not 2.
31944         Patch by Bruno Haible.
31945         Make the two tests more similar by adding an empty "then" clause.
31946         Add comments.
31947
31948         init.sh: avoid unnecessary shell re-exec
31949         * tests/init.sh: Improve the re-exec-required check to first test the
31950         current shell.  If it passes the test, do not search for a shell that
31951         does pass, and do not re-exec.  This test is particularly contorted to
31952         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
31953         of $(...) evokes a syntax error and causes immediate shell exit with
31954         status 2.  Bruno Haible reported that the re-exec made it impossible
31955         to single-step through any init.sh-using script.
31956
31957 2010-05-16  Bruno Haible  <bruno@clisp.org>
31958
31959         Fix collision between gnulib's and libintl's printf replacements.
31960         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
31961         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
31962         (printf): When using GNU C, map the __printf__ function to rpl_printf
31963         via __asm__. When not using GNU C, define rpl_printf instead of
31964         __printf__.
31965         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
31966         commit.
31967         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
31968         commit.
31969         * m4/asm-underscore.m4: New file.
31970         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
31971         * modules/stdio (Files): Add m4/asm-underscore.m4.
31972         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
31973         Reported by Ben Pfaff.
31974
31975 2010-05-16  Bruno Haible  <bruno@clisp.org>
31976
31977         verify: Avoid skipping the test on openSUSE 11.0.
31978         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
31979
31980 2010-05-13  Bruno Haible  <bruno@clisp.org>
31981
31982         Avoid useless warnings from G++.
31983         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
31984         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
31985         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
31986
31987 2010-05-11  Jim Meyering  <meyering@redhat.com>
31988
31989         maint.mk: tweak preceding change
31990         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
31991         regexps tighter by anchoring at EOL, and make the new group "shy"
31992         for slightly decreased overhead.
31993
31994 2010-05-11  Eric Blake  <eblake@redhat.com>
31995
31996         maint.mk: gnulib doesn't guarantee NSIG
31997         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
31998
31999 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32000
32001         test-pwrite.c: Remove unused variable declaration.
32002         * tests/test-pwrite.c (main): Remove read_buf declaration.
32003
32004         Remove useless test-pwrite.sh file.
32005         * tests/test-pwrite.sh: Delete file.
32006         * modules/pwrite-tests: Remove references.
32007         Reported by Bruno Haible.
32008
32009 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32010
32011         init.sh: fix a typo
32012         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
32013
32014 2010-05-10  Jim Meyering  <meyering@redhat.com>
32015
32016         maint.mk: avoid using a temporary file in the always-defined-macros check
32017         * top/maint.mk (.re-defmac): Remove rule.
32018         (gl_trap_): Remove definition.
32019         (sc_prohibit_always-defined_macros): Rewrite not to create and
32020         depend on a temporary file.  Instead, depend on GNU grep's ability
32021         to read a list of regular expressions from stdin when given "-f -".
32022
32023 2010-05-09  Bruno Haible  <bruno@clisp.org>
32024
32025         Update to GNU gettext 0.18, part 1.
32026         * m4/gettext.m4: Update to GNU gettext 0.18.
32027         * m4/intl.m4: Likewise.
32028         * m4/po.m4: Likewise.
32029         * modules/gettext (Files): Add m4/fcntl-o.m4.
32030         (configure.ac): Require gettext infrastructure from version 0.18.
32031
32032 2010-05-09  Jim Meyering  <meyering@redhat.com>
32033
32034         init.sh: enable MALLOC_PERTURB_
32035         * tests/init.sh: Enable glibc's malloc-perturbing option.
32036
32037         maint.mk: improve sc_cross_check_PATH_usage_in_tests
32038         With my recent change in init.sh from the two-line form:
32039             -#   : ${srcdir=.}
32040             -#   . "$srcdir/init.sh"; path_prepend_ .
32041             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
32042         I noticed that using the one-line form would cause this test
32043         to fail with a false-positive, or to stop working altogether,
32044         depending on whether help-version changed or all the tests did.
32045         * top/maint.mk (_hv_regex): Remove this definition.
32046         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
32047         (_hv_regex_strong): Use a stronger regex to check for conformance.
32048         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
32049         Give a separate diagnostic for lack of conforming use.
32050
32051         maint.mk: prohibit definition of symbols defined by gnulib
32052         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
32053         definition of symbols defined by gnulib.
32054
32055 2010-05-09  Bruno Haible  <bruno@clisp.org>
32056
32057         acl: Avoid test failure on Cygwin-hosted mingw.
32058         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
32059
32060 2010-05-09  Bruno Haible  <bruno@clisp.org>
32061
32062         error: Use system's fcntl function.
32063         * lib/error.c (fcntl): Undefine.
32064
32065 2010-05-09  Jim Meyering  <meyering@redhat.com>
32066
32067         verify: adjust formatting to be more consistent
32068         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
32069         argument-list '('s, and after one comma.
32070
32071 2010-05-09  Bruno Haible  <bruno@clisp.org>
32072
32073         error: More reliable output on mingw.
32074         * lib/error.c: Include <windows.h>.
32075         (is_open): New function.
32076         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
32077         defined.
32078
32079 2010-05-09  Bruno Haible  <bruno@clisp.org>
32080
32081         vasnprintf: Fix syntax errors in libintl build on mingw.
32082         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
32083         pad_ourselves and prec_ourselves after use.
32084
32085 2010-05-08  Bruno Haible  <bruno@clisp.org>
32086
32087         * lib/config.charset: Update comments for Cygwin 1.7.
32088         * lib/localcharset.c: Likewise.
32089
32090 2010-05-07  Jim Meyering  <meyering@redhat.com>
32091
32092         init.sh: improve comments
32093         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
32094         . "${srcdir=.}/init.sh"; path_prepend_ .
32095         Add a note about path_prepend_ and the alternative of using
32096         TESTS_ENVIRONMENT.
32097
32098 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
32099
32100         exclude: Unescape hashed patterns in wildcard mode.
32101         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
32102         to the hash list.
32103         * tests/test-exclude8.sh: New test case.
32104         * modules/exclude-tests: Add new test.
32105
32106 2010-05-05  Eric Blake  <eblake@redhat.com>
32107
32108         verify: automate tests
32109         * modules/verify-tests: New module.
32110         * tests/test-verify.sh: New file.
32111         * tests/test-verify.c: Guard each negative test with a unique id.
32112         Also avoid warning about unused left hand of comma expressions.
32113
32114 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
32115
32116         Further improvements to verify.h, suggested by Eric Blake.
32117         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
32118         the GL_* versions, to avoid collision with OpenGL.
32119         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
32120         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
32121         than testing merely whether it's defined.
32122
32123         Modify verify.h to pacify gcc -Wredundant_decls.
32124         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
32125         These use the prefix "GL_" since they're likely to be useful elsewhere.
32126         We may need to break them out into a different .h file.
32127         (__COUNTER__): Define to 0 if the compiler doesn't support it.
32128         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
32129         of verify_function__.
32130
32131 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
32132
32133         Tests for module pwrite.
32134         * modules/pwrite-tests: New file.
32135         * tests/test-pwrite.sh: New file.
32136         * tests/test-pwrite.c: New file.
32137
32138         New module pwrite.
32139         * lib/unistd.in.h (pwrite): New declaration.
32140         * lib/pwrite.c: New file, from glibc with modifications.
32141         * m4/pwrite.m4: New file.
32142         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
32143         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
32144         REPLACE_PWRITE.
32145         * modules/pwrite: New file.
32146         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
32147         REPLACE_PWRITE.
32148         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
32149         * doc/posix-functions/pwrite.texi: Mention the new module.
32150
32151 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
32152
32153         pread: Update documentation.
32154         * doc/posix-functions/pread.texi: Mention the 'pread' module.
32155
32156 2010-05-04  Eric Blake  <eblake@redhat.com>
32157
32158         docs: update cygwin progress
32159         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
32160         this bug.
32161         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
32162         Added in cygwin 1.7.2.
32163         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
32164         Likewise.
32165         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
32166         Likewise.
32167         * doc/glibc-functions/dup3.texi (dup3): Likewise.
32168         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
32169         * doc/glibc-functions/accept4.texi (accept4): Likewise.
32170         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
32171         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
32172         Mention nproc module.
32173         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
32174         bug in cygwin 1.7.5 addition.
32175         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
32176         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
32177         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
32178         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
32179         1.7.5.
32180         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
32181         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
32182         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
32183         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
32184         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
32185         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
32186         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
32187         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
32188         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
32189         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
32190         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
32191         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
32192         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
32193         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
32194         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
32195         Likewise.
32196         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
32197         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
32198         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
32199         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
32200         Likewise.
32201         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
32202         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
32203         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
32204         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
32205         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
32206         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
32207         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
32208         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
32209         Likewise.
32210         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
32211         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
32212         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
32213         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
32214         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
32215         Likewise.
32216         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
32217         Likewise.
32218         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
32219         Likewise.
32220         * doc/glibc-functions/xdrrec_endofrecord.texi
32221         (xdrrec_endofrecord): Likewise.
32222         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
32223         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
32224         Likewise.
32225         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
32226         Likewise.
32227
32228 2010-05-04  Jim Meyering  <meyering@redhat.com>
32229
32230         gendocs.sh: make its "-s FILE" option more useful
32231         * build-aux/gendocs.sh: When honoring the -s FILE option, update
32232         $PACKAGE to reflect the probably-different basename of "FILE".
32233
32234 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
32235
32236         bootstrap: don't ignore download_po_files failure
32237         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
32238         failure.
32239
32240 2010-05-03  Jim Meyering  <meyering@redhat.com>
32241
32242         maint.mk: allow to pass options to gendocs.sh
32243         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
32244         (gendocs_options_): New overridable variable.
32245
32246         gnu-web-doc-update: don't ignore configure or build failure
32247         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
32248
32249         announce-gen: backslash-escape '@'s in --help output
32250         * build-aux/announce-gen: Fix syntax errors.
32251
32252         maint.mk, announce-gen: allow project-specific announcement mail headers
32253         * top/maint.mk (translation_project_): Define default.
32254         (announcement_Cc_, announcement_mail_headers_): Likewise.
32255         (announcement): Invoke announce-gen with new --mail-headers option.
32256         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
32257
32258         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
32259         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
32260         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
32261         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
32262         line in the "err2" output file when running "make check" in verbose
32263         mode (i.e., with set -x enabled).
32264
32265 2010-05-03  Bruno Haible  <bruno@clisp.org>
32266
32267         wctob: Fix for weird platforms.
32268         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
32269         argument value.
32270
32271 2010-05-03  Jim Meyering  <meyering@redhat.com>
32272
32273         maint.mk: prohibit unwarranted use of <strings.h>
32274         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
32275         strings.h in a file that does not also use strcasecmp, strncasecmp,
32276         ffs or ffsll.
32277
32278         maint.mk: remove obsolete comments
32279         * top/maint.mk: Remove stale, commented-out rules.
32280
32281 2010-05-02  Bruno Haible  <bruno@clisp.org>
32282
32283         wcwidth: Declare also when it's aliased.
32284         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
32285         macro.
32286
32287 2010-05-02  Bruno Haible  <bruno@clisp.org>
32288
32289         Fix regression from 2010-04-25.
32290         * gnulib-tool (func_modules_transitive_closure): Check the status of
32291         all modules, not only of the tests that are of the form foo-tests where
32292         foo is a module.
32293
32294 2010-05-02  Bruno Haible  <bruno@clisp.org>
32295
32296         wctob: Work around nasty Cygwin 1.7.2 bug.
32297         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
32298         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
32299
32300 2010-05-01  Bruno Haible  <bruno@clisp.org>
32301
32302         fpurge: Sharper test.
32303         * tests/test-fpurge.c (main): Add one more ftell check.
32304         * modules/fpurge-tests (Depends-on): Add ftell.
32305         Suggested by Eric Blake.
32306
32307 2010-05-01  Bruno Haible  <bruno@clisp.org>
32308
32309         ftello: Another test.
32310         * tests/test-ftello3.c: New file.
32311         * modules/ftello-tests (Files): Add it.
32312         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
32313         MOSTLYCLEANFILES.
32314
32315         ftell: Another test.
32316         * tests/test-ftell3.c: New file.
32317         * modules/ftell-tests (Files): Add it.
32318         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
32319         MOSTLYCLEANFILES.
32320
32321 2010-05-01  Bruno Haible  <bruno@clisp.org>
32322
32323         ftell, ftello: Work around Solaris bug.
32324         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
32325         * lib/ftello.c: Include stdio-impl.h.
32326         (ftello): On Solaris, when _IOWRT is set, compute the result without
32327         looking at _IOREAD.
32328         * modules/ftello (Files): Add lib/stdio-impl.h.
32329         * doc/posix-functions/ftell.texi: Mention Solaris bug.
32330         * doc/posix-functions/ftello.texi: Likewise.
32331         Reported by Eric Blake.
32332
32333 2010-05-01  Bruno Haible  <bruno@clisp.org>
32334
32335         freading: Adapt to special meaning of _IOREAD flag on Solaris.
32336         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
32337         the _IOWRT flag is also set.
32338
32339 2010-05-01  Bruno Haible  <bruno@clisp.org>
32340
32341         Fix doc about a HP-UX stdio bug.
32342         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
32343         * doc/posix-functions/ftello.texi: Likewise.
32344
32345 2010-05-01  Bruno Haible  <bruno@clisp.org>
32346
32347         lseek test: Fix failure on Solaris.
32348         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
32349         output.
32350
32351 2010-04-30  Jim Meyering  <meyering@redhat.com>
32352
32353         bootstrap: don't ignore failure to generate po*/Makevars
32354         * build-aux/bootstrap (with_gettext): Don't ignore failure
32355         to create po/Makevars or runtime-po/Makevars.
32356
32357 2010-04-29  Eric Blake  <eblake@redhat.com>
32358
32359         headers: relax license to LGPLv2+
32360         * modules/fcntl-h (License): Relax license.
32361         * modules/getopt-posix (License): Likewise.
32362         * modules/locale (License): Likewise.
32363         * modules/math (License): Likewise.
32364         * modules/pty (License): Likewise.
32365         * modules/sched (License): Likewise.
32366         * modules/search (License): Likewise.
32367         * modules/spawn (License): Likewise.
32368         * modules/stdarg (License): Likewise.
32369         * modules/sysexits (License): Likewise.
32370
32371 2010-04-29  Jim Meyering  <meyering@redhat.com>
32372
32373         inttypes: relax license to LGPLv2+
32374         * modules/inttypes (License): Relax license.
32375
32376 2010-04-29  Simon Josefsson  <simon@josefsson.org>
32377
32378         * top/maint.mk (indent): Run twice to produce idempotent results.
32379
32380 2010-04-28  Bruno Haible  <bruno@clisp.org>
32381
32382         getdate: Generate getdate.c in the source directory.
32383         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
32384         MOSTLYCLEANFILES.
32385         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
32386
32387 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
32388
32389         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
32390         is not declared as a const *; avoid warnings in that case.
32391
32392 2010-04-28  Eric Blake  <eblake@redhat.com>
32393
32394         canonicalize-lgpl: avoid compiler warning
32395         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
32396         declaration' / 'extraneous semicolon' warning with some compilers.
32397         Reported by Andreas Gruenbacher.
32398
32399 2010-04-28  Jim Meyering  <meyering@redhat.com>
32400
32401         init.sh: ensure a more reliable exit status when exiting via trap
32402         * tests/init.sh (setup_): Don't rely on $? in signal handler.
32403         Inspired by patches from Dmitry V. Levin.
32404         Also trap on signal 3 (SIGQUIT).
32405
32406 2010-04-27  Bruno Haible  <bruno@clisp.org>
32407
32408         Update doc about utimes().
32409         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
32410         'utimens' module.
32411         Reported by Andreas Gruenbacher <agruen@suse.de>.
32412
32413 2010-04-27  Eric Blake  <eblake@redhat.com>
32414
32415         full-read, full-write: relax license
32416         * modules/full-read (License): Drop to LGPLv2+.
32417         * modules/full-write (License): Likewise.
32418         * modules/safe-read (License): Likewise.
32419         * modules/safe-write (License): Likewise.
32420
32421         pthread: mention library for linking
32422         * modules/pthread (Link): Mention $(LIB_PTHREAD).
32423
32424 2010-04-27  Jim Meyering  <meyering@redhat.com>
32425
32426         maint.mk: fix a bug introduced in last change
32427         * top/maint.mk (gl_assured_headers_): Now that all names are on
32428         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
32429         is not anchored to end of word, it should be adequate.
32430
32431         maint.mk: avoid side-effect in latest syntax-check
32432         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
32433         to run commands via $(shell...), and hence to incur cost only when
32434         the new rule is actually run.
32435
32436         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
32437         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
32438         and use that to create a regexp used to detect all #if HAVE_..._H uses.
32439         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
32440         (gl_assured_headers_, az_, AZ_): Define.
32441         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
32442
32443 2010-04-26  Jim Meyering  <jim@meyering.net>
32444             Bruno Haible  <bruno@clisp.org>
32445
32446         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
32447         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
32448         Prompted by an exchange with Gilles Espinasse.
32449
32450 2010-04-26  Jim Meyering  <meyering@redhat.com>
32451
32452         git-version-gen: aesthetic tweak
32453         * build-aux/git-version-gen: Use "$nl" rather than a literal,
32454         so that the command remains on a single line.
32455
32456 2010-04-26  Eric Blake  <eblake@redhat.com>
32457
32458         git-version-gen: allow use on EBCDIC hosts
32459         * build-aux/git-version-gen (dirty): Use literal rather than tying
32460         ourselves to ascii.
32461         Reported by Steve Goetze.
32462
32463 2010-04-25  Bruno Haible  <bruno@clisp.org>
32464
32465         netdb: Add support for GNULIB_POSIXCHECK.
32466         * lib/netdb.in.h: Include warn-on-use.h.
32467         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
32468         functions are used when GNULIB_POSIXCHECK is defined and the
32469         getaddrinfo module is not in use.
32470         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
32471         freeaddrinfo, gai_strerror, getnameinfo are declared.
32472         * modules/netdb (Depends-on): Add warn-on-use.
32473         (Makefile.am): Include warn-on-use.h in netdb.h.
32474
32475 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
32476
32477         build: avoid "make check" failure without .git/ directory
32478         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
32479         there is no .git/ directory.
32480
32481 2010-04-25  Bruno Haible  <bruno@clisp.org>
32482
32483         ptsname: Fix misuse of ttyname_r.
32484         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
32485         of errno.
32486
32487 2010-04-25  Bruno Haible  <bruno@clisp.org>
32488
32489         ttyname_r: Make it work on Solaris 10.
32490         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
32491         if the system function has the POSIX declaration. Test whether the
32492         function fails if the buffer is less than 128 bytes large.
32493         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
32494         system's ttyname_r function. Provide a reasonably large buffer.
32495         * modules/ttyname_r (Depends-on): Add extensions.
32496         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
32497
32498 2010-04-25  Bruno Haible  <bruno@clisp.org>
32499
32500         Use the 'extensions' module for some more functions on Solaris.
32501         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
32502         module.
32503         * doc/posix-functions/ctime_r.texi: Likewise.
32504         * doc/posix-functions/getgrgid_r.texi: Likewise.
32505         * doc/posix-functions/getgrnam_r.texi: Likewise.
32506         * doc/posix-functions/getpwnam_r.texi: Likewise.
32507         * doc/posix-functions/getpwuid_r.texi: Likewise.
32508         * doc/posix-functions/readdir_r.texi: Likewise.
32509         * doc/posix-functions/sigwait.texi: Likewise.
32510         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
32511         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
32512
32513 2010-04-25  Bruno Haible  <bruno@clisp.org>
32514
32515         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
32516         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
32517         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
32518         * lib/ttyname_r.c: Include <limits.h>.
32519         (ttyname_r): Define using the system's ttyname_r function, if it exists
32520         and not on Solaris.
32521         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
32522         set.
32523         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
32524         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
32525         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
32526         Reported by Simon Josefsson.
32527
32528 2010-04-25  Bruno Haible  <bruno@clisp.org>
32529
32530         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
32531         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
32532         * doc/posix-functions/ctime_r.texi: Likewise.
32533         * doc/posix-functions/getgrgid_r.texi: Likewise.
32534         * doc/posix-functions/getgrnam_r.texi: Likewise.
32535         * doc/posix-functions/getlogin_r.texi: Likewise.
32536         * doc/posix-functions/getpwnam_r.texi: Likewise.
32537         * doc/posix-functions/getpwuid_r.texi: Likewise.
32538         * doc/posix-functions/readdir_r.texi: Likewise.
32539         * doc/posix-functions/sigwait.texi: Likewise.
32540         * doc/posix-functions/ttyname_r.texi: Likewise.
32541         Reported by Simon Josefsson.
32542
32543 2010-04-25  Bruno Haible  <bruno@clisp.org>
32544
32545         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
32546         * gnulib-tool (func_usage): Document that --with-*-tests options apply
32547         also to --create-testdir.
32548         (func_acceptable): Don't consider the status of *-tests modules here.
32549         (func_modules_transitive_closure): Consider it here, before including a
32550         test module.
32551         (func_import, func_create_testdir): Set inc_all_direct_tests,
32552         inc_all_indirect_tests.
32553         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
32554         --create-testdir and --create-megatestdir.
32555
32556 2010-04-25  Bruno Haible  <bruno@clisp.org>
32557
32558         gnulib-tool: Add --without-*-tests options.
32559         * gnulib-tool (func_usage): Document the --without-*-tests options.
32560         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
32561         excl_unportable_tests): New variables.
32562         Fail if they are specified with --import or --update.
32563         (func_acceptable): Respect the excl_*_tests variables.
32564         (func_import): Set the excl_*_tests variables to empty.
32565
32566 2010-04-25  Simon Josefsson  <simon@josefsson.org>
32567             Bruno Haible  <bruno@clisp.org>
32568
32569         Work around a MacOS X 10.4 bug with openpty.
32570         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
32571         * tests/test-openpty.c (main): Close the master side explicitly.
32572
32573 2010-04-25  Bruno Haible  <bruno@clisp.org>
32574
32575         strnlen: Fix a C++ test error on MacOS X and Solaris.
32576         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
32577         the function is not declared.
32578         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
32579         Simon Josefsson.
32580
32581 2010-04-24  Bruno Haible  <bruno@clisp.org>
32582
32583         Avoid a gcc warning.
32584         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
32585         of correct type for %08lx directive.
32586         Reported by Eric Blake.
32587
32588 2010-04-24  Bruno Haible  <bruno@clisp.org>
32589
32590         vasnprintf: Correct errno value in case of out-of-memory.
32591         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
32592         or sprintf. Use the errno value from SNPRINTF or sprintf.
32593         Reported by Ian Beckwith <ianb@erislabs.net>.
32594
32595 2010-04-24  Bruno Haible  <bruno@clisp.org>
32596
32597         ansi-c++-opt: Find correct compiler when cross-compiling.
32598         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
32599         AC_CHECK_PROGS.
32600         Reported by Simon Josefsson.
32601
32602 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
32603
32604         vc-list-files: Add support for subversion
32605         * build-aux/vc-list-files: Use "svn list" to generate the list of
32606         files controlled by subversion.
32607
32608 2010-04-23  Jim Meyering  <meyering@redhat.com>
32609
32610         vc-list-files tests: convert to use init.sh
32611         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
32612         path_prepend_.
32613         Use Exit, not exit.
32614         Use skip_ rather than open coding it.
32615         Remove trap set-up and compare definitions.
32616         * tests/test-vc-list-files-git.sh: Likewise.
32617         * modules/vc-list-files-tests (Files): Add tests/init.sh.
32618
32619 2010-04-22  Simon Josefsson  <simon@josefsson.org>
32620
32621         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
32622         backup files.
32623
32624 2010-04-21  Simon Josefsson  <simon@josefsson.org>
32625
32626         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
32627
32628 2010-04-20  Eric Blake  <eblake@redhat.com>
32629
32630         tests: be robust to ignored SIGPIPE
32631         * tests/test-select-in.sh: Consume all output.
32632         * tests/test-lseek.sh: Check correct exit status, while avoiding
32633         EPIPE.
32634
32635 2010-04-20  Simon Josefsson  <simon@josefsson.org>
32636             Bruno Haible  <bruno@clisp.org>
32637
32638         visibility: Don't use -fvisibility if it leads to a warning.
32639         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
32640         yes, don't pretend that visibility works if it leads to a warning.
32641         Reported by Mike Gran <spk121@yahoo.com>.
32642
32643 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
32644
32645         * build-aux/bootstrap: Use "git -h" for testing for supported options
32646         instead of "git --help".  The short-form option only shows a summary,
32647         and doesn't layout the full man page.  Grep for the full option name
32648         in the summary, too.
32649
32650 2010-04-19  Bruno Haible  <bruno@clisp.org>
32651
32652         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
32653         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
32654         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
32655         mention of RELOCATABLE_STRIP.
32656         Reported by Sylvain Beucler <beuc@beuc.net>.
32657
32658 2010-04-19  Bruno Haible  <bruno@clisp.org>
32659
32660         * lib/diffseq.h: Fix typo in comment.
32661         Reported by Eric Blake.
32662
32663 2010-04-19  Bruno Haible  <bruno@clisp.org>
32664
32665         ioctl: Move autoconf macro to a .m4 file.
32666         * m4/ioctl.m4: New file, extracted from modules/ioctl.
32667         * modules/ioctl (Files): Add it.
32668         (configure.ac): Simply invoke gl_FUNC_IOCTL.
32669         Reported by Ian Beckwith <ianb@erislabs.net>.
32670
32671 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
32672             Bruno Haible  <bruno@clisp.org>
32673
32674         diffseq: Accommodate use-case with abstract arrays.
32675         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
32676         is not defined.
32677         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
32678         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
32679
32680 2010-04-18  Bruno Haible  <bruno@clisp.org>
32681
32682         * doc/posix-headers/stdbool.texi: More precise wording.
32683
32684 2010-04-17  Jim Meyering  <meyering@redhat.com>
32685
32686         maint.mk: use gnu-style indentation in an embedded perl script
32687         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
32688         Rename variable: s/two/last_two_bytes/
32689
32690 2010-04-16  Eric Blake  <eblake@redhat.com>
32691
32692         test-stdbool: skip test that fails with Solaris CC
32693         * tests/test-stdbool.c (f): Skip test that causes compilation
32694         error under buggy C++ compiler.
32695         * lib/stdbool.in.h: Document the limitation.
32696         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
32697
32698         setenv: allow compilation with C++
32699         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
32700         register keyword.
32701
32702         stdint: allow test to pass with C++
32703         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
32704
32705         getopt: allow compilation with C++
32706         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
32707         struct.
32708         * lib/getopt.c (_getopt_internal_r): Use correct type.
32709         Reported by Dagobert Michelson, via Joel E. Denny.
32710
32711 2010-04-16  Bruno Haible  <bruno@clisp.org>
32712
32713         Override netdb.h always.
32714         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
32715         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
32716         Reported by Ludovic Courtès <ludo@gnu.org>.
32717
32718 2010-04-15  Bruno Haible  <bruno@clisp.org>
32719
32720         openpty: Fix mistake from 2010-03-21.
32721         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
32722         Reported by Simon Josefsson.
32723
32724 2010-04-15  Eric Blake  <eblake@redhat.com>
32725
32726         test-forkpty: fix expected signature
32727         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
32728         Reported by Simon Josefsson.
32729
32730 2010-04-15  Jim Meyering  <meyering@redhat.com>
32731
32732         maint.mk: texinfo_suffix_re_: correct the default regexp
32733         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
32734
32735         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
32736         make it configurable via texinfo_suffix_re_.
32737
32738 2010-04-14  Eric Blake  <eblake@redhat.com>
32739
32740         strtok_r: relax license to LGPLv2+
32741         * modules/strtok_r (License): Relax license.
32742         Reported by Matthias Bolte.
32743
32744 2010-04-14  Simon Josefsson  <simon@josefsson.org>
32745
32746         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
32747         version 1.4.4 by default instead of requiring the libgcrypt
32748         version used during build.  This makes it possible to use the
32749         application with older but still binary compatible libgcrypt
32750         versions.
32751
32752 2010-04-13  Eric Blake  <eblake@redhat.com>
32753
32754         getopt-gnu: match recent glibc fixes and posix ruling
32755         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
32756         '+' handling, when requesting extensions.
32757         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
32758         'W;' handling.
32759         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
32760         * doc/posix-functions/getopt.texi (getopt): Document this.
32761         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
32762         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32763         Likewise.
32764
32765         getopt: merge bug fixes from glibc
32766         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
32767         diagnostics.  Honor '+:' correctly.  Reject ';'.
32768
32769         getopt-posix: detect MacOS bug
32770         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
32771         optind when missing a required argument.
32772         * doc/posix-functions/getopt.texi (getopt): Document the bug.
32773         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
32774         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
32775         Likewise.
32776
32777         getopt-posix: avoid spurious failure on Solaris
32778         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
32779         an indicator that setting optind=1 is sufficient for reset.
32780
32781         getopt-posix: avoid spurious failure on FreeBSD
32782         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
32783         in POSIX mode, since the m4 test uses it.
32784
32785         gnulib-tool: silence warning on BSD sh
32786         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
32787
32788 2010-04-13  Jim Meyering  <meyering@redhat.com>
32789
32790         doc: users.txt: GNU patch now uses gnulib
32791         * users.txt: Add patch.
32792
32793 2010-04-12  Jim Meyering  <meyering@redhat.com>
32794
32795         maint.mk: generate more concise timing data for syntax-check rules
32796         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
32797         " done" from each line that reports a syntax-check test duration.
32798
32799 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
32800
32801         git-version-gen: use "git update-index..." rather than "git status"
32802         * build-aux/git-version-gen: Use git update-index --refresh, not
32803         "git status".  With some versions of git, "git status" would fail
32804         to update the index and result in an unwarranted "-dirty" suffix.
32805
32806 2010-04-11  Jim Meyering  <meyering@redhat.com>
32807
32808         openat: correct formatting (no semantic change)
32809         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
32810         Suggested by Bruno Haible.
32811
32812 2010-04-11  Bruno Haible  <bruno@clisp.org>
32813
32814         Stricter declaration checking in testdirs.
32815         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
32816         If for_tests is true, augment AM_CPPFLAGS to define
32817         GNULIB_STRICT_CHECKING.
32818         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
32819         GNULIB_STRICT_CHECKING is defined, verify that the function is
32820         declared.
32821
32822 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
32823             Bruno Haible  <bruno@clisp.org>
32824
32825         libunistring: Improve configure output.
32826         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
32827         Don't say "consider installing GNU libunistring" when checking again
32828         with libiconv.
32829
32830 2010-04-11  Bruno Haible  <bruno@clisp.org>
32831
32832         libunistring: Correct value of $LTLIBUNISTRING.
32833         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
32834         correct the value of $LTLIBUNISTRING.
32835
32836 2010-04-11  Bruno Haible  <bruno@clisp.org>
32837
32838         havelib: Add static libraries to LIBS in the right order.
32839         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
32840         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
32841
32842 2010-04-11  Bruno Haible  <bruno@clisp.org>
32843
32844         libunistring: Detect libunistring also when it depends on libiconv.
32845         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
32846         the second AC_LIB_HAVE_LINKFLAGS invocation.
32847
32848 2010-04-11  James Youngman  <jay@gnu.org>
32849
32850         close-stream: declare local scalars to be "const"
32851         * lib/close-stream.c (close_stream): Make boolean variables const
32852         to document the fact that we set but do not change them.
32853
32854 2010-04-11  Bruno Haible  <bruno@clisp.org>
32855
32856         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
32857
32858 2010-04-11  Jim Meyering  <meyering@redhat.com>
32859
32860         maint.mk: don't include dist-check.mk
32861         * top/maint.mk: Remove bogus include directive.
32862
32863         maint.mk: improve empty-line-at-EOF check
32864         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
32865         solution, rather than tail+Perl-based one.  The latter would read
32866         a few kilobytes from the end of each file, and did not handle empty
32867         files properly.
32868
32869         maint.mk: print the elapsed time for each syntax-check rule
32870         * top/maint.mk (sc_m_rules_): Save start time in a file.
32871         (sc_z_rules_): New rules: remove temp file and print elapsed time.
32872         (local-check): Interpose the .z rules
32873
32874 2010-04-11  Jim Meyering  <meyering@redhat.com>
32875
32876         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
32877         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
32878         empty file with one that ends in an empty line.
32879
32880 2010-04-10  Bruno Haible  <bruno@clisp.org>
32881
32882         mkdir: Make it work on mingw64.
32883         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
32884         * lib/mkdir.c: Update comment.
32885         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
32886
32887 2010-04-10  Bruno Haible  <bruno@clisp.org>
32888
32889         Don't override improved macro from newer autoconf.
32890         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
32891         autoconf >= 2.62.
32892         Reported by Joel E. Denny <jdenny@clemson.edu>.
32893
32894 2010-04-10  Jim Meyering  <meyering@redhat.com>
32895
32896         maint.mk: new syntax-check rule: prohibit empty lines at end of file
32897         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
32898
32899         maint.mk: correct a diagnostic
32900         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
32901         in diagnostic; now use $prohibit.
32902
32903 2010-04-10  Bruno Haible  <address@hidden>
32904
32905         fchownat: Fix a C++ test error on Solaris 8.
32906         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
32907         the function does not exist.
32908
32909 2010-04-10  Bruno Haible  <bruno@clisp.org>
32910
32911         vasnprintf: Add more tests.
32912         * tests/test-vasnprintf-posix.c: Include <errno.h>.
32913         (test_function): Test converting an invalid wide string.
32914
32915         vasnprintf: Correct handling of unconvertible wide string arguments.
32916         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
32917         VASNPRINTF.
32918         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
32919         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
32920         smaller than the expected maximum need for the directive. Set errno to
32921         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
32922         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
32923         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
32924         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
32925         * modules/vasnprintf (Files): Add m4/printf.m4.
32926         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32927
32928 2010-04-10  Bruno Haible  <bruno@clisp.org>
32929
32930         vasnprintf: Fix crash in %ls directive.
32931         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
32932         string is passed as argument to %ls, with no precision and no width.
32933         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32934
32935 2010-04-10  Bruno Haible  <bruno@clisp.org>
32936
32937         vasnprintf: Fix multiple test failures on mingw.
32938         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
32939         _snprintf, or snwprintf, not _snwprintf.
32940
32941 2010-04-10  Bruno Haible  <bruno@clisp.org>
32942
32943         write: Fix a C++ test error on mingw.
32944         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
32945
32946 2010-04-10  Bruno Haible  <bruno@clisp.org>
32947
32948         vasnprintf test: Reduce code duplication.
32949         * tests/test-vasnprintf.c (test_function): New function, extracted from
32950         test_vasnprintf.
32951         (test_vasnprintf, test_asnprintf): Invoke it.
32952
32953 2010-04-10  Bruno Haible  <bruno@clisp.org>
32954
32955         strnlen: Fix warning in C++ mode on MacOS X.
32956         * lib/string.in.h (strnlen): Use the modern idiom.
32957         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
32958         defining strnlen as a macro already in <config.h>.
32959         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
32960         REPLACE_STRNLEN.
32961         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
32962         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32963
32964 2010-04-08  James Youngman  <jay@gnu.org>
32965
32966         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
32967         the example.
32968
32969 2010-04-09  Jim Meyering  <meyering@redhat.com>
32970
32971         maint.mk: print better diagnostic when there is no $(_hv_file)
32972         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
32973         announce that when $(_hv_file) (aka help-version) does not exist.
32974
32975         init.sh: run tr in the "C" locale to avoid multibyte interpretation
32976         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
32977         not try to interpret its random input bytes.  Jarno Rajahalme reported
32978         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
32979         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
32980         (mktempd_): Likewise, just in case.
32981
32982         ftruncate: add two years to projected module removal date: 2012
32983         * m4/ftruncate.m4: Adjust comments.
32984
32985         ftruncate: mark module as obsolete; even MinGW provides it, now
32986         * modules/ftruncate (Status): Obsolete.
32987         (Notice): Say that.
32988         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
32989         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
32990
32991 2010-04-08  Bruno Haible  <bruno@clisp.org>
32992
32993         Fix side effects from tests-related modules.
32994         * modules/dprintf-posix (Comment): New section.
32995         * modules/fprintf-posix (Comment): Likewise.
32996         * modules/obstack-printf-posix (Comment): Likewise.
32997         * modules/printf-posix (Comment): Likewise.
32998         * modules/snprintf-posix (Comment): Likewise.
32999         * modules/sprintf-posix (Comment): Likewise.
33000         * modules/vasnprintf-posix (Comment): Likewise.
33001         * modules/vasprintf-posix (Comment): Likewise.
33002         * modules/vdprintf-posix (Comment): Likewise.
33003         * modules/vfprintf-posix (Comment): Likewise.
33004         * modules/vprintf-posix (Comment): Likewise.
33005         * modules/vsnprintf-posix (Comment): Likewise.
33006         * modules/vsprintf-posix (Comment): Likewise.
33007         * modules/xprintf-posix (Comment): Likewise.
33008         * modules/xvasprintf-posix (Comment): Likewise.
33009         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
33010         * modules/floorf-tests (Depends-on): Likewise.
33011         * modules/round-tests (Depends-on): Likewise.
33012         * modules/roundf-tests (Depends-on): Likewise.
33013         * modules/trunc-tests (Depends-on): Likewise.
33014         * modules/truncf-tests (Depends-on): Likewise.
33015         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
33016         'fprintf-posix' module is not present.
33017         * tests/test-floorf2.c (check): Likewise.
33018         * tests/test-trunc2.c (check): Likewise.
33019         * tests/test-truncf2.c (check): Likewise.
33020         * tests/test-round2.c (equal): Likewise.
33021         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33022
33023 2010-04-07  Karl Berry  <karl@gnu.org>
33024
33025         * config/srclist.txt,
33026         * config/srclistvars.sh,
33027         * config/srclist-update: doc fixes.
33028
33029 2010-04-07  Jim Meyering  <meyering@redhat.com>
33030
33031         maint.mk: add a PATH crosschecking syntax-check rule
33032         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
33033         Useful if you use a test like the one in help-version (coreutils,
33034         diffutils, grep, gzip) that ensures $(VERSION) matches what is
33035         printed by prog --version.
33036
33037 2010-04-06  Bruno Haible  <bruno@clisp.org>
33038
33039         Fix link error on mingw.
33040         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
33041         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
33042
33043 2010-04-06  Bruno Haible  <bruno@clisp.org>
33044
33045         Assume rmdir exists.
33046         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
33047
33048 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
33049
33050         doc: update users.txt
33051         * users.txt: Add gcal.
33052
33053 2010-04-06  Jim Meyering  <meyering@redhat.com>
33054
33055         init.sh: simply unset TMPDIR rather than risking env -i
33056         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
33057         although it probably works fine on all Unix-based systems, some
33058         systems (Cygwin?) cannot tolerate a totally cleared environment.
33059         Suggestion from Eric Blake.
33060
33061 2010-04-06  Jim Meyering  <meyering@redhat.com>
33062
33063         init.sh: portability fix: use env's POSIX-specified -i option not -u
33064         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
33065         than unportable env -u.  Solaris 5.11's env lacks support for -u.
33066
33067 2010-04-05  Bruno Haible  <bruno@clisp.org>
33068
33069         btowc: Work around Cygwin 1.7.2 bug.
33070         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
33071         does not map NUL to 0.
33072         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
33073
33074 2010-04-05  Bruno Haible  <bruno@clisp.org>
33075
33076         Make the multithread modules work on Cygwin 1.7.2.
33077         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
33078         imported symbols can be declared weak, so that it returns "no" on
33079         Cygwin 1.7.2.
33080
33081 2010-04-05  Bruno Haible  <bruno@clisp.org>
33082
33083         Use the module 'strncat'.
33084         * modules/unistr/u8-strncat (Depends-on): Add strncat.
33085
33086         Tests for module 'strncat'.
33087         * modules/strncat-tests: New file.
33088         * tests/test-strncat.c: New file.
33089
33090         New module 'strncat'.
33091         * lib/string.in.h (strncat): New declaration.
33092         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
33093         * m4/strncat.m4: New file, based on m4/memchr.m4.
33094         * modules/strncat: New file.
33095         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
33096         is declared.
33097         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
33098         REPLACE_STRNCAT.
33099         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
33100         REPLACE_STRNCAT.
33101         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
33102         module.
33103         * tests/test-string-c++.cc: Check signature of strncat.
33104
33105 2010-04-05  Jim Meyering  <meyering@redhat.com>
33106
33107         xstrtoumax-tests: convert to use init.sh
33108         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
33109         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33110         Use Exit, not exit.
33111         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33112
33113         xstrtoimax-tests: convert to use init.sh
33114         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
33115         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33116         Use Exit, not exit.
33117         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33118
33119 2010-04-05  Bruno Haible  <bruno@clisp.org>
33120
33121         sys_socket: Avoid #define replacements in C++ mode.
33122         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
33123         warning to the function if possible, rather than #defining the symbol
33124         to a dysfunctional alias.
33125
33126 2010-04-05  Bruno Haible  <bruno@clisp.org>
33127
33128         fseeko: Fix C++ test error on mingw.
33129         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
33130         gl_FUNC_FSEEKO.
33131         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
33132         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
33133         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
33134         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
33135
33136 2010-04-05  Bruno Haible  <bruno@clisp.org>
33137
33138         duplocale: Improve test output.
33139         * tests/test-duplocale.c (main): Print reason for skipped test.
33140
33141 2010-04-05  Bruno Haible  <bruno@clisp.org>
33142
33143         Assume rmdir exists.
33144         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
33145         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
33146
33147 2010-04-05  Bruno Haible  <bruno@clisp.org>
33148
33149         Fix link error on Solaris 8 with cc.
33150         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
33151
33152 2010-04-05  Bruno Haible  <bruno@clisp.org>
33153
33154         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
33155         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
33156
33157 2010-04-05  Bruno Haible  <bruno@clisp.org>
33158
33159         vasprintf: Update documentation.
33160         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
33161
33162 2010-04-05  Bruno Haible  <bruno@clisp.org>
33163
33164         ptsname: Improve test.
33165         * tests/test-ptsname.c (main): Also try the various master names of BSD
33166         systems.
33167
33168 2010-04-05  Bruno Haible  <bruno@clisp.org>
33169
33170         memchr: Avoid a possible C++ test error.
33171         * lib/string.in.h (memchr): Provide declaration if function is missing.
33172         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
33173         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
33174         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
33175         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
33176
33177 2010-04-05  Bruno Haible  <bruno@clisp.org>
33178
33179         strtok_r: Improve idiom.
33180         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
33181         AC_LIBOBJ is used.
33182
33183 2010-04-05  Bruno Haible  <bruno@clisp.org>
33184
33185         strdup: Improve idiom.
33186         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
33187         AC_LIBOBJ is used.
33188         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
33189         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
33190         when AC_LIBOBJ is used.
33191
33192 2010-04-05  Bruno Haible  <bruno@clisp.org>
33193
33194         mbsinit, mbrtowc, wcrtomb: Improve idioms.
33195         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
33196         don't set REPLACE_MBSINIT to 1.
33197         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
33198         don't set REPLACE_MBRTOWC to 1.
33199         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
33200         exist, don't set REPLACE_MBSRTOWCS to 1.
33201         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
33202         exist, don't set REPLACE_MBSNRTOWCS to 1.
33203         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
33204         don't set REPLACE_WCRTOMB to 1.
33205         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
33206         exist, don't set REPLACE_WCSRTOMBS to 1.
33207         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
33208         exist, don't set REPLACE_WCSNRTOMBS to 1.
33209
33210 2010-04-05  Bruno Haible  <bruno@clisp.org>
33211
33212         ldexpl: Improve idiom.
33213         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
33214         make sure to set HAVE_DECL_LDEXPL to 0.
33215
33216 2010-04-05  Jim Meyering  <meyering@redhat.com>
33217
33218         xstrtol-tests: convert to use init.sh
33219         * modules/xstrtol-tests (Files): Add tests/init.sh.
33220         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33221         Use Exit, not exit.
33222         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33223
33224         atexit-tests: convert to use init.sh
33225         * modules/atexit-tests (Files): Add tests/init.sh.
33226         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
33227         Use Exit, not exit.
33228         Remove uses of $EXEEXT and "./" to run a program in the current dir.
33229
33230         init.sh: fix typo
33231         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
33232
33233         init.sh: make it easier for a test script to write to the tty, ...
33234         when using automake's parallel-tests mode.
33235         * tests/init.sh (stderr_fileno_): Define overridable variable.
33236         (warn_): New function, to use it.
33237         (fail_, skip_, framework_failure_): Use warn_.
33238
33239 2010-04-04  Bruno Haible  <bruno@clisp.org>
33240
33241         btowc: Avoid warning.
33242         * lib/btowc.c: Include <stdlib.h>.
33243         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
33244
33245 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
33246             Bruno Haible  <bruno@clisp.org>
33247
33248         wchar: Port to NetBSD 1.5.
33249         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
33250         * lib/wctype.in.h (WEOF): Likewise.
33251
33252 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
33253             Bruno Haible  <bruno@clisp.org>
33254
33255         Port extended stdio to NetBSD 1.5.
33256         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
33257         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
33258         older.
33259
33260 2010-04-04  Bruno Haible  <bruno@clisp.org>
33261
33262         string: Remove unused substitution.
33263         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
33264         HAVE_DECL_STRERROR.
33265         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
33266
33267 2010-04-04  Bruno Haible  <bruno@clisp.org>
33268
33269         strtod: Avoid a possible C++ test error.
33270         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
33271         set REPLACE_STRTOD.
33272
33273 2010-04-04  Bruno Haible  <bruno@clisp.org>
33274
33275         strerror: Update documentation.
33276         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
33277
33278 2010-04-04  Bruno Haible  <bruno@clisp.org>
33279
33280         stdio: Fix some C++ test errors on Solaris 8 with GCC.
33281         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
33282         _GL_CXXALIAS_SYS_CAST.
33283
33284 2010-04-04  Bruno Haible  <bruno@clisp.org>
33285
33286         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
33287         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
33288         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
33289         REPLACE_FREXPL to 1.
33290         * doc/posix-functions/frexpl.texi: Update documentation.
33291
33292 2010-04-04  Bruno Haible  <bruno@clisp.org>
33293
33294         math: Fix some C++ test errors on Solaris 8 and Cygwin.
33295         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
33296
33297 2010-04-04  Bruno Haible  <bruno@clisp.org>
33298
33299         Implement nanosleep for native Windows.
33300         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
33301
33302 2010-04-04  Bruno Haible  <bruno@clisp.org>
33303
33304         math: Fix some C++ test errors on Solaris 8.
33305         * lib/math.in.h (truncf, trunc): Use simpler idiom.
33306
33307 2010-04-04  Bruno Haible  <bruno@clisp.org>
33308
33309         math: Fix some C++ test errors on Cygwin.
33310         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
33311         truncl): Provide declaration if the system does not have it.
33312         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
33313         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
33314         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
33315         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
33316         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
33317         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
33318         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
33319         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
33320         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
33321         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
33322         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
33323         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
33324         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
33325         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
33326         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
33327         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
33328         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
33329         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
33330         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
33331         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
33332         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
33333         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
33334
33335 2010-04-04  Bruno Haible  <bruno@clisp.org>
33336
33337         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
33338         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
33339         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
33340         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
33341         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
33342         * m4/isinf.m4 (gl_ISINF): Likewise.
33343         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
33344
33345 2010-04-04  Bruno Haible  <bruno@clisp.org>
33346
33347         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
33348         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
33349
33350 2010-04-04  Bruno Haible  <bruno@clisp.org>
33351
33352         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
33353         * modules/tmpfile (configure.ac): Update.
33354
33355         tmpfile: Fix C++ test error on mingw.
33356         * lib/stdio.in.h (tmpfile): New declaration.
33357         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
33358         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
33359         * modules/tmpfile (Depends-on): Add stdio.
33360         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
33361         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
33362         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
33363         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
33364         REPLACE_TMPFILE.
33365         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
33366
33367 2010-04-04  Bruno Haible  <bruno@clisp.org>
33368
33369         ioctl: Fix C++ test error on mingw.
33370         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
33371         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
33372         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
33373
33374 2010-04-03  Bruno Haible  <bruno@clisp.org>
33375
33376         wcwidth: Fix C++ test error on mingw.
33377         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
33378         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
33379         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
33380
33381 2010-04-03  Bruno Haible  <bruno@clisp.org>
33382
33383         nanosleep: Fix C++ test error on mingw.
33384         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
33385         * lib/time.in.h (nanosleep): Use modern idiom.
33386         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
33387         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
33388         REPLACE_NANOSLEEP to 1.
33389         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
33390         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
33391
33392 2010-04-03  Bruno Haible  <bruno@clisp.org>
33393
33394         strptime: Fix C++ test error on mingw.
33395         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
33396         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
33397         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
33398         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
33399         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
33400         not REPLACE_STRPTIME.
33401         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
33402         REPLACE_STRPTIME.
33403
33404 2010-04-03  Bruno Haible  <bruno@clisp.org>
33405
33406         timegm: Fix C++ test error on mingw.
33407         * lib/time.in.h (timegm): Use modern idiom.
33408         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
33409         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
33410         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
33411         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
33412
33413 2010-04-03  Bruno Haible  <bruno@clisp.org>
33414
33415         timegm: Assume declaration if function exists.
33416         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
33417         if it exists. Don't clobber ac_cv_func_timegm.
33418
33419 2010-04-03  Bruno Haible  <bruno@clisp.org>
33420
33421         time_r: Fix C++ test error on mingw.
33422         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
33423         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
33424         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
33425         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
33426         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
33427
33428 2010-04-03  Bruno Haible  <bruno@clisp.org>
33429
33430         time_r: Minor updates.
33431         * modules/time_r (Description): Mention the provided functions.
33432         * lib/time_r.c: Don't include <string.h>.
33433         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
33434         * doc/posix-functions/localtime_r.texi: Likewise.
33435
33436 2010-04-03  Bruno Haible  <bruno@clisp.org>
33437
33438         time: Fix regression introduced on 2010-03-08.
33439         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
33440         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
33441
33442 2010-04-03  Jim Meyering  <meyering@redhat.com>
33443
33444         maint.mk: don't silently disable project-specific syntax-check rules
33445         * top/maint.mk (_prohibit_regexp): Define, to help people realize
33446         that they need to convert their project-specific syntax-check rules
33447         to use the new _sc_search_regexp.
33448
33449 2010-04-03  Bruno Haible  <bruno@clisp.org>
33450
33451         fchdir: Fix regression introduced on 2010-03-08.
33452         * lib/unistd.in.h (fchdir): Fix declaration.
33453         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
33454         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
33455         REPLACE_FCHDIR.
33456         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
33457         REPLACE_FCHDIR.
33458
33459 2010-04-03  Bruno Haible  <bruno@clisp.org>
33460
33461         getpagesize: Fix C++ test error on mingw.
33462         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
33463         system does not declare the function.
33464         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
33465         declared.
33466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33467         HAVE_DECL_GETPAGESIZE.
33468         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
33469
33470 2010-04-03  Bruno Haible  <bruno@clisp.org>
33471
33472         stdio: Make C++ tests work on mingw.
33473         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
33474         does not declare the function.
33475
33476 2010-04-03  Bruno Haible  <bruno@clisp.org>
33477
33478         ftello: Fix C++ test error on mingw.
33479         * lib/stdio.in.h (ftello): Use modern idiom.
33480         * lib/ftello.c (ftello): Renamed from rpl_ftello.
33481         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
33482         is missing and that it needs to be replaced.
33483         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
33484         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
33485         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
33486
33487 2010-04-03  Bruno Haible  <bruno@clisp.org>
33488
33489         fseeko: Fix C++ test error on mingw.
33490         * lib/stdio.in.h (fseeko): Use modern idiom.
33491         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
33492         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
33493         is missing and that it needs to be replaced.
33494         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
33495         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
33496         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
33497
33498 2010-04-03  Bruno Haible  <bruno@clisp.org>
33499
33500         mkstemp: Fix C++ test error on mingw.
33501         * lib/stdlib.in.h (mkstemp): Use modern idiom.
33502         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
33503         function is missing and that it needs to be replaced.
33504         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
33505         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
33506
33507 2010-04-03  Bruno Haible  <bruno@clisp.org>
33508
33509         stpncpy: Fix C++ test error on mingw.
33510         * lib/string.in.h (stpncpy): Use modern idiom.
33511         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
33512         function is missing and that it needs to be replaced.
33513         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33514         REPLACE_STPNCPY.
33515         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
33516
33517 2010-04-03  Bruno Haible  <bruno@clisp.org>
33518
33519         sys_stat: Fix C++ test error on mingw.
33520         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
33521         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
33522
33523 2010-04-03  Bruno Haible  <bruno@clisp.org>
33524
33525         pty: Update doc.
33526         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
33527
33528 2010-04-03  Bruno Haible  <bruno@clisp.org>
33529
33530         unistd: Fix C++ test error on mingw.
33531         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
33532
33533 2010-04-03  Bruno Haible  <bruno@clisp.org>
33534
33535         Update doc regarding mingw.
33536         * doc/glibc-functions/openpty.texi: Update regarding mingw.
33537         * doc/glibc-functions/login_tty.texi: Likewise.
33538         * doc/glibc-functions/forkpty.texi: Likewise.
33539
33540 2010-04-03  Bruno Haible  <bruno@clisp.org>
33541
33542         stdlib: Avoid compilation failure of c-strtold on mingw.
33543         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
33544
33545 2010-04-03  Bruno Haible  <bruno@clisp.org>
33546
33547         locale: Make C++ tests work on Cygwin and mingw.
33548         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
33549         cannot provide the function.
33550         Reported by Simon Josefsson.
33551
33552 2010-04-03  Bruno Haible  <bruno@clisp.org>
33553
33554         localename: Port to MacOS X 10.6.
33555         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
33556         memory layout of the locales in MacOS X 10.6 as well.
33557         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
33558
33559 2010-04-02  Bruno Haible  <bruno@clisp.org>
33560
33561         gnulib-tool: Ensure that long-running tests are executed last.
33562         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
33563         running tests after the one for the other tests.
33564
33565 2010-04-02  Bruno Haible  <bruno@clisp.org>
33566
33567         gnulib-tool: Ensure the tests in the main directory are executed first.
33568         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
33569         start with the current directory.
33570
33571 2010-04-02  Bruno Haible  <bruno@clisp.org>
33572
33573         Tests for module 'havelib', moved here from GNU gettext.
33574         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
33575         modifications.
33576         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
33577         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
33578         with modifications.
33579         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
33580         modifications.
33581         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
33582         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
33583         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
33584         with modifications.
33585         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
33586         with modifications.
33587         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
33588         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
33589         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
33590         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
33591         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
33592         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
33593         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
33594         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
33595         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
33596         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
33597         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
33598         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
33599         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
33600         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
33601         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
33602         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
33603         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
33604         with modifications.
33605         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
33606         with modifications.
33607         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
33608         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
33609         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
33610         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
33611         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
33612         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
33613         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
33614         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
33615         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
33616         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
33617         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
33618         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
33619         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
33620         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
33621         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
33622         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
33623         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
33624         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
33625         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
33626         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
33627         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
33628         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
33629         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
33630         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
33631         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
33632         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
33633         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
33634         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
33635         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
33636         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
33637         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
33638         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
33639         * tests/havelib/rpathx/rpathx.c: New file, from
33640         gettext/autoconf-lib-link.
33641         * tests/havelib/rpathx/Makefile.am: New file, from
33642         gettext/autoconf-lib-link.
33643         * tests/havelib/rpathx/configure.ac: New file, from
33644         gettext/autoconf-lib-link with modifications.
33645         * tests/havelib/rpathy/rpathy.c: New file, from
33646         gettext/autoconf-lib-link.
33647         * tests/havelib/rpathy/Makefile.am: New file, from
33648         gettext/autoconf-lib-link.
33649         * tests/havelib/rpathy/configure.ac: New file, from
33650         gettext/autoconf-lib-link with modifications.
33651         * tests/havelib/rpathz/rpathz.c: New file, from
33652         gettext/autoconf-lib-link.
33653         * tests/havelib/rpathz/Makefile.am: New file, from
33654         gettext/autoconf-lib-link.
33655         * tests/havelib/rpathz/configure.ac: New file, from
33656         gettext/autoconf-lib-link with modifications.
33657         * tests/havelib/rpathlx/usex.c: New file, from
33658         gettext/autoconf-lib-link.
33659         * tests/havelib/rpathlx/Makefile.am: New file, from
33660         gettext/autoconf-lib-link.
33661         * tests/havelib/rpathlx/configure.ac: New file, from
33662         gettext/autoconf-lib-link with modifications.
33663         * tests/havelib/rpathly/usey.c: New file, from
33664         gettext/autoconf-lib-link.
33665         * tests/havelib/rpathly/Makefile.am: New file, from
33666         gettext/autoconf-lib-link.
33667         * tests/havelib/rpathly/configure.ac: New file, from
33668         gettext/autoconf-lib-link with modifications.
33669         * tests/havelib/rpathlz/usez.c: New file, from
33670         gettext/autoconf-lib-link.
33671         * tests/havelib/rpathlz/Makefile.am: New file, from
33672         gettext/autoconf-lib-link.
33673         * tests/havelib/rpathlz/configure.ac: New file, from
33674         gettext/autoconf-lib-link with modifications.
33675         * tests/havelib/rpathlyx/usey.c: New file, from
33676         gettext/autoconf-lib-link.
33677         * tests/havelib/rpathlyx/Makefile.am: New file, from
33678         gettext/autoconf-lib-link.
33679         * tests/havelib/rpathlyx/configure.ac: New file, from
33680         gettext/autoconf-lib-link with modifications.
33681         * tests/havelib/rpathlzyx/usez.c: New file, from
33682         gettext/autoconf-lib-link.
33683         * tests/havelib/rpathlzyx/Makefile.am: New file, from
33684         gettext/autoconf-lib-link.
33685         * tests/havelib/rpathlzyx/configure.ac: New file, from
33686         gettext/autoconf-lib-link with modifications.
33687         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
33688         with modifications.
33689
33690 2010-04-02  Bruno Haible  <bruno@clisp.org>
33691
33692         gnulib-tool: Create distributed built sources also for the tests.
33693         * gnulib-tool (func_create_testdir): Also generate distributed built
33694         sources in the tests directory.
33695
33696 2010-04-02  Bruno Haible  <bruno@clisp.org>
33697
33698         gnulib-tool: Obey user's environment variables.
33699         * gnulib-tool (func_create_testdir): When creating built sources,
33700         respect the environment variables for autoconf, automake, etc. given by
33701         the user.
33702
33703 2010-04-02  Bruno Haible  <bruno@clisp.org>
33704
33705         gnulib-tool: Provide the value of --m4-base to modules.
33706         * gnulib-tool (func_import, func_create_testdir): Emit a definition
33707         of gl_m4_base.
33708
33709 2010-04-02  Eric Blake  <eblake@redhat.com>
33710
33711         maint.mk: fix some fallout
33712         * NEWS: Document the incompatible change, and its effect on cfg.mk.
33713         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
33714
33715 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
33716
33717         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
33718         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
33719         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
33720         (sc_cast_of_x_alloc_return_value): Likewise.
33721         (sc_cast_of_alloca_return_value): Likewise.
33722         (sc_space_tab): Likewise.
33723         (sc_prohibit_atoi_atof): Likewise.
33724         (sc_prohibit_magic_number_exit): Likewise.
33725         (sc_error_exit_success): Likewise.
33726         (sc_file_system): Likewise.
33727         (sc_prohibit_have_config_h): Likewise.
33728         (sc_require_config_h): Likewise.
33729         (sc_prohibit_HAVE_MBRTOWC): Likewise.
33730         (sc_obsolete_symbols): Likewise.
33731         (sc_changelog): Likewise.
33732         (sc_program_name): Likewise.
33733         (sc_the_the): Likewise.
33734         (sc_trailing_blank): Likewise.
33735         (sc_two_space_separator_in_usage): Likewise.
33736         (sc_useless_cpp_parens): Likewise.
33737         (sc_GPL_version): Likewise.
33738         (sc_GFDL_version): Likewise.
33739         (sc_texinfo_acronym): Likewise.
33740         (sc_prohibit_cvs_keyword): Likewise.
33741         (sc_prohibit_stat_st_blocks): Likewise.
33742         (sc_prohibit_S_IS_definition): Likewise.
33743         (sc_redundant_const): Likewise.
33744         (sc_makefile_TAB_only_indentation): Likewise.
33745         (sc_m4_quote_check): Likewise.
33746         (sc_makefile_path_separator_check): Likewise.
33747         (sc_copyright_check): Likewise.
33748         (sc_Wundef_boolean): Likewise.
33749         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
33750
33751         maint.mk: match 0 or more whitespace-before-function-call '('
33752         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
33753         that have zero or two-and-more spaces between the function name
33754         and the open parenthesis.
33755         (sc_error_message_warn_fatal): Likewise.
33756         (sc_error_message_uppercase): Likewise.
33757         (sc_error_message_period): Likewise.
33758
33759 2010-03-31  Eric Blake  <eblake@redhat.com>
33760
33761         maint.mk: check for [ as well as test
33762         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
33763         Based on a libvirt report by Matthias Bolte.
33764
33765         gnumakefile: don't squelch _version output
33766         * top/GNUmakefile (_version): Create one-shot dependency rather
33767         than using $(shell) when version must be regenerated.
33768         (_autoreconf): Run verbosely, by default.
33769
33770         sys_time: avoid compiler warnings
33771         * lib/sys_time.in.h (includes): Ensure gcc pragma is
33772         unconditional, fixing regression from 2010-03-29.
33773         Reported by Simon Josefsson.
33774
33775 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
33776
33777         maint.mk: s/_header_without_use/_sc_header_without_use/
33778         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
33779         (sc_prohibit_assert_without_use): Use the new name.
33780         (sc_prohibit_close_stream_without_use): Likewise.
33781         (sc_prohibit_getopt_without_use): Likewise.
33782         (sc_prohibit_quotearg_without_use): Likewise.
33783         (sc_prohibit_quote_without_use): Likewise.
33784         (sc_prohibit_long_options_without_use): Likewise.
33785         (sc_prohibit_inttostr_without_use): Likewise.
33786         (sc_prohibit_ignore_value_without_use): Likewise.
33787         (sc_prohibit_error_without_use): Likewise.
33788         (sc_prohibit_xalloc_without_use): Likewise.
33789         (sc_prohibit_hash_without_use): Likewise.
33790         (sc_prohibit_hash_pjw_without_use): Likewise.
33791         (sc_prohibit_safe_read_without_use): Likewise.
33792         (sc_prohibit_argmatch_without_use): Likewise.
33793         (sc_prohibit_canonicalize_without_use): Likewise.
33794         (sc_prohibit_root_dev_ino_without_use): Likewise.
33795         (sc_prohibit_openat_without_use): Likewise.
33796         (sc_prohibit_c_ctype_without_use): Likewise.
33797         (sc_prohibit_signal_without_use): Likewise.
33798         (sc_prohibit_intprops_without_use): Likewise.
33799
33800 2010-03-30  Eric Blake  <eblake@redhat.com>
33801
33802         maint: improve module indicators
33803         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
33804         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
33805         columns, and avoid extra macro expansion.
33806
33807         fdopendir: work around FreeBSD bug
33808         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
33809         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
33810         * modules/dirent (Makefile.am): Substitute it.
33811         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
33812         declaration.
33813         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
33814         fix.
33815         Reported by Christian Weisgerber <naddy@mips.inka.de>.
33816
33817 2010-03-29  Bruno Haible  <bruno@clisp.org>
33818
33819         Emit #pragma system_header after the inclusion guard, not before.
33820         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
33821         guard that spans the entire file, not before. This enables an
33822         optimization in GCC's preprocessor.
33823         * lib/ctype.in.h: Likewise.
33824         * lib/dirent.in.h: Likewise.
33825         * lib/errno.in.h: Likewise.
33826         * lib/float.in.h: Likewise.
33827         * lib/getopt.in.h: Likewise.
33828         * lib/iconv.in.h: Likewise.
33829         * lib/langinfo.in.h: Likewise.
33830         * lib/locale.in.h: Likewise.
33831         * lib/math.in.h: Likewise.
33832         * lib/netdb.in.h: Likewise.
33833         * lib/netinet_in.in.h: Likewise.
33834         * lib/pty.in.h: Likewise.
33835         * lib/sched.in.h: Likewise.
33836         * lib/se-selinux.in.h: Likewise.
33837         * lib/search.in.h: Likewise.
33838         * lib/spawn.in.h: Likewise.
33839         * lib/stdarg.in.h: Likewise.
33840         * lib/stdint.in.h: Likewise.
33841         * lib/string.in.h: Likewise.
33842         * lib/strings.in.h: Likewise.
33843         * lib/sys_file.in.h: Likewise.
33844         * lib/sys_ioctl.in.h: Likewise.
33845         * lib/sys_time.in.h: Likewise.
33846         * lib/sys_times.in.h: Likewise.
33847         * lib/sys_utsname.in.h: Likewise.
33848         * lib/sys_wait.in.h: Likewise.
33849         * lib/sysexits.in.h: Likewise.
33850         * lib/wctype.in.h: Likewise.
33851
33852 2010-03-28  James Youngman  <jay@gnu.org>
33853
33854         save-cwd: don't leak a file descriptor when the caller execs.
33855         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
33856         saved file descriptor.
33857         * modules/save-cwd (Depends-on): Depend on cloexec.
33858
33859 2010-03-29  Bruno Haible  <bruno@clisp.org>
33860
33861         Remove vestiges of fts-lgpl module.
33862         * lib/fts_.h: Assume GNULIB_FTS is 1.
33863         * lib/fts.c: Likewise.
33864         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
33865
33866 2010-03-28  Bruno Haible  <bruno@clisp.org>
33867
33868         Fix definition of tests witness macro.
33869         * gnulib-tool (func_import): Fix definition of witness macro.
33870
33871 2010-03-28  Bruno Haible  <bruno@clisp.org>
33872
33873         Fix ioctl's protoype on glibc systems.
33874         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
33875         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
33876         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
33877         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
33878         signature. If not, arrange to replace the ioctl function.
33879         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
33880         REPLACE_IOCTL.
33881         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
33882         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
33883         Reported by Ludovic Courtès <ludo@gnu.org>.
33884
33885 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
33886
33887         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
33888         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
33889         made it so grep -r --include=GLOB* ... did not work.
33890
33891 2010-03-26  Jim Meyering  <meyering@redhat.com>
33892             Eric Blake  <eblake@redhat.com>
33893
33894         maint.mk: prohibit use of test's -o and -a operators
33895         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
33896
33897 2010-03-28  Bruno Haible  <bruno@clisp.org>
33898
33899         Remove unused GNULIB_XYZ macro definitions.
33900         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
33901         invocation.
33902
33903 2010-03-28  Bruno Haible  <bruno@clisp.org>
33904
33905         Mark privileged tests modules.
33906         * modules/idpriv-drop-tests (Status): New section.
33907         * modules/idpriv-droptemp-tests (Status): New section.
33908
33909 2010-03-28  Bruno Haible  <bruno@clisp.org>
33910
33911         Split C++ tests into separate tests modules.
33912         * modules/dirent-c++-tests: New file, extracted from
33913         modules/dirent-tests.
33914         * modules/dirent-tests: Depend on it.
33915         * modules/fcntl-h-c++-tests: New file, extracted from
33916         modules/fcntl-h-tests.
33917         * modules/fcntl-h-tests: Depend on it.
33918         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
33919         * modules/glob-tests: Depend on it.
33920         * modules/iconv-h-c++-tests: New file, extracted from
33921         modules/iconv-h-tests.
33922         * modules/iconv-h-tests: Depend on it.
33923         * modules/langinfo-c++-tests: New file, extracted from
33924         modules/langinfo-tests.
33925         * modules/langinfo-tests: Depend on it.
33926         * modules/locale-c++-tests: New file, extracted from
33927         modules/locale-tests.
33928         * modules/locale-tests: Depend on it.
33929         * modules/math-c++-tests: New file, extracted from modules/math-tests.
33930         * modules/math-tests: Depend on it.
33931         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
33932         * modules/pty-tests: Depend on it.
33933         * modules/search-c++-tests: New file, extracted from
33934         modules/search-tests.
33935         * modules/search-tests: Depend on it.
33936         * modules/signal-c++-tests: New file, extracted from
33937         modules/signal-tests.
33938         * modules/signal-tests: Depend on it.
33939         * modules/spawn-c++-tests: New file, extracted from
33940         modules/spawn-tests.
33941         * modules/spawn-tests: Depend on it.
33942         * modules/stdio-c++-tests: New file, extracted from
33943         modules/stdio-tests.
33944         * modules/stdio-tests: Depend on it.
33945         * modules/stdlib-c++-tests: New file, extracted from
33946         modules/stdlib-tests.
33947         * modules/stdlib-tests: Depend on it.
33948         * modules/string-c++-tests: New file, extracted from
33949         modules/string-tests.
33950         * modules/string-tests: Depend on it.
33951         * modules/sys_ioctl-c++-tests: New file, extracted from
33952         modules/sys_ioctl-tests.
33953         * modules/sys_ioctl-tests: Depend on it.
33954         * modules/sys_select-c++-tests: New file, extracted from
33955         modules/sys_select-tests.
33956         * modules/sys_select-tests: Depend on it.
33957         * modules/sys_socket-c++-tests: New file, extracted from
33958         modules/sys_socket-tests.
33959         * modules/sys_socket-tests: Depend on it.
33960         * modules/sys_stat-c++-tests: New file, extracted from
33961         modules/sys_stat-tests.
33962         * modules/sys_stat-tests: Depend on it.
33963         * modules/sys_time-c++-tests: New file, extracted from
33964         modules/sys_time-tests.
33965         * modules/sys_time-tests: Depend on it.
33966         * modules/time-c++-tests: New file, extracted from modules/time-tests.
33967         * modules/time-tests: Depend on it.
33968         * modules/unistd-c++-tests: New file, extracted from
33969         modules/unistd-tests.
33970         * modules/unistd-tests: Depend on it.
33971         * modules/wchar-c++-tests: New file, extracted from
33972         modules/wchar-tests.
33973         * modules/wchar-tests: Depend on it.
33974         * modules/wctype-c++-tests: New file, extracted from
33975         modules/wctype-tests.
33976         * modules/wctype-tests: Depend on it.
33977         Reported by Simon Josefsson.
33978
33979 2010-03-28  Bruno Haible  <bruno@clisp.org>
33980
33981         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
33982         * gnulib-tool (func_exists_module): New function, extracted from
33983         func_verify_module.
33984         (func_verify_module): Use it.
33985         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
33986         'foo' only if 'foo' exists.
33987         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
33988         module.
33989
33990 2010-03-28  Bruno Haible  <bruno@clisp.org>
33991
33992         gnulib-tool: Add support for special categories of tests.
33993         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
33994         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
33995         (func_usage): Document them.
33996         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
33997         inc_unportable_tests, inc_all_tests): New variables.
33998         (func_acceptable): Consider these variables.
33999         (func_modules_transitive_closure): Make it work when the 'Status' field
34000         consists of multiple words.
34001         (func_import): Store and restore the values of inc_cxx_tests,
34002         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
34003         inc_all_tests in gnulib-comp.m4.
34004         (func_create_testdir): Set inc_all_tests to true.
34005         * doc/gnulib.texi (Extra tests modules): New section.
34006         Suggested by Jim Meyering.
34007
34008 2010-03-28  Bruno Haible  <bruno@clisp.org>
34009
34010         ansi-c++-opt: Allow turning off the C++ build by default.
34011         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
34012         gl_CXX_CHOICE_DEFAULT_NO is defined.
34013         Requested by Eric Blake.
34014
34015 2010-03-28  Bruno Haible  <bruno@clisp.org>
34016
34017         unistd: Avoid #define replacements in C++ mode.
34018         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
34019         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
34020         setsockopt, shutdown, select): In C++, attach a warning to the function
34021         if possible, rather than #defining the symbol to a dysfunctional alias.
34022         Reported by John W. Eaton <jwe@gnu.org>.
34023
34024 2010-03-28  Bruno Haible  <bruno@clisp.org>
34025
34026         Fix link errors on mingw.
34027         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
34028         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
34029         $(LIBSOCKET).
34030         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
34031         $(LIBSOCKET).
34032
34033 2010-03-28  Bruno Haible  <bruno@clisp.org>
34034             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34035
34036         lib-ignore: Determine different options for different compilers.
34037         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
34038         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
34039         Add comments.
34040         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
34041         * NEWS: Mention the change.
34042
34043 2010-03-27  Bruno Haible  <bruno@clisp.org>
34044
34045         Remove unused GNULIB_XYZ macro definitions.
34046         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
34047         * modules/fseek (configure.ac): Likewise.
34048         * modules/ioctl (configure.ac): Likewise.
34049         * modules/open (configure.ac): Likewise.
34050         * modules/stdlib-safer (configure.ac): Likewise.
34051
34052 2010-03-27  Bruno Haible  <bruno@clisp.org>
34053
34054         Add a remark about certain modules.
34055         * modules/malloc (Comment): New section.
34056         * modules/realloc (Comment): Likewise.
34057         * modules/sigpipe (Comment): Likewise.
34058
34059 2010-03-27  Bruno Haible  <bruno@clisp.org>
34060
34061         Resolve conflict between the two kinds of module indicators.
34062         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
34063         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
34064         * modules/canonicalize (configure.ac): Invoke
34065         gl_MODULE_INDICATOR_FOR_TESTS.
34066         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
34067         GNULIB_XYZ.
34068         * tests/test-dirent-c++.cc: Likewise.
34069         * tests/test-dirent-safer.c: Likewise.
34070         * tests/test-dup2.c: Likewise.
34071         * tests/test-fchdir.c: Likewise.
34072         * tests/test-fcntl-h-c++.cc: Likewise.
34073         * tests/test-getopt.c: Likewise.
34074         * tests/test-getopt.h: Likewise.
34075         * tests/test-langinfo-c++.cc: Likewise.
34076         * tests/test-locale-c++.cc: Likewise.
34077         * tests/test-math-c++.cc: Likewise.
34078         * tests/test-pty-c++.cc: Likewise.
34079         * tests/test-search-c++.cc: Likewise.
34080         * tests/test-signal-c++.cc: Likewise.
34081         * tests/test-spawn-c++.cc: Likewise.
34082         * tests/test-stdio-c++.cc: Likewise.
34083         * tests/test-stdlib-c++.cc: Likewise.
34084         * tests/test-string-c++.cc: Likewise.
34085         * tests/test-sys_ioctl-c++.cc: Likewise.
34086         * tests/test-sys_select-c++.cc: Likewise.
34087         * tests/test-sys_socket-c++.cc: Likewise.
34088         * tests/test-sys_stat-c++.cc: Likewise.
34089         * tests/test-sys_time-c++.cc: Likewise.
34090         * tests/test-time-c++.cc: Likewise.
34091         * tests/test-unistd-c++.cc: Likewise.
34092         * tests/test-wchar-c++.cc: Likewise.
34093         * tests/uninorm/test-u8-nfc.c: Likewise.
34094         * tests/uninorm/test-u8-nfd.c: Likewise.
34095         * tests/uninorm/test-u8-nfkc.c: Likewise.
34096         * tests/uninorm/test-u8-nfkd.c: Likewise.
34097         * tests/uninorm/test-u16-nfc.c: Likewise.
34098         * tests/uninorm/test-u16-nfd.c: Likewise.
34099         * tests/uninorm/test-u16-nfkc.c: Likewise.
34100         * tests/uninorm/test-u16-nfkd.c: Likewise.
34101         * tests/uninorm/test-u32-nfc.c: Likewise.
34102         * tests/uninorm/test-u32-nfc-big.c: Likewise.
34103         * tests/uninorm/test-u32-nfd.c: Likewise.
34104         * tests/uninorm/test-u32-nfd-big.c: Likewise.
34105         * tests/uninorm/test-u32-nfkc.c: Likewise.
34106         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
34107         * tests/uninorm/test-u32-nfkd.c: Likewise.
34108         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
34109         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34110
34111 2010-03-27  Bruno Haible  <bruno@clisp.org>
34112
34113         Distinguish two kinds of module indicators.
34114         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
34115         gl_MODULE_INDICATOR.
34116         (gl_MODULE_INDICATOR): New macro.
34117         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
34118         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
34119         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
34120         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
34121         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
34122         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
34123         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
34124         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
34125         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
34126         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
34127         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
34128         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
34129         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
34130         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
34131         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
34132         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
34133         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
34134         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
34135         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
34136         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
34137         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
34138         * modules/cloexec (configure.ac): Likewise.
34139         * modules/getopt-gnu (configure.ac): Likewise.
34140         * modules/uninorm/u8-normalize (configure.ac): Likewise.
34141         * modules/uninorm/u16-normalize (configure.ac): Likewise.
34142         * modules/uninorm/u32-normalize (configure.ac): Likewise.
34143         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
34144
34145 2010-03-27  Bruno Haible  <bruno@clisp.org>
34146
34147         New module description field 'Comment'.
34148         * gnulib-tool: New option --extract-comment.
34149         (func_usage): Document it.
34150         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
34151         (func_get_comment): New function.
34152         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
34153
34154 2010-03-27  Bruno Haible  <bruno@clisp.org>
34155
34156         Addendum to 2010-02-07 commit.
34157         * gnulib-tool (func_usage): Document --extract-applicability option.
34158
34159 2010-03-27  Bruno Haible  <bruno@clisp.org>
34160
34161         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
34162         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
34163         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
34164         rather than link errors.
34165
34166 2010-03-27  Bruno Haible  <bruno@clisp.org>
34167
34168         Avoid side effects from tests-related modules on the compilation of lib.
34169         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
34170         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
34171         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
34172         parameter. Emit into AM_CPPFLAGS a definition of the designated C
34173         macro.
34174         (func_import): Define a witness macro. Assign it a value that depends
34175         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
34176         tests-related modules.
34177         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
34178         Reported by Jim Meyering.
34179
34180 2010-03-27  Bruno Haible  <bruno@clisp.org>
34181
34182         Factorize common .m4 code.
34183         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
34184         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
34185         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
34186         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
34187         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
34188         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
34189         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
34190         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
34191         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
34192         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
34193         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
34194         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
34195         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
34196         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
34197         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
34198         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
34199         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
34200         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
34201         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
34202         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
34203         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
34204         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
34205         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
34206         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
34207         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
34208         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
34209         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
34210         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
34211         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
34212         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
34213         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
34214         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
34215
34216 2010-03-27  Bruno Haible  <bruno@clisp.org>
34217
34218         Fix a compilation error on Cygwin with g++ >= 4.3.
34219         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
34220         if it is undefined or if we alias it to chmod.
34221         (lstat): Don't warn about the use of this function if it is undefined
34222         or if we alias it to stat.
34223         Reported by Simon Josefsson.
34224
34225 2010-03-27  Bruno Haible  <bruno@clisp.org>
34226
34227         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
34228         * modules/getlogin (configure.ac): Update.
34229
34230         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
34231         * modules/getlogin_r (configure.ac): Update.
34232
34233         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
34234         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
34235         * modules/inet_ntop (configure.ac): Update.
34236
34237         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
34238         * modules/inet_pton (configure.ac): Update.
34239
34240         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
34241         * modules/mbslen (configure.ac): Update.
34242
34243         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
34244         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
34245         * modules/forkpty (configure.ac): Update.
34246         * modules/openpty (configure.ac): Update.
34247
34248 2010-03-26  Simon Josefsson  <simon@josefsson.org>
34249
34250         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
34251         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
34252
34253 2010-03-25  Eric Blake  <eblake@redhat.com>
34254
34255         maint: use pragma consistently across replacement headers
34256         * lib/ctype.in.h (system_header): Hoist for consistent placement.
34257         * lib/dirent.in.h (system_header): Likewise.
34258         * lib/errno.in.h (system_header): Likewise.
34259         * lib/float.in.h (system_header): Likewise.
34260         * lib/getopt.in.h (system_header): Likewise.
34261         * lib/iconv.in.h (system_header): Likewise.
34262         * lib/inttypes.in.h (system_header): Likewise.
34263         * lib/langinfo.in.h (system_header): Likewise.
34264         * lib/locale.in.h (system_header): Likewise.
34265         * lib/math.in.h (system_header): Likewise.
34266         * lib/netdb.in.h (system_header): Likewise.
34267         * lib/netinet_in.in.h (system_header): Likewise.
34268         * lib/pty.in.h (system_header): Likewise.
34269         * lib/sched.in.h (system_header): Likewise.
34270         * lib/se-selinux.in.h (system_header): Likewise.
34271         * lib/search.in.h (system_header): Likewise.
34272         * lib/spawn.in.h (system_header): Likewise.
34273         * lib/stdarg.in.h (system_header): Likewise.
34274         * lib/stdint.in.h (system_header): Likewise.
34275         * lib/string.in.h (system_header): Likewise.
34276         * lib/strings.in.h (system_header): Likewise.
34277         * lib/sys_file.in.h (system_header): Likewise.
34278         * lib/sys_ioctl.in.h (system_header): Likewise.
34279         * lib/sys_socket.in.h (system_header): Likewise.
34280         * lib/sys_times.in.h (system_header): Likewise.
34281         * lib/sys_utsname.in.h (system_header): Likewise.
34282         * lib/sys_wait.in.h (system_header): Likewise.
34283         * lib/sysexits.in.h (system_header): Likewise.
34284         * lib/unistd.in.h (system_header): Likewise.
34285         * lib/wctype.in.h (system_header): Likewise.
34286
34287         arpa/inet: fix mingw compilation warning
34288         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
34289         Reported by Matthew Bolte.
34290
34291 2010-03-25  Bruno Haible  <bruno@clisp.org>
34292
34293         Avoid collision between gnulib wrapper and libintl wrapper.
34294         * lib/printf.c (printf): Don't define if a printf wrapper is already
34295         defined in intl/printf.c.
34296         Reported by Michel Boaventura <michel@michelboaventura.com>.
34297
34298 2010-03-25  Bruno Haible  <bruno@clisp.org>
34299
34300         Use ANSI C.
34301         * lib/readutmp.h (getutent): Provide ANSI C prototype.
34302
34303 2010-03-25  Bruno Haible  <bruno@clisp.org>
34304
34305         Minor formatting changes.
34306         * lib/acosl.c: Insert space before function argument list.
34307         * lib/argz.c: Likewise.
34308         * lib/asinl.c: Likewise.
34309         * lib/expl.c: Likewise.
34310         * lib/gen-uni-tables.c: Likewise.
34311         * lib/gettext.h: Likewise.
34312         * lib/glthread/lock.h: Likewise.
34313         * lib/tanl.c: Likewise.
34314         * lib/uniname/uniname.c: Likewise.
34315         * tests/test-idpriv-drop.c: Likewise.
34316         * tests/test-idpriv-droptemp.c: Likewise.
34317         * tests/test-lock.c: Likewise.
34318         * tests/test-tls.c: Likewise.
34319         * lib/argp-help.c: Insert space before function-like macro argument
34320         list.
34321         * lib/memcmp.c: Likewise.
34322         * tests/test-base64.c: Likewise.
34323         * lib/localename.c: Insert space before sizeof's argument list.
34324         * lib/safe-alloc.h: Likewise.
34325         * lib/file-set.h: Insert space before macro argument list.
34326         * tests/test-argp.c: Likewise.
34327         * lib/argp-namefrob.h: Insert space before function parameter list.
34328         * lib/getaddrinfo.c: Likewise.
34329         * lib/netdb.in.h: Likewise.
34330         * lib/parse-duration.h: Likewise.
34331         * lib/parse-duration.c: Likewise.
34332         * lib/poll.c: Likewise.
34333         * lib/select.c: Likewise.
34334         * lib/trim.h: Likewise.
34335         * tests/test-usleep.c: Likewise.
34336         * lib/ldexpl.c: Insert space before function parameter list and before
34337         function argument list.
34338         * lib/logl.c: Likewise.
34339         * lib/sqrtl.c: Likewise.
34340         * lib/trim.c: Likewise.
34341         * lib/cosl.c: Use GNU style indentation. Insert space before function
34342         argument list.
34343         * lib/sinl.c: Likewise.
34344         * lib/tsearch.c: Insert space after 'for'.
34345         Reported by Jim Meyering.
34346
34347 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
34348
34349         * maint.mk (sc_Wundef_boolean): Check for the presence of the
34350         config header before grepping, as it's not present before
34351         autoreconf/configure are run.  Reported by Simon Josefsson.
34352
34353 2010-03-23  Bruno Haible  <bruno@clisp.org>
34354
34355         pt_chown: Make it work with automake < 1.11.
34356         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
34357         Reported by Simon Josefsson.
34358
34359 2010-03-23  Bruno Haible  <bruno@clisp.org>
34360
34361         pt_chown: Don't depend on GPLed modules.
34362         * lib/pt_chown.c: Don't include idpriv.h.
34363         (main): Don't drop privileges.
34364         * modules/pt_chown (Depends-on): Remove idpriv-drop.
34365         Reported by Simon Josefsson.
34366
34367 2010-03-24  Simon Josefsson  <simon@josefsson.org>
34368
34369         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
34370         suggestions from karl@freefriends.org (Karl Berry).
34371
34372 2010-03-22  Eric Blake  <eblake@redhat.com>
34373
34374         gethostname: further tweaks
34375         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
34376         are overriding gethostname.
34377         Suggested by Bruno Haible.
34378
34379 2010-03-21  Bruno Haible  <bruno@clisp.org>
34380
34381         Fix comments.
34382         * lib/forkpty.c (rpl_forkpty): Fix comment.
34383         * lib/openpty.c (rpl_openpty): Likewise.
34384         Reported by Eric Blake.
34385
34386 2010-03-22  Eric Blake  <eblake@redhat.com>
34387
34388         gethostname: fix build on mingw
34389         * lib/unistd.in.h (includes): Work around fact that mingw
34390         <winsock2.h> re-includes <unistd.h>, by avoiding any
34391         redeclarations if we are being included by <winsock2.h>.
34392         Reported by Matthias Bolte.
34393
34394 2010-03-21  Bruno Haible  <bruno@clisp.org>
34395
34396         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
34397         * lib/forkpty.c (forkpty): New replacement function, from glibc with
34398         modifications.
34399         * lib/pty.in.h (forkpty): Update declaration. Add comments.
34400         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
34401         provide the replacement.
34402         * modules/forkpty (Depends-on): Add openpty, login_tty.
34403         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
34404         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
34405         * doc/glibc-functions/forkpty.texi: More supported platforms.
34406         * config/srclist.txt: Add forkpty.c (commented).
34407
34408 2010-03-21  Bruno Haible  <bruno@clisp.org>
34409
34410         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
34411         (Makefile.am): Verify that PTY_LIB is defined.
34412
34413         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
34414
34415 2010-03-21  Bruno Haible  <bruno@clisp.org>
34416
34417         Tests for module 'login_tty'.
34418         * modules/login_tty-tests: New file.
34419         * tests/test-login_tty.c: New file.
34420
34421         New module 'login_tty'.
34422         * lib/login_tty.c: New file.
34423         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
34424         * modules/login_tty: New file.
34425         * doc/glibc-functions/login_tty.texi: Mention the new module.
34426
34427 2010-03-21  Bruno Haible  <bruno@clisp.org>
34428
34429         login_tty: Documentation.
34430         * doc/glibc-functions/login_tty.texi: New file.
34431         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
34432
34433 2010-03-21  Bruno Haible  <bruno@clisp.org>
34434
34435         pty: Consistent macro naming.
34436         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
34437         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
34438         * modules/pty (configure.ac): Update.
34439
34440 2010-03-21  Bruno Haible  <bruno@clisp.org>
34441
34442         Tests for openpty: Make stricter.
34443         * tests/test-openpty.c (main): Add test of canonical processing and
34444         erase.
34445         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
34446
34447         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
34448         * lib/openpty.c (openpty): New replacement function.
34449         * lib/pty.in.h: Include <termios.h>.
34450         (openpty): Update declaration. Add comments.
34451         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
34452         is not declared, arrange to provide the replacement. Check for _getpty
34453         and posix_openpt.
34454         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
34455         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
34456         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
34457         * modules/pty-tests (test_pty_c___LDADD): New variable.
34458         * doc/glibc-functions/openpty.texi: More supported platforms.
34459
34460 2010-03-21  Bruno Haible  <bruno@clisp.org>
34461
34462         setenv: Tweaks.
34463         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
34464         the test program.
34465         * doc/posix-functions/setenv.texi: Update platforms list.
34466
34467 2010-03-21  Bruno Haible  <bruno@clisp.org>
34468
34469         New module 'unlockpt'.
34470         * lib/unlockpt.c: New file, from glibc with modifications.
34471         * m4/unlockpt.m4: New file.
34472         * modules/unlockpt: New file.
34473         * lib/stdlib.in.h (unlockpt): New declaration.
34474         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
34475         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
34476         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
34477         HAVE_UNLOCKPT.
34478         * doc/posix-functions/unlockpt.texi: Mention the new module.
34479         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
34480         * config/srclist.txt: Add unlockpt.c (commented).
34481
34482 2010-03-21  Jim Meyering  <meyering@redhat.com>
34483
34484         maint.mk: prohibit inclusion of "intprops.h" without use
34485         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
34486
34487 2010-03-21  Bruno Haible  <bruno@clisp.org>
34488
34489         New module 'grantpt'.
34490         * lib/grantpt.c: New file, from glibc with modifications.
34491         * m4/grantpt.m4: New file.
34492         * modules/grantpt: New file.
34493         * lib/stdlib.in.h (grantpt): New declaration.
34494         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
34495         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
34496         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
34497         HAVE_GRANTPT.
34498         * doc/posix-functions/grantpt.texi: Mention the new module.
34499         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
34500         * config/srclist.txt: Add grantpt.c (commented).
34501
34502 2010-03-21  Bruno Haible  <bruno@clisp.org>
34503
34504         New module 'pt_chown'.
34505         * lib/pt_chown.c: New file, from glibc with modifications.
34506         * lib/pty-private.h: New file, from glibc with modifications.
34507         * modules/pt_chown: New file.
34508         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
34509
34510 2010-03-21  Bruno Haible  <bruno@clisp.org>
34511
34512         Tests for module 'ptsname'.
34513         * modules/ptsname-tests: New file.
34514         * tests/test-ptsname.c: New file.
34515
34516         New module 'ptsname'.
34517         * lib/ptsname.c: New file, from glibc with modifications.
34518         * m4/ptsname.m4: New file.
34519         * modules/ptsname: New file.
34520         * lib/stdlib.in.h (ptsname): New declaration.
34521         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
34522         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
34523         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
34524         HAVE_PTSNAME.
34525         * doc/posix-functions/ptsname.texi: Mention the new module.
34526         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
34527         * config/srclist.txt: Add ptsname.c (commented).
34528
34529 2010-03-21  Bruno Haible  <bruno@clisp.org>
34530
34531         Tests for module 'ttyname_r'.
34532         * modules/ttyname_r-tests: New file.
34533         * tests/test-ttyname_r.c: New file.
34534
34535         New module 'ttyname_r'.
34536         * lib/ttyname_r.c: New file.
34537         * m4/ttyname_r.m4: New file.
34538         * modules/ttyname_r: New file.
34539         * lib/unistd.in.h (ttyname_r): New declaration.
34540         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
34541         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
34542         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
34543         HAVE_TTYNAME_R.
34544         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
34545         * doc/posix-functions/ttyname_r.texi: Mention the new module.
34546
34547 2010-03-20  Bruno Haible  <bruno@clisp.org>
34548
34549         signal: Undefine macro definitions in C++ mode.
34550         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
34551         sigfillset): Undefine macro definitions from the system header in C++
34552         mode.
34553         Reported by John W. Eaton <jwe@gnu.org>.
34554
34555 2010-03-20  Bruno Haible  <bruno@clisp.org>
34556
34557         Ensure no #include statements inside extern "C" { ... }.
34558         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
34559         contain #include statements.
34560         * lib/time.in.h: Likewise.
34561
34562 2010-03-20  Bruno Haible  <bruno@clisp.org>
34563
34564         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
34565         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
34566         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
34567         Reported by John W. Eaton <jwe@gnu.org>.
34568
34569 2010-03-20  Bruno Haible  <bruno@clisp.org>
34570
34571         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
34572         Reported by Jim Meyering.
34573
34574 2010-03-20  Bruno Haible  <bruno@clisp.org>
34575
34576         pipe: Set errno upon failure.
34577         * lib/pipe.h: Specify that when -1 is returned, errno is set.
34578         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
34579         errno value in error message.
34580
34581 2010-03-20  Bruno Haible  <bruno@clisp.org>
34582             Jim Meyering  <meyering@redhat.com>
34583
34584         lchown: Avoid "unused variable" warning.
34585         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
34586
34587 2010-03-20  Bruno Haible  <bruno@clisp.org>
34588
34589         Work around unlink() bug on MacOS X 10.5.6.
34590         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
34591         attempting to unlink a parent directory.
34592         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
34593         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
34594         activate for the replacement function.
34595         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
34596
34597 2010-03-20  Bruno Haible  <bruno@clisp.org>
34598
34599         Fix link errors on Solaris 8.
34600         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
34601         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
34602
34603 2010-03-19  Jim Meyering  <meyering@redhat.com>
34604
34605         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
34606         The _LIBC implementation of build_range_exp correctly honors the
34607         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
34608         However, the non-_LIBC implementation would ignore that syntax-bit
34609         flag and return REG_ERANGE unconditionally.
34610         This change makes it honor that flag.
34611         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
34612         Make two pointer parameters "const".
34613         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
34614         (parse_bracket_exp): Update caller.
34615
34616         regex.m4: correct the reversed range endpoint ([b-a]) test
34617         * m4/regex.m4: When requiring that [b-a] evoke failure,
34618         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
34619         test pass once again for x86-based systems.
34620
34621 2010-03-19  Bruno Haible  <bruno@clisp.org>
34622
34623         scandir: Fix link error on Solaris 8.
34624         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
34625         macros.
34626
34627 2010-03-19  Bruno Haible  <bruno@clisp.org>
34628
34629         getusershell: Fix documentation.
34630         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
34631         module.
34632         * doc/glibc-functions/setusershell.texi: Likewise.
34633
34634         getusershell: Provide declaration, missing on Solaris 9.
34635         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
34636         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
34637         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
34638         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
34639         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34640         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
34641         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
34642         HAVE_GETUSERSHELL.
34643         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
34644
34645 2010-03-19  Bruno Haible  <bruno@clisp.org>
34646
34647         wctype: Provide iswblank function.
34648         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
34649         exists and is fine.
34650         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
34651         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
34652         * tests/test-wctype.c (main): Re-enable the iswblank tests.
34653         * doc/posix-functions/iswblank.texi: Update.
34654
34655 2010-03-19  Bruno Haible  <bruno@clisp.org>
34656
34657         Tests of module 'pty' in C++ mode.
34658         * modules/pty-tests: New file.
34659         * tests/test-pty-c++.cc: New file.
34660         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
34661
34662 2010-03-19  Eric Blake  <eblake@redhat.com>
34663
34664         logb: fix documentation
34665         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
34666         1.5 declaration bug.
34667
34668         forkpty, openpty: prefer glibc's const-safe prototype
34669         * lib/forkpty.c (rpl_forkpty): New file.
34670         * lib/openpty.c (rpl_openpty): Likewise.
34671         * modules/forkpty (Files): Distribute it.
34672         * modules/openpty (Files): Likewise.
34673         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
34674         check...
34675         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
34676         replacement for for non-const BSD signature.
34677         * modules/pty (Makefile.am): Substitute witnesses.
34678         * lib/pty.in.h (forkpty, openpty): Declare replacements.
34679         * tests/test-forkpty.c: Update signature check.
34680         * tests/test-openpty.c: Likewise.
34681         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
34682         * doc/glibc-functions/openpty.texi (openpty): Likewise.
34683
34684         forkpty, openpty: split functions into new modules
34685         * modules/pty (Makefile.am): Substitute new witnesses.
34686         (Libraries): Move library detection...
34687         * modules/forkpty: ...into new module.
34688         * modules/openpty: Another new module.
34689         * modules/pty-tests: Rename and split...
34690         * modules/forkpty-tests: ...to this...
34691         * modules/openpty-tests: ...and this.
34692         * tests/test-pty.c: Rename and split...
34693         * tests/test-forkpty.c: ...to this...
34694         * tests/test-openpty.c: ...and this.
34695         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
34696         (gl_PTY): Split library searching...
34697         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
34698         (gl_FORKPTY, gl_OPENPTY): New macros.
34699         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
34700         * NEWS: Mention the split.
34701         * MODULES.html.sh (Misc): Document the modules.
34702         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
34703         * doc/glibc-functions/openpty.texi (openpty): Likewise.
34704
34705         pty: improve replacement header
34706         * lib/pty.in.h: New file.
34707         * modules/pty (Files): Ship it.
34708         (Makefile.am): Always build replacement.
34709         * m4/pty.m4: Rename...
34710         * m4/pty_h.m4: ...to this.
34711         (gl_PTY): Modernize setting of witness macros; update check of
34712         forkpty to take proper advantage of cache.
34713         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
34714
34715         getopt: avoid compiler warning
34716         * lib/getopt.c (attribute_hidden): Remove unused macro.
34717
34718 2010-03-18  Bruno Haible  <bruno@clisp.org>
34719
34720         Fix link errors on Solaris 8.
34721         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
34722         * modules/search-tests (test_search_c___LDADD): Likewise.
34723         * modules/signal-tests (test_signal_c___LDADD): Likewise.
34724         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
34725         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
34726         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
34727         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
34728         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
34729         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
34730
34731 2010-03-18  Bruno Haible  <bruno@clisp.org>
34732
34733         Fix bug introduced on 2010-03-14.
34734         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
34735         (gl_SPAWN_H): Require it.
34736         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
34737         Reported by Simon Josefsson.
34738
34739 2010-03-18  Bruno Haible  <bruno@clisp.org>
34740
34741         Fix typo introduced on 2009-12-31.
34742         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
34743         posix_spawn_file_actions_adddup2.
34744
34745 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
34746         and Eric Blake  <eblake@redhat.com>
34747
34748         test-vc-list-files-git: make more robust
34749         * tests/test-vc-list-files-git.sh: Unset problematic environment
34750         variables.  Chain commands together.
34751
34752 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
34753
34754         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
34755         `AC_CHECK_DECL' invocation.
34756
34757 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
34758
34759         * lib/inttostr.c (inttostr): Make sure the invocation of verify
34760         appears before executable statements. Suggested by Petr Sumbera
34761         <Petr.Sumbera@Sun.COM>.
34762
34763 2010-03-14  Bruno Haible  <bruno@clisp.org>
34764
34765         * tests/test-flock.c (test_exclusive): Comment out a test that causes
34766         portability problems. Instead use a simpler test.
34767         (main): Check that invalid arguments are rejected only on Linux.
34768
34769 2010-03-14  Bruno Haible  <bruno@clisp.org>
34770
34771         Fix bug introduced on 2009-12-31.
34772         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
34773         gl_PREREQ_SYS_H_WINSOCK2 always.
34774         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
34775         SYS_SOCKET_H variable.
34776         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
34777         Update comments.
34778         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
34779         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
34780         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
34781         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
34782         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
34783
34784 2010-03-14  Bruno Haible  <bruno@clisp.org>
34785
34786         Fix values returned by sinl, cosl.
34787         * lib/trigl.h: Add specification comments.
34788         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
34789         that combines the values from the precomputed table with the values of
34790         the Chebyshev polynomials.
34791
34792 2010-03-14  Bruno Haible  <bruno@clisp.org>
34793
34794         Fix compilation error when modules 'posix_spawn[p]' are not used.
34795         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
34796         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
34797
34798 2010-03-14  Bruno Haible  <bruno@clisp.org>
34799
34800         Fix compilation error on mingw when module 'time_r' is not used.
34801         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
34802         is 1.
34803         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
34804         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
34805         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
34806         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
34807
34808 2010-03-14  Bruno Haible  <bruno@clisp.org>
34809
34810         Fix compilation error with Sun C.
34811         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
34812         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
34813         instead of GCC specific ULONG_LONG_MAX.
34814         * lib/xstrtoll.c: Likewise.
34815         * lib/xstrtoull.c: Likewise.
34816
34817 2010-03-13  Bruno Haible  <bruno@clisp.org>
34818
34819         Allow the user to disable C++ code and tests.
34820         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
34821         (gl_PROG_ANSI_CXX): Require it.
34822
34823 2010-03-13  Bruno Haible  <bruno@clisp.org>
34824
34825         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
34826         cases.
34827
34828 2010-03-13  Bruno Haible  <bruno@clisp.org>
34829
34830         Test that gnulib does not break the standard C++ headers.
34831         * tests/test-locale-c++2.cc: New file.
34832         * modules/locale-tests (Files): Add it.
34833         (Makefile.am): Compile it for test-locale-c++.
34834         * tests/test-math-c++2.cc: New file.
34835         * modules/math-tests (Files): Add it.
34836         (Makefile.am): Compile it for test-math-c++.
34837         * tests/test-signal-c++2.cc: New file.
34838         * modules/signal-tests (Files): Add it.
34839         (Makefile.am): Compile it for test-signal-c++.
34840         * tests/test-stdio-c++2.cc: New file.
34841         * modules/stdio-tests (Files): Add it.
34842         (Makefile.am): Compile it for test-stdio-c++.
34843         * tests/test-stdlib-c++2.cc: New file.
34844         * modules/stdlib-tests (Files): Add it.
34845         (Makefile.am): Compile it for test-stdlib-c++.
34846         * tests/test-string-c++2.cc: New file.
34847         * modules/string-tests (Files): Add it.
34848         (Makefile.am): Compile it for test-string-c++.
34849         * tests/test-time-c++2.cc: New file.
34850         * modules/time-tests (Files): Add it.
34851         (Makefile.am): Compile it for test-time-c++.
34852         Reported by John W. Eaton <jwe@gnu.org>.
34853
34854 2010-03-13  Bruno Haible  <bruno@clisp.org>
34855
34856         * gnulib-tool (func_usage): Clarify which options are available for
34857         --create-testdir and --create-megatestdir.
34858
34859 2010-03-13  Bruno Haible  <bruno@clisp.org>
34860
34861         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
34862         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
34863         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
34864         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
34865         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
34866         when appropriate.
34867         Reported by Jim Meyering.
34868
34869 2010-03-12  Simon Josefsson  <simon@josefsson.org>
34870
34871         * gnulib-tool (func_import): Explain origin of code.
34872
34873 2010-03-12  Bruno Haible  <bruno@clisp.org>
34874
34875         Fix problem with automake's definition of CXXLINK.
34876         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
34877         Reported by Simon Josefsson and Ludovic Courtès.
34878
34879 2010-03-12  Bruno Haible  <bruno@clisp.org>
34880
34881         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
34882         stable releases.
34883
34884 2010-03-11  Bruno Haible  <bruno@clisp.org>
34885
34886         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
34887         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
34888         whether the system provides one variant or multiple variants of the
34889         function.
34890         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
34891         C++ compilers.
34892         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
34893         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
34894         Reported by Jim Meyering.
34895
34896 2010-03-09  Simon Josefsson  <simon@josefsson.org>
34897
34898         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
34899
34900 2010-03-08  Bruno Haible  <bruno@clisp.org>
34901
34902         gnulib-tool: Add support for --libtool in --create-testdir.
34903         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
34904         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
34905
34906 2010-03-08  Eric Blake  <eblake@redhat.com>
34907
34908         gnulib-tool.texi: mention possibility of git submodule
34909         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
34910         submodules.
34911         * doc/.gitignore: Ignore another generated file.
34912
34913 2010-03-08  Karl Berry  <karl@gnu.org>
34914
34915         * doc/gnulib-tool.texi (VCS Issues): Mention third option
34916         of committing gnulib files while skipping others.
34917
34918 2010-03-07  Bruno Haible  <bruno@clisp.org>
34919
34920         Tests of module 'wctype' in C++ mode.
34921         * tests/test-wctype-c++.cc: New file.
34922         * modules/wctype-tests (Files): Add it and tests/signature.h.
34923         (Depends-on): Add ansi-c++-opt.
34924         (Makefile.am): Arrange to compile and run test-wctype-c++.
34925
34926         Tests of module 'wchar' in C++ mode.
34927         * tests/test-wchar-c++.cc: New file.
34928         * modules/wchar-tests (Files): Add it and tests/signature.h.
34929         (Depends-on): Add ansi-c++-opt.
34930         (Makefile.am): Arrange to compile and run test-wchar-c++.
34931         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
34932         gl_MODULE_INDICATOR.
34933
34934         Tests of module 'unistd' in C++ mode.
34935         * tests/test-unistd-c++.cc: New file.
34936         * modules/unistd-tests (Files): Add it and tests/signature.h.
34937         (Depends-on): Add ansi-c++-opt.
34938         (Makefile.am): Arrange to compile and run test-unistd-c++.
34939         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
34940         gl_MODULE_INDICATOR.
34941
34942         Tests of module 'time' in C++ mode.
34943         * tests/test-time-c++.cc: New file.
34944         * modules/time-tests (Files): Add it and tests/signature.h.
34945         (Depends-on): Add ansi-c++-opt.
34946         (Makefile.am): Arrange to compile and run test-time-c++.
34947         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
34948
34949         Tests of module 'sys_time' in C++ mode.
34950         * tests/test-sys_time-c++.cc: New file.
34951         * modules/sys_time-tests (Files): Add it and tests/signature.h.
34952         (Depends-on): Add ansi-c++-opt.
34953         (Makefile.am): Arrange to compile and run test-sys_time-c++.
34954         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
34955         gl_MODULE_INDICATOR.
34956
34957         Tests of module 'sys_stat' in C++ mode.
34958         * tests/test-sys_stat-c++.cc: New file.
34959         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
34960         (Depends-on): Add ansi-c++-opt.
34961         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
34962         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
34963         gl_MODULE_INDICATOR.
34964
34965         Tests of module 'sys_socket' in C++ mode.
34966         * tests/test-sys_socket-c++.cc: New file.
34967         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
34968         (Depends-on): Add ansi-c++-opt.
34969         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
34970         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
34971         gl_MODULE_INDICATOR.
34972
34973         Tests of module 'sys_select' in C++ mode.
34974         * tests/test-sys_select-c++.cc: New file.
34975         * modules/sys_select-tests (Files): Add it and tests/signature.h.
34976         (Depends-on): Add ansi-c++-opt.
34977         (Makefile.am): Arrange to compile and run test-sys_select-c++.
34978         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
34979         gl_MODULE_INDICATOR.
34980
34981         Tests of module 'sys_ioctl' in C++ mode.
34982         * tests/test-sys_ioctl-c++.cc: New file.
34983         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
34984         (Depends-on): Add ansi-c++-opt.
34985         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
34986         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
34987         gl_MODULE_INDICATOR.
34988
34989         Tests of module 'string' in C++ mode.
34990         * tests/test-string-c++.cc: New file.
34991         * modules/string-tests (Files): Add it and tests/signature.h.
34992         (Depends-on): Add ansi-c++-opt.
34993         (Makefile.am): Arrange to compile and run test-string-c++.
34994         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
34995         gl_MODULE_INDICATOR.
34996
34997         Tests of module 'stdlib' in C++ mode.
34998         * tests/test-stdlib-c++.cc: New file.
34999         * modules/stdlib-tests (Files): Add it and tests/signature.h.
35000         (Depends-on): Add ansi-c++-opt.
35001         (Makefile.am): Arrange to compile and run test-stdlib-c++.
35002         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
35003         gl_MODULE_INDICATOR.
35004
35005         Tests of module 'stdio' in C++ mode.
35006         * tests/test-stdio-c++.cc: New file.
35007         * modules/stdio-tests (Files): Add it and tests/signature.h.
35008         (Depends-on): Add ansi-c++-opt.
35009         (Makefile.am): Arrange to compile and run test-stdio-c++.
35010         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
35011         gl_MODULE_INDICATOR.
35012
35013         Tests of module 'spawn' in C++ mode.
35014         * tests/test-spawn-c++.cc: New file.
35015         * modules/spawn-tests (Files): Add it and tests/signature.h.
35016         (Depends-on): Add ansi-c++-opt.
35017         (Makefile.am): Arrange to compile and run test-spawn-c++.
35018         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
35019         gl_MODULE_INDICATOR.
35020
35021         Tests of module 'signal' in C++ mode.
35022         * tests/test-signal-c++.cc: New file.
35023         * modules/signal-tests (Files): Add it and tests/signature.h.
35024         (Depends-on): Add ansi-c++-opt.
35025         (Makefile.am): Arrange to compile and run test-signal-c++.
35026         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
35027         gl_MODULE_INDICATOR.
35028
35029         Tests of module 'search' in C++ mode.
35030         * tests/test-search-c++.cc: New file.
35031         * modules/search-tests (Files): Add it and tests/signature.h.
35032         (Depends-on): Add ansi-c++-opt.
35033         (Makefile.am): Arrange to compile and run test-search-c++.
35034         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
35035         gl_MODULE_INDICATOR.
35036
35037         Tests of module 'math' in C++ mode.
35038         * tests/test-math-c++.cc: New file.
35039         * modules/math-tests (Files): Add it and tests/signature.h.
35040         (Depends-on): Add ansi-c++-opt.
35041         (Makefile.am): Arrange to compile and run test-math-c++.
35042         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35043
35044         Tests of module 'locale' in C++ mode.
35045         * tests/test-locale-c++.cc: New file.
35046         * modules/locale-tests (Files): Add it and tests/signature.h.
35047         (Depends-on): Add ansi-c++-opt.
35048         (Makefile.am): Arrange to compile and run test-locale-c++.
35049         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
35050         gl_MODULE_INDICATOR.
35051
35052         Tests of module 'langinfo' in C++ mode.
35053         * tests/test-langinfo-c++.cc: New file.
35054         * modules/langinfo-tests (Files): Add it and tests/signature.h.
35055         (Depends-on): Add ansi-c++-opt.
35056         (Makefile.am): Arrange to compile and run test-langinfo-c++.
35057         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
35058         gl_MODULE_INDICATOR.
35059
35060         Tests of module 'iconv-h' in C++ mode.
35061         * tests/test-iconv-h-c++.cc: New file.
35062         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
35063         (Depends-on): Add ansi-c++-opt.
35064         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
35065
35066         Tests of module 'glob' in C++ mode.
35067         * tests/test-glob-c++.cc: New file.
35068         * modules/glob-tests (Files): Add it.
35069         (Depends-on): Add ansi-c++-opt.
35070         (Makefile.am): Arrange to compile and run test-glob-c++.
35071
35072         Tests of module 'fcntl-h' in C++ mode.
35073         * tests/test-fcntl-h-c++.cc: New file.
35074         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
35075         (Depends-on): Add ansi-c++-opt.
35076         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
35077         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
35078         gl_MODULE_INDICATOR.
35079
35080         Tests of module 'dirent' in C++ mode.
35081         * tests/test-dirent-c++.cc: New file.
35082         * modules/dirent-tests (Files): Add it and tests/signature.h.
35083         (Depends-on): Add ansi-c++-opt.
35084         (Makefile.am): Arrange to compile and run test-dirent-c++.
35085         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35086         gl_MODULE_INDICATOR.
35087
35088         New module 'ansi-c++-opt'.
35089         * modules/ansi-c++-opt: New file.
35090         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
35091
35092         Document C++ namespace mode.
35093         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
35094
35095         wctype: Avoid #define replacements in C++ mode.
35096         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
35097         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
35098         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
35099         In C++, define a namespaced alias symbol.
35100         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
35101         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
35102         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
35103         rule.
35104
35105         wchar: Avoid #define replacements in C++ mode.
35106         * lib/wchar.in.h: Include c++defs.h.
35107         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
35108         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
35109         symbol.
35110         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
35111         * modules/wchar (Depends-on): Add c++defs.
35112         (Makefile.am): Update wchar.h rule.
35113
35114         unistd: Avoid #define replacements in C++ mode.
35115         * lib/unistd.in.h: Include c++defs.h.
35116         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
35117         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
35118         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
35119         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
35120         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
35121         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
35122         symbol.
35123         (environ): Update.
35124         * modules/unistd (Depends-on): Add c++defs.
35125         (Makefile.am): Update unistd.h rule.
35126
35127         time: Avoid #define replacements in C++ mode.
35128         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
35129         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
35130         define a namespaced alias symbol.
35131         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
35132         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
35133         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
35134         * modules/time (Depends-on): Add c++defs, warn-on-use.
35135         (Makefile.am): Update time.h rule.
35136         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
35137         * modules/nanosleep (configure.ac): Likewise.
35138         * modules/strptime (configure.ac): Likewise.
35139         * modules/timegm (configure.ac): Likewise.
35140
35141         sys_time: Avoid #define replacements in C++ mode.
35142         * lib/sys_time.in.h: Include c++defs.h.
35143         (gettimeofday): In C++, define a namespaced alias symbol.
35144         * modules/sys_time (Depends-on): Add c++defs.
35145         (Makefile.am): Update sys/time.h rule.
35146
35147         sys_stat: Avoid #define replacements in C++ mode.
35148         * lib/sys_stat.in.h: Include c++defs.h.
35149         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
35150         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
35151         namespaced alias symbol.
35152         In C++, define a namespaced alias symbol.
35153         * modules/sys_stat (Depends-on): Add c++defs.
35154         (Makefile.am): Update sys/stat.h rule.
35155
35156         sys_socket: Avoid #define replacements in C++ mode.
35157         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
35158         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
35159         definitions also when the system has a <sys/socket.h>.
35160         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
35161         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
35162         In C++, define a namespaced alias symbol.
35163         * modules/sys_socket (Depends-on): Add c++defs.
35164         (Makefile.am): Update sys/socket.h rule.
35165
35166         sys_select: Avoid #define replacements in C++ mode.
35167         * lib/sys_select.in.h: Include c++defs.h. Enable the function
35168         definitions also when the system has a <sys/select.h>.
35169         (select): In C++, define a namespaced alias symbol.
35170         * modules/sys_select (Depends-on): Add c++defs.
35171         (Makefile.am): Update sys/select.h rule.
35172
35173         sys_ioctl: Avoid #define replacements in C++ mode.
35174         * lib/sys_ioctl.in.h: Include c++defs.h.
35175         (ioctl): In C++, define a namespaced alias symbol.
35176         * modules/sys_ioctl (Depends-on): Add c++defs.
35177         (Makefile.am): Update sys/ioctl.h rule.
35178
35179         string: Avoid #define replacements in C++ mode.
35180         * lib/string.in.h: Include c++defs.h.
35181         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
35182         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
35183         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
35184         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
35185         strsignal, strverscmp): In C++, define a namespaced alias symbol.
35186         * modules/string (Depends-on): Add c++defs.
35187         (Makefile.am): Update string.h rule.
35188
35189         stdlib: Avoid #define replacements in C++ mode.
35190         * lib/stdlib.in.h: Include c++defs.h.
35191         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
35192         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
35193         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
35194         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
35195         symbol.
35196         * modules/stdlib (Depends-on): Add c++defs.
35197         (Makefile.am): Update stdlib.h rule.
35198
35199         stdio: Avoid #define replacements in C++ mode.
35200         * lib/stdio.in.h: Include c++defs.h.
35201         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
35202         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
35203         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
35204         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
35205         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
35206         namespaced alias symbol.
35207         * modules/stdio (Depends-on): Add c++defs.
35208         (Makefile.am): Update stdio.h rule.
35209
35210         spawn: Avoid #define replacements in C++ mode.
35211         * lib/spawn.in.h: Include c++defs.h.
35212         (posix_spawn, posix_spawnp, posix_spawnattr_init,
35213         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
35214         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
35215         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
35216         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
35217         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
35218         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
35219         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
35220         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
35221         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
35222         In C++, define a namespaced alias symbol.
35223         * modules/spawn (Depends-on): Add c++defs.
35224         (Makefile.am): Update spawn.h rule.
35225
35226         signal: Avoid #define replacements in C++ mode.
35227         * lib/signal.in.h: Include c++defs.h.
35228         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
35229         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
35230         namespaced alias symbol.
35231         * modules/signal (Depends-on): Add c++defs.
35232         (Makefile.am): Update signal.h rule.
35233
35234         search: Avoid #define replacements in C++ mode.
35235         * lib/search.in.h: Include c++defs.h.
35236         (_gl_search_compar_fn, _gl_search_action_fn): New types.
35237         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
35238         symbol.
35239         * modules/search (Depends-on): Add c++defs.
35240         (Makefile.am): Update search.h rule.
35241
35242         math: Avoid #define replacements in C++ mode.
35243         * lib/math.in.h: Include c++defs.h.
35244         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
35245         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
35246         trunc, truncl): In C++, define a namespaced alias symbol.
35247         * modules/math (Depends-on): Add c++defs.
35248         (Makefile.am): Update math.h rule.
35249
35250         locale: Avoid #define replacements in C++ mode.
35251         * lib/locale.in.h: Include c++defs.h.
35252         (duplocale): In C++, define a namespaced alias symbol.
35253         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
35254         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
35255         * modules/locale (Depends-on): Add c++defs.
35256         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
35257
35258         langinfo: Avoid #define replacements in C++ mode.
35259         * lib/langinfo.in.h: Include c++defs.h.
35260         (nl_langinfo): In C++, define a namespaced alias symbol.
35261         * modules/langinfo (Depends-on): Add c++defs.
35262         (Makefile.am): Update langinfo.h rule.
35263
35264         iconv-h: Avoid #define replacements in C++ mode.
35265         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
35266         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
35267         symbol.
35268         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
35269         whenever iconv is present.
35270         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
35271         (Makefile.am): Update iconv.h rule.
35272
35273         glob: Avoid #define replacements in C++ mode.
35274         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
35275         (_gl_glob_errfunc_fn): New type.
35276         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
35277         symbol.
35278         * modules/glob (Depends-on): Add c++defs, warn-on-use.
35279         (Makefile.am): Update glob.h rule.
35280
35281         fcntl-h: Avoid #define replacements in C++ mode.
35282         * lib/fcntl.in.h: Include c++defs.h.
35283         (fcntl, open, openat): In C++, define a namespaced alias symbol.
35284         * modules/fcntl-h (Depends-on): Add c++defs.
35285         (Makefile.am): Update fcntl.h rule.
35286
35287         dirent: Avoid #define replacements in C++ mode.
35288         * lib/dirent.in.h: Include c++defs.h.
35289         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
35290         namespaced alias symbol.
35291         (dirfd): Update declaration.
35292         * modules/dirent (Depends-on): Add c++defs.
35293         (Makefile.am): Update dirent.h rule.
35294
35295         ctype: Make it usable in C++ code.
35296         * lib/ctype.in.h: Include c++defs.h.
35297         (isblank): Declare as extern "C".
35298         * modules/ctype (Depends-on): Add c++defs.
35299         (Makefile.am): Update ctype.h rule.
35300
35301         New module 'c++defs'.
35302         * modules/c++defs: New file.
35303         * build-aux/c++defs.h: New file.
35304         Reported by John W. Eaton <jwe@gnu.org>.
35305
35306 2010-03-07  Bruno Haible  <bruno@clisp.org>
35307
35308         logb: Provide missing declaration for Cygwin.
35309         * lib/math.in.h (logb): New declaration.
35310         * m4/logb.m4: New file.
35311         * modules/logb (Files): Add m4/logb.m4.
35312         (Depends-on): Add math.
35313         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
35314         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
35315         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
35316         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
35317         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
35318
35319 2010-03-07  Bruno Haible  <bruno@clisp.org>
35320
35321         Fix test-cond link error.
35322         * tests/test-cond.c: Include <stdio.h>.
35323
35324 2010-03-07  Bruno Haible  <bruno@clisp.org>
35325
35326         Fix test-dirent-safer link error.
35327         * modules/dirent-safer-tests (Makefile.am): Define
35328         test_dirent_safer_LDADD.
35329
35330 2010-03-07  Bruno Haible  <bruno@clisp.org>
35331
35332         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
35333         among default module list.
35334
35335 2010-03-07  Bruno Haible  <bruno@clisp.org>
35336
35337         Fix link error on platforms with GNU libiconv.
35338         * modules/unistr/u8-strcoll-tests (Makefile): Define
35339         test_u8_strcoll_LDADD.
35340         * modules/unistr/u16-strcoll-tests (Makefile): Define
35341         test_u16_strcoll_LDADD.
35342         * modules/unistr/u32-strcoll-tests (Makefile): Define
35343         test_u32_strcoll_LDADD.
35344
35345 2010-03-07  Bruno Haible  <bruno@clisp.org>
35346
35347         Use POSIX declarations for socket functions.
35348         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
35349         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
35350         rpl_sendto): Change declaration to match POSIX.
35351         * lib/connect.c (rpl_connect): Likewise.
35352         * lib/accept.c (rpl_accept): Likewise.
35353         * lib/bind.c (rpl_bind): Likewise.
35354         * lib/getpeername.c (rpl_getpeername): Likewise.
35355         * lib/getsockname.c (rpl_getsockname): Likewise.
35356         * lib/recv.c (rpl_recv): Likewise.
35357         * lib/send.c (rpl_send): Likewise.
35358         * lib/recvfrom.c (rpl_recvfrom): Likewise.
35359         * lib/sendto.c (rpl_sendto): Likewise.
35360
35361 2010-03-06  Bruno Haible  <bruno@clisp.org>
35362
35363         Clarify access, euidaccess, faccessat.
35364         * doc/posix-functions/faccessat.texi: Mention security problem under
35365         "Other problems", not "Portability problems".
35366         * doc/posix-functions/access.texi: Likewise. Mention a related security
35367         problem.
35368         * doc/glibc-functions/euidaccess.texi: Mention security problems.
35369         * lib/euidaccess.c: Add comments about platforms.
35370         * lib/unistd.in.h (access, euidaccess): Add warnings.
35371
35372 2010-03-07  Bruno Haible  <bruno@clisp.org>
35373
35374         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
35375         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
35376         (POSIX_SPAWN_SETSCHEDULER): Likewise.
35377         (POSIX_SPAWN_USEVFORK): Define in a way that works when
35378         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
35379         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
35380         declare when POSIX_SPAWN_SETSCHEDULER is zero.
35381         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
35382         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
35383         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
35384         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
35385         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
35386         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
35387         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
35388         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
35389         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
35390         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
35391         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
35392         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
35393         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
35394         Likewise.
35395         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
35396         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
35397         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
35398         Likewise.
35399         * tests/test-spawn.c (main): Make it work when
35400         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
35401
35402 2010-03-07  Bruno Haible  <bruno@clisp.org>
35403
35404         Fix incorrect Makefile.am generation in German locale.
35405         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35406         Execute sed command with character range in C locale.
35407
35408 2010-03-06  Bruno Haible  <bruno@clisp.org>
35409
35410         Tests for module 'iconv-h'.
35411         * modules/iconv-h-tests: New file.
35412         * tests/test-iconv-h.c: New file.
35413
35414         New module 'iconv-h'.
35415         * modules/iconv-h: New file.
35416         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
35417         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
35418         (configure.ac): Remove gl_ICONV_H.
35419         (Makefile.am): Remove rule for iconv.h.
35420
35421 2010-03-06  Bruno Haible  <bruno@clisp.org>
35422
35423         More consistent naming of *.m4 files.
35424         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
35425         * modules/wctype (Files): Update.
35426
35427         More consistent naming of *.m4 files.
35428         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
35429         * modules/wchar (Files): Update.
35430
35431 2010-03-06  Jim Meyering  <meyering@redhat.com>
35432
35433         euidaccess: relax license to LGPLv2+
35434         * modules/euidaccess (License): Relax to LGPLv2+.
35435
35436 2010-03-06  Bruno Haible  <bruno@clisp.org>
35437
35438         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
35439         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
35440         (Makefile.am): Augment lib_SOURCES instead.
35441
35442 2010-03-04  Jim Meyering  <meyering@redhat.com>
35443
35444         utime: remove obsolete module
35445         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
35446         unnecessary for years, and has been marked as obsolete for 10 months.
35447         * modules/utime: Remove file.
35448         * lib/utime.c: Remove file.
35449         * m4/utime.m4: Remove file.
35450         * m4/utimes-null.m4: Remove file.
35451         * doc/posix-functions/utime.texi (utime): Remove reference to
35452         the module.  Move the sole "fixed by gnulib" item into the
35453         "problems not fixed by Gnulib" list.
35454         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
35455
35456 2010-03-05  Simon Josefsson  <simon@josefsson.org>
35457
35458         * modules/exit (License): Relax license to LGPLv2+.
35459         (Status): Mark as obsolete.
35460         * NEWS: Mention deprecated 'exit' module.
35461         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
35462         of now obsolete 'exit'.
35463
35464 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35465
35466         fts-lgpl: remove unused module
35467         * modules/fts-lgpl: Remove.
35468         * MODULES.html.sh (func_all_modules): Adjust.
35469         * check-module (find_included_lib_files): Adjust.
35470         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
35471
35472 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
35473
35474         copy-acl: enhance Solaris ACL error handling
35475         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
35476         * lib/set-mode-acl.c (qset_acl): Likewise.
35477
35478 2010-03-02  Bruno Haible  <bruno@clisp.org>
35479
35480         spawn: Don't override the system defined values on FreeBSD 8.
35481         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
35482         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
35483         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
35484         if HAVE_POSIX_SPAWN is 1.
35485         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
35486
35487 2010-03-01  Bruno Haible  <bruno@clisp.org>
35488
35489         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
35490         regarding Automake.
35491
35492 2010-02-25  Bruno Haible  <bruno@clisp.org>
35493
35494         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
35495         * gnulib-tool: Define 'echo' as a function only before the ksh alias
35496         setting, not afterwards.
35497         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
35498
35499 2010-02-24  Eric Blake  <eblake@redhat.com>
35500
35501         bootstrap, git-version-gen: use timestamp
35502         * build-aux/git-version-gen (scriptversion): Force UTC.
35503         * build-aux/bootstrap (scriptversion): New variable.
35504
35505         bootstrap: allow older git
35506         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
35507         older than 1.6.4.  Requested by the libvirt project.
35508
35509 2010-02-23  Eric Blake  <eblake@redhat.com>
35510
35511         warn-on-use: work with old autoconf
35512         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
35513         AS_VAR semantics of autoconf 2.60.
35514         Reported by Bruno Haible.
35515
35516         bootstrap: improve some comments
35517         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
35518         clarification comments.
35519
35520         gettimeofday: provide correct function
35521         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
35522         when replacement is declared, otherwise provide gettimeofday.
35523         Reported by Michael Goffioul.
35524
35525 2010-02-23  Jim Meyering  <meyering@redhat.com>
35526
35527         lib-ignore: relax license to "unlimited", not LGPLv2+
35528         * modules/lib-ignore (License): Relax to "unlimited".
35529
35530 2010-02-23  Jim Meyering  <meyering@redhat.com>
35531
35532         lib-ignore: relax license to LGPLv2+
35533         * modules/lib-ignore (License): Relax to LGPLv2+.
35534
35535 2010-02-22  Eric Blake  <eblake@redhat.com>
35536
35537         lseek: avoid bash 3.2 broken pipe bug
35538         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
35539         warning from bash 3.2.
35540         Reported by Ben Pfaff, with analysis from Bruno Haible.
35541
35542         bootstrap: support non-FSF copyright holder
35543         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
35544         bootstrap.conf override of COPYRIGHT_HOLDER.
35545         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
35546
35547         bootstrap: interoperate with gettext 0.14.1
35548         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
35549
35550         bootstrap: allow for alternate submodule location
35551         * build-aux/bootstrap (gnulib_path): New variable; use instead of
35552         hardcoding submodule location.
35553         (gnulib_mk): Allow direct use of Makefile.am.
35554
35555         bootstrap: use GNULIB_SRCDIR to reduce disk usage
35556         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
35557         rather than reconfiguring where the submodule points.
35558
35559         gettimeofday: restore support for platforms that lack function
35560         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
35561         replacement if function is missing.
35562         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
35563         * modules/sys_time (Makefile.am): Substitute it.
35564         * lib/sys_time.in.h (gettimeofday): Check it.
35565         Reported by Michael Goffioul.
35566
35567 2010-02-21  Bruno Haible  <bruno@clisp.org>
35568
35569         * lib/stdio.in.h (obstack_printf): Fix typo.
35570
35571 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
35572
35573         vc-list-files: use bzr ls's -R option
35574         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
35575         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
35576
35577 2010-02-21  Jim Meyering  <meyering@redhat.com>
35578
35579         init.sh: fix EXEEXT shims to work also for names like test-prog
35580         * tests/init.sh: Re-exec a better shell, when needed.
35581         If the current shell lacks support for posix $(...), an init.sh-using
35582         test will now try to find a shell that supports that.  If EXEEXT is
35583         nonempty, we also require support for hyphen-in-alias-name and shell
35584         substitutions like ${var#glob}.  Failure to find such a shell results
35585         in a skipped test.
35586
35587 2010-02-21  Bruno Haible  <bruno@clisp.org>
35588
35589         Really work around around "broken pipe" error message from bash 3.2.
35590         * gnulib-tool (func_reset_sigpipe): Remove function.
35591         (echo): In bash 3.2, define to a function that uses printf.
35592         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
35593
35594 2010-02-20  Bruno Haible  <bruno@clisp.org>
35595
35596         Restore support for automake 1.9.6 with autoconf 2.61.
35597         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
35598         Reported by James Youngman <jay@gnu.org>.
35599
35600 2010-02-20  Bruno Haible  <bruno@clisp.org>
35601
35602         Improve *printf warning condition.
35603         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
35604         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
35605         and the function is overridden due to SIGPIPE emulation.
35606
35607 2010-02-20  Bruno Haible  <bruno@clisp.org>
35608
35609         * lib/stdio.in.h: Tweak comments.
35610
35611 2010-02-19  Bruno Haible  <bruno@clisp.org>
35612
35613         Make it easier to find modules. New gnulib-tool option '--find'.
35614         * gnulib-tool: New option --find.
35615         (func_usage): Document it.
35616         (func_sanitize_modulelist): New function, extracted from
35617         func_all_modules.
35618         (func_all_modules): Invoke it.
35619         * doc/gnulib-tool.texi (Which modules?): New node.
35620
35621 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
35622
35623         * lib/sys_select.in.h: Provide select replacement even if
35624         sys/select.h exists on a system, for Interix.
35625
35626 2010-02-18  Jim Meyering  <meyering@redhat.com>
35627
35628         init.sh: don't use $(...) just yet
35629         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
35630         to accommodate e.g., Solaris' /bin/sh.
35631
35632 2010-02-17  Bruno Haible  <bruno@clisp.org>
35633
35634         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
35635         Reported by Ludovic Courtès <ludo@gnu.org>.
35636
35637 2010-02-16  Simon Josefsson  <simon@josefsson.org>
35638
35639         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
35640         linking with -lintl.
35641
35642 2010-02-17  Simon Josefsson  <simon@josefsson.org>
35643
35644         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
35645         if not provided by the system's netdb.h.  Reported by
35646         ludo@gnu.org (Ludovic Courtès).
35647
35648 2010-02-15  Jim Meyering  <meyering@redhat.com>
35649
35650         init.sh: improve portability and efficiency
35651         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
35652         "dummy" in a for loop.
35653         Use '!', not '^' to select the complement of a character set used
35654         in a "case" statement.
35655         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
35656         Suggestions from Eric Blake.
35657
35658         init.sh: automatically accommodate programs with the .exe suffix
35659         Automatically arrange for an invocation of "prog" to execute the
35660         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
35661         may use the simpler "prog", yet still work when built on a system
35662         that requires specifying the added suffix.
35663         Do this by constructing a function named "prog" that invokes
35664         "prog.exe" for each .exe file in selected directories.
35665         * tests/init.sh (find_exe_basenames_): New function.
35666         (create_exe_shim_functions_): New function.
35667         (path_prepend_): Use it.
35668
35669         maint.mk: mark syntax-check sc_*.m rules as .PHONY
35670         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
35671         "make -t syntax-check" doesn't create a ton of sc_*.m files.
35672
35673 2010-02-14  Jim Meyering  <meyering@redhat.com>
35674
35675         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
35676         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
35677         (sc_prohibit_hash_pjw_without_use): New rule.
35678
35679         maint.mk: allow the default upload destination dir to be overridden
35680         * top/maint.mk (upload_dest_dir_): Define with a default that
35681         preserves the status quo.
35682         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
35683         Reported by Peter Simons.
35684
35685         maint.mk: prohibit inclusion of "hash.h" without_use
35686         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
35687
35688 2010-02-10  Jim Meyering  <meyering@redhat.com>
35689
35690         maint.mk: prohibit inclusion of "ignore-value.h" without_use
35691         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
35692
35693 2010-02-09  Eric Blake  <ebb9@byu.net>
35694         and Bruno Haible  <bruno@clisp.org>
35695
35696         obstack-printf-posix: ensure declaration
35697         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
35698         extracted from gl_FUNC_OBSTACK_PRINTF.
35699         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
35700         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
35701         Likewise.
35702         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
35703         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
35704         0.
35705
35706 2010-02-08  Bruno Haible  <bruno@clisp.org>
35707
35708         gnulib-tool: Fix typo in 2010-02-07 commit.
35709         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
35710         Reported by Eric Blake.
35711
35712 2010-02-07  Bruno Haible  <bruno@clisp.org>
35713
35714         gnulib-tool: Fix up caching patches.
35715         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
35716         option --no-cache. Use associative arrays when supported by the shell.
35717         (sed_comments): New variable.
35718         (modcache): Renamed from do_cache.
35719         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
35720         abbreviate unnecessarily.
35721         (have_associative): New variable.
35722         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
35723         way also for ksh and zsh.
35724         (func_init_sed_convert_to_cache_statements): New function, extracted
35725         from func_cache_lookup_module. Add support for associative arrays.
35726         Don't set the c_MODULE_cached variable here. Ignore all lines before
35727         the first field header. Remove only the final newline, not all trailing
35728         newlines. Support empty fields correctly. Limit the use of 'eval' to
35729         assignments.
35730         (func_get_description, func_get_status, func_get_notice,
35731         func_get_applicability, func_get_filelist, func_get_dependencies,
35732         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
35733         func_get_automake_snippet, func_get_include_directive,
35734         func_get_link_directive, func_get_license, func_get_maintainer):
35735         Update documentation. List the unoptimized code first. Add support for
35736         associative arrays. Limit the use of 'eval' to assignments.
35737         (func_get_applicability): Undo stylistic pessimisations.
35738         (func_get_automake_snippet, func_get_include_directive): Reduce code
35739         duplication.
35740         (func_modules_transitive_closure, func_modules_add_dummy,
35741         func_modules_notice, func_modules_to_filelist, func_add_file,
35742         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
35743         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
35744         func_create_testdir, func_create_megatestdir): Update documentation.
35745
35746 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35747
35748         * gnulib-tool (func_cache_lookup_module): Store the module name
35749         belonging to the cache variable; error out if two different
35750         module names map to the same cache variable name.
35751
35752 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35753
35754         gnulib-tool: Make caching optional.
35755         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
35756         Update matching short versions of --no-changelog.
35757         (func_usage): Update.
35758         (sed_extract_cache_prog): Renamed from ...
35759         (sed_extract_prog): ... this; revert to old extraction script.
35760         (func_get_description, func_get_status)
35761         (func_get_notice, func_get_applicability, func_get_filelist)
35762         (func_get_dependencies, func_get_autoconf_early_snippet)
35763         (func_get_autoconf_snippet, func_get_automake_snippet)
35764         (func_get_include_directive, func_get_link_directive)
35765         (func_get_license, func_get_maintainer): If $do_cache is false,
35766         use old, non-caching extraction scripts.
35767         Suggestion by Bruno Haible.
35768
35769 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35770
35771         gnulib-tool: cache module metainformation.
35772         * gnulib-tool (sed_extract_prog): Match newline before each
35773         header, and rewrite header to a shell variable suffix.
35774         (func_cache_var, func_cache_lookup_module): New functions,
35775         to turn a module name into a cache variable prefix, and to
35776         look up and cache module metainformation.
35777         (func_get_description, func_get_status)
35778         (func_get_notice, func_get_applicability, func_get_filelist)
35779         (func_get_dependencies, func_get_autoconf_early_snippet)
35780         (func_get_autoconf_snippet, func_get_automake_snippet)
35781         (func_get_include_directive, func_get_link_directive)
35782         (func_get_license, func_get_maintainer): Use
35783         func_cache_lookup_module.
35784
35785 2010-02-07  Bruno Haible  <bruno@clisp.org>
35786
35787         fnctl: Fix missing dependency.
35788         * modules/fcntl (Depends-on): Add getdtablesize.
35789         Reported by John W. Eaton <jwe@gnu.org>.
35790
35791 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
35792
35793         Argp: fix recognition of short alias options.
35794
35795         * lib/argp-parse.c (convert_options): Fix improper use of
35796         `|' between character values.
35797         * tests/test-argp.c (group1_option): New alias option
35798         --read (-r).
35799         (group1_parser): Special handling for 'r'.
35800         (test15): New test case.
35801         (test_fun): Add test15.
35802         * tests/test-argp-2.sh: Update expected --help and --usage
35803         outputs.
35804
35805 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
35806
35807         * tests/test-argp.c: Fix indentation.
35808
35809 2010-02-04  Eric Blake  <ebb9@byu.net>
35810
35811         gettimeofday: expose type of second argument
35812         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
35813         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
35814         * tests/test-gettimeofday.c: Use it to silence warning.
35815         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
35816         the issue.
35817
35818 2010-02-03  Jim Meyering  <meyering@redhat.com>
35819
35820         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
35821         * lib/regcomp.c (TYPE_SIGNED): Define.
35822         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
35823
35824         regcomp.c: avoid a new -Wshadow warning
35825         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
35826
35827 2010-02-01  Jim Meyering  <meyering@redhat.com>
35828
35829         removing useless parentheses in cpp #define directives
35830         For motivation, see commit c0221df4, "define STREQ(a,b)
35831         consistently, removing useless parentheses"
35832         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
35833         * lib/mountlist.c (MNT_IGNORE): Likewise.
35834         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
35835
35836 2010-02-01  Eric Blake  <ebb9@byu.net>
35837
35838         sys_time: use link-warning
35839         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
35840         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
35841         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
35842         * modules/sys_time (Depends-on): Add warn-on-use.
35843         (Makefile.am): Always build replacement.
35844         (configure.ac): Update substitutions.
35845         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
35846         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
35847         bother with SYS_TIME_H.
35848         * modules/gettimeofday (configure.ac): Declare indicator.
35849         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
35850         in use.
35851
35852         closein-tests: silence compiler warning
35853         * tests/test-closein.c (main): Ignore fread result.
35854         * modules/closein-tests (Depends-on): Add ignore-value.
35855
35856         tests: silence warning about system return
35857         * tests/test-areadlink-with-size.c (main): Ignore system result.
35858         * tests/test-areadlink.c (main): Likewise.
35859         * tests/test-areadlinkat-with-size.c (main): Likewise.
35860         * tests/test-areadlinkat.c (main): Likewise.
35861         * tests/test-canonicalize-lgpl.c (main): Likewise.
35862         * tests/test-canonicalize.c (main): Likewise.
35863         * tests/test-chown.c (main): Likewise.
35864         * tests/test-fchownat.c (main): Likewise.
35865         * tests/test-fdutimensat.c (main): Likewise.
35866         * tests/test-fstatat.c (main): Likewise.
35867         * tests/test-futimens.c (main): Likewise.
35868         * tests/test-lchown.c (main): Likewise.
35869         * tests/test-link.c (main): Likewise.
35870         * tests/test-linkat.c (main): Likewise.
35871         * tests/test-lstat.c (main): Likewise.
35872         * tests/test-mkdir.c (main): Likewise.
35873         * tests/test-mkdirat.c (main): Likewise.
35874         * tests/test-mkfifo.c (main): Likewise.
35875         * tests/test-mkfifoat.c (main): Likewise.
35876         * tests/test-mknod.c (main): Likewise.
35877         * tests/test-readlink.c (main): Likewise.
35878         * tests/test-remove.c (main): Likewise.
35879         * tests/test-rename.c (main): Likewise.
35880         * tests/test-renameat.c (main): Likewise.
35881         * tests/test-rmdir.c (main): Likewise.
35882         * tests/test-symlink.c (main): Likewise.
35883         * tests/test-symlinkat.c (main): Likewise.
35884         * tests/test-unlink.c (main): Likewise.
35885         * tests/test-unlinkat.c (main): Likewise.
35886         * tests/test-utimens.c (main): Likewise.
35887         * tests/test-utimensat.c (main): Likewise.
35888         * modules/areadlink-tests (Depends-on): Add ignore-value.
35889         * modules/areadlink-with-size-tests (Depends-on): Likewise.
35890         * modules/areadlinkat-tests (Depends-on): Likewise.
35891         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
35892         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
35893         * modules/canonicalize-tests (Depends-on): Likewise.
35894         * modules/chown-tests (Depends-on): Likewise.
35895         * modules/fdutimensat-tests (Depends-on): Likewise.
35896         * modules/futimens-tests (Depends-on): Likewise.
35897         * modules/lchown-tests (Depends-on): Likewise.
35898         * modules/link-tests (Depends-on): Likewise.
35899         * modules/linkat-tests (Depends-on): Likewise.
35900         * modules/lstat-tests (Depends-on): Likewise.
35901         * modules/mkdir-tests (Depends-on): Likewise.
35902         * modules/mkfifo-tests (Depends-on): Likewise.
35903         * modules/mkfifoat-tests (Depends-on): Likewise.
35904         * modules/mknod-tests (Depends-on): Likewise.
35905         * modules/openat-tests (Depends-on): Likewise.
35906         * modules/readlink-tests (Depends-on): Likewise.
35907         * modules/remove-tests (Depends-on): Likewise.
35908         * modules/rename-tests (Depends-on): Likewise.
35909         * modules/renameat-tests (Depends-on): Likewise.
35910         * modules/rmdir-tests (Depends-on): Likewise.
35911         * modules/symlink-tests (Depends-on): Likewise.
35912         * modules/symlinkat-tests (Depends-on): Likewise.
35913         * modules/unlink-tests (Depends-on): Likewise.
35914         * modules/utimens-tests (Depends-on): Likewise.
35915         * modules/utimensat-tests (Depends-on): Likewise.
35916
35917 2010-01-31  Bruno Haible  <bruno@clisp.org>
35918
35919         Perform the same test for many <math.h> functions.
35920         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
35921         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
35922         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
35923         of gl_MATHFUNC.
35924         * modules/acos (configure.ac): Likewise.
35925         * modules/asin (configure.ac): Likewise.
35926         * modules/atan (configure.ac): Likewise.
35927         * modules/atan2 (configure.ac): Likewise.
35928         * modules/cbrt (configure.ac): Likewise.
35929         * modules/copysign (configure.ac): Likewise.
35930         * modules/cos (configure.ac): Likewise.
35931         * modules/cosh (configure.ac): Likewise.
35932         * modules/erf (configure.ac): Likewise.
35933         * modules/erfc (configure.ac): Likewise.
35934         * modules/exp (configure.ac): Likewise.
35935         * modules/fmod (configure.ac): Likewise.
35936         * modules/hypot (configure.ac): Likewise.
35937         * modules/j0 (configure.ac): Likewise.
35938         * modules/j1 (configure.ac): Likewise.
35939         * modules/jn (configure.ac): Likewise.
35940         * modules/lgamma (configure.ac): Likewise.
35941         * modules/log (configure.ac): Likewise.
35942         * modules/log10 (configure.ac): Likewise.
35943         * modules/log1p (configure.ac): Likewise.
35944         * modules/pow (configure.ac): Likewise.
35945         * modules/remainder (configure.ac): Likewise.
35946         * modules/sin (configure.ac): Likewise.
35947         * modules/sinh (configure.ac): Likewise.
35948         * modules/tan (configure.ac): Likewise.
35949         * modules/tanh (configure.ac): Likewise.
35950         * modules/y0 (configure.ac): Likewise.
35951         * modules/y1 (configure.ac): Likewise.
35952         * modules/yn (configure.ac): Likewise.
35953         Suggested by Paolo Bonzini.
35954
35955 2010-01-31  Bruno Haible  <bruno@clisp.org>
35956
35957         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
35958
35959 2010-01-31  Bruno Haible  <bruno@clisp.org>
35960
35961         Work around getdelim() bug on FreeBSD 8.0.
35962         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
35963         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
35964         not work.
35965         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
35966         is 1.
35967         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
35968         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
35969         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
35970         a non-zero size.
35971         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
35972
35973 2010-01-31  Bruno Haible  <bruno@clisp.org>
35974
35975         Work around getline() bug on FreeBSD 8.0.
35976         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
35977         and a non-zero size.
35978         * tests/test-getline.c (main): Likewise.
35979         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
35980         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
35981
35982 2010-01-28  Eric Blake  <ebb9@byu.net>
35983
35984         regex: fix build failure
35985         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
35986         platforms.
35987
35988 2010-01-28  Jim Meyering  <meyering@redhat.com>
35989
35990         regex: do not ignore memory allocation failure
35991         * lib/regex_internal.c (create_cd_newstate): Detect
35992         re_node_set_init_copy failure.   Extracted from glibc commit
35993         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
35994
35995         regex: sync more white-space changes from libc
35996         * lib/regex_internal.c: White-space only changes.
35997         * lib/regexec.c: Likewise.
35998
35999         regex: add many uses of __attribute_warn_unused_result__
36000         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
36001         * lib/regexec.c: Likewise.
36002         Extracted from a messy glibc commit.
36003
36004         regcomp.c: spelling and merge-artifact from glibc
36005         * lib/regcomp.c: Merge remainder of glibc's
36006         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36007
36008         regcomp.c: sync white-space changes from glibc
36009         * lib/regcomp.c: Merge to accommodate white space
36010         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36011
36012         regcomp.c: do not ignore internal return values
36013         * lib/regcomp.c: Do not ignore internal return values.
36014         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
36015         but without its white-space changes and spelling fixes.
36016
36017         regex_internal.h: define __attribute_warn_unused_result__
36018         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
36019
36020         maint: add a syntax-check rule to check for vulnerable Makefile.in
36021         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
36022
36023 2010-01-27  Jim Meyering  <meyering@redhat.com>
36024
36025         ncftpput-ftp: clean up spaces
36026         * build-aux/ncftpput-ftp: Make Copyright line consistent.
36027         Remove trailing blanks.
36028
36029 2010-01-27  Simon Josefsson  <simon@josefsson.org>
36030
36031         * build-aux/git-version-gen: Fix copyright statement.
36032         * build-aux/gnupload: Likewise.
36033         * tests/test-arcfour.c: Likewise.
36034         * tests/test-arctwo.c: Likewise.
36035         * tests/test-count-one-bits.c: Likewise.
36036         * tests/test-crc.c: Likewise.
36037         * tests/test-des.c: Likewise.
36038         * tests/test-gc-arcfour.c: Likewise.
36039         * tests/test-gc-arctwo.c: Likewise.
36040         * tests/test-gc-des.c: Likewise.
36041         * tests/test-gc-hmac-md5.c: Likewise.
36042         * tests/test-gc-hmac-sha1.c: Likewise.
36043         * tests/test-gc-md2.c: Likewise.
36044         * tests/test-gc-md4.c: Likewise.
36045         * tests/test-gc-md5.c: Likewise.
36046         * tests/test-gc-pbkdf2-sha1.c: Likewise.
36047         * tests/test-gc-rijndael.c: Likewise.
36048         * tests/test-gc-sha1.c: Likewise.
36049         * tests/test-gc.c: Likewise.
36050         * tests/test-gethostname.c: Likewise.
36051         * tests/test-gettimeofday.c: Likewise.
36052         * tests/test-hash.c: Likewise.
36053         * tests/test-hmac-md5.c: Likewise.
36054         * tests/test-hmac-sha1.c: Likewise.
36055         * tests/test-md2.c: Likewise.
36056         * tests/test-md4.c: Likewise.
36057         * tests/test-md5.c: Likewise.
36058         * tests/test-memchr.c: Likewise.
36059         * tests/test-memchr2.c: Likewise.
36060         * tests/test-memcmp.c: Likewise.
36061         * tests/test-memmem.c: Likewise.
36062         * tests/test-memrchr.c: Likewise.
36063         * tests/test-rawmemchr.c: Likewise.
36064         * tests/test-read-file.c: Likewise.
36065         * tests/test-rijndael.c: Likewise.
36066         * tests/test-sockets.c: Likewise.
36067         * tests/test-strchrnul.c: Likewise.
36068         * tests/test-strstr.c: Likewise.
36069         * tests/test-strtod.c: Likewise.
36070         * build-aux/ncftpput-ftp: Likewise.
36071
36072 2010-01-26  Eric Blake  <ebb9@byu.net>
36073
36074         ignore-value: update recommended header name
36075         * modules/ignore-value (Include): Only use <> for headers that
36076         exist in glibc.
36077
36078 2010-01-26  Jim Meyering  <meyering@redhat.com>
36079
36080         test-userspec.c: avoid compiler warnings
36081         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
36082         and "initialization discards qualifiers..." warnings.
36083         Put the first "uid" in its own scope, and make char* members "const".
36084
36085 2010-01-25  Bruno Haible  <bruno@clisp.org>
36086
36087         gnulib-tool: Make warning diagnostics consistent.
36088         * gnulib-tool (func_warning): New function.
36089         Use it everywhere where gnulib-tool produces output to stderr and it is
36090         not a fatal error.
36091
36092 2010-01-25  Bruno Haible  <bruno@clisp.org>
36093
36094         Fix test dependencies.
36095         * modules/xstrtol-tests (Depends-on): Add inttypes.
36096         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
36097
36098 2010-01-25 Pádraig Brady <P@draigBrady.com>
36099
36100         syntax-check: detect incorrect boolean macro values in config.h
36101         * modules/maintainer-makefile (configure.ac): Parameterize the location
36102         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
36103         The logic is from Eric Blake and the location indicated by Jim Meyering.
36104         Note the more natural CONFIG_HEADER name is prohibited by automake
36105         for backwards compatibility reasons.
36106         * top/maint.mk (sc_Wundef_boolean): New rule.
36107
36108 2010-01-25  Jim Meyering  <meyering@redhat.com>
36109
36110         bootstrap: detect MacOS 10.6's shasum, too
36111         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
36112         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
36113
36114 2010-01-23  Jim Meyering  <meyering@redhat.com>
36115
36116         xstrtoll: new module
36117         * modules/xstrtoll: New file.
36118         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
36119         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
36120         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
36121         ./configure fails if you use this module and lack "long long".
36122         * modules/xstrtoll-tests: New module.
36123         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
36124         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
36125         new init.sh-based test framework.
36126
36127 2010-01-24  Bruno Haible  <bruno@clisp.org>
36128
36129         Tests for module 'yn'.
36130         * modules/yn-tests: New file.
36131         * tests/test-yn.c: New file.
36132
36133         Tests for module 'y1'.
36134         * modules/y1-tests: New file.
36135         * tests/test-y1.c: New file.
36136
36137         Tests for module 'y0'.
36138         * modules/y0-tests: New file.
36139         * tests/test-y0.c: New file.
36140
36141         Tests for module 'tanh'.
36142         * modules/tanh-tests: New file.
36143         * tests/test-tanh.c: New file.
36144
36145         Tests for module 'tan'.
36146         * modules/tan-tests: New file.
36147         * tests/test-tan.c: New file.
36148
36149         Tests for module 'sqrt'.
36150         * modules/sqrt-tests: New file.
36151         * tests/test-sqrt.c: New file.
36152
36153         Tests for module 'sinh'.
36154         * modules/sinh-tests: New file.
36155         * tests/test-sinh.c: New file.
36156
36157         Tests for module 'sin'.
36158         * modules/sin-tests: New file.
36159         * tests/test-sin.c: New file.
36160
36161         Tests for module 'rint'.
36162         * modules/rint-tests: New file.
36163         * tests/test-rint.c: New file.
36164
36165         Tests for module 'remainder'.
36166         * modules/remainder-tests: New file.
36167         * tests/test-remainder.c: New file.
36168
36169         Tests for module 'pow'.
36170         * modules/pow-tests: New file.
36171         * tests/test-pow.c: New file.
36172
36173         Tests for module 'nextafter'.
36174         * modules/nextafter-tests: New file.
36175         * tests/test-nextafter.c: New file.
36176
36177         Tests for module 'modf'.
36178         * modules/modf-tests: New file.
36179         * tests/test-modf.c: New file.
36180
36181         Tests for module 'logb'.
36182         * modules/logb-tests: New file.
36183         * tests/test-logb.c: New file.
36184
36185         Tests for module 'log1p'.
36186         * modules/log1p-tests: New file.
36187         * tests/test-log1p.c: New file.
36188
36189         Tests for module 'log10'.
36190         * modules/log10-tests: New file.
36191         * tests/test-log10.c: New file.
36192
36193         Tests for module 'log'.
36194         * modules/log-tests: New file.
36195         * tests/test-log.c: New file.
36196
36197         Tests for module 'lgamma'.
36198         * modules/lgamma-tests: New file.
36199         * tests/test-lgamma.c: New file.
36200
36201         Tests for module 'ldexp'.
36202         * modules/ldexp-tests: New file.
36203         * tests/test-ldexp.c: New file.
36204
36205         Tests for module 'jn'.
36206         * modules/jn-tests: New file.
36207         * tests/test-jn.c: New file.
36208
36209         Tests for module 'j1'.
36210         * modules/j1-tests: New file.
36211         * tests/test-j1.c: New file.
36212
36213         Tests for module 'j0'.
36214         * modules/j0-tests: New file.
36215         * tests/test-j0.c: New file.
36216
36217         Tests for module 'hypot'.
36218         * modules/hypot-tests: New file.
36219         * tests/test-hypot.c: New file.
36220
36221         Tests for module 'fmod'.
36222         * modules/fmod-tests: New file.
36223         * tests/test-fmod.c: New file.
36224
36225         Tests for module 'fabs'.
36226         * modules/fabs-tests: New file.
36227         * tests/test-fabs.c: New file.
36228
36229         Tests for module 'exp'.
36230         * modules/exp-tests: New file.
36231         * tests/test-exp.c: New file.
36232
36233         Tests for module 'erfc'.
36234         * modules/erfc-tests: New file.
36235         * tests/test-erfc.c: New file.
36236
36237         Tests for module 'erf'.
36238         * modules/erf-tests: New file.
36239         * tests/test-erf.c: New file.
36240
36241         Tests for module 'cosh'.
36242         * modules/cosh-tests: New file.
36243         * tests/test-cosh.c: New file.
36244
36245         Tests for module 'cos'.
36246         * modules/cos-tests: New file.
36247         * tests/test-cos.c: New file.
36248
36249         Tests for module 'copysign'.
36250         * modules/copysign-tests: New file.
36251         * tests/test-copysign.c: New file.
36252
36253         Tests for module 'cbrt'.
36254         * modules/cbrt-tests: New file.
36255         * tests/test-cbrt.c: New file.
36256
36257         Tests for module 'atan2'.
36258         * modules/atan2-tests: New file.
36259         * tests/test-atan2.c: New file.
36260
36261         Tests for module 'atan'.
36262         * modules/atan-tests: New file.
36263         * tests/test-atan.c: New file.
36264
36265         Tests for module 'asin'.
36266         * modules/asin-tests: New file.
36267         * tests/test-asin.c: New file.
36268
36269         Tests for module 'acos'.
36270         * modules/acos-tests: New file.
36271         * tests/test-acos.c: New file.
36272
36273 2010-01-24  Bruno Haible  <bruno@clisp.org>
36274
36275         Fix tests for common <math.h> functions.
36276         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
36277         code snippet that references the function pointer, rather than merely
36278         calling the function. Substitute the FUNC_LIBM variable.
36279         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
36280         * modules/acos (configure.ac): Likewise.
36281         * modules/asin (configure.ac): Likewise.
36282         * modules/atan (configure.ac): Likewise.
36283         * modules/atan2 (configure.ac): Likewise.
36284         * modules/cbrt (configure.ac): Likewise.
36285         * modules/copysign (configure.ac): Likewise.
36286         * modules/cos (configure.ac): Likewise.
36287         * modules/cosh (configure.ac): Likewise.
36288         * modules/erf (configure.ac): Likewise.
36289         * modules/erfc (configure.ac): Likewise.
36290         * modules/exp (configure.ac): Likewise.
36291         * modules/fabs (configure.ac): Likewise.
36292         * modules/fmod (configure.ac): Likewise.
36293         * modules/hypot (configure.ac): Likewise.
36294         * modules/j0 (configure.ac): Likewise.
36295         * modules/j1 (configure.ac): Likewise.
36296         * modules/jn (configure.ac): Likewise.
36297         * modules/ldexp (configure.ac): Likewise.
36298         * modules/lgamma (configure.ac): Likewise.
36299         * modules/log (configure.ac): Likewise.
36300         * modules/log10 (configure.ac): Likewise.
36301         * modules/log1p (configure.ac): Likewise.
36302         * modules/logb (configure.ac): Likewise.
36303         * modules/modf (configure.ac): Likewise.
36304         * modules/nextafter (configure.ac): Likewise.
36305         * modules/pow (configure.ac): Likewise.
36306         * modules/remainder (configure.ac): Likewise.
36307         * modules/rint (configure.ac): Likewise.
36308         * modules/sin (configure.ac): Likewise.
36309         * modules/sinh (configure.ac): Likewise.
36310         * modules/tan (configure.ac): Likewise.
36311         * modules/tanh (configure.ac): Likewise.
36312         * modules/y0 (configure.ac): Likewise.
36313         * modules/y1 (configure.ac): Likewise.
36314         * modules/yn (configure.ac): Likewise.
36315
36316 2010-01-24  Bruno Haible  <bruno@clisp.org>
36317
36318         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
36319         * tests/test-acosl.c (x): New variable.
36320         (main): Store argument in x and fetch it from x.
36321         * tests/test-asinl.c (x): New variable.
36322         (main): Store argument in x and fetch it from x.
36323         * tests/test-atanl.c (x): New variable.
36324         (main): Store argument in x and fetch it from x.
36325         * tests/test-cosl.c (x): New variable.
36326         (main): Store argument in x and fetch it from x.
36327         * tests/test-expl.c (x): New variable.
36328         (main): Store argument in x and fetch it from x.
36329         * tests/test-logl.c (x): New variable.
36330         (main): Store argument in x and fetch it from x.
36331         * tests/test-sinl.c (x): New variable.
36332         (main): Store argument in x and fetch it from x.
36333         * tests/test-sqrtl.c (x): New variable.
36334         (main): Store argument in x and fetch it from x.
36335         * tests/test-tanl.c (x): New variable.
36336         (main): Store argument in x and fetch it from x.
36337
36338 2010-01-24  Bruno Haible  <bruno@clisp.org>
36339
36340         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
36341         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
36342         assignments to the initial TESTS_ENVIRONMENT.
36343         * doc/gnulib.texi (Unit test modules): Document it.
36344         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
36345         TESTS_ENVIRONMENT.
36346         * modules/btowc-tests (Makefile.am): Likewise.
36347         * modules/c-stack-tests (Makefile.am): Likewise.
36348         * modules/c-strcase-tests (Makefile.am): Likewise.
36349         * modules/copy-file-tests (Makefile.am): Likewise.
36350         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
36351         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
36352         * modules/mbrtowc-tests (Makefile.am): Likewise.
36353         * modules/mbscasecmp-tests (Makefile.am): Likewise.
36354         * modules/mbscasestr-tests (Makefile.am): Likewise.
36355         * modules/mbschr-tests (Makefile.am): Likewise.
36356         * modules/mbscspn-tests (Makefile.am): Likewise.
36357         * modules/mbsinit-tests (Makefile.am): Likewise.
36358         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
36359         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
36360         * modules/mbspbrk-tests (Makefile.am): Likewise.
36361         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
36362         * modules/mbsrchr-tests (Makefile.am): Likewise.
36363         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
36364         * modules/mbsspn-tests (Makefile.am): Likewise.
36365         * modules/mbsstr-tests (Makefile.am): Likewise.
36366         * modules/nl_langinfo-tests (Makefile.am): Likewise.
36367         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
36368         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
36369         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
36370         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
36371         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
36372         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
36373         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
36374         * modules/wcrtomb-tests (Makefile.am): Likewise.
36375         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
36376         * modules/wcsrtombs-tests (Makefile.am): Likewise.
36377         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
36378         assignments from TESTS_ENVIRONMENT.
36379         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
36380         augmentation.
36381         * modules/argp-version-etc-tests (Makefile.am): Likewise.
36382         * modules/atexit-tests (Makefile.am): Likewise.
36383         * modules/binary-io-tests (Makefile.am): Likewise.
36384         * modules/closein-tests (Makefile.am): Likewise.
36385         * modules/dprintf-posix-tests (Makefile.am): Likewise.
36386         * modules/exclude-tests (Makefile.am): Likewise.
36387         * modules/fflush-tests (Makefile.am): Likewise.
36388         * modules/fpending-tests (Makefile.am): Likewise.
36389         * modules/fprintf-posix-tests (Makefile.am): Likewise.
36390         * modules/freadahead-tests (Makefile.am): Likewise.
36391         * modules/freadptr-tests (Makefile.am): Likewise.
36392         * modules/freadseek-tests (Makefile.am): Likewise.
36393         * modules/fseek-tests (Makefile.am): Likewise.
36394         * modules/fseeko-tests (Makefile.am): Likewise.
36395         * modules/ftell-tests (Makefile.am): Likewise.
36396         * modules/ftello-tests (Makefile.am): Likewise.
36397         * modules/idpriv-drop-tests (Makefile.am): Likewise.
36398         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
36399         * modules/lseek-tests (Makefile.am): Likewise.
36400         * modules/parse-duration-tests (Makefile.am): Likewise.
36401         * modules/perror-tests (Makefile.am): Likewise.
36402         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
36403         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
36404         * modules/pipe-tests (Makefile.am): Likewise.
36405         * modules/pread-tests (Makefile.am): Likewise.
36406         * modules/printf-posix-tests (Makefile.am): Likewise.
36407         * modules/select-tests (Makefile.am): Likewise.
36408         * modules/sigpipe-tests (Makefile.am): Likewise.
36409         * modules/tsearch-tests (Makefile.am): Likewise.
36410         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
36411         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
36412         * modules/uniname/uniname-tests (Makefile.am): Likewise.
36413         * modules/uniwidth/width-tests (Makefile.am): Likewise.
36414         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
36415         * modules/version-etc-tests (Makefile.am): Likewise.
36416         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
36417         * modules/vprintf-posix-tests (Makefile.am): Likewise.
36418         * modules/xalloc-die-tests (Makefile.am): Likewise.
36419         * modules/xprintf-posix-tests (Makefile.am): Likewise.
36420         * modules/xstrtoimax-tests (Makefile.am): Likewise.
36421         * modules/xstrtol-tests (Makefile.am): Likewise.
36422         * modules/xstrtoumax-tests (Makefile.am): Likewise.
36423         * modules/yesno-tests (Makefile.am): Likewise.
36424         Suggested by Jim Meyering.
36425
36426 2010-01-24  Bruno Haible  <bruno@clisp.org>
36427
36428         More documentation.
36429         * doc/gnulib.texi (Writing modules): New chapter.
36430         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
36431         the new chapter.
36432
36433 2010-01-24  Jim Meyering  <meyering@redhat.com>
36434
36435         maint.mk: do not prepend "./" after filtering
36436         * top/maint.mk (_prepend_srcdir_prefix): New variable
36437         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
36438         "./" when $(srcdir) is ".".
36439
36440         define STREQ(a,b) consistently, removing useless parentheses
36441         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
36442         since the only risk is that "a" or "b" contains an unparenthesized
36443         comma, but if either did that, STREQ would have 3 or more arguments.
36444         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
36445         * lib/fts.c (STREQ): Remove unnecessary parentheses.
36446         * lib/hash-triple.c (STREQ): Likewise.
36447         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
36448         * lib/getugroups.c (STREQ): Likewise.
36449
36450 2010-01-23  Jim Meyering  <meyering@redhat.com>
36451
36452         maint.mk: fix syntax-check in a non-srcdir build directory
36453         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
36454         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
36455
36456 2010-01-22  Jim Meyering  <meyering@redhat.com>
36457
36458         userspec: add unit tests
36459         * tests/test-userspec.c: New file.
36460         * modules/userspec-tests: Likewise.
36461
36462 2010-01-21  Jim Meyering  <meyering@redhat.com>
36463
36464         maint.mk: handle source file names containing "." robustly
36465         * top/maint.mk (_dot_escaped_srcdir): Define.
36466         (VC_LIST): Use it in LHS of sed substitution.
36467
36468 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
36469
36470         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
36471         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
36472         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
36473         from a non-srcdir build.
36474
36475 2010-01-20  Eric Blake  <ebb9@byu.net>
36476
36477         warn-on-use: use instead of link-warning
36478         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
36479         * modules/unistd (Depends-on, Makefile.am): Likewise.
36480         * modules/arpa_inet (Depends-on): Replace link-warning with
36481         warn-on-use.
36482         (Makefile.am): Update rules accordingly.
36483         * modules/ctype (Depends-on, Makefile.am): Likewise.
36484         * modules/dirent (Depends-on, Makefile.am): Likewise.
36485         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
36486         * modules/inttypes (Depends-on, Makefile.am): Likewise.
36487         * modules/langinfo (Depends-on, Makefile.am): Likewise.
36488         * modules/locale (Depends-on, Makefile.am): Likewise.
36489         * modules/math (Depends-on, Makefile.am): Likewise.
36490         * modules/search (Depends-on, Makefile.am): Likewise.
36491         * modules/signal (Depends-on, Makefile.am): Likewise.
36492         * modules/spawn (Depends-on, Makefile.am): Likewise.
36493         * modules/stdlib (Depends-on, Makefile.am): Likewise.
36494         * modules/string (Depends-on, Makefile.am): Likewise.
36495         * modules/strings (Depends-on, Makefile.am): Likewise.
36496         * modules/sys_file (Depends-on, Makefile.am): Likewise.
36497         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
36498         * modules/sys_select (Depends-on, Makefile.am): Likewise.
36499         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
36500         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
36501         * modules/sys_times (Depends-on, Makefile.am): Likewise.
36502         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
36503         * modules/wchar (Depends-on, Makefile.am): Likewise.
36504         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
36505         should be poisoned.
36506         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
36507         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
36508         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
36509         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
36510         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36511         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
36512         * m4/math_h.m4 (gl_MATH_H): Likewise.
36513         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
36514         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
36515         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
36516         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
36517         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
36518         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
36519         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
36520         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
36521         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
36522         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36523         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
36524         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
36525         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36526         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
36527         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
36528         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36529         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
36530         GL_LINK_WARNING.
36531         * lib/ctype.in.h: Likewise.
36532         * lib/dirent.in.h: Likewise.
36533         * lib/fcntl.in.h: Likewise.
36534         * lib/inttypes.in.h: Likewise.
36535         * lib/langinfo.in.h: Likewise.
36536         * lib/locale.in.h: Likewise.
36537         * lib/math.in.h: Likewise.
36538         * lib/search.in.h: Likewise.
36539         * lib/signal.in.h: Likewise.
36540         * lib/spawn.in.h: Likewise.
36541         * lib/stdio.in.h: Likewise.
36542         * lib/stdlib.in.h: Likewise.
36543         * lib/string.in.h: Likewise.
36544         * lib/strings.in.h: Likewise.
36545         * lib/sys_file.in.h: Likewise.
36546         * lib/sys_ioctl.in.h: Likewise.
36547         * lib/sys_select.in.h: Likewise.
36548         * lib/sys_socket.in.h: Likewise.
36549         * lib/sys_stat.in.h: Likewise.
36550         * lib/sys_times.in.h: Likewise.
36551         * lib/sys_utsname.in.h: Likewise.
36552         * lib/unistd.in.h: Likewise.
36553         * lib/wchar.in.h: Likewise.
36554
36555 2010-01-20  Bruno Haible  <bruno@clisp.org>
36556
36557         Avoid duplicate -lm.
36558         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
36559         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
36560         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
36561         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
36562         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
36563         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
36564         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
36565         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
36566         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
36567         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
36568         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
36569         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
36570         Reported by Paolo Bonzini.
36571
36572 2010-01-19  Bruno Haible  <bruno@clisp.org>
36573
36574         langinfo, nl_langinfo: Relicense under LGPLv2+.
36575         * modules/langinfo (License): Change to LGPLv2+.
36576         * modules/nl_langinfo (License): Likewise.
36577         Patch by David Lutterkort <lutter@redhat.com>.
36578
36579 2010-01-19  Bruno Haible  <bruno@clisp.org>
36580
36581         Avoid compilation error with cc on OSF/1 5.1.
36582         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
36583         statement, not before.
36584         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36585
36586 2010-01-18  Bruno Haible  <bruno@clisp.org>
36587
36588         Avoid a link error due to the __printf__ symbol.
36589         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
36590         and 2.6.x.
36591         (__format__, __printf__): Remove definitions.
36592         * lib/argp-fmtstream.h: Likewise.
36593         * lib/argp.h: Likewise.
36594         * lib/error.h: Likewise.
36595         * lib/vasnprintf.h: Likewise.
36596         * lib/xprintf.h: Likewise.
36597         * lib/xvasprintf.h: Likewise.
36598         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36599
36600 2010-01-18  Bruno Haible  <bruno@clisp.org>
36601
36602         Tests for module 'tanl'.
36603         * modules/tanl-tests: New file.
36604         * tests/test-tanl.c: New file.
36605
36606         Tests for module 'sqrtl'.
36607         * modules/sqrtl-tests: New file.
36608         * tests/test-sqrtl.c: New file.
36609
36610         Tests for module 'sinl'.
36611         * modules/sinl-tests: New file.
36612         * tests/test-sinl.c: New file.
36613
36614         Tests for module 'logl'.
36615         * modules/logl-tests: New file.
36616         * tests/test-logl.c: New file.
36617
36618         Tests for module 'expl'.
36619         * modules/expl-tests: New file.
36620         * tests/test-expl.c: New file.
36621
36622         Tests for module 'cosl'.
36623         * modules/cosl-tests: New file.
36624         * tests/test-cosl.c: New file.
36625
36626         Tests for module 'atanl'.
36627         * modules/atanl-tests: New file.
36628         * tests/test-atanl.c: New file.
36629
36630         Tests for module 'asinl'.
36631         * modules/asinl-tests: New file.
36632         * tests/test-asinl.c: New file.
36633
36634         Tests for module 'acosl'.
36635         * modules/acosl-tests: New file.
36636         * tests/test-acosl.c: New file.
36637
36638         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
36639         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
36640         tanl): Use the standard gnulib idiom.
36641         * lib/cosl.c: Don't include trigl.c and sincosl.c.
36642         * lib/sinl.c: Likewise.
36643         * lib/tanl.c: Don't include trigl.c.
36644         (kernel_tanl): Make static.
36645         * lib/sincosl.c: Include trigl.h first.
36646         * lib/trigl.c: Likewise.
36647         * m4/acosl.m4: New file.
36648         * m4/asinl.m4: New file.
36649         * m4/atanl.m4: New file.
36650         * m4/cosl.m4: New file.
36651         * m4/expl.m4: New file.
36652         * m4/logl.m4: New file.
36653         * m4/sinl.m4: New file.
36654         * m4/sqrtl.m4: New file.
36655         * m4/tanl.m4: New file.
36656         * m4/mathl.m4: Remove file.
36657         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
36658         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
36659         Don't initialize GNULIB_MATHL.
36660         * modules/acosl: New file.
36661         * modules/asinl: New file.
36662         * modules/atanl: New file.
36663         * modules/cosl: New file.
36664         * modules/expl: New file.
36665         * modules/logl: New file.
36666         * modules/sinl: New file.
36667         * modules/sqrtl: New file.
36668         * modules/tanl: New file.
36669         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
36670         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
36671         substitute GNULIB_MATHL.
36672         * modules/mathl: Rewritten.
36673         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
36674         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
36675         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
36676         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
36677         * doc/posix-functions/expl.texi: Mention the 'expl' module.
36678         * doc/posix-functions/logl.texi: Mention the 'logl' module.
36679         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
36680         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
36681         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
36682
36683 2010-01-18  Bruno Haible  <bruno@clisp.org>
36684
36685         sqrt: Make gl_FUNC_SQRT requirable.
36686         * m4/sqrt.m4: New file.
36687         * modules/sqrt (Files): Add it.
36688         (configure.ac): Invoke gl_FUNC_SQRT.
36689
36690 2010-01-18  Bruno Haible  <bruno@clisp.org>
36691
36692         New modules for common <math.h> functions.
36693         * m4/mathfunc.m4: New file.
36694         * modules/acos: New file.
36695         * modules/asin: New file.
36696         * modules/atan: New file.
36697         * modules/atan2: New file.
36698         * modules/cbrt: New file.
36699         * modules/copysign: New file.
36700         * modules/cos: New file.
36701         * modules/cosh: New file.
36702         * modules/erf: New file.
36703         * modules/erfc: New file.
36704         * modules/exp: New file.
36705         * modules/fabs: New file.
36706         * modules/fmod: New file.
36707         * modules/hypot: New file.
36708         * modules/j0: New file.
36709         * modules/j1: New file.
36710         * modules/jn: New file.
36711         * modules/ldexp: New file.
36712         * modules/lgamma: New file.
36713         * modules/log: New file.
36714         * modules/log10: New file.
36715         * modules/log1p: New file.
36716         * modules/logb: New file.
36717         * modules/modf: New file.
36718         * modules/nextafter: New file.
36719         * modules/pow: New file.
36720         * modules/remainder: New file.
36721         * modules/rint: New file.
36722         * modules/sin: New file.
36723         * modules/sinh: New file.
36724         * modules/sqrt: New file.
36725         * modules/tan: New file.
36726         * modules/tanh: New file.
36727         * modules/y0: New file.
36728         * modules/y1: New file.
36729         * modules/yn: New file.
36730         * doc/posix-functions/acos.texi: Mention the 'acos' module.
36731         * doc/posix-functions/asin.texi: Mention the 'asin' module.
36732         * doc/posix-functions/atan.texi: Mention the 'atan' module.
36733         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
36734         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
36735         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
36736         * doc/posix-functions/cos.texi: Mention the 'cos' module.
36737         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
36738         * doc/posix-functions/erf.texi: Mention the 'erf' module.
36739         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
36740         * doc/posix-functions/exp.texi: Mention the 'exp' module.
36741         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
36742         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
36743         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
36744         * doc/posix-functions/j0.texi: Mention the 'j0' module.
36745         * doc/posix-functions/j1.texi: Mention the 'j1' module.
36746         * doc/posix-functions/jn.texi: Mention the 'jn' module.
36747         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
36748         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
36749         * doc/posix-functions/log.texi: Mention the 'log' module.
36750         * doc/posix-functions/log10.texi: Mention the 'log10' module.
36751         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
36752         * doc/posix-functions/logb.texi: Mention the 'logb' module.
36753         * doc/posix-functions/modf.texi: Mention the 'modf' module.
36754         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
36755         * doc/posix-functions/pow.texi: Mention the 'pow' module.
36756         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
36757         * doc/posix-functions/rint.texi: Mention the 'rint' module.
36758         * doc/posix-functions/sin.texi: Mention the 'sin' module.
36759         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
36760         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
36761         * doc/posix-functions/tan.texi: Mention the 'tan' module.
36762         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
36763         * doc/posix-functions/y0.texi: Mention the 'y0' module.
36764         * doc/posix-functions/y1.texi: Mention the 'y1' module.
36765         * doc/posix-functions/yn.texi: Mention the 'yn' module.
36766
36767 2010-01-18  Jim Meyering  <meyering@redhat.com>
36768
36769         ignore-value: relax license to LGPLv2+
36770         * modules/ignore-value (License): Relax to LGPLv2+.
36771
36772         getdate: don't leak when TZ contains two or more '"'s
36773         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
36774         double quote in TZ after the first one.
36775
36776         readtokens: do not leak internal token_lengths buffer
36777         * lib/readtokens.c (readtokens): Free the local, lengths,
36778         when the supplied "token_lengths" parameter is NULL.
36779
36780 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36781
36782         Fix a couple of missing LIBTHREAD link failures on AIX.
36783         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
36784         $(LIBTHREAD).
36785         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
36786
36787         Link test-poll against INET_PTON_LIB.
36788         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
36789         for inet_pton on Solaris 10.
36790
36791 2010-01-17  Bruno Haible  <bruno@clisp.org>
36792
36793         unistdio/*-sprintf: Fix typo in module description.
36794         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
36795         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
36796         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
36797         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
36798         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
36799         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
36800         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
36801         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36802
36803 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36804
36805         gnulib-tool: fix filelist for AIX, HP-UX ksh.
36806         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
36807         variables in shell case patterns, for AIX and HP-UX ksh.
36808
36809         Split large sed scripts, for HP-UX sed.
36810         * modules/stdio: Split sed scripts around 50 sed commands,
36811         to avoid HP-UX limit of 99 commands, in the near future.
36812         * modules/string: Likewise.
36813         * modules/unistd: Likewise.
36814
36815         gnulib-tool: avoid writing in the current directory.
36816         * gnulib-tool (func_emit_lib_Makefile_am)
36817         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
36818         not in the current directory, so concurrent gnulib-tool
36819         instances do not interfere.
36820
36821 2010-01-16  Jim Meyering  <meyering@redhat.com>
36822
36823         doc: update users.txt
36824         * users.txt: Add grep.
36825         (diffutils, gzip): Update URLs.
36826
36827 2010-01-12  Bruno Haible  <bruno@clisp.org>
36828
36829         posix_spawn: Avoid test failure on Cygwin.
36830         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
36831         characters.
36832         Reported by Simon Josefsson.
36833
36834 2010-01-12  Bruno Haible  <bruno@clisp.org>
36835
36836         * tests/test-cond.c (main): When skipping the test, show the reason.
36837
36838 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36839
36840         * lib/striconv.c (str_cd_iconv): Avoid if before free.
36841
36842 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36843
36844         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
36845         VC_LIST_ALWAYS_EXCLUDE_REGEX.
36846
36847 2010-01-12  Eric Blake  <ebb9@byu.net>
36848
36849         build: guarantee AS_VAR_IF
36850         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
36851         (gl_AS_VAR_IF): Move...
36852         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
36853         Reported by Simon Josefsson.
36854
36855 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36856
36857         * lib/stdio.in.h: Fix typo.
36858
36859 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36860
36861         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
36862         libgpg-error.
36863
36864 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36865
36866         * tests/test-xalloc-die.sh: Use $EXEEXT.
36867
36868 2010-01-12  Simon Josefsson  <simon@josefsson.org>
36869             Bruno Haible  <bruno@clisp.org>
36870
36871         getlogin, getlogin_r: Avoid test failure.
36872         * tests/test-getlogin.c: Include <stdio.h>.
36873         (main): Skip the test when the function fails because stdin is not a
36874         tty.
36875         * tests/test-getlogin_r.c: Include <stdio.h>.
36876         (main): Skip the test when the function fails because stdin is not a
36877         tty.
36878
36879 2010-01-11  Eric Blake  <ebb9@byu.net>
36880
36881         tests: avoid more large file warnings
36882         * tests/test-fflush.c: Avoid warning about ftell use.
36883         * tests/test-fseek.c: Avoid warning about fseek use.
36884
36885 2010-01-10  Bruno Haible  <bruno@clisp.org>
36886
36887         nproc: Work better on Linux when /proc and /sys are not mounted.
36888         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
36889         as lower bound when, on glibc/Linux systems,
36890         sysconf (_SC_NPROCESSORS_CONF) returns 1.
36891         Suggested by Pádraig Brady <P@draigbrady.com>.
36892         Reported by Dmitry V. Levin <ldv@altlinux.org>.
36893
36894         nproc: Refactor.
36895         * lib/nproc.c (num_processors_via_affinity_mask): New function,
36896         extracted from num_processors.
36897         (num_processors): Call it.
36898
36899 2010-01-11  Jim Meyering  <meyering@redhat.com>
36900
36901         utimecmp: avoid new warning from upcoming gcc-4.5.0
36902         * lib/utimecmp.c (BILLION): Define using #define rather than an
36903         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
36904
36905 2010-01-11  Eric Blake  <ebb9@byu.net>
36906
36907         math: add portability warnings for classification macros
36908         * modules/math (Depends-on): Add warn-on-use.
36909         (Makefile.am): Provide new substitutions.
36910         * m4/math_h.m4 (gl_MATH_H): Require inline.
36911         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
36912         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
36913         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
36914         implement warnings.
36915
36916         unistd: warn on use of environ without module
36917         * modules/unistd (Depends-on): Add warn-on-use.
36918         (Makefile.am): Provide new substitutions.
36919         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
36920         * lib/unistd.in.h (environ): Wrap with a warning helper function.
36921
36922         stdio: warn on suspicious uses
36923         * modules/stdio (Depends-on): Add warn-on-use.
36924         (Makefile.am): Provide new substitutions.
36925         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
36926         fseeko.
36927         * lib/stdio.in.h (gets): Always warn on use.
36928         (fseek, ftell): Adjust when warnings are issued, and honor
36929         _GL_NO_LARGE_FILES as a way to silence the warning.
36930         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
36931         any warning about large file offsets.
36932         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
36933         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
36934         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
36935         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
36936         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
36937         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
36938         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
36939         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
36940
36941         warn-on-use: new module
36942         * modules/warn-on-use: New file.
36943         * build-aux/warn-on-use.h: Likewise.
36944         * m4/warn-on-use.m4: Likewise.
36945         * MODULES.html.sh (Support for building): Mention it.
36946
36947 2010-01-10  Bruno Haible  <bruno@clisp.org>
36948
36949         Tests for module 'unistr/u32-strdup'.
36950         * modules/unistr/u32-strdup-tests: New file.
36951         * tests/unistr/test-u32-strdup.c: New file.
36952
36953         Tests for module 'unistr/u16-strdup'.
36954         * modules/unistr/u16-strdup-tests: New file.
36955         * tests/unistr/test-u16-strdup.c: New file.
36956
36957         Tests for module 'unistr/u8-strdup'.
36958         * modules/unistr/u8-strdup-tests: New file.
36959         * tests/unistr/test-u8-strdup.c: New file.
36960         * tests/unistr/test-strdup.h: New file.
36961
36962         Tests for module 'unistr/u32-strncmp'.
36963         * modules/unistr/u32-strncmp-tests: New file.
36964         * tests/unistr/test-u32-strncmp.c: New file.
36965
36966         Tests for module 'unistr/u16-strncmp'.
36967         * modules/unistr/u16-strncmp-tests: New file.
36968         * tests/unistr/test-u16-strncmp.c: New file.
36969
36970         Tests for module 'unistr/u8-strncmp'.
36971         * modules/unistr/u8-strncmp-tests: New file.
36972         * tests/unistr/test-u8-strncmp.c: New file.
36973         * tests/unistr/test-strncmp.h: New file.
36974
36975         Tests for module 'unistr/u32-strcoll'.
36976         * modules/unistr/u32-strcoll-tests: New file.
36977         * tests/unistr/test-u32-strcoll.c: New file.
36978
36979         Tests for module 'unistr/u16-strcoll'.
36980         * modules/unistr/u16-strcoll-tests: New file.
36981         * tests/unistr/test-u16-strcoll.c: New file.
36982
36983         Tests for module 'unistr/u8-strcoll'.
36984         * modules/unistr/u8-strcoll-tests: New file.
36985         * tests/unistr/test-u8-strcoll.c: New file.
36986
36987         Tests for module 'unistr/u32-strcmp'.
36988         * modules/unistr/u32-strcmp-tests: New file.
36989         * tests/unistr/test-u32-strcmp.c: New file.
36990         * tests/unistr/test-u32-strcmp.h: New file.
36991
36992         Tests for module 'unistr/u16-strcmp'.
36993         * modules/unistr/u16-strcmp-tests: New file.
36994         * tests/unistr/test-u16-strcmp.c: New file.
36995         * tests/unistr/test-u16-strcmp.h: New file.
36996
36997         Tests for module 'unistr/u8-strcmp'.
36998         * modules/unistr/u8-strcmp-tests: New file.
36999         * tests/unistr/test-u8-strcmp.c: New file.
37000         * tests/unistr/test-u8-strcmp.h: New file.
37001         * tests/unistr/test-strcmp.h: New file.
37002
37003         Tests for module 'unistr/u32-strncat'.
37004         * modules/unistr/u32-strncat-tests: New file.
37005         * tests/unistr/test-u32-strncat.c: New file.
37006
37007         Tests for module 'unistr/u16-strncat'.
37008         * modules/unistr/u16-strncat-tests: New file.
37009         * tests/unistr/test-u16-strncat.c: New file.
37010
37011         Tests for module 'unistr/u8-strncat'.
37012         * modules/unistr/u8-strncat-tests: New file.
37013         * tests/unistr/test-u8-strncat.c: New file.
37014         * tests/unistr/test-strncat.h: New file.
37015
37016         Tests for module 'unistr/u32-strcat'.
37017         * modules/unistr/u32-strcat-tests: New file.
37018         * tests/unistr/test-u32-strcat.c: New file.
37019
37020         Tests for module 'unistr/u16-strcat'.
37021         * modules/unistr/u16-strcat-tests: New file.
37022         * tests/unistr/test-u16-strcat.c: New file.
37023
37024         Tests for module 'unistr/u8-strcat'.
37025         * modules/unistr/u8-strcat-tests: New file.
37026         * tests/unistr/test-u8-strcat.c: New file.
37027         * tests/unistr/test-strcat.h: New file.
37028
37029         Tests for module 'unistr/u32-stpncpy'.
37030         * modules/unistr/u32-stpncpy-tests: New file.
37031         * tests/unistr/test-u32-stpncpy.c: New file.
37032
37033         Tests for module 'unistr/u16-stpncpy'.
37034         * modules/unistr/u16-stpncpy-tests: New file.
37035         * tests/unistr/test-u16-stpncpy.c: New file.
37036
37037         Tests for module 'unistr/u8-stpncpy'.
37038         * modules/unistr/u8-stpncpy-tests: New file.
37039         * tests/unistr/test-u8-stpncpy.c: New file.
37040         * tests/unistr/test-stpncpy.h: New file.
37041
37042         Tests for module 'unistr/u32-strncpy'.
37043         * modules/unistr/u32-strncpy-tests: New file.
37044         * tests/unistr/test-u32-strncpy.c: New file.
37045
37046         Tests for module 'unistr/u16-strncpy'.
37047         * modules/unistr/u16-strncpy-tests: New file.
37048         * tests/unistr/test-u16-strncpy.c: New file.
37049
37050         Tests for module 'unistr/u8-strncpy'.
37051         * modules/unistr/u8-strncpy-tests: New file.
37052         * tests/unistr/test-u8-strncpy.c: New file.
37053         * tests/unistr/test-strncpy.h: New file.
37054
37055         Tests for module 'unistr/u32-stpcpy'.
37056         * modules/unistr/u32-stpcpy-tests: New file.
37057         * tests/unistr/test-u32-stpcpy.c: New file.
37058
37059         Tests for module 'unistr/u16-stpcpy'.
37060         * modules/unistr/u16-stpcpy-tests: New file.
37061         * tests/unistr/test-u16-stpcpy.c: New file.
37062
37063         Tests for module 'unistr/u8-stpcpy'.
37064         * modules/unistr/u8-stpcpy-tests: New file.
37065         * tests/unistr/test-u8-stpcpy.c: New file.
37066         * tests/unistr/test-stpcpy.h: New file.
37067
37068         Tests for module 'unistr/u32-strcpy'.
37069         * modules/unistr/u32-strcpy-tests: New file.
37070         * tests/unistr/test-u32-strcpy.c: New file.
37071
37072         Tests for module 'unistr/u16-strcpy'.
37073         * modules/unistr/u16-strcpy-tests: New file.
37074         * tests/unistr/test-u16-strcpy.c: New file.
37075
37076         Tests for module 'unistr/u8-strcpy'.
37077         * modules/unistr/u8-strcpy-tests: New file.
37078         * tests/unistr/test-u8-strcpy.c: New file.
37079         * tests/unistr/test-strcpy.h: New file.
37080
37081         Tests for module 'unistr/u32-strnlen'.
37082         * modules/unistr/u32-strnlen-tests: New file.
37083         * tests/unistr/test-u32-strnlen.c: New file.
37084
37085         Tests for module 'unistr/u16-strnlen'.
37086         * modules/unistr/u16-strnlen-tests: New file.
37087         * tests/unistr/test-u16-strnlen.c: New file.
37088
37089         Tests for module 'unistr/u8-strnlen'.
37090         * modules/unistr/u8-strnlen-tests: New file.
37091         * tests/unistr/test-u8-strnlen.c: New file.
37092         * tests/unistr/test-strnlen.h: New file.
37093
37094         Tests for module 'unistr/u32-strlen'.
37095         * modules/unistr/u32-strlen-tests: New file.
37096         * tests/unistr/test-u32-strlen.c: New file.
37097
37098         Tests for module 'unistr/u16-strlen'.
37099         * modules/unistr/u16-strlen-tests: New file.
37100         * tests/unistr/test-u16-strlen.c: New file.
37101
37102         Tests for module 'unistr/u8-strlen'.
37103         * modules/unistr/u8-strlen-tests: New file.
37104         * tests/unistr/test-u8-strlen.c: New file.
37105
37106         Tests for module 'unistr/u32-prev'.
37107         * modules/unistr/u32-prev-tests: New file.
37108         * tests/unistr/test-u32-prev.c: New file.
37109
37110         Tests for module 'unistr/u16-prev'.
37111         * modules/unistr/u16-prev-tests: New file.
37112         * tests/unistr/test-u16-prev.c: New file.
37113
37114         Tests for module 'unistr/u8-prev'.
37115         * modules/unistr/u8-prev-tests: New file.
37116         * tests/unistr/test-u8-prev.c: New file.
37117
37118         Tests for module 'unistr/u32-next'.
37119         * modules/unistr/u32-next-tests: New file.
37120         * tests/unistr/test-u32-next.c: New file.
37121
37122         Tests for module 'unistr/u16-next'.
37123         * modules/unistr/u16-next-tests: New file.
37124         * tests/unistr/test-u16-next.c: New file.
37125
37126         Tests for module 'unistr/u8-next'.
37127         * modules/unistr/u8-next-tests: New file.
37128         * tests/unistr/test-u8-next.c: New file.
37129
37130         Tests for module 'unistr/u32-strmbtouc'.
37131         * modules/unistr/u32-strmbtouc-tests: New file.
37132         * tests/unistr/test-u32-strmbtouc.c: New file.
37133
37134         Tests for module 'unistr/u16-strmbtouc'.
37135         * modules/unistr/u16-strmbtouc-tests: New file.
37136         * tests/unistr/test-u16-strmbtouc.c: New file.
37137
37138         Tests for module 'unistr/u8-strmbtouc'.
37139         * modules/unistr/u8-strmbtouc-tests: New file.
37140         * tests/unistr/test-u8-strmbtouc.c: New file.
37141
37142         Tests for module 'unistr/u32-strmblen'.
37143         * modules/unistr/u32-strmblen-tests: New file.
37144         * tests/unistr/test-u32-strmblen.c: New file.
37145
37146         Tests for module 'unistr/u16-strmblen'.
37147         * modules/unistr/u16-strmblen-tests: New file.
37148         * tests/unistr/test-u16-strmblen.c: New file.
37149
37150         Tests for module 'unistr/u8-strmblen'.
37151         * modules/unistr/u8-strmblen-tests: New file.
37152         * tests/unistr/test-u8-strmblen.c: New file.
37153
37154         Tests for module 'unistr/u32-cpy-alloc'.
37155         * modules/unistr/u32-cpy-alloc-tests: New file.
37156         * tests/unistr/test-u32-cpy-alloc.c: New file.
37157
37158         Tests for module 'unistr/u16-cpy-alloc'.
37159         * modules/unistr/u16-cpy-alloc-tests: New file.
37160         * tests/unistr/test-u16-cpy-alloc.c: New file.
37161
37162         Tests for module 'unistr/u8-cpy-alloc'.
37163         * modules/unistr/u8-cpy-alloc-tests: New file.
37164         * tests/unistr/test-u8-cpy-alloc.c: New file.
37165         * tests/unistr/test-cpy-alloc.h: New file.
37166
37167         Tests for module 'unistr/u32-mbsnlen'.
37168         * modules/unistr/u32-mbsnlen-tests: New file.
37169         * tests/unistr/test-u32-mbsnlen.c: New file.
37170
37171         Tests for module 'unistr/u16-mbsnlen'.
37172         * modules/unistr/u16-mbsnlen-tests: New file.
37173         * tests/unistr/test-u16-mbsnlen.c: New file.
37174
37175         Tests for module 'unistr/u8-mbsnlen'.
37176         * modules/unistr/u8-mbsnlen-tests: New file.
37177         * tests/unistr/test-u8-mbsnlen.c: New file.
37178
37179         Tests for module 'unistr/u32-chr'.
37180         * modules/unistr/u32-chr-tests: New file.
37181         * tests/unistr/test-u32-chr.c: New file.
37182
37183         Tests for module 'unistr/u16-chr'.
37184         * modules/unistr/u16-chr-tests: New file.
37185         * tests/unistr/test-u16-chr.c: New file.
37186
37187         Tests for module 'unistr/u8-chr'.
37188         * modules/unistr/u8-chr-tests: New file.
37189         * tests/unistr/test-u8-chr.c: New file.
37190         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
37191
37192         Tests for module 'unistr/u32-cmp2'.
37193         * modules/unistr/u32-cmp2-tests: New file.
37194         * tests/unistr/test-u32-cmp2.c: New file.
37195
37196         Tests for module 'unistr/u16-cmp2'.
37197         * modules/unistr/u16-cmp2-tests: New file.
37198         * tests/unistr/test-u16-cmp2.c: New file.
37199
37200         Tests for module 'unistr/u8-cmp2'.
37201         * modules/unistr/u8-cmp2-tests: New file.
37202         * tests/unistr/test-u8-cmp2.c: New file.
37203         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
37204
37205         Tests for module 'unistr/u32-cmp'.
37206         * modules/unistr/u32-cmp-tests: New file.
37207         * tests/unistr/test-u32-cmp.c: New file.
37208
37209         Tests for module 'unistr/u16-cmp'.
37210         * modules/unistr/u16-cmp-tests: New file.
37211         * tests/unistr/test-u16-cmp.c: New file.
37212
37213         Tests for module 'unistr/u8-cmp'.
37214         * modules/unistr/u8-cmp-tests: New file.
37215         * tests/unistr/test-u8-cmp.c: New file.
37216         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
37217
37218         Tests for module 'unistr/u32-set'.
37219         * modules/unistr/u32-set-tests: New file.
37220         * tests/unistr/test-u32-set.c: New file.
37221
37222         Tests for module 'unistr/u16-set'.
37223         * modules/unistr/u16-set-tests: New file.
37224         * tests/unistr/test-u16-set.c: New file.
37225
37226         Tests for module 'unistr/u8-set'.
37227         * modules/unistr/u8-set-tests: New file.
37228         * tests/unistr/test-u8-set.c: New file.
37229         * tests/unistr/test-set.h: New file.
37230
37231         Tests for module 'unistr/u32-move'.
37232         * modules/unistr/u32-move-tests: New file.
37233         * tests/unistr/test-u32-move.c: New file.
37234
37235         Tests for module 'unistr/u16-move'.
37236         * modules/unistr/u16-move-tests: New file.
37237         * tests/unistr/test-u16-move.c: New file.
37238
37239         Tests for module 'unistr/u8-move'.
37240         * modules/unistr/u8-move-tests: New file.
37241         * tests/unistr/test-u8-move.c: New file.
37242         * tests/unistr/test-move.h: New file.
37243
37244         Tests for module 'unistr/u32-cpy'.
37245         * modules/unistr/u32-cpy-tests: New file.
37246         * tests/unistr/test-u32-cpy.c: New file.
37247
37248         Tests for module 'unistr/u16-cpy'.
37249         * modules/unistr/u16-cpy-tests: New file.
37250         * tests/unistr/test-u16-cpy.c: New file.
37251
37252         Tests for module 'unistr/u8-cpy'.
37253         * modules/unistr/u8-cpy-tests: New file.
37254         * tests/unistr/test-u8-cpy.c: New file.
37255         * tests/unistr/test-cpy.h: New file.
37256
37257 2010-01-09  Bruno Haible  <bruno@clisp.org>
37258
37259         Tests for module 'unistr/u32-uctomb'.
37260         * modules/unistr/u32-uctomb-tests: New file.
37261         * tests/unistr/test-u32-uctomb.c: New file.
37262
37263         Tests for module 'unistr/u16-uctomb'.
37264         * modules/unistr/u16-uctomb-tests: New file.
37265         * tests/unistr/test-u16-uctomb.c: New file.
37266
37267         Tests for module 'unistr/u8-uctomb'.
37268         * modules/unistr/u8-uctomb-tests: New file.
37269         * tests/unistr/test-u8-uctomb.c: New file.
37270
37271         Tests for module 'unistr/u32-mbtoucr'.
37272         * modules/unistr/u32-mbtoucr-tests: New file.
37273         * tests/unistr/test-u32-mbtoucr.c: New file.
37274
37275         Tests for module 'unistr/u16-mbtoucr'.
37276         * modules/unistr/u16-mbtoucr-tests: New file.
37277         * tests/unistr/test-u16-mbtoucr.c: New file.
37278
37279         Tests for module 'unistr/u8-mbtoucr'.
37280         * modules/unistr/u8-mbtoucr-tests: New file.
37281         * tests/unistr/test-u8-mbtoucr.c: New file.
37282
37283         Tests for module 'unistr/u32-mbtouc'.
37284         * modules/unistr/u32-mbtouc-tests: New file.
37285         * tests/unistr/test-u32-mbtouc.c: New file.
37286
37287         Tests for module 'unistr/u16-mbtouc'.
37288         * modules/unistr/u16-mbtouc-tests: New file.
37289         * tests/unistr/test-u16-mbtouc.c: New file.
37290
37291         Tests for module 'unistr/u8-mbtouc'.
37292         * modules/unistr/u8-mbtouc-tests: New file.
37293         * tests/unistr/test-u8-mbtouc.c: New file.
37294
37295         Tests for module 'unistr/u32-mbtouc-unsafe'.
37296         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
37297         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
37298         * tests/unistr/test-u32-mbtouc.h: New file.
37299
37300         Tests for module 'unistr/u16-mbtouc-unsafe'.
37301         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
37302         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
37303         * tests/unistr/test-u16-mbtouc.h: New file.
37304
37305         Tests for module 'unistr/u8-mbtouc-unsafe'.
37306         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
37307         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
37308         * tests/unistr/test-u8-mbtouc.h: New file.
37309
37310         Tests for module 'unistr/u32-mblen'.
37311         * modules/unistr/u32-mblen-tests: New file.
37312         * tests/unistr/test-u32-mblen.c: New file.
37313
37314         Tests for module 'unistr/u16-mblen'.
37315         * modules/unistr/u16-mblen-tests: New file.
37316         * tests/unistr/test-u16-mblen.c: New file.
37317
37318         Tests for module 'unistr/u8-mblen'.
37319         * modules/unistr/u8-mblen-tests: New file.
37320         * tests/unistr/test-u8-mblen.c: New file.
37321
37322         Tests for module 'unistr/u32-to-u16'.
37323         * modules/unistr/u32-to-u16-tests: New file.
37324         * tests/unistr/test-u32-to-u16.c: New file.
37325
37326         Tests for module 'unistr/u32-to-u8'.
37327         * modules/unistr/u32-to-u8-tests: New file.
37328         * tests/unistr/test-u32-to-u8.c: New file.
37329
37330         Tests for module 'unistr/u16-to-u32'.
37331         * modules/unistr/u16-to-u32-tests: New file.
37332         * tests/unistr/test-u16-to-u32.c: New file.
37333
37334         Tests for module 'unistr/u16-to-u8'.
37335         * modules/unistr/u16-to-u8-tests: New file.
37336         * tests/unistr/test-u16-to-u8.c: New file.
37337
37338         Tests for module 'unistr/u8-to-u32'.
37339         * modules/unistr/u8-to-u32-tests: New file.
37340         * tests/unistr/test-u8-to-u32.c: New file.
37341
37342         Tests for module 'unistr/u8-to-u16'.
37343         * modules/unistr/u8-to-u16-tests: New file.
37344         * tests/unistr/test-u8-to-u16.c: New file.
37345
37346         Tests for module 'unistr/u32-check'.
37347         * modules/unistr/u32-check-tests: New file.
37348         * tests/unistr/test-u32-check.c: New file.
37349
37350         Tests for module 'unistr/u16-check'.
37351         * modules/unistr/u16-check-tests: New file.
37352         * tests/unistr/test-u16-check.c: New file.
37353
37354         Tests for module 'unistr/u8-check'.
37355         * modules/unistr/u8-check-tests: New file.
37356         * tests/unistr/test-u8-check.c: New file.
37357
37358         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
37359         (category_equals): New function.
37360         (main): Add more tests.
37361         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
37362
37363         * tests/unictype/test-bidi_byname.c (main): Add more tests.
37364
37365 2010-01-10  Bruno Haible  <bruno@clisp.org>
37366
37367         unistr/u*-strcoll: Try harder to distinguish different strings.
37368         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
37369         compare s1 and s2 to see if they are different.
37370
37371 2010-01-10  Bruno Haible  <bruno@clisp.org>
37372
37373         unistr/u*-stpncpy: Fix the return value.
37374         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
37375         description of the return value consistent with stpncpy in glibc.
37376         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
37377         written non-NUL unit.
37378
37379 2010-01-10  Bruno Haible  <bruno@clisp.org>
37380
37381         unistr/u*-next: Add missing dependencies.
37382         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
37383         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
37384         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
37385
37386 2010-01-10  Bruno Haible  <bruno@clisp.org>
37387
37388         unistr/u8-mbsnlen: Fix return value for incomplete character.
37389         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
37390         u8_mblen.
37391         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
37392         Remove unistr/u8-mblen.
37393         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
37394         u16_mblen.
37395         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
37396         Remove unistr/u16-mblen.
37397
37398 2010-01-10  Bruno Haible  <bruno@clisp.org>
37399
37400         wchar: Fix compilation error when <wchar.h> is used from coreutils.
37401         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
37402         Reported by Brian Gough <bjg@gnu.org> and
37403         Chris Clayton <chris2553@googlemail.com> via
37404         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
37405
37406 2010-01-09  Bruno Haible  <bruno@clisp.org>
37407
37408         unistr/u16-to-u32: Reject invalid input.
37409         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
37410         u16_mbtouc.
37411         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
37412         Remove unistr/u16-mbtouc.
37413
37414         unistr/u16-to-u8: Reject invalid input.
37415         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
37416         u16_mbtouc.
37417         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
37418         Remove unistr/u16-mbtouc.
37419
37420         unistr/u8-to-u32: Reject invalid input.
37421         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
37422         u8_mbtouc.
37423         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
37424         Remove unistr/u8-mbtouc.
37425
37426         unistr/u8-to-u16: Reject invalid input.
37427         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
37428         u8_mbtouc.
37429         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
37430         Remove unistr/u8-mbtouc.
37431
37432 2010-01-09  Bruno Haible  <bruno@clisp.org>
37433
37434         Tests for module 'getlogin'.
37435         * modules/getlogin-tests: New file.
37436         * tests/test-getlogin.c: New file.
37437
37438         New module 'getlogin'.
37439         * lib/unistd.in.h (getlogin): New declaration.
37440         * lib/getlogin.c: New file.
37441         * m4/getlogin.m4: New file.
37442         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
37443         HAVE_GETLOGIN.
37444         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
37445         HAVE_GETLOGIN.
37446         * modules/getlogin: New file.
37447         * doc/posix-functions/getlogin.texi: Mention the new module.
37448         Reported by John W. Eaton <jwe@gnu.org>.
37449
37450 2010-01-09  Bruno Haible  <bruno@clisp.org>
37451
37452         getlogin_r: Support for native Windows.
37453         * lib/getlogin_r.c: Include <windows.h>
37454         (getlogin_r): Implement for native Windows.
37455         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
37456         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
37457         via John W. Eaton <jwe@gnu.org>.
37458
37459 2010-01-09  Bruno Haible  <bruno@clisp.org>
37460
37461         getlogin_r: Small fixes.
37462         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
37463         succeeds.
37464         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
37465         before testing whether getlogin_r is declared. No need to set
37466         HAVE_DECL_GETLOGIN_R to 1.
37467         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
37468
37469 2010-01-09  Bruno Haible  <bruno@clisp.org>
37470
37471         * lib/unistd.in.h (getlogin_r): Add comment.
37472
37473 2010-01-09  Bruno Haible  <bruno@clisp.org>
37474
37475         Tests for module 'getlogin_r'.
37476         * modules/getlogin_r-tests: New file.
37477         * tests/test-getlogin_r.c: New file.
37478
37479 2010-01-09  Jim Meyering  <meyering@redhat.com>
37480
37481         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
37482         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
37483         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
37484
37485 2010-01-08  Simon Josefsson  <simon@josefsson.org>
37486
37487         * lib/dup2.c (rpl_dup2): Improve comment.
37488
37489 2010-01-08  Eric Blake  <ebb9@byu.net>
37490
37491         maint.mk: allow packages to add makefile @@ exceptions
37492         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
37493         (sc_makefile_check): Rename...
37494         (sc_makefile_at_at_check): ...to this, and use hook.
37495
37496         dup2: work around mingw bug
37497         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
37498         Reported by Simon Josefsson.
37499
37500 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
37501
37502         glob: Fix C++ compilation.
37503         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
37504         C++.
37505
37506 2010-01-07  Bruno Haible  <bruno@clisp.org>
37507
37508         Fix indentation of wctype.in.h, broken since 2007-01-06.
37509         * lib/wctype.in.h: Fix indentation of preprocessor directives.
37510
37511 2010-01-07  Bruno Haible  <bruno@clisp.org>
37512
37513         mbslen: Avoid collision with system function.
37514         * lib/string.in.h [MirBSD]: Include <wchar.h>.
37515         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
37516         * m4/mbslen.m4: New file.
37517         * modules/mbslen (Files): Add it.
37518         (configure.ac): Invoke gl_MBSLEN.
37519         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
37520         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
37521         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
37522         via Ian Beckwith <ianb@erislabs.net>.
37523
37524 2010-01-07  Bruno Haible  <bruno@clisp.org>
37525
37526         dirent: Document the last fix.
37527         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
37528
37529 2010-01-07  Bruno Haible  <bruno@clisp.org>
37530
37531         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
37532         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
37533         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
37534         va_list are defined.
37535         * doc/posix-headers/stdio.texi: Document the bug of missing types.
37536         Reported by Eric Blake.
37537
37538 2010-01-07  Bruno Haible  <bruno@clisp.org>
37539
37540         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
37541         * modules/xlist (Depends-on): Add 'list',
37542         * modules/xoset (Depends-on): Add 'oset'.
37543         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37544
37545 2010-01-07  Bruno Haible  <bruno@clisp.org>
37546
37547         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
37548         * doc/posix-functions/strncasecmp.texi: Likewise.
37549
37550 2010-01-07  Bruno Haible  <bruno@clisp.org>
37551
37552         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
37553
37554 2010-01-07  John W. Eaton  <jwe@octave.org>
37555
37556         wctype: allow C++ use
37557         * lib/wctype.in.h: Add extern "C" block for C++.
37558
37559 2010-01-06  Eric Blake  <ebb9@byu.net>
37560
37561         maint.mk: detect incorrect GFDL usage
37562         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
37563
37564 2010-01-06  Jim Meyering  <meyering@redhat.com>
37565         and Eric Blake  <ebb9@byu.net>
37566
37567         maint.mk: ignore multi-line copyright in NEWS
37568         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
37569
37570 2010-01-06  Eric Blake  <ebb9@byu.net>
37571
37572         select: add missing dependency
37573         * modules/select-tests (Depends-on): Move sockets dependency...
37574         * modules/select (Depends-on): ...here.
37575         Reported by Ian Beckwith.
37576
37577         doc: regenerate INSTALL
37578         * doc/INSTALL: Reflect recent autoconf update.
37579         * doc/INSTALL.ISO: Likewise.
37580         * doc/INSTALL.UTF-8: Likewise.
37581
37582         pread: fix compilation on glibc
37583         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
37584         Reported by Ralf Wildenhues.
37585
37586         dirent: fix test failure
37587         * lib/dirent.in.h (includes): Guarantee ino_t.
37588         Reported by Ralf Wildenhues.
37589
37590 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
37591
37592         linkat, renameat: avoid bad free
37593         * lib/at-func2.c (at_func2): Fix typo.
37594         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
37595
37596 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37597
37598         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
37599         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
37600         to avoid failure of symlink test later.
37601
37602 2010-01-06  Eric Blake  <ebb9@byu.net>
37603
37604         stdio, unistd: guarantee ssize_t
37605         * lib/unistd.in.h (includes): Ensure that types required by POSIX
37606         2008 are exposed when needed.
37607         * lib/stdio.in.h (includes): Likewise.
37608         Reported by Ralf Wildenhues.
37609
37610 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
37611
37612         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
37613         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
37614         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
37615
37616 2010-01-06  Jim Meyering  <meyering@redhat.com>
37617
37618         readtokens: this module *does* require xalloc.h
37619         It uses only functions that were omitted by the old syntax-check rule.
37620         * lib/readtokens.c: Include "xalloc.h" once again.
37621         * modules/readtokens (Depends-on): Add xalloc.
37622         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
37623
37624 2010-01-05  Eric Blake  <ebb9@byu.net>
37625
37626         maint: support 'make announcement' from a VPATH build
37627         * top/maint.mk (announcement): Look for correct NEWS file.
37628
37629 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
37630
37631         utimens (fdutimens): ignore a negative FD, per contract
37632         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
37633         when we have a valid file descriptor.  Otherwise, using a brand
37634         new glibc (with just-patched futimens that now fails with EBADF)
37635         would cause this function to fail with ENOSYS.
37636         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
37637         See also http://bugzilla.redhat.com/552320.
37638
37639 2010-01-05  Eric Blake  <ebb9@byu.net>
37640
37641         strcase: document what it provides
37642         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
37643         gnulib module.
37644         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
37645         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
37646
37647 2010-01-05  Jim Meyering  <meyering@redhat.com>
37648
37649         maint: remove useless inclusions of "xalloc.h"
37650         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
37651         * lib/readtokens.c: Likewise.
37652         * lib/same.c: Likewise.
37653         * modules/getloadavg (Depends-on): Remove xalloc.
37654         * modules/readtokens: Likewise.
37655         * modules/same: Likewise.
37656
37657         maint.mk: include 4 more function names in alloca.h-checking regexp
37658         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
37659         regexp.  Before, we would give a false-positive (saying alloca.h
37660         is included unnecessarily) when the only uses involved omitted symbols.
37661
37662         xalloc.h: use consistent formatting
37663         * lib/xalloc.h: Move declarations to start in the first column.
37664
37665 2010-01-05  Eric Blake  <ebb9@byu.net>
37666
37667         mkdir: avoid xalloc
37668         * lib/mkdir.c (includes): Drop unused header.
37669         Reported by John W. Eaton.
37670
37671 2010-01-04  Jim Meyering  <meyering@redhat.com>
37672
37673         nl_langinfo: avoid configure-time syntax error
37674         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
37675         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
37676         the empty string.  Don't let that provoke a shell syntax error.
37677
37678         regcomp, regexec, fnmatch: avoid array bounds read error
37679         * lib/regcomp.c (build_equiv_class): From glibc:
37680         Use only the low 24 bits of a findidx return value as an index
37681         into the weights array.  Patch by Ulrich Drepper:
37682         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
37683         * lib/regexec.c (check_node_accept_bytes): Likewise.
37684         * lib/fnmatch_loop.c (FCT): Likewise.
37685
37686         regcomp: skip collseq lookup when there are no rules
37687         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
37688         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
37689
37690         regcomp: recognize ill-formed { } expressions
37691         * lib/regcomp.c (parse_dup_op): From glibc:
37692         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
37693
37694         regcomp: fix typo in comment
37695         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
37696         s/satisfy/satisfies/.
37697
37698         regcomp: sync from glibc: remove dead store
37699         * lib/regcomp.c (duplicate_node_closure): Remove useless
37700         search_duplicated_node call and dead store.
37701
37702         regcomp: sync from glibc; always use nl_langinfo
37703         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
37704         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
37705         * modules/regex (Depends-on): Add nl_langinfo.
37706
37707 2010-01-04  Eric Blake  <ebb9@byu.net>
37708
37709         fdopendir: fix configure test
37710         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
37711
37712 2010-01-01  Bruno Haible  <bruno@clisp.org>
37713
37714         wchar: Remove unused configure check.
37715         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
37716
37717 2010-01-01  Eric Blake  <ebb9@byu.net>
37718
37719         headers: make check of system header explicit
37720         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
37721         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
37722         ourselves.
37723         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37724         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37725         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
37726         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
37727         internals.
37728         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
37729         missing.
37730         Suggested by Bruno Haible.
37731
37732 2010-01-01  Jim Meyering  <meyering@redhat.com>
37733
37734         ChangeLog: tweak to eliminate unnecessary copyright line
37735         * ChangeLog: Remove a copyright line that was mistakenly updated
37736         by today's update-copyright run.  Reported by Eric Blake.
37737
37738         test-update-copyright: don't let envvar setting cause test failure
37739         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
37740
37741 2010-01-01  Bruno Haible  <bruno@clisp.org>
37742
37743         localename: Avoid gcc warning.
37744         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
37745         function if it is not used.
37746
37747 2010-01-01  Jim Meyering  <meyering@redhat.com>
37748
37749         update nearly all FSF copyright year lists to include 2010
37750         Use the same procedure as for 2009, outlined in
37751         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
37752
37753         version-etc: set COPYRIGHT_YEAR to 2010
37754         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
37755
37756 2009-12-31  Eric Blake  <ebb9@byu.net>
37757
37758         doc: correct availability of cygwin 1.5.x getopt
37759         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
37760         variables.
37761         * doc/posix-functions/opterr.texi (opterr): Likewise.
37762         * doc/posix-functions/optind.texi (optind): Likewise.
37763         * doc/posix-functions/optopt.texi (optopt): Likewise.
37764         * doc/posix-functions/tzname.texi (tzname): Likewise.
37765
37766         openat: update maintainer
37767         * modules/openat (Maintainer): Add myself.
37768
37769         utimens: avoid shadowing warning
37770         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
37771         buffers into one, to avoid shadowing, as well as avoiding a
37772         redundant stat.
37773         Reported by Jim Meyering.
37774
37775         test-dup2: avoid compiler warning
37776         * tests/test-dup2.c (is_inheritable): Only define if used.
37777
37778 2010-01-01  Bruno Haible  <bruno@clisp.org>
37779
37780         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
37781         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
37782         defined, use wctomb instead of wcrtomb.
37783
37784 2010-01-01  Bruno Haible  <bruno@clisp.org>
37785
37786         iconv: Reject native Solaris iconv.
37787         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
37788         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
37789
37790 2009-12-31  Bruno Haible  <bruno@clisp.org>
37791
37792         * tests/test-signal.c (main): Remove test of 'SIG'.
37793
37794 2009-12-31  Bruno Haible  <bruno@clisp.org>
37795
37796         spawn: Fix incomplete fix.
37797         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
37798         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
37799         warnings for GNULIB_POSIXCHECK again.
37800         Reported by Eric Blake.
37801
37802 2009-12-31  Bruno Haible  <bruno@clisp.org>
37803
37804         Avoid namespace pollution on glibc systems.
37805         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
37806         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
37807         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
37808         glibc systems.
37809
37810 2009-12-31  Bruno Haible  <bruno@clisp.org>
37811
37812         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
37813         (gl_REPLACE_WCHAR_H): Turn into a no-op.
37814         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
37815         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
37816         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
37817         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
37818         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
37819
37820 2009-12-31  Bruno Haible  <bruno@clisp.org>
37821
37822         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
37823         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
37824         afterwards.
37825
37826 2009-12-31  Bruno Haible  <bruno@clisp.org>
37827
37828         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
37829         SYS_UTSNAME_H.
37830
37831 2009-12-31  Bruno Haible  <bruno@clisp.org>
37832
37833         spawn: Fix misapplied patch.
37834         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
37835         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
37836         warnings for GNULIB_POSIXCHECK.
37837
37838 2009-12-31  Bruno Haible  <bruno@clisp.org>
37839
37840         times: Update after sys_times changed.
37841         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
37842         * modules/times (Files): Add it.
37843         (configure.ac): Invoke gl_FUNC_TIMES.
37844
37845 2009-12-31  Bruno Haible  <bruno@clisp.org>
37846
37847         Use AC_C_INLINE where necessary.
37848         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
37849         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
37850         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
37851         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
37852         * m4/mbfile.m4 (gl_MBFILE): Likewise.
37853         * m4/mbiter.m4 (gl_MBITER): Likewise.
37854         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
37855         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
37856         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
37857         * modules/u64 (configure.ac): Likewise.
37858
37859 2009-12-31  Bruno Haible  <bruno@clisp.org>
37860
37861         Use AC_C_INLINE instead of module 'inline' where possible.
37862         * modules/inline (Description): Clarify purpose.
37863         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
37864         * modules/count-one-bits (Depends-on): Remove inline.
37865         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
37866         * modules/openat (Depends-on): Remove inline.
37867         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
37868         instead of depending on module 'inline'.
37869         * modules/filevercmp (Depends-on, configure.ac): Likewise.
37870         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
37871         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
37872         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
37873         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
37874         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
37875         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
37876         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
37877         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
37878         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
37879         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
37880         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
37881         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
37882         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
37883         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
37884         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
37885         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
37886         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
37887         Likewise.
37888         * modules/unictype/property-ascii-hex-digit (Depends-on,
37889         configure.ac): Likewise.
37890         * modules/unictype/property-bidi-arabic-digit (Depends-on,
37891         configure.ac): Likewise.
37892         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
37893         configure.ac): Likewise.
37894         * modules/unictype/property-bidi-block-separator (Depends-on,
37895         configure.ac): Likewise.
37896         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
37897         configure.ac): Likewise.
37898         * modules/unictype/property-bidi-common-separator (Depends-on,
37899         configure.ac): Likewise.
37900         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
37901         Likewise.
37902         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
37903         configure.ac): Likewise.
37904         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
37905         configure.ac): Likewise.
37906         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
37907         configure.ac): Likewise.
37908         * modules/unictype/property-bidi-european-digit (Depends-on,
37909         configure.ac): Likewise.
37910         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
37911         configure.ac): Likewise.
37912         * modules/unictype/property-bidi-left-to-right (Depends-on,
37913         configure.ac): Likewise.
37914         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
37915         configure.ac): Likewise.
37916         * modules/unictype/property-bidi-other-neutral (Depends-on,
37917         configure.ac): Likewise.
37918         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
37919         Likewise.
37920         * modules/unictype/property-bidi-segment-separator (Depends-on,
37921         configure.ac): Likewise.
37922         * modules/unictype/property-bidi-whitespace (Depends-on,
37923         configure.ac): Likewise.
37924         * modules/unictype/property-combining (Depends-on, configure.ac):
37925         Likewise.
37926         * modules/unictype/property-composite (Depends-on, configure.ac):
37927         Likewise.
37928         * modules/unictype/property-currency-symbol (Depends-on,
37929         configure.ac): Likewise.
37930         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
37931         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
37932         Likewise.
37933         * modules/unictype/property-default-ignorable-code-point (Depends-on,
37934         configure.ac): Likewise.
37935         * modules/unictype/property-deprecated (Depends-on, configure.ac):
37936         Likewise.
37937         * modules/unictype/property-diacritic (Depends-on, configure.ac):
37938         Likewise.
37939         * modules/unictype/property-extender (Depends-on, configure.ac):
37940         Likewise.
37941         * modules/unictype/property-format-control (Depends-on, configure.ac):
37942         Likewise.
37943         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
37944         Likewise.
37945         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
37946         Likewise.
37947         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
37948         Likewise.
37949         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
37950         Likewise.
37951         * modules/unictype/property-hyphen (Depends-on, configure.ac):
37952         Likewise.
37953         * modules/unictype/property-id-continue (Depends-on, configure.ac):
37954         Likewise.
37955         * modules/unictype/property-id-start (Depends-on, configure.ac):
37956         Likewise.
37957         * modules/unictype/property-ideographic (Depends-on, configure.ac):
37958         Likewise.
37959         * modules/unictype/property-ids-binary-operator (Depends-on,
37960         configure.ac): Likewise.
37961         * modules/unictype/property-ids-trinary-operator (Depends-on,
37962         configure.ac): Likewise.
37963         * modules/unictype/property-ignorable-control (Depends-on,
37964         configure.ac): Likewise.
37965         * modules/unictype/property-iso-control (Depends-on, configure.ac):
37966         Likewise.
37967         * modules/unictype/property-join-control (Depends-on, configure.ac):
37968         Likewise.
37969         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
37970         Likewise.
37971         * modules/unictype/property-line-separator (Depends-on, configure.ac):
37972         Likewise.
37973         * modules/unictype/property-logical-order-exception (Depends-on,
37974         configure.ac): Likewise.
37975         * modules/unictype/property-lowercase (Depends-on, configure.ac):
37976         Likewise.
37977         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
37978         * modules/unictype/property-non-break (Depends-on, configure.ac):
37979         Likewise.
37980         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
37981         Likewise.
37982         * modules/unictype/property-numeric (Depends-on, configure.ac):
37983         Likewise.
37984         * modules/unictype/property-other-alphabetic (Depends-on,
37985         configure.ac): Likewise.
37986         * modules/unictype/property-other-default-ignorable-code-point
37987         (Depends-on, configure.ac): Likewise.
37988         * modules/unictype/property-other-grapheme-extend (Depends-on,
37989         configure.ac): Likewise.
37990         * modules/unictype/property-other-id-continue (Depends-on,
37991         configure.ac): Likewise.
37992         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
37993         Likewise.
37994         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
37995         Likewise.
37996         * modules/unictype/property-other-math (Depends-on, configure.ac):
37997         Likewise.
37998         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
37999         Likewise.
38000         * modules/unictype/property-paired-punctuation (Depends-on,
38001         configure.ac): Likewise.
38002         * modules/unictype/property-paragraph-separator (Depends-on,
38003         configure.ac): Likewise.
38004         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
38005         Likewise.
38006         * modules/unictype/property-pattern-white-space (Depends-on,
38007         configure.ac): Likewise.
38008         * modules/unictype/property-private-use (Depends-on, configure.ac):
38009         Likewise.
38010         * modules/unictype/property-punctuation (Depends-on, configure.ac):
38011         Likewise.
38012         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
38013         Likewise.
38014         * modules/unictype/property-radical (Depends-on, configure.ac):
38015         Likewise.
38016         * modules/unictype/property-sentence-terminal (Depends-on,
38017         configure.ac): Likewise.
38018         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
38019         Likewise.
38020         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
38021         * modules/unictype/property-terminal-punctuation (Depends-on,
38022         configure.ac): Likewise.
38023         * modules/unictype/property-titlecase (Depends-on, configure.ac):
38024         Likewise.
38025         * modules/unictype/property-unassigned-code-value (Depends-on,
38026         configure.ac): Likewise.
38027         * modules/unictype/property-unified-ideograph (Depends-on,
38028         configure.ac): Likewise.
38029         * modules/unictype/property-uppercase (Depends-on, configure.ac):
38030         Likewise.
38031         * modules/unictype/property-variation-selector (Depends-on,
38032         configure.ac): Likewise.
38033         * modules/unictype/property-white-space (Depends-on, configure.ac):
38034         Likewise.
38035         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
38036         Likewise.
38037         * modules/unictype/property-xid-start (Depends-on, configure.ac):
38038         Likewise.
38039         * modules/unictype/property-zero-width (Depends-on, configure.ac):
38040         Likewise.
38041         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
38042         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
38043         Likewise.
38044
38045 2009-12-31  Bruno Haible  <bruno@clisp.org>
38046
38047         Remove unnecessary AC_C_INLINE invocation.
38048         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
38049         since 2009-08-21.
38050
38051 2009-12-31  Jim Meyering  <meyering@redhat.com>
38052
38053         maint.mk: don't require explicit gpg_key_ID in cfg.mk
38054         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
38055         With this change, we can all remove the gpg_key_ID = ... definition
38056         from our respective cfg.mk files.
38057
38058         maint.mk: create announcement template in ~/, not in /tmp
38059         * top/maint.mk (emit_upload_commands): Adjust.
38060         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
38061         Remove temporary file, .ci-msg.
38062
38063 2009-12-31  Eric Blake  <ebb9@byu.net>
38064
38065         link-warning: always build headers with link warnings
38066         * modules/arpa_inet (Makefile.am): Always build replacement
38067         header.
38068         * modules/ctype (Makefile.am): Likewise.
38069         * modules/dirent (Makefile.am): Likewise.
38070         * modules/inttypes (Makefile.am): Likewise.
38071         * modules/langinfo (Makefile.am): Likewise.
38072         * modules/locale (Makefile.am): Likewise.
38073         * modules/spawn (Makefile.am): Likewise.
38074         * modules/sys_file (Makefile.am): Likewise.
38075         * modules/sys_ioctl (Makefile.am): Likewise.
38076         * modules/sys_select (Makefile.am): Likewise.
38077         * modules/sys_socket (Makefile.am): Likewise.
38078         * modules/sys_times (Makefile.am): Likewise.
38079         * modules/sys_utsname (Makefile.am): Likewise.
38080         * modules/sys_wait (Makefile.am): Likewise.
38081         * modules/wchar (Makefile.am): Likewise.
38082         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
38083         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
38084         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
38085         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
38086         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
38087         Likewise.
38088         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38089         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38090         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
38091         Likewise.
38092         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
38093         Likewise.
38094         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
38095         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
38096         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
38097         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38098         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38099         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
38100         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
38101         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
38102         (gl_WCHAR_H_DEFAULTS): Likewise.
38103
38104 2009-12-31  Eric Blake  <ebb9@byu.net>
38105
38106         signal, spawn: use link warnings
38107         * lib/signal.in.h (sigset_t): Make unconditional.
38108         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
38109         (sigpending, sigprocmask, sigaction): Add link warnings.
38110         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
38111         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
38112         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
38113         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
38114         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
38115         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
38116         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
38117         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
38118         (posix_spawn_file_actions_destroy)
38119         (posix_spawn_file_actions_addopen)
38120         (posix_spawn_file_actions_addclose)
38121         (posix_spawn_file_actions_adddup2): Likewise.
38122         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
38123         * tests/test-signal.c (main): Enhance test.
38124
38125         spawn: improve wrapper support
38126         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
38127         (gl_SPAWN_H_DEFAULTS): New defaults.
38128         * modules/spawn (Makefile.am): Substitute them.
38129         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
38130         Only declare if missing or broken.
38131
38132         sys_times, sys_utsname: use include_next
38133         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
38134         header.
38135         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
38136         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
38137         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
38138         * modules/sys_times (Depends-on): Add include_next.
38139         (Makefile.am): Substitute additional values.
38140         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
38141         * lib/sys_times.in.h (includes): Include native header, if
38142         available.
38143         * lib/sys_utsname.in.h (includes): Likewise.
38144         * tests/test-sys_times.c (main): Enhance test.
38145
38146         fdutimensat: revert prior patch
38147         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
38148         utimens.h.
38149         Reported by Bruno Haible.
38150
38151 2009-12-30  Eric Blake  <ebb9@byu.net>
38152
38153         sys_wait: drop link-warning dependency
38154         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
38155         link-warning efforts.
38156         * lib/sys_wait.in.h: Likewise.
38157
38158         fdutimensat: remove bogus dependency
38159         * modules/fdutimensat (Depends-on): Drop inline.
38160
38161         unistd: fix typo
38162         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
38163
38164 2009-12-30  Bruno Haible  <bruno@clisp.org>
38165
38166         Fix compilation error with Solaris cc.
38167         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
38168         * lib/unicase/u16-is-invariant.c: Likewise.
38169         * lib/unicase/u32-is-invariant.c: Likewise.
38170         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
38171
38172 2009-12-30  Bruno Haible  <bruno@clisp.org>
38173
38174         Fix test crash.
38175         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
38176         locales.
38177         Reported by Simon Josefsson <simon@josefsson.org>.
38178
38179 2009-12-30  Bruno Haible  <bruno@clisp.org>
38180
38181         Fix compilation error on most platforms.
38182         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
38183         Reported by Simon Josefsson <simon@josefsson.org>
38184         and Nelson H. F. Beebe <beebe@math.utah.edu>.
38185
38186 2009-12-30  Eric Blake  <ebb9@byu.net>
38187
38188         futimens, utimensat: work around ntfs-3g bug
38189         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
38190         a ctime bug is present, and expand workaround to cover ntfs-3g.
38191         * lib/utimens.c (fdutimens, lutimens): Likewise.
38192         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
38193         (validate_timespec): Adjust return value.
38194         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
38195         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
38196         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
38197
38198 2009-12-29  Eric Blake  <ebb9@byu.net>
38199
38200         link-warning: make usage consistent
38201         * modules/ctype (Depends-on): Add link-warning.
38202         (Makefile.am): Update rules accordingly.
38203         * modules/langinfo (Depends-on, Makefile.am): Likewise.
38204         * modules/locale (Depends-on, Makefile.am): Likewise.
38205         * modules/sys_file (Makefile.am): Likewise.
38206         * modules/getopt-posix (Makefile.am): Delete unused link warning
38207         efforts.
38208         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
38209         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
38210         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
38211         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
38212
38213         stdio: remove unused variables
38214         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
38215         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
38216         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
38217
38218         tests: test more substitute headers
38219         * modules/ctype-tests: New file.
38220         * modules/dirent-tests: Likewise.
38221         * modules/spawn-tests: Likewise.
38222         * modules/sys_file-tests: Likewise.
38223         * modules/sys_ioctl-tests: Likewise.
38224         * modules/sys_wait-tests: Likewise.
38225         * tests/test-ctype.c: Likewise.
38226         * tests/test-dirent.c: Likewise.
38227         * tests/test-spawn.c: Likewise.
38228         * tests/test-sys_file.c: Likewise.
38229         * tests/test-sys_ioctl.c: Likewise.
38230         * tests/test-sys_wait.c: Likewise.
38231         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
38232         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
38233         whether or not flock is in use.
38234
38235         tests: remove License section from module
38236         * modules/arpa_inet-tests: Remove unneeded section.
38237         * modules/byteswap-tests: Likewise.
38238         * modules/ceilf-tests: Likewise.
38239         * modules/ceill-tests: Likewise.
38240         * modules/crypto/des-tests: Likewise.
38241         * modules/crypto/gc-arcfour-tests: Likewise.
38242         * modules/crypto/gc-arctwo-tests: Likewise.
38243         * modules/crypto/gc-des-tests: Likewise.
38244         * modules/crypto/gc-hmac-md5-tests: Likewise.
38245         * modules/crypto/gc-hmac-sha1-tests: Likewise.
38246         * modules/crypto/gc-md2-tests: Likewise.
38247         * modules/crypto/gc-md4-tests: Likewise.
38248         * modules/crypto/gc-md5-tests: Likewise.
38249         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
38250         * modules/crypto/gc-rijndael-tests: Likewise.
38251         * modules/crypto/gc-sha1-tests: Likewise.
38252         * modules/crypto/gc-tests: Likewise.
38253         * modules/crypto/md2-tests: Likewise.
38254         * modules/crypto/md4-tests: Likewise.
38255         * modules/fcntl-h-tests: Likewise.
38256         * modules/floorf-tests: Likewise.
38257         * modules/floorl-tests: Likewise.
38258         * modules/frexp-nolibm-tests: Likewise.
38259         * modules/frexp-tests: Likewise.
38260         * modules/frexpl-nolibm-tests: Likewise.
38261         * modules/frexpl-tests: Likewise.
38262         * modules/getaddrinfo-tests: Likewise.
38263         * modules/inttypes-tests: Likewise.
38264         * modules/isfinite-tests: Likewise.
38265         * modules/isinf-tests: Likewise.
38266         * modules/ldexpl-tests: Likewise.
38267         * modules/locale-tests: Likewise.
38268         * modules/math-tests: Likewise.
38269         * modules/netdb-tests: Likewise.
38270         * modules/netinet_in-tests: Likewise.
38271         * modules/printf-frexp-tests: Likewise.
38272         * modules/printf-frexpl-tests: Likewise.
38273         * modules/priv-set-tests: Likewise.
38274         * modules/random_r-tests: Likewise.
38275         * modules/round-tests: Likewise.
38276         * modules/roundf-tests: Likewise.
38277         * modules/roundl-tests: Likewise.
38278         * modules/search-tests: Likewise.
38279         * modules/select-tests: Likewise.
38280         * modules/signal-tests: Likewise.
38281         * modules/stdbool-tests: Likewise.
38282         * modules/stddef-tests: Likewise.
38283         * modules/stdint-tests: Likewise.
38284         * modules/stdio-tests: Likewise.
38285         * modules/stdlib-tests: Likewise.
38286         * modules/string-tests: Likewise.
38287         * modules/strings-tests: Likewise.
38288         * modules/sys_select-tests: Likewise.
38289         * modules/sys_socket-tests: Likewise.
38290         * modules/sys_stat-tests: Likewise.
38291         * modules/sys_time-tests: Likewise.
38292         * modules/sys_utsname-tests: Likewise.
38293         * modules/sysexits-tests: Likewise.
38294         * modules/time-tests: Likewise.
38295         * modules/trunc-tests: Likewise.
38296         * modules/truncf-tests: Likewise.
38297         * modules/truncl-tests: Likewise.
38298         * modules/tsearch-tests: Likewise.
38299         * modules/unistd-tests: Likewise.
38300         * modules/wchar-tests: Likewise.
38301         * modules/wctype-tests: Likewise.
38302
38303         tests: fix license on several tests
38304         * tests/test-des.c: Update to GPLv3+.
38305         * tests/test-flock.c: Likewise.
38306         * tests/test-fsync.c: Likewise.
38307         * tests/test-futimens.h: Likewise.
38308         * tests/test-gc-arcfour.c: Likewise.
38309         * tests/test-gc-arctwo.c: Likewise.
38310         * tests/test-gc-des.c: Likewise.
38311         * tests/test-gc-hmac-md5.c: Likewise.
38312         * tests/test-gc-hmac-sha1.c: Likewise.
38313         * tests/test-gc-md2.c: Likewise.
38314         * tests/test-gc-md4.c: Likewise.
38315         * tests/test-gc-md5.c: Likewise.
38316         * tests/test-gc-pbkdf2-sha1.c: Likewise.
38317         * tests/test-gc-rijndael.c: Likewise.
38318         * tests/test-gc-sha1.c: Likewise.
38319         * tests/test-gc.c: Likewise.
38320         * tests/test-getcwd.c: Likewise.
38321         * tests/test-link.c: Likewise.
38322         * tests/test-link.h: Likewise.
38323         * tests/test-lutimens.h: Likewise.
38324         * tests/test-md2.c: Likewise.
38325         * tests/test-md4.c: Likewise.
38326         * tests/test-mkdir.h: Likewise.
38327         * tests/test-rename.c: Likewise.
38328         * tests/test-rename.h: Likewise.
38329         * tests/test-safe-alloc.c: Likewise.
38330         * tests/test-utimens-common.h: Likewise.
38331         * tests/test-utimens.h: Likewise.
38332
38333         maint: sync license texts
38334         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
38335         * doc/gpl-3.0.texi: Revert copyright year update.
38336         * doc/lgpl-3.0.texi: Likewise.
38337
38338 2009-12-29  Jim Meyering  <meyering@redhat.com>
38339
38340         update nearly all FSF copyright year lists to include 2009
38341         The files named by the following are exempted:
38342             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
38343               test -f "$dst" && { echo "$dst"; continue; }
38344               test -d "$dst" || continue
38345               echo "$dst"/$(basename "$src")
38346             done > exempt
38347             git ls-files tests/unictype >> exempt
38348         In the remaining files, convert to all-interval notation if
38349         - there is already at least one year interval like 2000-2003
38350         - the file is maintained by me
38351         - the file is in lib/uni*/, where that style already prevails
38352         Otherwise, use update-copyright's default.
38353
38354 2009-12-29  Simon Josefsson  <simon@josefsson.org>
38355         and Eric Blake  <ebb9@byu.net>
38356
38357         tests: don't require debug system() to pass
38358         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
38359         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38360         * tests/test-unlink.h (test_unlink_func): Likewise.
38361         * tests/test-fstatat.c (main): ...into callers.
38362         * tests/test-lstat.c (main): Likewise.
38363         * tests/test-rmdir.c (main): Likewise.
38364         * tests/test-unlink.c (main): Likewise.
38365         * tests/test-unlinkat.c (main): Likewise.
38366         * tests/test-areadlink-with-size.c (main): Don't require a
38367         debug-only system call to pass, aiding cross-testing to mingw.
38368         * tests/test-areadlink.c (main): Likewise.
38369         * tests/test-areadlinkat-with-size.c (main): Likewise.
38370         * tests/test-areadlinkat.c (main): Likewise.
38371         * tests/test-canonicalize-lgpl.c (main): Likewise.
38372         * tests/test-canonicalize.c (main): Likewise.
38373         * tests/test-chown.c (main): Likewise.
38374         * tests/test-fchownat.c (main): Likewise.
38375         * tests/test-lchown.c (main): Likewise.
38376         * tests/test-fdutimensat.c (main): Likewise.
38377         * tests/test-futimens.c (main): Likewise.
38378         * tests/test-link.c (main): Likewise.
38379         * tests/test-linkat.c (main): Likewise.
38380         * tests/test-mkdir.c (main): Likewise.
38381         * tests/test-mkdirat.c (main): Likewise.
38382         * tests/test-mkfifo.c (main): Likewise.
38383         * tests/test-mkfifoat.c (main): Likewise.
38384         * tests/test-mknod.c (main): Likewise.
38385         * tests/test-readlink.c (main): Likewise.
38386         * tests/test-remove.c (main): Likewise.
38387         * tests/test-rename.c (main): Likewise.
38388         * tests/test-renameat.c (main): Likewise.
38389         * tests/test-symlink.c (main): Likewise.
38390         * tests/test-symlinkat.c (main): Likewise.
38391         * tests/test-utimens.c (main): Likewise.
38392         * tests/test-utimensat.c (main): Likewise.
38393
38394 2009-12-29  Simon Josefsson  <simon@josefsson.org>
38395
38396         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
38397         on $(UNUSED_PARAMETER_H) to avoid build failure.
38398
38399 2009-12-28  Jim Meyering  <meyering@redhat.com>
38400
38401         update-copyright: you may specify a max. line length other than 72
38402         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38403
38404         maint: use consistent FSF copyright line syntax
38405         * lib/posixtm.c: Add missing comma in FSF copyright line.
38406         * lib/posixtm.h: Likewise.
38407         * lib/getugroups.c: Add missing ", Inc.".
38408
38409         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
38410         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
38411         FSF copyright line.  Remove trailing blanks.
38412
38413 2009-12-28  Eric Blake  <ebb9@byu.net>
38414
38415         test-dup2: reduce dependencies
38416         * modules/cloexec (Configure.ac): Set witness.
38417         * modules/dup2-tests (Depends-on): Drop cloexec.
38418         * tests/test-dup2.c (main): Skip portion of test if cloexec module
38419         not present.
38420         Suggested by Bruno Haible.
38421
38422 2009-12-26  Bruno Haible  <bruno@clisp.org>
38423
38424         Remove an unneeded dependency.
38425         * modules/fseterr (Depends-on): Remove dup2.
38426
38427 2009-12-26  Eric Blake  <ebb9@byu.net>
38428
38429         tests: use macros.h in more places
38430         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
38431         (ASSERT_STREAM): Provide default of stderr.
38432         * tests/test-dirent-safer.c: Include macros.h, using alternate
38433         stream for assertions.
38434         * tests/test-dup-safer.c: Likewise.
38435         * tests/test-freopen-safer.c: Likewise.
38436         * tests/test-getopt.c: Likewise.
38437         * tests/test-openat-safer.c: Likewise.
38438         * tests/test-pipe.c: Likewise.
38439         * tests/test-popen-safer.c: Likewise.
38440         * modules/dirent-safer-tests (Files): Include macros.h.
38441         * modules/unistd-safer-tests (Files): Likewise.
38442         * modules/freopen-safer-tests (Files): Likewise.
38443         * modules/getopt-posix-tests (Files): Likewise.
38444         * modules/openat-safer-tests (Files): Likewise.
38445         * modules/pipe-tests (Files): Likewise.
38446
38447 2009-12-26  Bruno Haible  <bruno@clisp.org>
38448
38449         javacomp: Portability fix.
38450         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
38451         that it also works on Solaris.
38452
38453 2009-12-26  Bruno Haible  <bruno@clisp.org>
38454
38455         localename: Fix storage allocation of gl_locale_name_thread's result.
38456         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
38457         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
38458         all platforms that have 'uselocale'.
38459         (gl_locale_name_thread_unsafe): New function, extracted from
38460         gl_locale_name_thread.
38461         (gl_locale_name_thread): Call struniq on all platforms that have
38462         'uselocale'.
38463         * tests/test-localename.c (test_locale_name_thread): Check that the
38464         resulting strings are permanently allocated.
38465         * modules/localename-tests (Depends-on): Add strdup.
38466
38467 2009-12-26  Bruno Haible  <bruno@clisp.org>
38468
38469         * tests/test-localename.c (categories): Fill in the strings.
38470
38471 2009-12-26  Jim Meyering  <meyering@redhat.com>
38472
38473         isdir: complete the removal of m4/isdir.m4
38474         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
38475
38476         isdir: clean up, since at least grep still uses it
38477         * lib/isdir.c: Include "isdir.h".
38478         (S_ISDIR): Remove now-unneeded definition.
38479         * modules/isdir (Files): Add lib/isdir.h.
38480         * lib/isdir.h: New file, with declaration.
38481         * m4/isdir.m4: Remove file -- unneeded.
38482
38483 2009-12-25  Bruno Haible  <bruno@clisp.org>
38484
38485         selinux-h: Make generated .h files standalone.
38486         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
38487         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
38488         * lib/se-selinux.in.h: Likewise.
38489         * modules/selinux-h (Depends-on): Add unused-parameter.
38490         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
38491         selinux/selinux.h and selinux/context.h.
38492         Suggested by Eric Blake.
38493
38494 2009-12-25  Bruno Haible  <bruno@clisp.org>
38495
38496         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
38497         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
38498         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
38499         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
38500         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
38501
38502 2009-12-24  Bruno Haible  <bruno@clisp.org>
38503
38504         openat: Fix warning.
38505         * lib/openat-proc.c: Include <unistd.h>.
38506
38507 2009-12-24  Bruno Haible  <bruno@clisp.org>
38508
38509         New module 'unused-parameter'.
38510         * build-aux/unused-parameter.h: New file, extracted from earlier
38511         gnulib-common.m4.
38512         * modules/unused-parameter: New file.
38513         * lib/unistr.h: Include unused-parameter.h.
38514         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
38515         _GL_UNUSED.
38516         * modules/unistr/base (Depends-on): Add unused-parameter.
38517
38518 2009-12-24  Bruno Haible  <bruno@clisp.org>
38519
38520         Add missing dependencies to 'extensions' module.
38521         * m4/extensions.m4: Add comment.
38522         * modules/accept4 (Depends-on): Add extensions.
38523         * modules/dup3 (Depends-on): Likewise.
38524         * modules/fcntl (Depends-on): Likewise.
38525         * modules/futimens (Depends-on): Likewise.
38526         * modules/mknod (Depends-on): Likewise.
38527         * modules/pipe2 (Depends-on): Likewise.
38528         * modules/stat-time (Depends-on): Likewise.
38529         * modules/strcasestr-simple (Depends-on): Likewise.
38530         * modules/strsignal (Depends-on): Likewise.
38531         * modules/utimensat (Depends-on): Likewise.
38532         * modules/localcharset (Depends-on): Likewise. Needed because of
38533         gl_FCNTL_O_FLAGS.
38534         * modules/wcrtomb (Depends-on): Likewise. Needed because of
38535         AC_TYPE_MBSTATE_T.
38536         * modules/wcsnrtombs (Depends-on): Likewise.
38537         * modules/wcsrtombs (Depends-on): Likewise.
38538
38539 2009-12-24  Bruno Haible  <bruno@clisp.org>
38540
38541         binary-io: Avoid gcc warning due to SET_BINARY.
38542         * lib/binary-io.h (SET_BINARY): Cast the result to void.
38543         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
38544
38545 2009-12-24  Bruno Haible  <bruno@clisp.org>
38546
38547         Avoid future namespace pollution on glibc systems.
38548         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
38549         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
38550         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
38551         glibc systems.
38552
38553 2009-12-24  Bruno Haible  <bruno@clisp.org>
38554
38555         Refactor common macros used in tests.
38556         * tests/macros.h: New file.
38557         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
38558         and/or <stdlib.h>, if appropriate.
38559         (ASSERT, SIZEOF): Remove macros.
38560         * tests/test-areadlink-with-size.c: Likewise.
38561         * tests/test-areadlinkat.c: Likewise.
38562         * tests/test-areadlinkat-with-size.c: Likewise.
38563         * tests/test-argmatch.c: Likewise.
38564         * tests/test-argv-iter.c: Likewise.
38565         * tests/test-array-mergesort.c: Likewise.
38566         * tests/test-array_list.c: Likewise.
38567         * tests/test-array_oset.c: Likewise.
38568         * tests/test-avltree_list.c: Likewise.
38569         * tests/test-avltree_oset.c: Likewise.
38570         * tests/test-avltreehash_list.c: Likewise.
38571         * tests/test-base64.c: Likewise.
38572         * tests/test-binary-io.c: Likewise.
38573         * tests/test-bitrotate.c: Likewise.
38574         * tests/test-btowc.c: Likewise.
38575         * tests/test-byteswap.c: Likewise.
38576         * tests/test-c-ctype.c: Likewise.
38577         * tests/test-c-stack.c: Likewise.
38578         * tests/test-c-strcasecmp.c: Likewise.
38579         * tests/test-c-strcasestr.c: Likewise.
38580         * tests/test-c-strncasecmp.c: Likewise.
38581         * tests/test-c-strstr.c: Likewise.
38582         * tests/test-canonicalize-lgpl.c: Likewise.
38583         * tests/test-canonicalize.c: Likewise.
38584         * tests/test-carray_list.c: Likewise.
38585         * tests/test-ceilf1.c: Likewise.
38586         * tests/test-ceilf2.c: Likewise.
38587         * tests/test-ceill.c: Likewise.
38588         * tests/test-chown.c: Likewise.
38589         * tests/test-cloexec.c: Likewise.
38590         * tests/test-copy-acl.c: Likewise.
38591         * tests/test-copy-file.c: Likewise.
38592         * tests/test-count-one-bits.c: Likewise.
38593         * tests/test-dprintf-posix.c: Likewise.
38594         * tests/test-dup2.c: Likewise.
38595         * tests/test-dup3.c: Likewise.
38596         * tests/test-duplocale.c: Likewise.
38597         * tests/test-fbufmode.c: Likewise.
38598         * tests/test-fchdir.c: Likewise.
38599         * tests/test-fchownat.c: Likewise.
38600         * tests/test-fcntl-safer.c: Likewise.
38601         * tests/test-fcntl.c: Likewise.
38602         * tests/test-fdopendir.c: Likewise.
38603         * tests/test-fdutimensat.c: Likewise.
38604         * tests/test-fflush2.c: Likewise.
38605         * tests/test-file-has-acl.c: Likewise.
38606         * tests/test-filevercmp.c: Likewise.
38607         * tests/test-flock.c: Likewise.
38608         * tests/test-floorf1.c: Likewise.
38609         * tests/test-floorf2.c: Likewise.
38610         * tests/test-floorl.c: Likewise.
38611         * tests/test-fnmatch.c: Likewise.
38612         * tests/test-fopen.h: Likewise.
38613         * tests/test-fpending.c: Likewise.
38614         * tests/test-fprintf-posix.c: Likewise.
38615         * tests/test-fpurge.c: Likewise.
38616         * tests/test-freadable.c: Likewise.
38617         * tests/test-freadahead.c: Likewise.
38618         * tests/test-freading.c: Likewise.
38619         * tests/test-freadptr.c: Likewise.
38620         * tests/test-freadptr2.c: Likewise.
38621         * tests/test-freadseek.c: Likewise.
38622         * tests/test-freopen.c: Likewise.
38623         * tests/test-frexp.c: Likewise.
38624         * tests/test-frexpl.c: Likewise.
38625         * tests/test-fseek.c: Likewise.
38626         * tests/test-fseeko.c: Likewise.
38627         * tests/test-fstatat.c: Likewise.
38628         * tests/test-fstrcmp.c: Likewise.
38629         * tests/test-fsync.c: Likewise.
38630         * tests/test-ftell.c: Likewise.
38631         * tests/test-ftello.c: Likewise.
38632         * tests/test-func.c: Likewise.
38633         * tests/test-futimens.c: Likewise.
38634         * tests/test-fwritable.c: Likewise.
38635         * tests/test-fwriting.c: Likewise.
38636         * tests/test-getcwd.c: Likewise.
38637         * tests/test-getdate.c: Likewise.
38638         * tests/test-getdelim.c: Likewise.
38639         * tests/test-getdtablesize.c: Likewise.
38640         * tests/test-getgroups.c: Likewise.
38641         * tests/test-getline.c: Likewise.
38642         * tests/test-getndelim2.c: Likewise.
38643         * tests/test-glob.c: Likewise.
38644         * tests/test-hash.c: Likewise.
38645         * tests/test-i-ring.c: Likewise.
38646         * tests/test-iconv-utf.c: Likewise.
38647         * tests/test-iconv.c: Likewise.
38648         * tests/test-idpriv-drop.c: Likewise.
38649         * tests/test-idpriv-droptemp.c: Likewise.
38650         * tests/test-inet_ntop.c: Likewise.
38651         * tests/test-inet_pton.c: Likewise.
38652         * tests/test-isblank.c: Likewise.
38653         * tests/test-isfinite.c: Likewise.
38654         * tests/test-isinf.c: Likewise.
38655         * tests/test-isnan.c: Likewise.
38656         * tests/test-isnand.h: Likewise.
38657         * tests/test-isnanf.h: Likewise.
38658         * tests/test-isnanl.h: Likewise.
38659         * tests/test-lchown.c: Likewise.
38660         * tests/test-ldexpl.c: Likewise.
38661         * tests/test-link.c: Likewise.
38662         * tests/test-linkat.c: Likewise.
38663         * tests/test-linked_list.c: Likewise.
38664         * tests/test-linkedhash_list.c: Likewise.
38665         * tests/test-localename.c: Likewise.
38666         * tests/test-lseek.c: Likewise.
38667         * tests/test-lstat.c: Likewise.
38668         * tests/test-mbmemcasecmp.c: Likewise.
38669         * tests/test-mbmemcasecoll.c: Likewise.
38670         * tests/test-mbrtowc.c: Likewise.
38671         * tests/test-mbscasecmp.c: Likewise.
38672         * tests/test-mbscasestr1.c: Likewise.
38673         * tests/test-mbscasestr2.c: Likewise.
38674         * tests/test-mbscasestr3.c: Likewise.
38675         * tests/test-mbscasestr4.c: Likewise.
38676         * tests/test-mbschr.c: Likewise.
38677         * tests/test-mbscspn.c: Likewise.
38678         * tests/test-mbsinit.c: Likewise.
38679         * tests/test-mbsncasecmp.c: Likewise.
38680         * tests/test-mbsnrtowcs.c: Likewise.
38681         * tests/test-mbspbrk.c: Likewise.
38682         * tests/test-mbspcasecmp.c: Likewise.
38683         * tests/test-mbsrchr.c: Likewise.
38684         * tests/test-mbsrtowcs.c: Likewise.
38685         * tests/test-mbsspn.c: Likewise.
38686         * tests/test-mbsstr1.c: Likewise.
38687         * tests/test-mbsstr2.c: Likewise.
38688         * tests/test-mbsstr3.c: Likewise.
38689         * tests/test-memchr.c: Likewise.
38690         * tests/test-memchr2.c: Likewise.
38691         * tests/test-memcmp.c: Likewise.
38692         * tests/test-memmem.c: Likewise.
38693         * tests/test-memrchr.c: Likewise.
38694         * tests/test-mkdir.c: Likewise.
38695         * tests/test-mkdirat.c: Likewise.
38696         * tests/test-mkfifo.c: Likewise.
38697         * tests/test-mkfifoat.c: Likewise.
38698         * tests/test-mknod.c: Likewise.
38699         * tests/test-nanosleep.c: Likewise.
38700         * tests/test-nl_langinfo.c: Likewise.
38701         * tests/test-obstack-printf.c: Likewise.
38702         * tests/test-open.c: Likewise.
38703         * tests/test-openat.c: Likewise.
38704         * tests/test-pipe-filter-gi1.c: Likewise.
38705         * tests/test-pipe-filter-gi2-main.c: Likewise.
38706         * tests/test-pipe-filter-ii1.c: Likewise.
38707         * tests/test-pipe-filter-ii2-main.c: Likewise.
38708         * tests/test-pipe2.c: Likewise.
38709         * tests/test-popen.h: Likewise.
38710         * tests/test-posixtm.c: Likewise.
38711         * tests/test-pread.c: Likewise.
38712         * tests/test-printf-frexp.c: Likewise.
38713         * tests/test-printf-frexpl.c: Likewise.
38714         * tests/test-printf-posix.c: Likewise.
38715         * tests/test-priv-set.c: Likewise.
38716         * tests/test-quotearg.c: Likewise.
38717         * tests/test-random_r.c: Likewise.
38718         * tests/test-rawmemchr.c: Likewise.
38719         * tests/test-rbtree_list.c: Likewise.
38720         * tests/test-rbtree_oset.c: Likewise.
38721         * tests/test-rbtreehash_list.c: Likewise.
38722         * tests/test-readlink.c: Likewise.
38723         * tests/test-remove.c: Likewise.
38724         * tests/test-rename.c: Likewise.
38725         * tests/test-renameat.c: Likewise.
38726         * tests/test-rmdir.c: Likewise.
38727         * tests/test-round1.c: Likewise.
38728         * tests/test-roundf1.c: Likewise.
38729         * tests/test-roundl.c: Likewise.
38730         * tests/test-safe-alloc.c: Likewise.
38731         * tests/test-sameacls.c: Likewise.
38732         * tests/test-set-mode-acl.c: Likewise.
38733         * tests/test-setenv.c: Likewise.
38734         * tests/test-sigaction.c: Likewise.
38735         * tests/test-signbit.c: Likewise.
38736         * tests/test-sleep.c: Likewise.
38737         * tests/test-snprintf-posix.c: Likewise.
38738         * tests/test-snprintf.c: Likewise.
38739         * tests/test-sprintf-posix.c: Likewise.
38740         * tests/test-stat-time.c: Likewise.
38741         * tests/test-stat.c: Likewise.
38742         * tests/test-strcasestr.c: Likewise.
38743         * tests/test-strchrnul.c: Likewise.
38744         * tests/test-strerror.c: Likewise.
38745         * tests/test-striconv.c: Likewise.
38746         * tests/test-striconveh.c: Likewise.
38747         * tests/test-striconveha.c: Likewise.
38748         * tests/test-strsignal.c: Likewise.
38749         * tests/test-strstr.c: Likewise.
38750         * tests/test-strtod.c: Likewise.
38751         * tests/test-strverscmp.c: Likewise.
38752         * tests/test-symlink.c: Likewise.
38753         * tests/test-symlinkat.c: Likewise.
38754         * tests/test-trunc1.c: Likewise.
38755         * tests/test-trunc2.c: Likewise.
38756         * tests/test-truncf1.c: Likewise.
38757         * tests/test-truncf2.c: Likewise.
38758         * tests/test-truncl.c: Likewise.
38759         * tests/test-uname.c: Likewise.
38760         * tests/test-unlink.c: Likewise.
38761         * tests/test-unlinkat.c: Likewise.
38762         * tests/test-unsetenv.c: Likewise.
38763         * tests/test-usleep.c: Likewise.
38764         * tests/test-utimens.c: Likewise.
38765         * tests/test-utimensat.c: Likewise.
38766         * tests/test-vasnprintf-posix.c: Likewise.
38767         * tests/test-vasnprintf-posix2.c: Likewise.
38768         * tests/test-vasnprintf.c: Likewise.
38769         * tests/test-vasprintf-posix.c: Likewise.
38770         * tests/test-vasprintf.c: Likewise.
38771         * tests/test-vdprintf-posix.c: Likewise.
38772         * tests/test-vfprintf-posix.c: Likewise.
38773         * tests/test-vprintf-posix.c: Likewise.
38774         * tests/test-vsnprintf-posix.c: Likewise.
38775         * tests/test-vsnprintf.c: Likewise.
38776         * tests/test-vsprintf-posix.c: Likewise.
38777         * tests/test-wcrtomb.c: Likewise.
38778         * tests/test-wcsnrtombs.c: Likewise.
38779         * tests/test-wcsrtombs.c: Likewise.
38780         * tests/test-wctype.c: Likewise.
38781         * tests/test-wcwidth.c: Likewise.
38782         * tests/test-xfprintf-posix.c: Likewise.
38783         * tests/test-xmemdup0.c: Likewise.
38784         * tests/test-xprintf-posix.c: Likewise.
38785         * tests/test-xvasprintf.c: Likewise.
38786         * tests/unicase/test-locale-language.c: Likewise.
38787         * tests/unicase/test-mapping-part1.h: Likewise.
38788         * tests/unicase/test-predicate-part1.h: Likewise.
38789         * tests/unicase/test-u8-casecmp.c: Likewise.
38790         * tests/unicase/test-u8-casecoll.c: Likewise.
38791         * tests/unicase/test-u8-casefold.c: Likewise.
38792         * tests/unicase/test-u8-is-cased.c: Likewise.
38793         * tests/unicase/test-u8-is-casefolded.c: Likewise.
38794         * tests/unicase/test-u8-is-lowercase.c: Likewise.
38795         * tests/unicase/test-u8-is-titlecase.c: Likewise.
38796         * tests/unicase/test-u8-is-uppercase.c: Likewise.
38797         * tests/unicase/test-u8-tolower.c: Likewise.
38798         * tests/unicase/test-u8-totitle.c: Likewise.
38799         * tests/unicase/test-u8-toupper.c: Likewise.
38800         * tests/unicase/test-u16-casecmp.c: Likewise.
38801         * tests/unicase/test-u16-casecoll.c: Likewise.
38802         * tests/unicase/test-u16-casefold.c: Likewise.
38803         * tests/unicase/test-u16-is-cased.c: Likewise.
38804         * tests/unicase/test-u16-is-casefolded.c: Likewise.
38805         * tests/unicase/test-u16-is-lowercase.c: Likewise.
38806         * tests/unicase/test-u16-is-titlecase.c: Likewise.
38807         * tests/unicase/test-u16-is-uppercase.c: Likewise.
38808         * tests/unicase/test-u16-tolower.c: Likewise.
38809         * tests/unicase/test-u16-totitle.c: Likewise.
38810         * tests/unicase/test-u16-toupper.c: Likewise.
38811         * tests/unicase/test-u32-casecmp.c: Likewise.
38812         * tests/unicase/test-u32-casecoll.c: Likewise.
38813         * tests/unicase/test-u32-casefold.c: Likewise.
38814         * tests/unicase/test-u32-is-cased.c: Likewise.
38815         * tests/unicase/test-u32-is-casefolded.c: Likewise.
38816         * tests/unicase/test-u32-is-lowercase.c: Likewise.
38817         * tests/unicase/test-u32-is-titlecase.c: Likewise.
38818         * tests/unicase/test-u32-is-uppercase.c: Likewise.
38819         * tests/unicase/test-u32-tolower.c: Likewise.
38820         * tests/unicase/test-u32-totitle.c: Likewise.
38821         * tests/unicase/test-u32-toupper.c: Likewise.
38822         * tests/unicase/test-ulc-casecmp.c: Likewise.
38823         * tests/unicase/test-ulc-casecoll.c: Likewise.
38824         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
38825         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
38826         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
38827         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
38828         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
38829         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
38830         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
38831         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
38832         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
38833         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
38834         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
38835         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
38836         * tests/unictype/test-bidi_byname.c: Likewise.
38837         * tests/unictype/test-bidi_name.c: Likewise.
38838         * tests/unictype/test-bidi_of.c: Likewise.
38839         * tests/unictype/test-bidi_test.c: Likewise.
38840         * tests/unictype/test-block_list.c: Likewise.
38841         * tests/unictype/test-block_of.c: Likewise.
38842         * tests/unictype/test-block_test.c: Likewise.
38843         * tests/unictype/test-categ_and.c: Likewise.
38844         * tests/unictype/test-categ_and_not.c: Likewise.
38845         * tests/unictype/test-categ_byname.c: Likewise.
38846         * tests/unictype/test-categ_name.c: Likewise.
38847         * tests/unictype/test-categ_none.c: Likewise.
38848         * tests/unictype/test-categ_of.c: Likewise.
38849         * tests/unictype/test-categ_or.c: Likewise.
38850         * tests/unictype/test-categ_test_withtable.c: Likewise.
38851         * tests/unictype/test-combining.c: Likewise.
38852         * tests/unictype/test-decdigit.c: Likewise.
38853         * tests/unictype/test-digit.c: Likewise.
38854         * tests/unictype/test-mirror.c: Likewise.
38855         * tests/unictype/test-numeric.c: Likewise.
38856         * tests/unictype/test-pr_byname.c: Likewise.
38857         * tests/unictype/test-pr_test.c: Likewise.
38858         * tests/unictype/test-predicate-part1.h: Likewise.
38859         * tests/unictype/test-scripts.c: Likewise.
38860         * tests/unictype/test-sy_c_ident.c: Likewise.
38861         * tests/unictype/test-sy_java_ident.c: Likewise.
38862         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
38863         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
38864         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
38865         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
38866         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
38867         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
38868         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
38869         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
38870         * tests/uninorm/test-canonical-decomposition.c: Likewise.
38871         * tests/uninorm/test-compat-decomposition.c: Likewise.
38872         * tests/uninorm/test-composition.c: Likewise.
38873         * tests/uninorm/test-decomposing-form.c: Likewise.
38874         * tests/uninorm/test-decomposition.c: Likewise.
38875         * tests/uninorm/test-u8-nfc.c: Likewise.
38876         * tests/uninorm/test-u8-nfd.c: Likewise.
38877         * tests/uninorm/test-u8-nfkc.c: Likewise.
38878         * tests/uninorm/test-u8-nfkd.c: Likewise.
38879         * tests/uninorm/test-u8-normcmp.c: Likewise.
38880         * tests/uninorm/test-u8-normcoll.c: Likewise.
38881         * tests/uninorm/test-u16-nfc.c: Likewise.
38882         * tests/uninorm/test-u16-nfd.c: Likewise.
38883         * tests/uninorm/test-u16-nfkc.c: Likewise.
38884         * tests/uninorm/test-u16-nfkd.c: Likewise.
38885         * tests/uninorm/test-u16-normcmp.c: Likewise.
38886         * tests/uninorm/test-u16-normcoll.c: Likewise.
38887         * tests/uninorm/test-u32-nfc.c: Likewise.
38888         * tests/uninorm/test-u32-nfd.c: Likewise.
38889         * tests/uninorm/test-u32-nfkc.c: Likewise.
38890         * tests/uninorm/test-u32-nfkd.c: Likewise.
38891         * tests/uninorm/test-u32-normalize-big.c: Likewise.
38892         * tests/uninorm/test-u32-normcmp.c: Likewise.
38893         * tests/uninorm/test-u32-normcoll.c: Likewise.
38894         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
38895         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
38896         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
38897         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
38898         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
38899         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
38900         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
38901         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
38902         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
38903         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
38904         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
38905         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
38906         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
38907         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
38908         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
38909         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
38910         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
38911         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
38912         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
38913         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
38914         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
38915         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
38916         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
38917         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
38918         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
38919         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
38920         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
38921         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
38922         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
38923         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
38924         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
38925         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
38926         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
38927         * tests/uniwidth/test-u8-strwidth.c: Likewise.
38928         * tests/uniwidth/test-u8-width.c: Likewise.
38929         * tests/uniwidth/test-u16-strwidth.c: Likewise.
38930         * tests/uniwidth/test-u16-width.c: Likewise.
38931         * tests/uniwidth/test-u32-strwidth.c: Likewise.
38932         * tests/uniwidth/test-u32-width.c: Likewise.
38933         * tests/uniwidth/test-uc_width.c: Likewise.
38934         * tests/uniwidth/test-uc_width2.c: Likewise.
38935         * modules/acl-tests (Files): Add tests/macros.h.
38936         * modules/areadlink-tests (Files): Likewise.
38937         * modules/areadlink-with-size-tests (Files): Likewise.
38938         * modules/areadlinkat-tests (Files): Likewise.
38939         * modules/areadlinkat-with-size-tests (Files): Likewise.
38940         * modules/argmatch-tests (Files): Likewise.
38941         * modules/argv-iter-tests (Files): Likewise.
38942         * modules/array-list-tests (Files): Likewise.
38943         * modules/array-mergesort-tests (Files): Likewise.
38944         * modules/array-oset-tests (Files): Likewise.
38945         * modules/avltree-list-tests (Files): Likewise.
38946         * modules/avltree-oset-tests (Files): Likewise.
38947         * modules/avltreehash-list-tests (Files): Likewise.
38948         * modules/base64-tests (Files): Likewise.
38949         * modules/binary-io-tests (Files): Likewise.
38950         * modules/bitrotate-tests (Files): Likewise.
38951         * modules/btowc-tests (Files): Likewise.
38952         * modules/byteswap-tests (Files): Likewise.
38953         * modules/c-ctype-tests (Files): Likewise.
38954         * modules/c-stack-tests (Files): Likewise.
38955         * modules/c-strcase-tests (Files): Likewise.
38956         * modules/c-strcasestr-tests (Files): Likewise.
38957         * modules/c-strstr-tests (Files): Likewise.
38958         * modules/canonicalize-lgpl-tests (Files): Likewise.
38959         * modules/canonicalize-tests (Files): Likewise.
38960         * modules/carray-list-tests (Files): Likewise.
38961         * modules/ceilf-tests (Files): Likewise.
38962         * modules/ceill-tests (Files): Likewise.
38963         * modules/chown-tests (Files): Likewise.
38964         * modules/cloexec-tests (Files): Likewise.
38965         * modules/copy-file-tests (Files): Likewise.
38966         * modules/count-one-bits-tests (Files): Likewise.
38967         * modules/dprintf-posix-tests (Files): Likewise.
38968         * modules/dup2-tests (Files): Likewise.
38969         * modules/dup3-tests (Files): Likewise.
38970         * modules/duplocale-tests (Files): Likewise.
38971         * modules/fbufmode-tests (Files): Likewise.
38972         * modules/fchdir-tests (Files): Likewise.
38973         * modules/fcntl-safer-tests (Files): Likewise.
38974         * modules/fcntl-tests (Files): Likewise.
38975         * modules/fdopendir-tests (Files): Likewise.
38976         * modules/fdutimensat-tests (Files): Likewise.
38977         * modules/fflush-tests (Files): Likewise.
38978         * modules/filevercmp-tests (Files): Likewise.
38979         * modules/flock-tests (Files): Likewise.
38980         * modules/floorf-tests (Files): Likewise.
38981         * modules/floorl-tests (Files): Likewise.
38982         * modules/fnmatch-tests (Files): Likewise.
38983         * modules/fopen-safer-tests (Files): Likewise.
38984         * modules/fopen-tests (Files): Likewise.
38985         * modules/fpending-tests (Files): Likewise.
38986         * modules/fprintf-posix-tests (Files): Likewise.
38987         * modules/fpurge-tests (Files): Likewise.
38988         * modules/freadable-tests (Files): Likewise.
38989         * modules/freadahead-tests (Files): Likewise.
38990         * modules/freading-tests (Files): Likewise.
38991         * modules/freadptr-tests (Files): Likewise.
38992         * modules/freadseek-tests (Files): Likewise.
38993         * modules/freopen-tests (Files): Likewise.
38994         * modules/frexp-nolibm-tests (Files): Likewise.
38995         * modules/frexp-tests (Files): Likewise.
38996         * modules/frexpl-nolibm-tests (Files): Likewise.
38997         * modules/frexpl-tests (Files): Likewise.
38998         * modules/fseek-tests (Files): Likewise.
38999         * modules/fseeko-tests (Files): Likewise.
39000         * modules/fstrcmp-tests (Files): Likewise.
39001         * modules/fsync-tests (Files): Likewise.
39002         * modules/ftell-tests (Files): Likewise.
39003         * modules/ftello-tests (Files): Likewise.
39004         * modules/func-tests (Files): Likewise.
39005         * modules/futimens-tests (Files): Likewise.
39006         * modules/fwritable-tests (Files): Likewise.
39007         * modules/fwriting-tests (Files): Likewise.
39008         * modules/getcwd-tests (Files): Likewise.
39009         * modules/getdate-tests (Files): Likewise.
39010         * modules/getdelim-tests (Files): Likewise.
39011         * modules/getdtablesize-tests (Files): Likewise.
39012         * modules/getgroups-tests (Files): Likewise.
39013         * modules/getline-tests (Files): Likewise.
39014         * modules/getndelim2-tests (Files): Likewise.
39015         * modules/glob-tests (Files): Likewise.
39016         * modules/hash-tests (Files): Likewise.
39017         * modules/i-ring-tests (Files): Likewise.
39018         * modules/iconv-tests (Files): Likewise.
39019         * modules/iconv_open-utf-tests (Files): Likewise.
39020         * modules/idpriv-drop-tests (Files): Likewise.
39021         * modules/idpriv-droptemp-tests (Files): Likewise.
39022         * modules/inet_ntop-tests (Files): Likewise.
39023         * modules/inet_pton-tests (Files): Likewise.
39024         * modules/isblank-tests (Files): Likewise.
39025         * modules/isfinite-tests (Files): Likewise.
39026         * modules/isinf-tests (Files): Likewise.
39027         * modules/isnan-tests (Files): Likewise.
39028         * modules/isnand-nolibm-tests (Files): Likewise.
39029         * modules/isnand-tests (Files): Likewise.
39030         * modules/isnanf-nolibm-tests (Files): Likewise.
39031         * modules/isnanf-tests (Files): Likewise.
39032         * modules/isnanl-nolibm-tests (Files): Likewise.
39033         * modules/isnanl-tests (Files): Likewise.
39034         * modules/lchown-tests (Files): Likewise.
39035         * modules/ldexpl-tests (Files): Likewise.
39036         * modules/link-tests (Files): Likewise.
39037         * modules/linkat-tests (Files): Likewise.
39038         * modules/linked-list-tests (Files): Likewise.
39039         * modules/linkedhash-list-tests (Files): Likewise.
39040         * modules/localename-tests (Files): Likewise.
39041         * modules/lseek-tests (Files): Likewise.
39042         * modules/lstat-tests (Files): Likewise.
39043         * modules/mbmemcasecmp-tests (Files): Likewise.
39044         * modules/mbmemcasecoll-tests (Files): Likewise.
39045         * modules/mbrtowc-tests (Files): Likewise.
39046         * modules/mbscasecmp-tests (Files): Likewise.
39047         * modules/mbscasestr-tests (Files): Likewise.
39048         * modules/mbschr-tests (Files): Likewise.
39049         * modules/mbscspn-tests (Files): Likewise.
39050         * modules/mbsinit-tests (Files): Likewise.
39051         * modules/mbsncasecmp-tests (Files): Likewise.
39052         * modules/mbsnrtowcs-tests (Files): Likewise.
39053         * modules/mbspbrk-tests (Files): Likewise.
39054         * modules/mbspcasecmp-tests (Files): Likewise.
39055         * modules/mbsrchr-tests (Files): Likewise.
39056         * modules/mbsrtowcs-tests (Files): Likewise.
39057         * modules/mbsspn-tests (Files): Likewise.
39058         * modules/mbsstr-tests (Files): Likewise.
39059         * modules/memchr-tests (Files): Likewise.
39060         * modules/memchr2-tests (Files): Likewise.
39061         * modules/memcmp-tests (Files): Likewise.
39062         * modules/memmem-tests (Files): Likewise.
39063         * modules/memrchr-tests (Files): Likewise.
39064         * modules/mkdir-tests (Files): Likewise.
39065         * modules/mkfifo-tests (Files): Likewise.
39066         * modules/mkfifoat-tests (Files): Likewise.
39067         * modules/mknod-tests (Files): Likewise.
39068         * modules/nanosleep-tests (Files): Likewise.
39069         * modules/nl_langinfo-tests (Files): Likewise.
39070         * modules/obstack-printf-tests (Files): Likewise.
39071         * modules/open-tests (Files): Likewise.
39072         * modules/openat-tests (Files): Likewise.
39073         * modules/pipe-filter-gi-tests (Files): Likewise.
39074         * modules/pipe-filter-ii-tests (Files): Likewise.
39075         * modules/pipe2-tests (Files): Likewise.
39076         * modules/popen-safer-tests (Files): Likewise.
39077         * modules/popen-tests (Files): Likewise.
39078         * modules/posixtm-tests (Files): Likewise.
39079         * modules/pread-tests (Files): Likewise.
39080         * modules/printf-frexp-tests (Files): Likewise.
39081         * modules/printf-frexpl-tests (Files): Likewise.
39082         * modules/printf-posix-tests (Files): Likewise.
39083         * modules/priv-set-tests (Files): Likewise.
39084         * modules/quotearg-tests (Files): Likewise.
39085         * modules/random_r-tests (Files): Likewise.
39086         * modules/rawmemchr-tests (Files): Likewise.
39087         * modules/rbtree-list-tests (Files): Likewise.
39088         * modules/rbtree-oset-tests (Files): Likewise.
39089         * modules/rbtreehash-list-tests (Files): Likewise.
39090         * modules/readlink-tests (Files): Likewise.
39091         * modules/remove-tests (Files): Likewise.
39092         * modules/rename-tests (Files): Likewise.
39093         * modules/renameat-tests (Files): Likewise.
39094         * modules/rmdir-tests (Files): Likewise.
39095         * modules/round-tests (Files): Likewise.
39096         * modules/roundf-tests (Files): Likewise.
39097         * modules/roundl-tests (Files): Likewise.
39098         * modules/safe-alloc-tests (Files): Likewise.
39099         * modules/setenv-tests (Files): Likewise.
39100         * modules/sigaction-tests (Files): Likewise.
39101         * modules/signbit-tests (Files): Likewise.
39102         * modules/sleep-tests (Files): Likewise.
39103         * modules/snprintf-posix-tests (Files): Likewise.
39104         * modules/snprintf-tests (Files): Likewise.
39105         * modules/sprintf-posix-tests (Files): Likewise.
39106         * modules/stat-tests (Files): Likewise.
39107         * modules/stat-time-tests (Files): Likewise.
39108         * modules/strcasestr-tests (Files): Likewise.
39109         * modules/strchrnul-tests (Files): Likewise.
39110         * modules/strerror-tests (Files): Likewise.
39111         * modules/striconv-tests (Files): Likewise.
39112         * modules/striconveh-tests (Files): Likewise.
39113         * modules/striconveha-tests (Files): Likewise.
39114         * modules/strsignal-tests (Files): Likewise.
39115         * modules/strstr-tests (Files): Likewise.
39116         * modules/strtod-tests (Files): Likewise.
39117         * modules/strverscmp-tests (Files): Likewise.
39118         * modules/symlink-tests (Files): Likewise.
39119         * modules/symlinkat-tests (Files): Likewise.
39120         * modules/trunc-tests (Files): Likewise.
39121         * modules/truncf-tests (Files): Likewise.
39122         * modules/truncl-tests (Files): Likewise.
39123         * modules/uname-tests (Files): Likewise.
39124         * modules/unicase/cased-tests (Files): Likewise.
39125         * modules/unicase/ignorable-tests (Files): Likewise.
39126         * modules/unicase/locale-language-tests (Files): Likewise.
39127         * modules/unicase/tolower-tests (Files): Likewise.
39128         * modules/unicase/totitle-tests (Files): Likewise.
39129         * modules/unicase/toupper-tests (Files): Likewise.
39130         * modules/unicase/u8-casecmp-tests (Files): Likewise.
39131         * modules/unicase/u8-casecoll-tests (Files): Likewise.
39132         * modules/unicase/u8-casefold-tests (Files): Likewise.
39133         * modules/unicase/u8-is-cased-tests (Files): Likewise.
39134         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
39135         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
39136         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
39137         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
39138         * modules/unicase/u8-tolower-tests (Files): Likewise.
39139         * modules/unicase/u8-totitle-tests (Files): Likewise.
39140         * modules/unicase/u8-toupper-tests (Files): Likewise.
39141         * modules/unicase/u16-casecmp-tests (Files): Likewise.
39142         * modules/unicase/u16-casecoll-tests (Files): Likewise.
39143         * modules/unicase/u16-casefold-tests (Files): Likewise.
39144         * modules/unicase/u16-is-cased-tests (Files): Likewise.
39145         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
39146         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
39147         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
39148         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
39149         * modules/unicase/u16-tolower-tests (Files): Likewise.
39150         * modules/unicase/u16-totitle-tests (Files): Likewise.
39151         * modules/unicase/u16-toupper-tests (Files): Likewise.
39152         * modules/unicase/u32-casecmp-tests (Files): Likewise.
39153         * modules/unicase/u32-casecoll-tests (Files): Likewise.
39154         * modules/unicase/u32-casefold-tests (Files): Likewise.
39155         * modules/unicase/u32-is-cased-tests (Files): Likewise.
39156         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
39157         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
39158         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
39159         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
39160         * modules/unicase/u32-tolower-tests (Files): Likewise.
39161         * modules/unicase/u32-totitle-tests (Files): Likewise.
39162         * modules/unicase/u32-toupper-tests (Files): Likewise.
39163         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
39164         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
39165         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
39166         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
39167         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
39168         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
39169         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
39170         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
39171         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
39172         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
39173         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
39174         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
39175         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
39176         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
39177         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
39178         * modules/unictype/bidicategory-name-tests (Files): Likewise.
39179         * modules/unictype/bidicategory-of-tests (Files): Likewise.
39180         * modules/unictype/bidicategory-test-tests (Files): Likewise.
39181         * modules/unictype/block-list-tests (Files): Likewise.
39182         * modules/unictype/block-of-tests (Files): Likewise.
39183         * modules/unictype/block-test-tests (Files): Likewise.
39184         * modules/unictype/category-C-tests (Files): Likewise.
39185         * modules/unictype/category-Cc-tests (Files): Likewise.
39186         * modules/unictype/category-Cf-tests (Files): Likewise.
39187         * modules/unictype/category-Cn-tests (Files): Likewise.
39188         * modules/unictype/category-Co-tests (Files): Likewise.
39189         * modules/unictype/category-Cs-tests (Files): Likewise.
39190         * modules/unictype/category-L-tests (Files): Likewise.
39191         * modules/unictype/category-Ll-tests (Files): Likewise.
39192         * modules/unictype/category-Lm-tests (Files): Likewise.
39193         * modules/unictype/category-Lo-tests (Files): Likewise.
39194         * modules/unictype/category-Lt-tests (Files): Likewise.
39195         * modules/unictype/category-Lu-tests (Files): Likewise.
39196         * modules/unictype/category-M-tests (Files): Likewise.
39197         * modules/unictype/category-Mc-tests (Files): Likewise.
39198         * modules/unictype/category-Me-tests (Files): Likewise.
39199         * modules/unictype/category-Mn-tests (Files): Likewise.
39200         * modules/unictype/category-N-tests (Files): Likewise.
39201         * modules/unictype/category-Nd-tests (Files): Likewise.
39202         * modules/unictype/category-Nl-tests (Files): Likewise.
39203         * modules/unictype/category-No-tests (Files): Likewise.
39204         * modules/unictype/category-P-tests (Files): Likewise.
39205         * modules/unictype/category-Pc-tests (Files): Likewise.
39206         * modules/unictype/category-Pd-tests (Files): Likewise.
39207         * modules/unictype/category-Pe-tests (Files): Likewise.
39208         * modules/unictype/category-Pf-tests (Files): Likewise.
39209         * modules/unictype/category-Pi-tests (Files): Likewise.
39210         * modules/unictype/category-Po-tests (Files): Likewise.
39211         * modules/unictype/category-Ps-tests (Files): Likewise.
39212         * modules/unictype/category-S-tests (Files): Likewise.
39213         * modules/unictype/category-Sc-tests (Files): Likewise.
39214         * modules/unictype/category-Sk-tests (Files): Likewise.
39215         * modules/unictype/category-Sm-tests (Files): Likewise.
39216         * modules/unictype/category-So-tests (Files): Likewise.
39217         * modules/unictype/category-Z-tests (Files): Likewise.
39218         * modules/unictype/category-Zl-tests (Files): Likewise.
39219         * modules/unictype/category-Zp-tests (Files): Likewise.
39220         * modules/unictype/category-Zs-tests (Files): Likewise.
39221         * modules/unictype/category-and-not-tests (Files): Likewise.
39222         * modules/unictype/category-and-tests (Files): Likewise.
39223         * modules/unictype/category-byname-tests (Files): Likewise.
39224         * modules/unictype/category-name-tests (Files): Likewise.
39225         * modules/unictype/category-none-tests (Files): Likewise.
39226         * modules/unictype/category-of-tests (Files): Likewise.
39227         * modules/unictype/category-or-tests (Files): Likewise.
39228         * modules/unictype/category-test-withtable-tests (Files): Likewise.
39229         * modules/unictype/combining-class-tests (Files): Likewise.
39230         * modules/unictype/ctype-alnum-tests (Files): Likewise.
39231         * modules/unictype/ctype-alpha-tests (Files): Likewise.
39232         * modules/unictype/ctype-blank-tests (Files): Likewise.
39233         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
39234         * modules/unictype/ctype-digit-tests (Files): Likewise.
39235         * modules/unictype/ctype-graph-tests (Files): Likewise.
39236         * modules/unictype/ctype-lower-tests (Files): Likewise.
39237         * modules/unictype/ctype-print-tests (Files): Likewise.
39238         * modules/unictype/ctype-punct-tests (Files): Likewise.
39239         * modules/unictype/ctype-space-tests (Files): Likewise.
39240         * modules/unictype/ctype-upper-tests (Files): Likewise.
39241         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
39242         * modules/unictype/decimal-digit-tests (Files): Likewise.
39243         * modules/unictype/digit-tests (Files): Likewise.
39244         * modules/unictype/mirror-tests (Files): Likewise.
39245         * modules/unictype/numeric-tests (Files): Likewise.
39246         * modules/unictype/property-alphabetic-tests (Files): Likewise.
39247         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
39248         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
39249         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
39250         Likewise.
39251         * modules/unictype/property-bidi-block-separator-tests (Files):
39252         Likewise.
39253         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
39254         Likewise.
39255         * modules/unictype/property-bidi-common-separator-tests (Files):
39256         Likewise.
39257         * modules/unictype/property-bidi-control-tests (Files): Likewise.
39258         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
39259         Likewise.
39260         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
39261         Likewise.
39262         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
39263         Likewise.
39264         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
39265         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
39266         Likewise.
39267         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
39268         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
39269         Likewise.
39270         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
39271         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
39272         * modules/unictype/property-bidi-segment-separator-tests (Files):
39273         Likewise.
39274         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
39275         * modules/unictype/property-byname-tests (Files): Likewise.
39276         * modules/unictype/property-combining-tests (Files): Likewise.
39277         * modules/unictype/property-composite-tests (Files): Likewise.
39278         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
39279         * modules/unictype/property-dash-tests (Files): Likewise.
39280         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
39281         * modules/unictype/property-default-ignorable-code-point-tests (Files):
39282         Likewise.
39283         * modules/unictype/property-deprecated-tests (Files): Likewise.
39284         * modules/unictype/property-diacritic-tests (Files): Likewise.
39285         * modules/unictype/property-extender-tests (Files): Likewise.
39286         * modules/unictype/property-format-control-tests (Files): Likewise.
39287         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
39288         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
39289         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
39290         * modules/unictype/property-hex-digit-tests (Files): Likewise.
39291         * modules/unictype/property-hyphen-tests (Files): Likewise.
39292         * modules/unictype/property-id-continue-tests (Files): Likewise.
39293         * modules/unictype/property-id-start-tests (Files): Likewise.
39294         * modules/unictype/property-ideographic-tests (Files): Likewise.
39295         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
39296         * modules/unictype/property-ids-trinary-operator-tests (Files):
39297         Likewise.
39298         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
39299         * modules/unictype/property-iso-control-tests (Files): Likewise.
39300         * modules/unictype/property-join-control-tests (Files): Likewise.
39301         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
39302         * modules/unictype/property-line-separator-tests (Files): Likewise.
39303         * modules/unictype/property-logical-order-exception-tests (Files):
39304         Likewise.
39305         * modules/unictype/property-lowercase-tests (Files): Likewise.
39306         * modules/unictype/property-math-tests (Files): Likewise.
39307         * modules/unictype/property-non-break-tests (Files): Likewise.
39308         * modules/unictype/property-not-a-character-tests (Files): Likewise.
39309         * modules/unictype/property-numeric-tests (Files): Likewise.
39310         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
39311         * modules/unictype/property-other-default-ignorable-code-point-tests
39312         (Files): Likewise.
39313         * modules/unictype/property-other-grapheme-extend-tests (Files):
39314         Likewise.
39315         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
39316         * modules/unictype/property-other-id-start-tests (Files): Likewise.
39317         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
39318         * modules/unictype/property-other-math-tests (Files): Likewise.
39319         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
39320         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
39321         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
39322         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
39323         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
39324         * modules/unictype/property-private-use-tests (Files): Likewise.
39325         * modules/unictype/property-punctuation-tests (Files): Likewise.
39326         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
39327         * modules/unictype/property-radical-tests (Files): Likewise.
39328         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
39329         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
39330         * modules/unictype/property-space-tests (Files): Likewise.
39331         * modules/unictype/property-terminal-punctuation-tests (Files):
39332         Likewise.
39333         * modules/unictype/property-test-tests (Files): Likewise.
39334         * modules/unictype/property-titlecase-tests (Files): Likewise.
39335         * modules/unictype/property-unassigned-code-value-tests (Files):
39336         Likewise.
39337         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
39338         * modules/unictype/property-uppercase-tests (Files): Likewise.
39339         * modules/unictype/property-variation-selector-tests (Files): Likewise.
39340         * modules/unictype/property-white-space-tests (Files): Likewise.
39341         * modules/unictype/property-xid-continue-tests (Files): Likewise.
39342         * modules/unictype/property-xid-start-tests (Files): Likewise.
39343         * modules/unictype/property-zero-width-tests (Files): Likewise.
39344         * modules/unictype/scripts-tests (Files): Likewise.
39345         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
39346         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
39347         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
39348         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
39349         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
39350         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
39351         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
39352         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
39353         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
39354         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
39355         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
39356         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
39357         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
39358         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
39359         * modules/uninorm/composition-tests (Files): Likewise.
39360         * modules/uninorm/decomposing-form-tests (Files): Likewise.
39361         * modules/uninorm/decomposition-tests (Files): Likewise.
39362         * modules/uninorm/filter-tests (Files): Likewise.
39363         * modules/uninorm/nfc-tests (Files): Likewise.
39364         * modules/uninorm/nfd-tests (Files): Likewise.
39365         * modules/uninorm/nfkc-tests (Files): Likewise.
39366         * modules/uninorm/nfkd-tests (Files): Likewise.
39367         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
39368         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
39369         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
39370         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
39371         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
39372         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
39373         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
39374         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
39375         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
39376         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
39377         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
39378         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
39379         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
39380         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
39381         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
39382         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
39383         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
39384         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
39385         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
39386         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
39387         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
39388         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
39389         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
39390         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
39391         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
39392         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
39393         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
39394         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
39395         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
39396         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
39397         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
39398         * modules/uniwidth/u8-width-tests (Files): Likewise.
39399         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
39400         * modules/uniwidth/u16-width-tests (Files): Likewise.
39401         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
39402         * modules/uniwidth/u32-width-tests (Files): Likewise.
39403         * modules/uniwidth/width-tests (Files): Likewise.
39404         * modules/unlink-tests (Files): Likewise.
39405         * modules/unsetenv-tests (Files): Likewise.
39406         * modules/usleep-tests (Files): Likewise.
39407         * modules/utimens-tests (Files): Likewise.
39408         * modules/utimensat-tests (Files): Likewise.
39409         * modules/vasnprintf-posix-tests (Files): Likewise.
39410         * modules/vasnprintf-tests (Files): Likewise.
39411         * modules/vasprintf-posix-tests (Files): Likewise.
39412         * modules/vasprintf-tests (Files): Likewise.
39413         * modules/vdprintf-posix-tests (Files): Likewise.
39414         * modules/vfprintf-posix-tests (Files): Likewise.
39415         * modules/vprintf-posix-tests (Files): Likewise.
39416         * modules/vsnprintf-posix-tests (Files): Likewise.
39417         * modules/vsnprintf-tests (Files): Likewise.
39418         * modules/vsprintf-posix-tests (Files): Likewise.
39419         * modules/wcrtomb-tests (Files): Likewise.
39420         * modules/wcsnrtombs-tests (Files): Likewise.
39421         * modules/wcsrtombs-tests (Files): Likewise.
39422         * modules/wctype-tests (Files): Likewise.
39423         * modules/wcwidth-tests (Files): Likewise.
39424         * modules/xmemdup0-tests (Files): Likewise.
39425         * modules/xprintf-posix-tests (Files): Likewise.
39426         * modules/xvasprintf-tests (Files): Likewise.
39427
39428 2009-12-24  Eric Blake  <ebb9@byu.net>
39429
39430         test-nanosleep: fix typo
39431         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
39432         patch.
39433         Reported by Bruno Haible.
39434
39435 2009-12-24  Bruno Haible  <bruno@clisp.org>
39436
39437         Reduce namespace pollution on glibc systems.
39438         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
39439         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
39440         systems.
39441         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
39442         <getopt.h> on glibc systems.
39443         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
39444         systems.
39445         * lib/fcntl.c: Include <unistd.h> here instead.
39446
39447 2009-12-24  Bruno Haible  <bruno@clisp.org>
39448
39449         * lib/stdlib.in.h (includes): Fix typo in today's commit.
39450
39451 2009-12-24  Eric Blake  <ebb9@byu.net>
39452
39453         tests: add signature checks
39454         * tests/signature.h (SIGNATURE_CHECK): New file.
39455         * modules/atexit-tests (Files): Use it.
39456         * modules/btowc-tests (Files): Likewise.
39457         * modules/canonicalize-lgpl-tests (Files): Likewise.
39458         * modules/ceilf-tests (Files): Likewise.
39459         * modules/ceill-tests (Files): Likewise.
39460         * modules/chown-tests (Files): Likewise.
39461         * modules/dprintf-posix-tests (Files): Likewise.
39462         * modules/dup2-tests (Files): Likewise.
39463         * modules/dup3-tests (Files): Likewise.
39464         * modules/duplocale-tests (Files): Likewise.
39465         * modules/fchdir-tests (Files): Likewise.
39466         * modules/fcntl-tests (Files): Likewise.
39467         * modules/fdopendir-tests (Files): Likewise.
39468         * modules/fflush-tests (Files): Likewise.
39469         * modules/flock-tests (Files): Likewise.
39470         * modules/floorf-tests (Files): Likewise.
39471         * modules/floorl-tests (Files): Likewise.
39472         * modules/fnmatch-tests (Files): Likewise.
39473         * modules/fopen-tests (Files): Likewise.
39474         * modules/fprintf-posix-tests (Files): Likewise.
39475         * modules/freopen-tests (Files): Likewise.
39476         * modules/frexp-nolibm-tests (Files): Likewise.
39477         * modules/frexp-tests (Files): Likewise.
39478         * modules/frexpl-nolibm-tests (Files): Likewise.
39479         * modules/frexpl-tests (Files): Likewise.
39480         * modules/fseek-tests (Files): Likewise.
39481         * modules/fseeko-tests (Files): Likewise.
39482         * modules/fsync-tests (Files): Likewise.
39483         * modules/ftell-tests (Files): Likewise.
39484         * modules/ftello-tests (Files): Likewise.
39485         * modules/futimens-tests (Files): Likewise.
39486         * modules/getaddrinfo-tests (Files): Likewise.
39487         * modules/getcwd-tests (Files): Likewise.
39488         * modules/getdelim-tests (Files): Likewise.
39489         * modules/getdtablesize-tests (Files): Likewise.
39490         * modules/getgroups-tests (Files): Likewise.
39491         * modules/gethostname-tests (Files): Likewise.
39492         * modules/getline-tests (Files): Likewise.
39493         * modules/getopt-posix-tests (Files): Likewise.
39494         * modules/gettimeofday-tests (Files): Likewise.
39495         * modules/glob-tests (Files): Likewise.
39496         * modules/iconv-tests (Files): Likewise.
39497         * modules/inet_ntop-tests (Files): Likewise.
39498         * modules/inet_pton-tests (Files): Likewise.
39499         * modules/isblank-tests (Files): Likewise.
39500         * modules/lchown-tests (Files): Likewise.
39501         * modules/ldexpl-tests (Files): Likewise.
39502         * modules/link-tests (Files): Likewise.
39503         * modules/linkat-tests (Files): Likewise.
39504         * modules/lseek-tests (Files): Likewise.
39505         * modules/lstat-tests (Files): Likewise.
39506         * modules/mbrtowc-tests (Files): Likewise.
39507         * modules/mbsinit-tests (Files): Likewise.
39508         * modules/mbsnrtowcs-tests (Files): Likewise.
39509         * modules/mbsrtowcs-tests (Files): Likewise.
39510         * modules/memchr-tests (Files): Likewise.
39511         * modules/memcmp-tests (Files): Likewise.
39512         * modules/memmem-tests (Files): Likewise.
39513         * modules/memrchr-tests (Files): Likewise.
39514         * modules/mkdir-tests (Files): Likewise.
39515         * modules/mkfifo-tests (Files): Likewise.
39516         * modules/mkfifoat-tests (Files): Likewise.
39517         * modules/mknod-tests (Files): Likewise.
39518         * modules/nanosleep-tests (Files): Likewise.
39519         * modules/nl_langinfo-tests (Files): Likewise.
39520         * modules/obstack-printf-tests (Files): Likewise.
39521         * modules/open-tests (Files): Likewise.
39522         * modules/openat-tests (Files): Likewise.
39523         * modules/perror-tests (Files): Likewise.
39524         * modules/pipe2-tests (Files): Likewise.
39525         * modules/poll-tests (Files): Likewise.
39526         * modules/popen-tests (Files): Likewise.
39527         * modules/posix_spawn-tests (Files): Likewise.
39528         * modules/posix_spawnp-tests (Files): Likewise.
39529         * modules/pread-tests (Files): Likewise.
39530         * modules/printf-posix-tests (Files): Likewise.
39531         * modules/pty-tests (Files): Likewise.
39532         * modules/random_r-tests (Files): Likewise.
39533         * modules/rawmemchr-tests (Files): Likewise.
39534         * modules/readlink-tests (Files): Likewise.
39535         * modules/remove-tests (Files): Likewise.
39536         * modules/rename-tests (Files): Likewise.
39537         * modules/renameat-tests (Files): Likewise.
39538         * modules/rmdir-tests (Files): Likewise.
39539         * modules/round-tests (Files): Likewise.
39540         * modules/roundf-tests (Files): Likewise.
39541         * modules/roundl-tests (Files): Likewise.
39542         * modules/select-tests (Files): Likewise.
39543         * modules/setenv-tests (Files): Likewise.
39544         * modules/sigaction-tests (Files): Likewise.
39545         * modules/sleep-tests (Files): Likewise.
39546         * modules/snprintf-posix-tests (Files): Likewise.
39547         * modules/snprintf-tests (Files): Likewise.
39548         * modules/sprintf-posix-tests (Files): Likewise.
39549         * modules/stat-tests (Files): Likewise.
39550         * modules/strcasestr-tests (Files): Likewise.
39551         * modules/strchrnul-tests (Files): Likewise.
39552         * modules/strerror-tests (Files): Likewise.
39553         * modules/strsignal-tests (Files): Likewise.
39554         * modules/strstr-tests (Files): Likewise.
39555         * modules/strtod-tests (Files): Likewise.
39556         * modules/strverscmp-tests (Files): Likewise.
39557         * modules/symlink-tests (Files): Likewise.
39558         * modules/symlinkat-tests (Files): Likewise.
39559         * modules/times-tests (Files): Likewise.
39560         * modules/trunc-tests (Files): Likewise.
39561         * modules/truncf-tests (Files): Likewise.
39562         * modules/truncl-tests (Files): Likewise.
39563         * modules/tsearch-tests (Files): Likewise.
39564         * modules/uname-tests (Files): Likewise.
39565         * modules/unlink-tests (Files): Likewise.
39566         * modules/unsetenv-tests (Files): Likewise.
39567         * modules/usleep-tests (Files): Likewise.
39568         * modules/utimensat-tests (Files): Likewise.
39569         * modules/vasprintf-tests (Files): Likewise.
39570         * modules/vdprintf-posix-tests (Files): Likewise.
39571         * modules/vfprintf-posix-tests (Files): Likewise.
39572         * modules/vprintf-posix-tests (Files): Likewise.
39573         * modules/vsnprintf-posix-tests (Files): Likewise.
39574         * modules/vsnprintf-tests (Files): Likewise.
39575         * modules/vsprintf-posix-tests (Files): Likewise.
39576         * modules/wcrtomb-tests (Files): Likewise.
39577         * modules/wcsnrtombs-tests (Files): Likewise.
39578         * modules/wcsrtombs-tests (Files): Likewise.
39579         * modules/wcwidth-tests (Files): Likewise.
39580         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
39581         * tests/test-isinf.c (isinf): Likewise.
39582         * tests/test-isnan.c (isnan): Likewise.
39583         * tests/test-signbit.c (signbit): Likewise.
39584         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
39585         declaration, either as macro or with correct signature.
39586         (select): Ensure function under test is declared with correct
39587         signature in correct header.
39588         * tests/test-atexit.c (atexit): Likewise.
39589         * tests/test-btowc.c (btowc): Likewise.
39590         * tests/test-canonicalize-lgpl.c (realpath)
39591         (canonicalize_file_name): Likewise.
39592         * tests/test-ceilf1.c (ceilf): Likewise.
39593         * tests/test-ceill.c (ceill): Likewise.
39594         * tests/test-chown.c (chown): Likewise.
39595         * tests/test-dprintf-posix.c (dprintf): Likewise.
39596         * tests/test-dup2.c (dup2): Likewise.
39597         * tests/test-dup3.c (dup3): Likewise.
39598         * tests/test-duplocale.c (duplocale): Likewise.
39599         * tests/test-fchdir.c (fchdir): Likewise.
39600         * tests/test-fchownat.c (fchownat): Likewise.
39601         * tests/test-fcntl.c (fcntl): Likewise.
39602         * tests/test-fdopendir.c (fdopendir): Likewise.
39603         * tests/test-fflush.c (fflush): Likewise.
39604         * tests/test-flock.c (flock): Likewise.
39605         * tests/test-floorf1.c (floorf): Likewise.
39606         * tests/test-floorl.c (floorl): Likewise.
39607         * tests/test-fnmatch.c (fnmatch): Likewise.
39608         * tests/test-fopen.c (fopen): Likewise.
39609         * tests/test-fprintf-posix.c (fprintf): Likewise.
39610         * tests/test-freopen.c (freopen): Likewise.
39611         * tests/test-frexp.c (frexp): Likewise.
39612         * tests/test-frexpl.c (frexpl): Likewise.
39613         * tests/test-fseek.c (fseek): Likewise.
39614         * tests/test-fseeko.c (fseeko): Likewise.
39615         * tests/test-fstatat.c (fstatat): Likewise.
39616         * tests/test-fsync.c (fsync): Likewise.
39617         * tests/test-ftell.c (ftell): Likewise.
39618         * tests/test-ftello.c (ftello): Likewise.
39619         * tests/test-futimens.c (futimens): Likewise.
39620         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
39621         (gai_strerror): Likewise.
39622         * tests/test-getcwd.c (getcwd): Likewise.
39623         * tests/test-getdelim.c (getdelim): Likewise.
39624         * tests/test-getdtablesize.c (getdtablesize): Likewise.
39625         * tests/test-getgroups.c (getgroups): Likewise.
39626         * tests/test-gethostname.c (gethostname): Likewise.
39627         * tests/test-getline.c (getline): Likewise.
39628         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
39629         Likewise.
39630         * tests/test-gettimeofday.c (gettimeofday): Likewise.
39631         * tests/test-glob.c (glob, globfree): Likewise.
39632         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
39633         * tests/test-inet_ntop.c (inet_ntop): Likewise.
39634         * tests/test-inet_pton.c (inet_pton): Likewise.
39635         * tests/test-isblank.c (isblank): Likewise.
39636         * tests/test-lchown.c (lchown): Likewise.
39637         * tests/test-ldexpl.c (ldexpl): Likewise.
39638         * tests/test-link.c (link): Likewise.
39639         * tests/test-linkat.c (linkat): Likewise.
39640         * tests/test-lseek.c (lseek): Likewise.
39641         * tests/test-lstat.c (lstat): Likewise.
39642         * tests/test-mbrtowc.c (mbrtowc): Likewise.
39643         * tests/test-mbsinit.c (mbsinit): Likewise.
39644         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
39645         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
39646         * tests/test-memchr.c (memchr): Likewise.
39647         * tests/test-memcmp.c (memcmp): Likewise.
39648         * tests/test-memmem.c (memmem): Likewise.
39649         * tests/test-memrchr.c (memrchr): Likewise.
39650         * tests/test-mkdir.c (mkdir): Likewise.
39651         * tests/test-mkdirat.c (mkdirat): Likewise.
39652         * tests/test-mkfifo.c (mkfifo): Likewise.
39653         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
39654         * tests/test-mknod.c (mknod): Likewise.
39655         * tests/test-nanosleep.c (nanosleep): Likewise.
39656         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
39657         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
39658         Likewise.
39659         * tests/test-open.c (open): Likewise.
39660         * tests/test-openat.c (openat): Likewise.
39661         * tests/test-perror.c (perror): Likewise.
39662         * tests/test-pipe2.c (pipe2): Likewise.
39663         * tests/test-poll.c (poll): Likewise.
39664         * tests/test-popen.c (popen, pclose): Likewise.
39665         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
39666         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
39667         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
39668         (posix_spawn_file_actions_destroy)
39669         (posix_spawn_file_actions_addclose)
39670         (posix_spawn_file_actions_addopen)
39671         (posix_spawn_file_actions_adddup2): Likewise.
39672         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
39673         * tests/test-pread.c (pread): Likewise.
39674         * tests/test-printf-posix.c (printf): Likewise.
39675         * tests/test-pty.c (openpty, forkpty): Likewise.
39676         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
39677         (random_r): Likewise.
39678         * tests/test-rawmemchr.c (rawmemchr): Likewise.
39679         * tests/test-readlink.c (readlink): Likewise.
39680         * tests/test-remove.c (remove): Likewise.
39681         * tests/test-rename.c (rename): Likewise.
39682         * tests/test-renameat.c (renameat): Likewise.
39683         * tests/test-rmdir.c (rmdir): Likewise.
39684         * tests/test-round1.c (round): Likewise.
39685         * tests/test-roundf1.c (roundf): Likewise.
39686         * tests/test-roundl.c (roundl): Likewise.
39687         * tests/test-setenv.c (setenv): Likewise.
39688         * tests/test-sigaction.c (sigaction): Likewise.
39689         * tests/test-sleep.c (sleep): Likewise.
39690         * tests/test-snprintf.c (snprintf): Likewise.
39691         * tests/test-sprintf-posix.c (sprintf): Likewise.
39692         * tests/test-stat.c (stat): Likewise.
39693         * tests/test-stpncpy.c (stpncpy): Likewise.
39694         * tests/test-strcasestr.c (strcasestr): Likewise.
39695         * tests/test-strchrnul.c (strchrnul): Likewise.
39696         * tests/test-strerror.c (strerror): Likewise.
39697         * tests/test-strsignal.c (strsignal): Likewise.
39698         * tests/test-strstr.c (strstr): Likewise.
39699         * tests/test-strtod.c (strtod): Likewise.
39700         * tests/test-strverscmp.c (strverscmp): Likewise.
39701         * tests/test-symlink.c (symlink): Likewise.
39702         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
39703         * tests/test-times.c (times): Likewise.
39704         * tests/test-trunc1.c (trunc): Likewise.
39705         * tests/test-truncf1.c (truncf): Likewise.
39706         * tests/test-truncl.c (truncl): Likewise.
39707         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
39708         Likewise.
39709         * tests/test-uname.c (uname): Likewise.
39710         * tests/test-unlink.c (unlink): Likewise.
39711         * tests/test-unlinkat.c (unlinkat): Likewise.
39712         * tests/test-unsetenv.c (unsetenv): Likewise.
39713         * tests/test-usleep.c (usleep): Likewise.
39714         * tests/test-utimensat.c (utimensat): Likewise.
39715         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
39716         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
39717         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
39718         * tests/test-vprintf-posix.c (vprintf): Likewise.
39719         * tests/test-vsnprintf.c (vsnprintf): Likewise.
39720         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
39721         * tests/test-wcrtomb.c (wcrtomb): Likewise.
39722         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
39723         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
39724         * tests/test-wcwidth.c (wcwidth): Likewise.
39725
39726         build: pull in conditional headers during GNULIB_POSIXCHECK
39727         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
39728         definitions from any conditionally-included headers.
39729         * lib/stdlib.in.h (includes): Likewise.
39730         * lib/unistd.in.h (includes): Likewise.
39731
39732 2009-12-24  Bruno Haible  <bruno@clisp.org>
39733
39734         * tests/test-argv-iter.c: Include header file being tested immediately
39735         after config.h.
39736         * tests/test-base64.c: Likewise.
39737         * tests/test-flock.c: Likewise.
39738         * tests/test-fsync.c: Likewise.
39739         * tests/test-getdate.c: Likewise.
39740         * tests/test-getndelim2.c: Likewise.
39741         * tests/test-isfinite.c: Likewise.
39742         * tests/test-isinf.c: Likewise.
39743         * tests/test-strerror.c: Likewise.
39744         * tests/test-strsignal.c: Likewise.
39745
39746 2009-12-23  Eric Blake  <ebb9@byu.net>
39747
39748         unistd: work around cygwin bug
39749         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
39750         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
39751         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39752
39753 2009-12-23  Bruno Haible  <bruno@clisp.org>
39754
39755         localename: More tests.
39756         * tests/test-localename.c (SIZEOF): New macro.
39757         (categories): New variable.
39758         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
39759         test_locale_name_default): Add test w.r.t. thread locale.
39760         (test_locale_name_thread): New function.
39761         (main): Invoke it.
39762
39763         localename: Make aware of thread locale.
39764         * lib/localename.h (gl_locale_name_thread): New declaration.
39765         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
39766         behaviour with respect to thread locale.
39767         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
39768         <langinfo.h>, glthread/lock.h.
39769         (SIZE_BITS): New macro.
39770         (string_hash): New function.
39771         (struct hash_node): New type.
39772         (HASH_TABLE_SIZE): New macro.
39773         (struniq_hash_table, struniq_lock): New variables.
39774         (struniq): New function.
39775         (gl_locale_name_thread): New function.
39776         (gl_locale_name): Invoke it.
39777         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
39778         * modules/localename (Depends-on): Add lock.
39779         Reported by Mike Gran <spk121@yahoo.com>.
39780
39781 2009-12-23  Eric Blake  <ebb9@byu.net>
39782
39783         va-args: new module
39784         * modules/va-args: New file.
39785         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
39786         * MODULES.html.sh (Core language properties): Mention it.
39787
39788         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
39789         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
39790         named alias for __attribute__((__unused__)).
39791         * lib/chown.c: Update client.
39792         * lib/fchmodat.c: Likewise.
39793         * lib/fts.c: Likewise.
39794         * lib/getdate.y: Likewise.
39795         * lib/getgroups.c: Likewise.
39796         * lib/getopt.c: Likewise.
39797         * lib/getugroups.c: Likewise.
39798         * lib/mkdir.c: Likewise.
39799         * lib/mkfifo.c: Likewise.
39800         * lib/mkfifoat.c: Likewise.
39801         * lib/mknod.c: Likewise.
39802         * lib/mknodat.c: Likewise.
39803         * lib/readlink.c: Likewise.
39804         * lib/se-context.in.h: Likewise.
39805         * lib/se-selinux.in.h: Likewise.
39806         * lib/sockets.c: Likewise.
39807         * lib/symlink.c: Likewise.
39808         * lib/symlinkat.c: Likewise.
39809         * lib/unicodeio.c: Likewise.
39810         * lib/unistr.h: Likewise.
39811         * tests/test-areadlink.c: Likewise.
39812         * tests/test-areadlinkat.c: Likewise.
39813         * tests/test-filenamecat.c: Likewise.
39814         * tests/test-fseeko.c: Likewise.
39815         * tests/test-ftello.c: Likewise.
39816         * tests/test-getdate.c: Likewise.
39817         * tests/test-getgroups.c: Likewise.
39818         * tests/test-gethostname.c: Likewise.
39819         * tests/test-quotearg.c: Likewise.
39820         * tests/test-version-etc.c: Likewise.
39821         * tests/test-xalloc-die.c: Likewise.
39822         * tests/test-xfprintf-posix.c: Likewise.
39823         * tests/test-xprintf-posix.c: Likewise.
39824         * tests/test-xvasprintf.c: Likewise.
39825
39826         tests: avoid compiler warnings
39827         * tests/test-fcntl.c (main): Delete unused parameters.
39828         * tests/test-freopen-safer.c (main): Likewise.
39829         * tests/test-xalloc-die.c (main): Mark unused parameters.
39830         * tests/test-fseeko.c (main): Likewise.
39831         * tests/test-ftello.c (main): Likewise.
39832         * tests/test-nanosleep.c (main): Avoid declaration warning.
39833         * tests/test-sleep.c (main): Likewise.
39834         * tests/test-unsetenv.c (main): Silence warning about string
39835         literal.
39836         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
39837
39838 2009-12-23  Bruno Haible  <bruno@clisp.org>
39839
39840         * tests/test-localename.c (test_locale_name): New function, extracted
39841         from main. Also test mixed situations.
39842         (test_locale_name_posix, test_locale_name_environ,
39843         test_locale_name_default): New functions.
39844         (main): Invoke them all.
39845         * modules/localename-tests (configure.ac): Test for newlocale.
39846
39847 2009-12-23  Bruno Haible  <bruno@clisp.org>
39848
39849         unistd: Ensure getcwd gets declared before being overridden.
39850         * lib/unistd.in.h: Conditionally include <io.h>.
39851
39852 2009-12-22  Bruno Haible  <bruno@clisp.org>
39853
39854         wchar: Diagnose broken combination of glibc and gcc versions and flags.
39855         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
39856         (gl_WCHAR_H): Invoke it.
39857         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
39858         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
39859         Reported by Karl Berry <karl@freefriends.org>.
39860
39861 2009-12-22  Eric Blake  <ebb9@byu.net>
39862
39863         math, unistd: avoid redundant includes
39864         * lib/math.in.h (isnan): No need to re-include <math.h>.
39865         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
39866
39867         getsubopt: work around cygwin bug
39868         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
39869         avoid conflicting with system getsubopt.
39870         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
39871         bug.
39872
39873         getopt: synchronize from glibc
39874         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
39875         parameter order.  Adjust all callers.
39876         (_getopt_internal_r, main): Adjust quoting in error messages.
39877         Drop considerations for outdated POSIX 1003.2 error message.
39878         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
39879         callers.
39880         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
39881
39882         test-getopt: test stderr behavior
39883         * modules/getopt-posix-tests (Depends-on): Add dup2.
39884         * tests/test-getopt.c (ASSERT): Avoid stderr.
39885         (main): Move stderr to a temporary file.
39886         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
39887         Instead, add parameter to inform caller if output occurred.
39888         (test_getopt): Adjust all existing tests to expect silence, and
39889         add new tests of leading ":".
39890         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
39891         glibc shortcomings with leading "-:" or "+:" in optstring.
39892         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39893         Likewise.
39894         * doc/posix-functions/getopt.texi (getopt): Likewise.
39895
39896         test-getopt: enhance test
39897         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
39898         supports optind=0.
39899         * tests/test-getopt.c (OPTIND_MIN): Move...
39900         * tests/test-getopt.h (OPTIND_MIN): ...here.
39901         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
39902         Require that optind=0 works, since modern BSD supports it in
39903         addition to optreset, and since coreutils expects it.
39904         (test_getopt_long_only): New test.
39905         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
39906         glibc shortcomings with 'W;', and enforcement of optind=0.
39907         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
39908         Likewise.
39909
39910 2009-12-21  Bruno Haible  <bruno@clisp.org>
39911
39912         localename: Improvements for MacOS X and Cygwin.
39913         * lib/localename.h (gl_locale_name_environ): New declaration.
39914         * lib/localename.c (gl_locale_name_environ): New function, extracted from
39915         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
39916         (gl_locale_name_posix): Invoke it.
39917         (gl_locale_name_default): Add comments. Use Windows native API also on
39918         Cygwin.
39919
39920 2009-12-21  Bruno Haible  <bruno@clisp.org>
39921
39922         Update list of Win32 locale ids.
39923         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
39924         (LANG_SAMI): Renamed from LANG_SAAMI.
39925         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
39926         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
39927         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
39928         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
39929         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
39930         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
39931         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
39932         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
39933         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
39934         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
39935         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
39936         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
39937         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
39938         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
39939         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
39940         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
39941         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
39942         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
39943         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
39944         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
39945         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
39946         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
39947         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
39948         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
39949         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
39950         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
39951         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
39952         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
39953         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
39954         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
39955         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
39956         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
39957         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
39958         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
39959         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
39960         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
39961         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
39962         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
39963         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
39964         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
39965         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
39966         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
39967         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
39968         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
39969         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
39970         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
39971         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
39972         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
39973         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
39974         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
39975         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
39976         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
39977         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
39978         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
39979         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
39980         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
39981         Add more languages and countries for Sami, Sorbian. Add more countries
39982         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
39983         for Pashto. Change country for Syriac, Tswana.
39984
39985 2009-12-21  Eric Blake  <ebb9@byu.net>
39986
39987         test-utimens: avoid spurious failure
39988         * tests/test-chown.h (nap): Factor...
39989         * tests/nap.h: ...into new file.
39990         * tests/test-lchown.h (nap): Avoid duplication.
39991         * tests/test-utimens-common.h (nap): Use shared implementation,
39992         necessary on file systems with 1-second resolution.
39993         * modules/chown-tests (Files): Include new file.
39994         * modules/fdutimensat-tests (Files): Likewise.
39995         * modules/futimens-tests (Files): Likewise.
39996         * modules/lchown-tests (Files): Likewise.
39997         * modules/openat-tests (Files): Likewise.
39998         * modules/utimens-tests (Files): Likewise.
39999         * modules/utimensat-tests (Files): Likewise.
40000
40001 2009-12-19  Eric Blake  <ebb9@byu.net>
40002
40003         futimens, utimensat: work around Linux bug
40004         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
40005         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40006         * lib/utimensat.c (rpl_utimensat): Work around it.
40007         * lib/futimens.c (rpl_futimens): Adjust comment.
40008
40009         utimens: work around Linux ctime bug
40010         * lib/utimens.c (detect_ctime_bug): New helper function.
40011         (update_timespec): Differentiate between workaround needed for
40012         this bug vs. what is needed for systems that lack utimensat.
40013         (fdutimens, lutimens): Work around bug.
40014
40015         utimens: check for ctime update
40016         * tests/test-utimens-common.h (check_ctime): Define.
40017         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
40018         * tests/test-futimens.h (test_futimens): Likewise.
40019         * tests/test-lutimens.h (test_lutimens): Likewise.
40020         * doc/posix-functions/futimens.texi (futimens): Document the bug.
40021         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
40022
40023 2009-12-19  Bruno Haible  <bruno@clisp.org>
40024
40025         dprintf-posix: Check against memory leak fixed on 2009-12-15.
40026         * tests/test-dprintf-posix2.sh: New file.
40027         * tests/test-dprintf-posix2.c: New file.
40028         * modules/dprintf-posix-tests (Files): Add them.
40029         (configure.ac): Check for getrlimit and setrlimit.
40030         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
40031
40032 2009-12-19  Bruno Haible  <bruno@clisp.org>
40033
40034         fprintf-posix: Check against memory leak fixed on 2009-12-15.
40035         * tests/test-fprintf-posix3.sh: New file.
40036         * tests/test-fprintf-posix3.c: New file.
40037         * modules/fprintf-posix-tests (Files): Add them.
40038         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
40039
40040 2009-12-19  Eric Blake  <ebb9@byu.net>
40041
40042         dirfd: fix prototype
40043         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
40044         * lib/dirfd.c (dirfd): Likewise.
40045
40046         canonicalize: reduce memory usage
40047         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
40048         allocation to size.
40049         Reported by Solar Designer <solar@openwall.com>.
40050
40051 2009-12-19  Bruno Haible  <bruno@clisp.org>
40052
40053         New module attribute 'Applicability'.
40054         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
40055         * gnulib-tool: New option --extract-applicability.
40056         (func_usage): Document it.
40057         (sed_extract_prog): Recognize it.
40058         (func_get_applicability): New function.
40059         (func_import): Generalize handling of 'link-warning' module.
40060         * modules/link-warning (Applicability): New section.
40061         * modules/arg-nonnull (Applicability): New section.
40062         Repoted by Simon Josefsson <simon@josefsson.org>.
40063
40064 2009-12-19  Bruno Haible  <bruno@clisp.org>
40065
40066         fflush: tweak
40067         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
40068         * lib/fseeko.c (rpl_fseeko): Likewise.
40069
40070 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
40071
40072         * lib/gl_list.h: Fix typo in comment.
40073
40074 2009-12-16  Eric Blake  <ebb9@byu.net>
40075
40076         fcntl: use to simplify other modules
40077         * modules/cloexec (Depends-on): Add fcntl.
40078         * modules/fchdir (Depends-on): Likewise.
40079         * modules/fd-safer-flag (Depends-on): Likewise.
40080         * modules/unistd-safer (Depends-on): Likewise.
40081         * modules/dup3 (configure.ac): Set module indicator.
40082         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
40083         missing.
40084         * lib/fchdir.c (_gl_register_dup): Fix comment.
40085         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
40086         * lib/dup-safer.c (dup_safer): Likewise.
40087         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
40088         * lib/dup3.c (dup3): Likewise.
40089         * tests/test-fchdir.c (main): Enhance test.
40090         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
40091
40092         fcntl: port portions of fcntl to mingw
40093         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
40094         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
40095         replacement for mingw.
40096         * modules/fcntl (Description): Update.
40097         (Depends-on): Add dup2.
40098         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
40099         * modules/fcntl-h (Makefile.am): Substitute it.
40100         * lib/fcntl.in.h (fcntl): Update declaration.
40101         (F_DUPFD, F_GETFD): New macros, when needed.
40102         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40103         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
40104         * tests/test-fcntl.c (check_flags, main): Enhance test for items
40105         we now guarantee.
40106
40107         fcntl: work around cygwin bug in F_DUPFD
40108         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
40109         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
40110         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
40111         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
40112         * doc/posix-functions/fcntl.texi (fcntl): Document it.
40113
40114         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
40115         * modules/fcntl (Files): List new files.
40116         (configure.ac): Run a test.
40117         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
40118         * lib/fcntl.c (rpl_fcntl): Likewise.
40119         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
40120         (gl_FCNTL_H): Always replace fcntl.h.
40121         * modules/fcntl-h (Makefile.am): Substitute witnesses.
40122         * lib/fcntl.in.h (fcntl): Declare replacement.
40123         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
40124         needed, plus a witness.
40125         * doc/posix-functions/fcntl.texi (fcntl): Document this.
40126         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
40127         * tests/test-fcntl.c: New file.
40128         * modules/fcntl-tests: Likewise.
40129
40130         binary-io: avoid potential compilation warning
40131         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
40132         directives.
40133
40134         fflush: avoid compilation error on NetBSD
40135         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
40136         between off_t and fpos_t, since the latter is sometimes a struct.
40137         * lib/fseeko.c (rpl_fseeko): Likewise.
40138         Reported by Alexander Nasonov <alnsn@yandex.ru>.
40139
40140 2009-12-15  Eric Blake  <ebb9@byu.net>
40141
40142         fcntl-h, stdio, sys_ioctl: fix declarations
40143         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
40144         function must not take arguments.
40145         * lib/sys_ioctl.in.h (ioctl): Likewise.
40146         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
40147         (open): Add a link warning.
40148
40149 2009-12-15  Jim Meyering  <meyering@redhat.com>
40150
40151         areadlink, areadlink-with-size: relax license to LGPLv2+
40152         * modules/areadlink (License): Relax to LGPLv2+.
40153         * modules/areadlink-with-size (License): Likewise.
40154
40155 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
40156             Bruno Haible  <bruno@clisp.org>
40157
40158         *printf: Fix memory leak.
40159         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
40160         * lib/vfprintf.c (vfprintf): Likewise.
40161         * lib/dprintf.c (dprintf): Likewise.
40162         * lib/vdprintf.c (vdprintf): Likewise.
40163
40164 2009-12-14  Eric Blake  <ebb9@byu.net>
40165
40166         accept4: adjust module dependencies
40167         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
40168
40169         utimens: one more try at avoiding compiler warning
40170         * lib/utimens.c (lutimens): Lower scope of result.
40171
40172 2009-12-13  Bruno Haible  <bruno@clisp.org>
40173
40174         Move the malloc checking from module 'list' to new module 'xlist'.
40175         * modules/xlist: New file.
40176         * lib/gl_xlist.h: New file.
40177         * lib/gl_xlist.c: New file.
40178         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
40179         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
40180         gl_list_add_last, gl_list_add_before, gl_list_add_after,
40181         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
40182         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
40183         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
40184         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
40185         gl_sortedlist_nx_add): New declarations.
40186         (struct gl_list_implementation): Rename and change methods accordingly.
40187         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
40188         (gl_list_nx_create): Renamed from gl_list_create.
40189         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
40190         (gl_list_nx_set_at): Renamed from gl_list_set_at.
40191         (gl_list_nx_add_first): Renamed from gl_list_add_first.
40192         (gl_list_nx_add_last): Renamed from gl_list_add_last.
40193         (gl_list_nx_add_before): Renamed from gl_list_add_before.
40194         (gl_list_nx_add_after): Renamed from gl_list_add_after.
40195         (gl_list_nx_add_at): Renamed from gl_list_add_at.
40196         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
40197         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
40198         gl_list_create_empty.
40199         (gl_list_nx_create): Renamed from gl_list_create.
40200         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
40201         (gl_list_nx_set_at): Renamed from gl_list_set_at.
40202         (gl_list_nx_add_first): Renamed from gl_list_add_first.
40203         (gl_list_nx_add_last): Renamed from gl_list_add_last.
40204         (gl_list_nx_add_before): Renamed from gl_list_add_before.
40205         (gl_list_nx_add_after): Renamed from gl_list_add_after.
40206         (gl_list_nx_add_at): Renamed from gl_list_add_at.
40207         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
40208         * lib/gl_array_list.c: Don't include xalloc.h.
40209         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
40210         NULL upon out-of-memory.
40211         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
40212         out-of-memory.
40213         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
40214         Change return type to 'int'.
40215         (gl_array_nx_set_at): Renamed from gl_array_set_at.
40216         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
40217         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
40218         upon out-of-memory.
40219         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
40220         upon out-of-memory.
40221         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
40222         upon out-of-memory.
40223         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
40224         upon out-of-memory.
40225         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
40226         out-of-memory.
40227         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
40228         Update.
40229         (gl_array_list_implementation): Update.
40230         * lib/gl_carray_list.c: Don't include xalloc.h.
40231         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
40232         Return NULL upon out-of-memory.
40233         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
40234         out-of-memory.
40235         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
40236         Change return type to 'int'.
40237         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
40238         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
40239         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
40240         upon out-of-memory.
40241         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
40242         upon out-of-memory.
40243         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
40244         out-of-memory.
40245         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
40246         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
40247         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
40248         Update.
40249         (gl_carray_list_implementation): Update.
40250         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
40251         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
40252         gl_linked_create_empty. Return NULL upon out-of-memory.
40253         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
40254         out-of-memory.
40255         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
40256         Change return type to 'int'. Return -1 upon out-of-memory.
40257         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
40258         out-of-memory.
40259         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
40260         upon out-of-memory.
40261         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
40262         upon out-of-memory.
40263         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
40264         NULL upon out-of-memory.
40265         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
40266         upon out-of-memory.
40267         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
40268         out-of-memory.
40269         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
40270         Update.
40271         * lib/gl_linked_list.c: Don't include xalloc.h.
40272         (gl_linked_list_implementation): Update.
40273         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
40274         (add_to_bucket): Change return type to 'int'.
40275         (gl_linkedhash_list_implementation): Update.
40276         * lib/gl_anytree_list1.h (free_subtree): New function.
40277         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
40278         gl_tree_create_empty. Return NULL upon out-of-memory.
40279         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
40280         Change return type to 'int'. Return -1 upon out-of-memory.
40281         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
40282         out-of-memory.
40283         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
40284         (gl_tree_remove_node): New function, moved here from
40285         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
40286         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
40287         Update.
40288         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
40289         malloc, not xmalloc. Return NULL upon out-of-memory.
40290         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
40291         out-of-memory.
40292         (gl_tree_remove_node_from_tree): New function, extracted from
40293         gl_tree_remove_node.
40294         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
40295         upon out-of-memory.
40296         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
40297         out-of-memory.
40298         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
40299         upon out-of-memory.
40300         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
40301         upon out-of-memory.
40302         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
40303         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
40304         not xmalloc. Return NULL upon out-of-memory.
40305         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
40306         out-of-memory.
40307         (gl_tree_remove_node_from_tree): New function, extracted from
40308         gl_tree_remove_node.
40309         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
40310         upon out-of-memory.
40311         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
40312         out-of-memory.
40313         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
40314         upon out-of-memory.
40315         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
40316         upon out-of-memory.
40317         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
40318         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
40319         gl_anytree_list1.h before gl_anyavltree_list2.h.
40320         (gl_avltree_list_implementation): Update.
40321         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
40322         gl_anytree_list1.h before gl_anyavltree_list2.h.
40323         (gl_rbtree_list_implementation): Update.
40324         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
40325         Change return type to 'int'. Return -1 upon out-of-memory. Use
40326         __builtin_expect.
40327         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
40328         (gl_avltreehash_list_implementation): Update.
40329         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
40330         (gl_rbtreehash_list_implementation): Update.
40331         * modules/array-list (Depends-on): Remove xalloc.
40332         * modules/carray-list (Depends-on): Likewise.
40333         * modules/linked-list (Depends-on): Likewise.
40334         * modules/linkedhash-list (Depends-on): Likewise.
40335         * modules/avltree-list (Depends-on): Likewise.
40336         * modules/rbtree-list (Depends-on): Likewise.
40337         * modules/avltreehash-list (Depends-on): Likewise.
40338         * modules/rbtreehash-list (Depends-on): Likewise.
40339
40340         * modules/xsublist: New file.
40341         * lib/gl_xsublist.h: New file.
40342         * lib/gl_xsublist.c: New file.
40343         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
40344         (gl_sublist_nx_create): New declaration.
40345         * lib/gl_sublist.c: Don't include xalloc.h.
40346         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
40347         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
40348         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
40349         Change return type to 'int'. Return -1 upon out-of-memory.
40350         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
40351         upon out-of-memory.
40352         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
40353         NULL upon out-of-memory.
40354         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
40355         upon out-of-memory.
40356         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
40357         NULL upon out-of-memory.
40358         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
40359         NULL upon out-of-memory.
40360         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
40361         upon out-of-memory.
40362         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
40363         (gl_sublist_list_implementation): Update.
40364         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
40365         upon out-of-memory.
40366         * modules/sublist (Depends-on): Remove xalloc.
40367
40368         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
40369         * tests/test-carray_list.c: Likewise.
40370         * tests/test-linked_list.c: Likewise.
40371         * tests/test-linkedhash_list.c: Likewise.
40372         * tests/test-avltree_list.c: Likewise.
40373         * tests/test-rbtree_list.c: Likewise.
40374         * tests/test-avltreehash_list.c: Likewise.
40375         * tests/test-rbtreehash_list.c: Likewise.
40376         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
40377         * modules/carray-list-tests (Makefile.am): Likewise.
40378         * modules/linked-list-tests (Makefile.am): Likewise.
40379         * modules/linkedhash-list-tests (Makefile.am): Likewise.
40380         * modules/avltree-list-tests (Makefile.am): Likewise.
40381         * modules/rbtree-list-tests (Makefile.am): Likewise.
40382         * modules/avltreehash-list-tests (Makefile.am): Likewise.
40383         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
40384
40385         * NEWS: Mention the changes.
40386
40387         * lib/clean-temp.c: Include gl_xlist.h.
40388         * modules/clean-temp (Depends-on): Add xlist.
40389
40390         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
40391         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
40392
40393         * tests/test-array_oset.c: Include gl_xlist.h.
40394         * modules/array-oset-tests (Depends-on): Add xlist.
40395
40396         Reported by José E. Marchesi <jemarch@gnu.org>.
40397
40398 2009-12-13  Bruno Haible  <bruno@clisp.org>
40399
40400         Move the malloc checking from module 'oset' to new module 'xoset'.
40401         * modules/xoset: New file.
40402         * lib/gl_xoset.h: New file.
40403         * lib/gl_xoset.c: New file.
40404         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
40405         declarations.
40406         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
40407         (struct gl_oset_implementation): Rename and change methods accordingly.
40408         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
40409         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
40410         'int'. Mark as __warn_unused_result__.
40411         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
40412         gl_oset_create_empty.
40413         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
40414         'int'.
40415         * lib/gl_array_oset.c: Don't include xalloc.h.
40416         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
40417         malloc, not xmalloc.
40418         (grow): Change return type to 'int'. Don't call xalloc_die.
40419         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
40420         to 'int'.
40421         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
40422         'int'.
40423         (gl_array_oset_implementation): Update.
40424         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
40425         gl_tree_create_empty.
40426         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
40427         'int'.
40428         * lib/gl_avltree_oset.c: Don't include xalloc.h.
40429         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
40430         xmalloc.
40431         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
40432         not xmalloc.
40433         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
40434         xmalloc.
40435         (gl_avltree_oset_implementation): Update.
40436         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
40437         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
40438         xmalloc.
40439         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
40440         not xmalloc.
40441         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
40442         xmalloc.
40443         (gl_rbtree_oset_implementation): Update.
40444         * modules/array-oset (Depends-on): Remove xalloc.
40445         * modules/avltree-oset (Depends-on): Likewise.
40446         * modules/rbtree-oset (Depends-on): Likewise.
40447         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
40448         * tests/test-avltree_oset.c: Likewise.
40449         * tests/test-rbtree_oset.c: Likewise.
40450         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
40451         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
40452         * modules/rbtree-oset-tests (Makefile.am): Likewise.
40453         * NEWS: Mention the change.
40454
40455 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
40456
40457         maint.mk: allow a project to override release-prep commands
40458         * top/maint.mk (alpha, beta, stable): Move release-preparatory
40459         commands into a new rule.
40460         (release-prep): New rule.
40461         (release-prep-hook): New overridable variable.
40462
40463 2009-12-13  Bruno Haible  <bruno@clisp.org>
40464
40465         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
40466
40467 2009-12-13  Jim Meyering  <meyering@redhat.com>
40468
40469         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
40470         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
40471
40472 2009-12-12  Bruno Haible  <bruno@clisp.org>
40473
40474         duplocale: Tweak.
40475         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
40476
40477 2009-12-12  Karl Berry  <karl@gnu.org>
40478
40479         * config/srclist.txt (strtoll.c): tab changes, no more sync.
40480
40481 2009-12-12  Bruno Haible  <bruno@clisp.org>
40482
40483         * m4/po.m4: Undo incorrect untabification.
40484
40485 2009-12-12  Bruno Haible  <bruno@clisp.org>
40486
40487         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
40488         * modules/c-strtod (Depends-on): Add locale.
40489         * modules/c-strtold (Depends-on): Likewise.
40490
40491 2009-12-12  Bruno Haible  <bruno@clisp.org>
40492
40493         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
40494
40495 2009-12-11  Eric Blake  <ebb9@byu.net>
40496
40497         setenv: relax requirement in light of POSIX ruling
40498         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
40499         not NULL.
40500         * tests/test-setenv.c (main): Relax test.
40501         * tests/test-unsetenv.c (main): Likewise.
40502         * doc/posix-functions/setenv.texi (setenv): Document this.
40503         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
40504
40505 2009-12-11  Bruno Haible  <bruno@clisp.org>
40506
40507         New module 'fd-safer-flag'.
40508         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
40509         * lib/dup-safer.c (dup_safer_flag): Remove function.
40510         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
40511         * lib/fd-safer.c (fd_safer_flag): Remove function.
40512         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
40513         * modules/cloexec (configure.ac): Drop indicator macro.
40514         * modules/fd-safer-flag: New file.
40515         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
40516         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
40517         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
40518
40519 2009-12-11  Bruno Haible  <bruno@clisp.org>
40520
40521         Tests for module 'nl_langinfo'.
40522         * modules/nl_langinfo-tests: New file.
40523         * tests/test-nl_langinfo.sh: New file.
40524         * tests/test-nl_langinfo.c: New file.
40525
40526         New module 'nl_langinfo'.
40527         * lib/nl_langinfo.c: New file.
40528         * m4/nl_langinfo.m4: New file.
40529         * modules/nl_langinfo: New file.
40530         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
40531
40532 2009-12-11  Bruno Haible  <bruno@clisp.org>
40533
40534         Tests for module 'langinfo'.
40535         * modules/langinfo-tests: New file.
40536         * tests/test-langinfo.c: New file.
40537
40538         New module 'langinfo'.
40539         * lib/langinfo.in.h: New file.
40540         * m4/langinfo_h.m4: New file.
40541         * modules/langinfo: New file.
40542         * doc/posix-headers/langinfo.texi: Mention the new module.
40543
40544 2009-12-11  Bruno Haible  <bruno@clisp.org>
40545
40546         * lib/config.charset: Untabify.
40547
40548 2009-12-11  Bruno Haible  <bruno@clisp.org>
40549
40550         * modules/unistd-safer (configure.ac): Drop indicator macro.
40551
40552 2009-12-11  Bruno Haible  <bruno@clisp.org>
40553
40554         Move pipe2-safer code to its own file.
40555         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
40556         * lib/pipe-safer.c (pipe2_safer): Remove function.
40557         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
40558         (Makefile.am): Add it to lib_SOURCES.
40559
40560 2009-12-10  Bruno Haible  <bruno@clisp.org>
40561
40562         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
40563
40564 2009-12-10  Bruno Haible  <bruno@clisp.org>
40565
40566         Declare which arguments expect non-NULL values, for GCC and clang.
40567         * build-aux/arg-nonnull.h: New file.
40568         * modules/arg-nonnull: New file.
40569         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
40570         (inet_ntop, inet_pton): Use it.
40571         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
40572         (closedir, dirfd, opendir, scandir, alphasort): Use it.
40573         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
40574         (open, openat): Use it.
40575         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
40576         (fnmatch): Use it.
40577         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
40578         (getopt, getopt_long, getopt_long_only): Use it.
40579         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
40580         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
40581         Use it.
40582         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
40583         (iconv_open): Use it.
40584         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
40585         (strtoimax, strtoumax): Use it.
40586         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
40587         (duplocale): Use it.
40588         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
40589         (frexp, frexpl): Use it.
40590         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
40591         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
40592         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
40593         (tsearch, tfind, tdelete, twalk): Use it.
40594         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
40595         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
40596         sigpending): Use it.
40597         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
40598         (posix_spawn, posix_spawnp, posix_spawnattr_init,
40599         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
40600         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
40601         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
40602         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
40603         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
40604         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
40605         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
40606         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
40607         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
40608         Use it.
40609         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
40610         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
40611         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
40612         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
40613         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
40614         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
40615         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
40616         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
40617         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
40618         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
40619         strtoull, unsetenv): Use it.
40620         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
40621         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
40622         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
40623         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
40624         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
40625         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
40626         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
40627         (strcasecmp, strncasecmp): Use it.
40628         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
40629         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
40630         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
40631         rpl_setsockopt): Use it.
40632         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
40633         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
40634         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
40635         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
40636         (gettimeofday): Use it.
40637         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
40638         (times): Use it.
40639         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
40640         (uname): Use it.
40641         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
40642         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
40643         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
40644         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
40645         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
40646         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
40647         unlinkat, write): Use it.
40648         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
40649         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
40650         * lib/argv-iter.h: Include arg-nonnull.h.
40651         (_ATTRIBUTE_NONNULL_): Remove macro.
40652         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
40653         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
40654         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
40655         optimization.
40656         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
40657         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
40658         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
40659         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
40660         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
40661         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
40662         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
40663         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
40664         * modules/arpa_inet (Depends-on): Add arg-nonnull.
40665         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
40666         * modules/dirent (Depends-on): Add arg-nonnull.
40667         (Makefile.am): Insert arg-nonnull.h into dirent.h.
40668         * modules/fcntl-h (Depends-on): Add arg-nonnull.
40669         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
40670         * modules/fnmatch (Depends-on): Add arg-nonnull.
40671         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
40672         * modules/getopt-posix (Depends-on): Add arg-nonnull.
40673         (Makefile.am): Insert arg-nonnull.h into getopt.h.
40674         * modules/glob (Depends-on): Add arg-nonnull.
40675         (Makefile.am): Insert arg-nonnull.h into glob.h.
40676         * modules/iconv_open (Depends-on): Add arg-nonnull.
40677         (Makefile.am): Insert arg-nonnull.h into iconv.h.
40678         * modules/inttypes (Depends-on): Add arg-nonnull.
40679         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
40680         * modules/locale (Depends-on): Add arg-nonnull.
40681         (Makefile.am): Insert arg-nonnull.h into locale.h.
40682         * modules/math (Depends-on): Add arg-nonnull.
40683         (Makefile.am): Insert arg-nonnull.h into math.h.
40684         * modules/netdb (Depends-on): Add arg-nonnull.
40685         (Makefile.am): Insert arg-nonnull.h into netdb.h.
40686         * modules/search (Depends-on): Add arg-nonnull.
40687         (Makefile.am): Insert arg-nonnull.h into search.h.
40688         * modules/signal (Depends-on): Add arg-nonnull.
40689         (Makefile.am): Insert arg-nonnull.h into signal.h.
40690         * modules/spawn (Depends-on): Add arg-nonnull.
40691         (Makefile.am): Insert arg-nonnull.h into spawn.h.
40692         * modules/stdio (Depends-on): Add arg-nonnull.
40693         (Makefile.am): Insert arg-nonnull.h into stdio.h.
40694         * modules/stdlib (Depends-on): Add arg-nonnull.
40695         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
40696         * modules/string (Depends-on): Add arg-nonnull.
40697         (Makefile.am): Insert arg-nonnull.h into string.h.
40698         * modules/strings (Depends-on): Add arg-nonnull.
40699         (Makefile.am): Insert arg-nonnull.h into strings.h.
40700         * modules/sys_socket (Depends-on): Add arg-nonnull.
40701         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
40702         * modules/sys_stat (Depends-on): Add arg-nonnull.
40703         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
40704         * modules/sys_time (Depends-on): Add arg-nonnull.
40705         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
40706         * modules/sys_times (Depends-on): Add arg-nonnull.
40707         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
40708         * modules/sys_utsname (Depends-on): Add arg-nonnull.
40709         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
40710         * modules/time (Depends-on): Add arg-nonnull.
40711         (Makefile.am): Insert arg-nonnull.h into time.h.
40712         * modules/unistd (Depends-on): Add arg-nonnull.
40713         (Makefile.am): Insert arg-nonnull.h into unistd.h.
40714         * modules/wchar (Depends-on): Add arg-nonnull.
40715         (Makefile.am): Insert arg-nonnull.h into wchar.h.
40716         * modules/argv-iter (Depends-on): Add arg-nonnull.
40717         * tests/test-canonicalize.c (null_ptr): New function.
40718         (main): Use it.
40719         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
40720         (main): Use it.
40721         * tests/test-memmem.c (null_ptr): New function.
40722         (main): Use it.
40723         Reported by Jim Meyering.
40724
40725 2009-12-10  Bruno Haible  <bruno@clisp.org>
40726
40727         Use spaces for indentation, not tabs.
40728         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
40729         * m4/*.m4: Untabify.
40730         * build-aux/*.h: Untabify.
40731         * tests/**/*.[hc]: Untabify.
40732         * README: New section "Indent with spaces, not TABs", based on
40733         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
40734         * NEWS: Mention the change.
40735
40736 2009-12-10  Bruno Haible  <bruno@clisp.org>
40737
40738         pty test: Fix link error.
40739         * modules/pty-tests (Makefile.am): Add the default LDADD value to
40740         test_pty_LDADD.
40741
40742 2009-12-07  Simon Josefsson  <simon@josefsson.org>
40743
40744         * modules/pty: New file.
40745         * modules/pty-tests: New file.
40746         * m4/pty.m4: New file.
40747         * tests/test-pty.c: New file.
40748         * doc/glibc-headers/pty.texi: Modified.
40749         * doc/glibc-functions/forkpty.texi: Modified.
40750         * doc/glibc-functions/openpty.texi: Modified.
40751
40752 2009-12-10  Bruno Haible  <bruno@clisp.org>
40753
40754         Avoid syntax error in C++ mode.
40755         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
40756
40757 2009-12-10  Bruno Haible  <bruno@clisp.org>
40758
40759         Use sed with option -e.
40760         * gnulib-tool (func_version, func_emit_copyright_notice,
40761         func_emit_initmacro_end, func_import, func_create_testdir): Pass
40762         option -e to sed.
40763         * modules/link-warning (Makefile.am): Likewise.
40764
40765 2009-12-10  Jim Meyering  <meyering@redhat.com>
40766
40767         mgetgroups: do not write bytes beyond end of malloc'd buffer
40768         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
40769         username, we call getgroups with a one-element-shorter buffer,
40770         but still told it the length was original, max_n_groups.
40771
40772 2009-12-09  Eric Blake  <ebb9@byu.net>
40773
40774         cloexec: relax license
40775         * modules/cloexec (Maintainer): Add myself.
40776         (License): Use LGPL, not GPL.
40777
40778         link-warning: optimize generation
40779         * modules/link-warning (Makefile.am): Reduce process usage.
40780
40781 2009-12-09  Bruno Haible  <bruno@clisp.org>
40782
40783         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
40784         workaround was added on 2009-11-17.
40785
40786 2009-12-09  Jim Meyering  <meyering@redhat.com>
40787             Bruno Haible  <bruno@clisp.org>
40788
40789         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
40790         * modules/link-warning (Makefile.am): Make the comment-removing sed
40791         command more robust in the face of bootstrap-prepended comment lines.
40792
40793 2009-12-09  Bruno Haible  <bruno@clisp.org>
40794
40795         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
40796         most one group.
40797
40798 2009-12-09  Simon Josefsson <simon@josefsson.org>
40799             Bruno Haible  <bruno@clisp.org>
40800
40801         * build-aux/link-warning.h: Add copyright notice.
40802         * modules/link-warning (Makefile.am): Generate link-warning.h from
40803         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
40804         * NEWS: Mention change in link-warning module.
40805         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
40806         * modules/dirent (Makefile.am): Add dependency to dirent.h.
40807         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
40808         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
40809         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
40810         * modules/math (Makefile.am): Add dependency to math.h.
40811         * modules/search (Makefile.am): Add dependency to search.h.
40812         * modules/signal (Makefile.am): Add dependency to signal.h.
40813         * modules/spawn (Makefile.am): Add dependency to spawn.h.
40814         * modules/stdio (Makefile.am): Add dependency to stdio.h.
40815         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
40816         * modules/string (Makefile.am): Add dependency to string.h.
40817         * modules/strings (Makefile.am): Add dependency to strings.h.
40818         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
40819         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
40820         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
40821         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
40822         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
40823         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
40824         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
40825         * modules/unistd (Makefile.am): Add dependency to unistd.h.
40826         * modules/wchar (Makefile.am): Add dependency to wchar.h.
40827
40828 2009-12-09  Bruno Haible  <bruno@clisp.org>
40829
40830         fchdir: Optimize away rpl_fstat when possible.
40831         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
40832         REPLACE_OPEN_DIRECTORY.
40833         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
40834
40835 2009-12-09  Bruno Haible  <bruno@clisp.org>
40836
40837         * lib/fchdir.c: Update comment.
40838
40839 2009-12-09  Bruno Haible  <bruno@clisp.org>
40840
40841         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
40842
40843 2009-12-08  Eric Blake  <ebb9@byu.net>
40844
40845         fchdir: avoid memory leak on re-registration.
40846         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
40847
40848 2009-12-08  Jim Meyering  <meyering@redhat.com>
40849
40850         init.sh: avoid Solaris 10 /bin/sh portability problem
40851         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
40852         sourced script:
40853           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
40854           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
40855           bar
40856         tests/init.sh relied on that, accepting a --set-path=DIR argument,
40857         and two tests used that idiom.
40858         * tests/init.sh: Update suggested usage comments.
40859         (path_prepend_): New function, to be used in place
40860         of the --src-path=DIR option.
40861         (setup_): Move PATH-prepending code into path_prepend_.
40862         * tests/test-pread.sh: Adapt to new usage.
40863         * tests/test-xalloc-die.sh: Likewise.
40864
40865 2009-12-08  Simon Josefsson  <simon@josefsson.org>
40866
40867         * doc/gnulib.texi (Glibc pty.h): Add.
40868         * doc/glibc-functions/forkpty.texi: Add.
40869         * doc/glibc-functions/openpty.texi: Add.
40870         Suggested by Bruno Haible.
40871
40872 2009-12-08  Eric Blake  <ebb9@byu.net>
40873
40874         fchdir: fix logic bugs
40875         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
40876         * tests/test-fchdir.c (main): Enhance test.
40877         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
40878         is in use.
40879
40880         dup2: fix logic bugs
40881         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
40882         REPLACE_DUP2 to decide when rpl_dup2 is needed.
40883         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
40884         exists.
40885         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
40886
40887 2009-12-07  Eric Blake  <ebb9@byu.net>
40888
40889         unlink: fix m4 detection
40890         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
40891
40892         unistd-safer: add unit test
40893         * modules/unistd-safer-tests: New file.
40894         * tests/test-dup-safer.c: Likewise.
40895         * tests/test-cloexec.c (setmode): Avoid compiler warning.
40896         * tests/test-dup2.c (setmode): Likewise.
40897         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
40898
40899         cloexec: preserve text vs. binary across dup_cloexec
40900         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
40901         mode.
40902         * modules/dup2-tests (Depends-on): Add binary-io.
40903         * modules/cloexec-tests (Depends-on): Likewise.
40904         * tests/test-dup2.c (setmode, is_mode): New helpers.
40905         (main): Add tests that translation mode is preserved.
40906         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
40907         Reported by Bruno Haible.
40908
40909         mgetgroups: reduce duplicate listings
40910         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
40911         resulting array.
40912         * tests/test-chown.h (test_chown): Simplify client.
40913         * tests/test-lchown.h (test_lchown): Likewise.
40914
40915 2009-12-06  Bruno Haible  <bruno@clisp.org>
40916
40917         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
40918         value.
40919
40920 2009-12-06  Bruno Haible  <bruno@clisp.org>
40921
40922         * lib/progname.c: Include stdio.h, stdlib.h.
40923         (set_program_name): Reject a NULL argument.
40924
40925 2009-12-05  Eric Blake  <ebb9@byu.net>
40926
40927         pipe2-safer: new module
40928         * modules/pipe2-safer: New file.
40929         * lib/unistd-safer.h (pipe2_safer): New prototype.
40930         * lib/unistd--.h (pipe2): New wrapper.
40931         * lib/pipe-safer.c (pipe2_safer): New function.
40932         * modules/pipe (Depends-on): Add pipe2-safer.
40933         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
40934
40935         stdlib-safer: preserve cloexec flag for mkostemp[s]
40936         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
40937         fd_safer_flag.
40938
40939         unistd-safer: allow preservation of cloexec status via flag
40940         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
40941         prototypes.
40942         * lib/dup-safer.c (dup_safer_flag): New function.
40943         * lib/fd-safer.c (fd_safer_flag): Likewise.
40944         * modules/cloexec (configure.ac): Set witness.
40945
40946         test-dup2: enhance test
40947         * modules/dup2-tests (Depends-on): Add cloexec.
40948         * tests/test-dup2.c (main): Enhance test.
40949
40950         cloexec: add dup_cloexec
40951         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
40952         header and comments.
40953         * lib/cloexec.c (set_cloexec_flag): Add comments.
40954         (dup_cloexec): New function, with mingw implementation borrowed
40955         from...
40956         * lib/w32spawn.h (dup_noinherit): ...here.
40957         * modules/execute (Depends-on): Add cloexec.
40958         * modules/pipe (Depends-on): Likewise.
40959         * modules/cloexec (Depends-on): Add dup2.
40960         * modules/cloexec-tests (Files): New file.
40961         * tests/test-cloexec.c: Likewise.
40962
40963         test-xalloc-die: fix test for mingw
40964         * modules/xalloc-die-tests (Files): Add tests/init.sh.
40965         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
40966         directory and .exe suffix off argv[0] output.
40967
40968         test-fseeko: fix test for mingw
40969         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
40970         than undefining fseek, so test will pass on mingw.
40971
40972 2009-12-05  Bruno Haible  <bruno@clisp.org>
40973
40974         * lib/progname.h (set_program_name): Clarify specification.
40975         * lib/progname.c (set_program_name): Likewise.
40976         Reported by Jim Meyering.
40977
40978 2009-12-05  Jim Meyering  <meyering@redhat.com>
40979
40980         maint.mk: backslash-escape parens in default regexp
40981         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
40982         backslash-escape the literal parentheses.
40983
40984         maint.mk: news-date-check: use grep -E
40985         * top/maint.mk (today): Define a Make variable, not a...
40986         (news-date-check): ...shell variable.
40987         (news-date-regexp): Use the Make variable.
40988         Use grep's -E option.  Change the failing diagnostic to mention
40989         the variable, $(news-date-regexp).
40990
40991 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
40992
40993         maintainer-makefile: allow customization of NEWS entry format
40994         * top/maint.mk (news-date-regexp): New overridable variable.
40995         (news-date-check): Use it.
40996
40997 2009-12-04  Eric Blake  <ebb9@byu.net>
40998
40999         mgetgroups: add xgetgroups, and avoid ENOSYS failures
41000         * lib/mgetgroups.h (xgetgroups): New prototype.
41001         * lib/mgetgroups.c (xgetgroups): New wrapper.
41002         (mgetgroups): Handle ENOSYS.
41003         * modules/mgetgroups (Depends-on): Add realloc.
41004         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
41005
41006         mgetgroups: avoid argument promotion issues with -1
41007         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
41008         for invalid gid_t.
41009         * tests/test-chown.h (getegid, test_chown): Likewise.
41010         * tests/test-lchown.h (getegid, test_lchown): Likewise.
41011
41012 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
41013
41014         exclude: Fix header file problems.
41015         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
41016
41017 2009-12-01  Jim Meyering  <meyering@redhat.com>
41018
41019         fts: fts_open: do not let an empty string cause immediate failure
41020         This is required in support of GNU rm, for which the command
41021         "rm A '' B" must process and remove both A and B, in spite of
41022         the empty string argument.
41023         * lib/fts.c (fts_open): Do not let the presence of an empty string
41024         cause fts_open to fail immediately.  Most fts-using tools must be
41025         able to process all arguments, in order, and can be expected to
41026         diagnose such arguments themselves.
41027
41028 2009-11-30  Eric Blake  <ebb9@byu.net>
41029
41030         utimens: fix compilation error
41031         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
41032         Declare variable at right scope.
41033
41034 2009-11-29  Jim Meyering  <meyering@redhat.com>
41035
41036         bootstrap: handle perl-5.11's changed --version output
41037         * build-aux/bootstrap (get_version): Handle perl separately,
41038         since perl-5.11's --version output is different.
41039
41040 2009-11-28  Jim Meyering  <meyering@redhat.com>
41041
41042         userspec: depend on the inttostr module, too
41043         * modules/userspec (Depends-on): Add inttostr.
41044
41045         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
41046         * lib/userspec.c (parse_with_separator): Do not accept a user ID
41047         number of MAXUID when it evaluates to (uid_t) -1.
41048         Likewise for group ID.  Reported by Matt McCutchen in
41049         <http://savannah.gnu.org/bugs/?28113>
41050
41051         userspec: reformat to use spaces, not TABs
41052         * lib/userspec.c: Expand TABs to spaces.
41053         Add Emacs' "indent-tabs-mode: nil" hint.
41054
41055 2009-11-27  Eric Blake  <ebb9@byu.net>
41056
41057         getopt-gnu: flush out another BSD bug
41058         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
41059         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
41060         flush out BSD bug.
41061         * tests/test-getopt.h (test_getopt): End lists with NULL.
41062         * tests/test-getopt_long.h (test_getopt_long): Likewise.
41063         (test_getopt_long_posix): Enhance test.
41064         * modules/getopt-posix-tests (Depends-on): Add stdbool.
41065         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
41066         getopt-gnu.
41067         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41068         Likewise.
41069
41070 2009-11-27  Simon Josefsson  <simon@josefsson.org>
41071
41072         * modules/idpriv-droptemp-tests (Notice): Fix text.
41073
41074 2009-11-27  Jim Meyering  <meyering@redhat.com>
41075
41076         test-xalloc-die: avoid spurious failure due to libtool argv difference
41077         In a libtool-enabled project, this test would fail due to a difference
41078         in the emitted program name, e.g.,
41079         -test-xalloc-die: memory exhausted
41080         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
41081         Use program to avoid that.
41082         * modules/xalloc-die-tests (Depends-on): Add progname.
41083         * tests/test-xalloc-die.c: Include progname.h".
41084         (program_name): Remove decl.
41085         (main): Call set_program_name.
41086         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
41087
41088 2009-11-26  Richard Jones  <rjones@redhat.com>
41089
41090         w32sock: leave win32 error in place.
41091         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
41092
41093 2009-11-26  Eric Blake  <ebb9@byu.net>
41094
41095         init.sh: suggest to use skip_ and fail_ functions in comments
41096         * tests/init.sh: Add a sentence.
41097
41098 2009-11-25  Bruno Haible  <bruno@clisp.org>
41099
41100         init.sh: add documentation in comments
41101         * tests/init.sh: Add some developer and user documentation.
41102
41103 2009-11-26  Jim Meyering  <meyering@redhat.com>
41104
41105         init.sh: accommodate even those who specify bogus srcdir manually
41106         * tests/init.sh: Normally, srcdir is guaranteed by automake and
41107         configure-time tests to be sanitized, so that there is no need to
41108         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
41109         (with no double quotes) suffices.  However, since tests may be
41110         invoked manually, and since you may explicitly set srcdir to the
41111         name of a directory containing spaces, do quote its uses here.
41112         * tests/test-pread.sh: Likewise.
41113         Suggested by Bruno Haible.
41114
41115         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
41116         * tests/test-pread.sh: Write no data into the pipe, because
41117         test-pread actually reads none.  This avoids a diagnostic,
41118         "bash: echo: write error: Broken pipe", that arises in the unusual
41119         event something is ignoring SIGPIPE, and might be interpreted
41120         as some sort of failure.  Reported by Bruno Haible.
41121
41122 2009-11-25  Jim Meyering  <meyering@redhat.com>
41123
41124         test-pread: cover failure with ESPIPE and EINVAL
41125         * tests/test-pread.c (main): Test for failure, too.
41126         * tests/test-pread.sh: Invoke with stdin on a pipe.
41127         Suggested by Eric Blake.
41128
41129         pread: improvement and fix
41130         * modules/pread (Depends-on): Depend on lseek, for portability to
41131         e.g., mingw.  Suggested by Eric Blake.
41132         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
41133
41134         unistd.in.h: correct declaration of pread
41135         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
41136         Reported by Richard W.M. Jones.
41137
41138         test-pread.sh: distribute the test script
41139         * modules/pread-tests (Files): Include test-pread.sh.
41140
41141         test-pread.sh: clean up
41142         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
41143         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
41144         That is unnecessary, since it's always ".".
41145         Suggestion from Eric Blake.
41146
41147         test-pread.sh: make executable
41148         * tests/test-pread.sh: Set executable bit.
41149         Reported by Eric Blake.
41150
41151         correct typo in test-pread.sh
41152         * tests/test-pread.sh: Add #! line.
41153
41154         test pread
41155         * tests/test-pread.c: New file.
41156         * tests/test-pread.sh: Likewise.
41157         * modules/pread-tests: Likewise.
41158
41159         pread: new module
41160         * modules/pread: New file.
41161         * lib/unistd.in.h (pread): Define/declare.
41162         * lib/pread.c (pread): New file.
41163         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
41164         * modules/unistd (Makefile.am): Substitute witnesses.
41165         * doc/posix-functions/pread.texi (pread): Update.
41166         * MODULES.html.sh: Add pread.
41167
41168 2009-11-25  Jim Meyering  <meyering@redhat.com>
41169
41170         tests/init.sh: new file to be used via most *.sh tests
41171         * tests/init.sh: New file.
41172
41173 2009-11-25  Eric Blake  <ebb9@byu.net>
41174
41175         utimens: work around older Linux failure with symlinks
41176         * lib/utimens.c (lutimensat_works_really): New variable.
41177         (fdutimens, lutimens): Use it to manage kernels that support
41178         nanosecond times on files, but not on symlinks.
41179         Reported by OndÅ™ej Vašík.
41180
41181         utimes: fix configure grammar
41182         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
41183
41184 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
41185
41186         regex: Fix fastmap for multibyte character ranges.
41187         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
41188         characters when a multibyte character range is included.
41189
41190 2009-11-22  Andy Wingo  <wingo@pobox.com>
41191
41192         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
41193         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
41194
41195 2009-11-24  Bruno Haible  <bruno@clisp.org>
41196
41197         doc: Most *_l functions exist in MacOS X 10.5.
41198         * doc/posix-functions/duplocale.texi: Update platforms list.
41199         * doc/posix-functions/freelocale.texi: Likewise.
41200         * doc/posix-functions/newlocale.texi: Likewise.
41201         * doc/posix-functions/uselocale.texi: Likewise.
41202         * doc/posix-functions/isalnum_l.texi: Likewise.
41203         * doc/posix-functions/isalpha_l.texi: Likewise.
41204         * doc/posix-functions/isblank_l.texi: Likewise.
41205         * doc/posix-functions/iscntrl_l.texi: Likewise.
41206         * doc/posix-functions/isdigit_l.texi: Likewise.
41207         * doc/posix-functions/isgraph_l.texi: Likewise.
41208         * doc/posix-functions/islower_l.texi: Likewise.
41209         * doc/posix-functions/isprint_l.texi: Likewise.
41210         * doc/posix-functions/ispunct_l.texi: Likewise.
41211         * doc/posix-functions/isspace_l.texi: Likewise.
41212         * doc/posix-functions/isupper_l.texi: Likewise.
41213         * doc/posix-functions/iswalnum_l.texi: Likewise.
41214         * doc/posix-functions/iswalpha_l.texi: Likewise.
41215         * doc/posix-functions/iswblank_l.texi: Likewise.
41216         * doc/posix-functions/iswcntrl_l.texi: Likewise.
41217         * doc/posix-functions/iswctype_l.texi: Likewise.
41218         * doc/posix-functions/iswdigit_l.texi: Likewise.
41219         * doc/posix-functions/iswgraph_l.texi: Likewise.
41220         * doc/posix-functions/iswlower_l.texi: Likewise.
41221         * doc/posix-functions/iswprint_l.texi: Likewise.
41222         * doc/posix-functions/iswpunct_l.texi: Likewise.
41223         * doc/posix-functions/iswspace_l.texi: Likewise.
41224         * doc/posix-functions/iswupper_l.texi: Likewise.
41225         * doc/posix-functions/iswxdigit_l.texi: Likewise.
41226         * doc/posix-functions/isxdigit_l.texi: Likewise.
41227         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
41228         * doc/posix-functions/strcasecmp_l.texi: Likewise.
41229         * doc/posix-functions/strcoll_l.texi: Likewise.
41230         * doc/posix-functions/strfmon_l.texi: Likewise.
41231         * doc/posix-functions/strftime_l.texi: Likewise.
41232         * doc/posix-functions/strncasecmp_l.texi: Likewise.
41233         * doc/posix-functions/strxfrm_l.texi: Likewise.
41234         * doc/posix-functions/tolower_l.texi: Likewise.
41235         * doc/posix-functions/toupper_l.texi: Likewise.
41236         * doc/posix-functions/towctrans_l.texi: Likewise.
41237         * doc/posix-functions/towlower_l.texi: Likewise.
41238         * doc/posix-functions/towupper_l.texi: Likewise.
41239         * doc/posix-functions/wcscoll_l.texi: Likewise.
41240         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
41241         * doc/posix-functions/wctrans_l.texi: Likewise.
41242         * doc/posix-functions/wctype_l.texi: Likewise.
41243         * doc/glibc-functions/strptime_l.texi: Likewise.
41244         * doc/glibc-functions/strtod_l.texi: Likewise.
41245         * doc/glibc-functions/strtof_l.texi: Likewise.
41246         * doc/glibc-functions/strtol_l.texi: Likewise.
41247         * doc/glibc-functions/strtold_l.texi: Likewise.
41248         * doc/glibc-functions/strtoll_l.texi: Likewise.
41249         * doc/glibc-functions/strtoul_l.texi: Likewise.
41250         * doc/glibc-functions/strtoull_l.texi: Likewise.
41251         * doc/glibc-functions/wcsftime_l.texi: Likewise.
41252         * doc/glibc-functions/wcstod_l.texi: Likewise.
41253         * doc/glibc-functions/wcstof_l.texi: Likewise.
41254         * doc/glibc-functions/wcstol_l.texi: Likewise.
41255         * doc/glibc-functions/wcstold_l.texi: Likewise.
41256         * doc/glibc-functions/wcstoll_l.texi: Likewise.
41257         * doc/glibc-functions/wcstoul_l.texi: Likewise.
41258         * doc/glibc-functions/wcstoull_l.texi: Likewise.
41259
41260 2009-11-24  Bruno Haible  <bruno@clisp.org>
41261
41262         duplocale: Fix logic bug.
41263         * lib/duplocale.c: Don't include <langinfo.h>.
41264         (_NL_LOCALE_NAME): Remove macro.
41265         (rpl_duplocale): Use setlocale instead of nl_langinfo.
41266         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
41267
41268 2009-11-23  Jim Meyering  <meyering@redhat.com>
41269
41270         test-update-copyright: don't hard-code /usr/bin/perl
41271         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
41272         perl to print the current year.  Gilles Espinasse reported that
41273         the replaced use of perl was hard-coded as /usr/bin/perl.
41274
41275 2009-11-23  Bruno Haible  <bruno@clisp.org>
41276
41277         duplocale: Add support for glibc 2.3.x.
41278         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
41279
41280 2009-11-22  Bruno Haible  <bruno@clisp.org>
41281
41282         vasnprintf: Tiny optimization.
41283         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
41284         MacOS X.
41285
41286 2009-11-22  Bruno Haible  <bruno@clisp.org>
41287
41288         Tests for module 'duplocale'.
41289         * modules/duplocale-tests: New file.
41290         * tests/test-duplocale.c: New file.
41291
41292         New module 'duplocale'.
41293         * m4/duplocale.m4: New file.
41294         * lib/locale.in.h (duplocale): New declaration.
41295         * lib/duplocale.c: New file.
41296         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
41297         gl_LOCALE_H_DEFAULTS): New macros.
41298         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
41299         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
41300         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
41301         REPLACE_DUPLOCALE.
41302         * modules/duplocale: New file.
41303         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
41304
41305 2009-11-22  Bruno Haible  <bruno@clisp.org>
41306
41307         * modules/locale-tests (configure.ac): Test for newlocale function.
41308         * tests/test-locale.c: When the system has extended locale functions,
41309         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
41310
41311         locale: Make locale_t available when possible.
41312         * lib/locale.in.h: Include <xlocale.h> when it exists.
41313         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
41314         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
41315         * modules/locale (Depends-on): Add extensions.
41316         (Makefile.am): Also substitute HAVE_XLOCALE_H.
41317         * doc/posix-headers/locale.texi: Document the problem with locale_t.
41318
41319 2009-11-22  Bruno Haible  <bruno@clisp.org>
41320
41321         Add comments.
41322         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
41323         invocation.
41324         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
41325         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
41326         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
41327
41328 2009-11-22  Bruno Haible  <bruno@clisp.org>
41329
41330         error: account for the possibility of freopen (stdout).
41331         * lib/error.c: Include <unistd.h>.
41332         (flush_stdout): New function, extracted from error and error_at_line.
41333         Determine stdout's fd dynamically.
41334         (error, error_at_line): Invoke flush_stdout.
41335         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
41336         * modules/error (Depends-on): Add unistd.
41337
41338 2009-11-22  Bruno Haible  <bruno@clisp.org>
41339
41340         diffseq: Add comment.
41341         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
41342
41343 2009-11-22  Jim Meyering  <meyering@redhat.com>
41344
41345         c-stack: avoid defining an unused static function
41346         * lib/c-stack.c (find_stack_direction): Do not define this function
41347         when it will not be used.
41348
41349         diffseq: avoid spurious gcc warnings
41350         * lib/diffseq.h (IF_LINT2): Define.
41351         (compareseq): Use it to initialize two members of "part".
41352         This avoids two used-uninitialized warnings.
41353
41354 2009-11-21  Jim Meyering  <meyering@redhat.com>
41355
41356         c-stack: avoid "ignoring return value of `write'" warning
41357         * lib/c-stack.c: Include "ignore-value.h".
41358         (die): Explicitly ignore each write return value.
41359         * modules/c-stack (Depends-on): Add ignore-value.
41360
41361 2009-11-21  Bruno Haible  <bruno@clisp.org>
41362
41363         diffseq: reduce scope of variable 'best'.
41364         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
41365         variable, earlier used for two different purposes.
41366
41367 2009-11-21  Jim Meyering  <meyering@redhat.com>
41368
41369         diffseq: remove useless assignment to "best"
41370         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
41371         assignment.  At that point "best" is already guaranteed to be zero.
41372
41373 2009-11-20  Eric Blake  <ebb9@byu.net>
41374
41375         build: mention ftp redirector in release announcements
41376         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
41377         values that used to come from cfg.mk; mention FTP redirect URL.
41378         * build-aux/announce-gen: Mention the mirror list.
41379         Suggested by Karl Berry.
41380
41381         nanosleep: improve port to mingw
41382         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
41383         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
41384         LIB_NANOSLEEP, but only when needed.
41385         * modules/select (Link): Document LIBSOCKET.
41386         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
41387         enough.
41388
41389         nanosleep: work around cygwin bug
41390         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
41391         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
41392         bug.
41393         (getnow): Delete, not needed.
41394         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
41395         LIB_CLOCK_GETTIME.
41396         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
41397         clock-time, gettime.
41398         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
41399         bug.
41400         * modules/nanosleep-tests: New test.
41401         * tests/test-nanosleep.c: New file.
41402
41403         sleep: work around cygwin bug
41404         * lib/sleep.c (rpl_sleep): Work around the bug.
41405         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
41406         (gl_PREREQ_SLEEP): Delete unused macro.
41407         * modules/sleep (Depends-on): Add verify.
41408         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
41409         * modules/unistd (Makefile.am): Substitute witness.
41410         * lib/unistd.in.h (sleep): Update prototype.
41411         * doc/posix-functions/sleep.texi (sleep): Document the bug.
41412         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
41413         * modules/sleep-tests (Depends-on): Check for alarm.
41414
41415 2009-11-20  Jim Meyering  <meyering@redhat.com>
41416
41417         maint.mk: improve sc_prohibit_magic_number_exit
41418         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
41419         so it does not match uses like System.exit(1).
41420         Add comments showing how to correct all offenders.
41421
41422 2009-11-19  Eric Blake  <ebb9@byu.net>
41423
41424         xalloc-die-tests: add missing library
41425         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
41426
41427         test-xvasprintf: silence compiler warnings
41428         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
41429         empty string from gcc.
41430
41431 2009-11-19  Jim Meyering  <meyering@redhat.com>
41432
41433         xfreopen: new module, from coreutils
41434         * modules/xfreopen: New module.
41435         * lib/xfreopen.c: New file.
41436         * lib/xfreopen.h: New file.
41437         * MODULES.html.sh (File stream based Input/Output"): Add it.
41438
41439 2009-11-19  Eric Blake  <ebb9@byu.net>
41440
41441         manywarnings: depend on warnings
41442         * modules/manywarnings (Depends-on): Add warnings.
41443
41444         build: avoid compiler warnings
41445         * lib/select.c (rpl_select): Delete unused variable.
41446         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
41447
41448 2009-11-18  Eric Blake  <ebb9@byu.net>
41449
41450         tests: avoid false negative with --with-packager
41451         * tests/test-version-etc.sh: Discard packager information.
41452         * tests/test-argp-version-etc-1.sh: Likewise.
41453         Reported by Mike Frysinger.
41454
41455         utimens: fix regression on Solaris
41456         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
41457         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
41458         can only change fd timestamps via futimesat.  Instead, use an
41459         additional witness macro to avoid BSD bug.
41460         Reported by Jim Meyering.
41461
41462 2009-11-17  Eric Blake  <ebb9@byu.net>
41463
41464         usleep: use it to simplify tests
41465         * modules/stat-time-tests (Depends-on): Add usleep.
41466         (configure.ac): Drop usleep check.
41467         * modules/chown-tests (Depends-on, configure.ac): Likewise.
41468         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
41469         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
41470         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
41471         * modules/openat-tests (Depends-on, configure.ac): Likewise.
41472         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
41473         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
41474         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
41475         Likewise.
41476         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
41477         * tests/test-lchown.h (nap): Likewise.
41478         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
41479         * tests/test-stat-time.c (nap): Likewise.
41480         * tests/test-utimens-common.h (nap): Update comments.
41481
41482         usleep: new module
41483         * modules/usleep: New file.
41484         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
41485         * lib/usleep.c (usleep): Likewise.
41486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
41487         * modules/unistd (Makefile.am): Substitute witnesses.
41488         * lib/unistd.in.h (usleep): Add declaration.
41489         * doc/pastposix-functions/usleep.texi (usleep): Document this.
41490         * MODULES.html.sh (Date and time): Likewise.
41491         * modules/usleep-tests (Depends-on): New test.
41492         * tests/test-usleep.c: New file.
41493
41494         chown: work around OpenBSD bug
41495         * lib/chown.c (rpl_chown): Work around the bug.
41496         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
41497         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
41498         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
41499         * modules/chown (Depends-on): Add stdbool.
41500         * modules/lchown (Depends-on): Likewise.
41501         * doc/posix-functions/chown.texi (chown): Document the bug.
41502         * doc/posix-functions/lchown.texi (lchown): Likewise.
41503         * tests/test-lchown.h (test_chown): Relax test.
41504
41505         mkstemp: avoid conflict with C++ keyword template
41506         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
41507         * lib/mkostemp.c (mkostemp): Likewise.
41508         * lib/mkostemps.c (mkostemps): Likewise.
41509         * lib/mkstemp.c (mkstemp): Likewise.
41510         * lib/mkstemps.c (mkstemps): Likewise.
41511
41512         xalloc-die-tests: optimize
41513         * tests/test-xalloc-die.sh: Reduce number of processes.
41514
41515 2009-11-17  Simon Josefsson  <simon@josefsson.org>
41516
41517         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
41518         patch from ludo@gnu.org (Ludovic Courtès).
41519
41520 2009-11-17  Jim Meyering  <meyering@redhat.com>
41521
41522         version-etc: use proper license string
41523         * modules/version-etc (License): Use LGPL, not LGPLv3+.
41524         * modules/version-etc-fsf: Likewise.
41525
41526 2009-11-17  Simon Josefsson  <simon@josefsson.org>
41527
41528         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
41529         printed to stdout.  Deal with EOL differences.
41530
41531 2009-11-17  Eric Blake  <ebb9@byu.net>
41532
41533         unsetenv: work around Solaris bug
41534         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
41535         * lib/unsetenv.c (rpl_unsetenv): Work around it.
41536         Reported by Jim Meyering.
41537
41538         vasnprintf: avoid compiler warnings
41539         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
41540         variables.
41541         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
41542
41543 2009-11-17  Simon Josefsson  <simon@josefsson.org>
41544
41545         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
41546         settings since xalloc-die is no longer the self test,
41547         xalloc-die.sh is.
41548
41549 2009-11-17  Jim Meyering  <meyering@redhat.com>
41550
41551         test-xalloc-die.sh: make the code agree with the commit log
41552         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
41553         at the end, just in case you happen to have a test-xalloc-die
41554         program in some other PATH directory.
41555
41556         test-xalloc-die.sh: fix a portability bug
41557         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
41558         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
41559         Otherwise, argv[0] (as often seen in diagnostics) would be too
41560         system-dependent, sometimes with, and sometimes without the leading "./".
41561
41562         version-etc-fsf: relax license to LGPLv3+
41563         * modules/version-etc-fsf (License): Relax license.
41564
41565 2009-11-16  Eric Blake  <ebb9@byu.net>
41566
41567         xalloc-die-tests: avoid printing null pointer
41568         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
41569         shell script.
41570         * tests/test-xalloc-die.c (program_name): Declare.
41571         * tests/test-xalloc-die.sh (tmpfiles): New file.
41572
41573         setenv, unsetenv: work around various bugs
41574         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
41575         (setenv) [HAVE_SETENV]: Work around bugs.
41576         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
41577         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
41578         for bugs.
41579         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
41580         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
41581         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
41582         * modules/stdlib (Makefile.am): Update substitutions.
41583         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
41584         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
41585         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41586         * modules/setenv-tests: New test.
41587         * modules/unsetenv-tests: Likewise.
41588         * tests/test-setenv.c: New file.
41589         * tests/test-unsetenv.c: Likewise.
41590
41591 2009-11-16  Jim Meyering  <meyering@redhat.com>
41592
41593         version-etc: relax license to LGPLv3+
41594         * modules/version-etc (License): Relax license.
41595
41596         better AC_REQUIRE expanded-before-required-warning avoidance
41597         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
41598         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
41599         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
41600         which is no longer needed.
41601
41602 2009-11-16  Eric Blake  <ebb9@byu.net>
41603
41604         test-freading: clean up temporary file
41605         * tests/test-freading.c (main): Remove file on success, and use
41606         ASSERT more liberally.
41607         Reported by Jim Meyering.
41608
41609 2009-11-16  Jim Meyering  <meyering@redhat.com>
41610
41611         avoid new AC_REQUIRE expanded-before-required warnings
41612         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
41613         merely using it.
41614         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
41615         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
41616
41617 2009-11-15  Simon Josefsson  <simon@josefsson.org>
41618
41619         * tests/test-xalloc-die.c: New file.
41620         * modules/xalloc-die-tests: New file.
41621         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
41622         XFAIL_TESTS so it can be appended by modules.
41623
41624 2009-11-15  Simon Josefsson  <simon@josefsson.org>
41625
41626         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
41627         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
41628
41629 2009-11-14  Eric Blake  <ebb9@byu.net>
41630
41631         fnmatch: avoid compiler warning
41632         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
41633         to silence compiler warning about mismatch signedness in ?:.
41634         Reported by Robert Millan.
41635
41636         intprops: add double-inclusion guard
41637         * lib/intprops.h: Allow idempotent includes.
41638         Suggested by Bruce Korb.
41639
41640         openat: detect Solaris fchownat bug
41641         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
41642         penalizing glibc chownat when only lchownat is broken.
41643         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
41644         trailing slash bugs.
41645         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
41646         * modules/openat-tests (Files): Include more files.
41647         (Depends-on): Add mgetgroups, sleep, stat-time.
41648         (configure.ac): Add additional checks.
41649         (Makefile.am): Build new test.
41650         * tests/test-fchownat.c: New file.
41651
41652         lchown: detect Solaris and FreeBSD bug
41653         * lib/lchown.c (rpl_lchown): Work around bug.
41654         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
41655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41656         * modules/unistd (Makefile.am): Populate it.
41657         * lib/unistd.in.h (lchown): Update declaration.
41658         * doc/posix-functions/lchown.texi (lchown): Document the bug.
41659         * modules/lchown-tests: New file.
41660         * tests/test-lchown.h (test_lchown): Likewise.
41661         * tests/test-lchown.c (main): Likewise.
41662
41663         chown: detect Solaris and FreeBSD bug
41664         * lib/chown.c (rpl_chown): Work around bug.
41665         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
41666         (gl_PREREQ_CHOWN): Delete.
41667         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41668         * modules/unistd (Makefile.am): Populate it.
41669         * lib/unistd.in.h (chown): Update declaration.
41670         * lib/lchown.c (chown): Update client.
41671         * modules/lchown (Depends-on): Add lstat.
41672         * doc/posix-functions/chown.texi (chown): Document the bug.
41673         * doc/posix-functions/getgroups.texi (getgroups): Document
41674         getgroups pitfall.
41675         * modules/chown-tests: New file.
41676         * tests/test-chown.h (test_chown): Likewise.
41677         * tests/test-chown.c (main): Likewise.
41678
41679 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
41680
41681         gnulib-tool: correctly detect absence of m4 directories
41682         * gnulib-tool: Avoid extra newline on data passed to wc -l.
41683
41684 2009-11-14  Jim Meyering  <meyering@redhat.com>
41685
41686         maint.mk: Prohibit inclusion of "xalloc.h" without use.
41687         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
41688
41689 2009-11-14  John W. Eaton  <jwe@gnu.org>
41690
41691         strftime.h: wrap function declaration in extern "C" block
41692         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
41693
41694 2009-11-13  Eric Blake  <ebb9@byu.net>
41695
41696         getgroups: avoid compiler warning
41697         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
41698
41699         getgroups: work around FreeBSD bug
41700         * lib/getgroups.c (rpl_getgroups): Work around the bug.
41701         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
41702         * doc/posix-functions/getgroups.texi (getgroups): Document it.
41703         * tests/test-getgroups.c (main): Fix buffer overrun.
41704
41705         getgroups: avoid compilation failure
41706         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
41707         * modules/getgroups (Depends-on): Add stdint.
41708
41709 2009-11-13  Jim Meyering  <meyering@redhat.com>
41710
41711         test-getgroups: avoid compilation failure
41712         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
41713
41714 2009-11-13  Eric Blake  <ebb9@byu.net>
41715
41716         mgetgroups: new module, taken from coreutils
41717         * modules/mgetgroups: New file.
41718         * lib/mgetgroups.h: Likewise.
41719         * lib/mgetgroups.c (mgetgroups): Likewise.
41720         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
41721         * MODULES.html.sh (Users and groups): Mention it.
41722
41723         getgroups: don't expose GETGROUPS_T to user
41724         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
41725         an element at a time if GETGROUPS_T is wrong size.
41726         * lib/getugroups.h (getugroups): Change signature.
41727         * lib/unistd.in.h (getgroups): Likewise.
41728         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
41729         signature needs fixing.
41730         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
41731         AC_TYPE_GETGROUPS.
41732         * modules/group-member (Depends-on): Add getgroups.
41733         * lib/group-member.c (group_info, get_group_info): Use gid_t.
41734         (group_member): Rely on getgroups replacement.
41735         * lib/getugroups.c (getugroups): Use gid_t.
41736         * tests/test-getgroups.c (main): Likewise.
41737         * NEWS: Mention the signature change.
41738         * doc/posix-functions/getgroups.texi (getgroups): Mention the
41739         problem with signature.
41740         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
41741         GETGROUPS_T is still useful for setgroups.
41742
41743         getgroups, getugroups: provide stubs for mingw
41744         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
41745         * lib/getugroups.c (getugroups): Likewise.
41746         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
41747         function.  Modernize replacement scheme.
41748         (gl_PREREQ_GETGROUPS): Delete.
41749         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
41750         * modules/getgroups (configure.ac): Declare witness.
41751         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
41752         * modules/unistd (Depends-on): Substitute witness.
41753         * lib/unistd.in.h (getgroups): Declare replacement.
41754
41755         getgroups: avoid calling exit
41756         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
41757         drop xalloc.
41758         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
41759         dependencies.
41760         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
41761         exiting, in the rare case of malloc failure.
41762
41763         getgroups: fix logic error
41764         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
41765         has more than 20 groups.
41766         * modules/getgroups-tests: New test.
41767         * tests/test-getgroups.c: New file.
41768
41769 2009-11-13  Simon Josefsson  <simon@josefsson.org>
41770
41771         * tests/test-base64.c: Improve.
41772
41773 2009-11-13  Simon Josefsson  <simon@josefsson.org>
41774
41775         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
41776         Blake <ebb9@byu.net>.
41777
41778 2009-11-13  Simon Josefsson  <simon@josefsson.org>
41779
41780         * tests/test-xvasprintf.c: Add %s%s related checks.
41781
41782 2009-11-12  Eric Blake  <ebb9@byu.net>
41783
41784         version-etc: match standards.texi style
41785         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
41786         and use <> only for URLs.
41787
41788 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
41789
41790         fts: do not fail on a submount during traversal
41791         * lib/fts.c (fts_build): Read the stat info again after opening
41792         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
41793         Original report at http://bugzilla.redhat.com/501848.
41794
41795 2009-11-12  Jim Meyering  <meyering@redhat.com>
41796
41797         bootstrap: sync from coreutils
41798         * build-aux/bootstrap (bootstrap_epilogue): New function.
41799         Use git_modules_config in one more place.  This make bootstrap's
41800         --gnulib-srcdir option more useful for testing.
41801
41802         bootstrap: generalize autoheader check
41803         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
41804         AC_CONFIG_HEADERS.
41805
41806 2009-11-11  Eric Blake  <ebb9@byu.net>
41807
41808         mkfifoat: use new modules for Solaris and BSD bugs
41809         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
41810         * lib/mkfifoat.c (mknodat): Split...
41811         * lib/mknodat.c (mknodat): ...into new file.
41812         * modules/mkfifoat (Files): Ship new file.
41813         (Depends-on): Add mkfifo, mknod.
41814         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
41815         (Depends-on): Add symlink.
41816         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
41817         redundant with test_mkfifo.h.
41818         (do_mkfifoat, do_mknodat): New helpers.
41819
41820         mknod: new module
41821         * modules/mknod: New file.
41822         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
41823         * lib/mknod.c (mknod): Likewise.
41824         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
41825         defaults.
41826         * modules/sys_stat (Makefile.am): Substitute them.
41827         * lib/sys_stat.in.h (mknod): Declare replacement.
41828         * MODULES.html.sh (Support for systems lacking POSIX:2008):
41829         Document it.
41830         * doc/posix-functions/mknod.texi (mknod): Likewise.
41831         * modules/mknod-tests: New test.
41832         * tests/test-mknod.c: Likewise.
41833
41834         mkfifo: new module
41835         * modules/mkfifo: New file.
41836         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
41837         * lib/mkfifo.c (mkfifo): Likewise.
41838         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
41839         defaults.
41840         * modules/sys_stat (Makefile.am): Substitute them.
41841         * lib/sys_stat.in.h (mkfifo): Declare replacement.
41842         * MODULES.html.sh (Support for systems lacking POSIX:2008):
41843         Document it.
41844         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
41845         * modules/mkfifo-tests: New test.
41846         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
41847         from test-mkfifoat.c.
41848         * tests/test-mkfifo.c: New file.
41849
41850         readlink: detect FreeBSD bug
41851         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
41852         slash on symlink.
41853         * doc/posix-functions/readlink.texi (readlink): Document the bug.
41854         * tests/test-readlink.h (test_readlink): Enhance test.
41855
41856         symlink: detect FreeBSD bug
41857         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
41858         slash on symlink.
41859         * doc/posix-functions/symlink.texi (symlink): Document the bug.
41860         * tests/test-symlink.h (test_symlink): Enhance test.
41861
41862 2009-11-10  Eric Blake  <ebb9@byu.net>
41863
41864         link: detect FreeBSD bug
41865         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
41866         symlink.
41867         * doc/posix-functions/link.texi (link): Document the bug.
41868         * tests/test-link.h (test_link): Enhance test.
41869         * tests/test-linkat.c (main): Update caller.
41870
41871         unlink, remove: detect FreeBSD bug
41872         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
41873         slash on symlink.
41874         * doc/posix-functions/unlink.texi (unlink): Document the bug.
41875         * doc/posix-functions/remove.texi (remove): Likewise.
41876         * tests/test-unlink.h (test_unlink): Enhance test.
41877         * tests/test-remove.c (main): Likewise.
41878
41879 2009-11-09  Eric Blake  <ebb9@byu.net>
41880
41881         rename: detect FreeBSD bug
41882         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
41883         slash on symlink.
41884         * modules/renameat-tests (Depends-on): Add filenamecat.
41885         * tests/test-rename.h (test_rename): Allow one more errno.
41886         * tests/test-renameat.c (main): Likewise.
41887         * doc/posix-functions/rename.texi (rename): Document the bug.
41888
41889         open: detect FreeBSD bug
41890         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
41891         symlink.
41892         * doc/posix-functions/open.texi (open): Document the bug.
41893         * doc/posix-functions/utimes.texi (utimes): Likewise.
41894         * tests/test-open.h (test_open): Add parameters, and test symlink
41895         handling.
41896         * tests/test-open.c (main): Adjust caller.
41897         * tests/test-fcntl-safer.c (main): Likewise.
41898         * modules/open-tests (Depends-on): Add stdbool, symlink.
41899         * modules/fcntl-safer-tests (Depends-on): Likewise.
41900         * tests/test-openat.c (main): Add test-open tests.
41901
41902         stat: detect FreeBSD bug
41903         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
41904         symlink.
41905         * doc/posix-functions/stat.texi (stat): Document the bug.
41906         * tests/test-stat.h (test_stat_func): Add argument.
41907         * tests/test-stat.c (main): Adjust caller.
41908         * tests/test-fstatat.c (main): Likewise.
41909         * modules/stat-tests (Depends-on): Add stdbool, symlink.
41910         Reported by Jim Meyering.
41911
41912 2009-11-09  James Youngman  <jay@gnu.org>
41913
41914         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
41915         * lib/strftime.c: Correct placement of #include "ignore-value.h".
41916
41917 2009-11-08  Jim Meyering  <meyering@redhat.com>
41918
41919         utimens: remove invalid futimesat call
41920         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
41921         It used the file descriptor of the target file as the DIR_FD
41922         parameter and NULL as the file name.  That caused failure with
41923         errno == EFAULT on FreeBSD-8.0-rc2
41924
41925 2009-11-07  Eric Blake  <ebb9@byu.net>
41926
41927         fflush, freadseek: use fseeko, not fseek
41928         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
41929         (clear_ungetc_buffer): Avoid potential problems on large files.
41930         * lib/freadseek.c (freadseek): Likewise.
41931         * modules/freadseek (Depends-on): Add fseeko.
41932         * modules/fseek (configure.ac): Set a witness.
41933         * tests/test-fflush.c (main): Use fseeko.
41934         * tests/test-fpurge.c (fseek): Disable link warning.
41935         * tests/test-freadable.c (fseek): Likewise.
41936         * tests/test-freading.c (fseek): Likewise.
41937         * tests/test-fseeko.c (fseek): Likewise.
41938         * tests/test-ftell.c (fseek): Likewise.
41939         * tests/test-ftello.c (fseek): Likewise.
41940         * tests/test-fwritable.c (fseek): Likewise.
41941         * tests/test-fwriting.c (fseek): Likewise.
41942
41943 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41944
41945         * modules/memchr (Depends-on): Drop getpagesize dependency.
41946
41947 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41948
41949         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
41950         Reported by Ludovic Courtès.
41951         * build-aux/pmccabe2html: Improve example usage.
41952         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
41953
41954 2009-11-06  Jim Meyering  <meyering@redhat.com>
41955
41956         do-release-commit-and-tag: New module.
41957         Automate the release-commit and tag process.
41958         * build-aux/do-release-commit-and-tag: New script, from coreutils.
41959         * modules/do-release-commit-and-tag: New file.
41960         * MODULES.html.sh (Support for maintaining and releasing): Add it.
41961
41962 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41963
41964         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
41965         because test-select.c uses inet_pton.
41966
41967 2009-11-06  Simon Josefsson  <simon@josefsson.org>
41968
41969         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
41970         GETADDRINFO_LIB.  Bump serial number.
41971         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
41972         Suggested by Eric Blake <ebb9@byu.net>.
41973
41974 2009-11-05  Eric Blake  <ebb9@byu.net>
41975
41976         strtod: detect darwin bug
41977         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
41978         Reported by Leo Davis.
41979
41980         freopen-safer: new module
41981         * modules/freopen-safer: New module.
41982         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
41983         * lib/freopen-safer.c (freopen_safer): New file.
41984         * lib/stdio-safer.h (freopen_safer): New declaration.
41985         * lib/stdio--.h (freopen): New override.
41986         * MODULES.html.sh (File stream based Input/Output): Mention it.
41987         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
41988         freopen-safer module.
41989         * doc/posix-functions/stderr.texi (stderr): Likewise.
41990         * doc/posix-functions/stdin.texi (stdin): Likewise.
41991         * doc/posix-functions/stdout.texi (stdout): Likewise.
41992         * modules/freopen-safer-tests: New test.
41993         * tests/test-reopen-safer.c: New file.
41994
41995 2009-11-05  Jim Meyering  <meyering@redhat.com>
41996
41997         maint.mk: Prohibit inclusion of "close-stream.h" without use.
41998         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
41999
42000 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42001
42002         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
42003
42004 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42005
42006         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
42007
42008 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42009
42010         Fix link error.
42011         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
42012         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42013
42014 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42015
42016         * tests/test-func.c: Also test value of __func__.
42017
42018 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42019
42020         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
42021         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
42022
42023 2009-11-05  Bruno Haible  <bruno@clisp.org>
42024
42025         Fix link error.
42026         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
42027         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
42028         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
42029
42030 2009-11-05  Bruno Haible  <bruno@clisp.org>
42031
42032         Tests for module 'inet_pton'.
42033         * modules/inet_pton-tests: New file.
42034         * tests/test-inet_pton.c: New file.
42035
42036 2009-11-05  Bruno Haible  <bruno@clisp.org>
42037
42038         Tests for module 'inet_ntop'.
42039         * modules/inet_ntop-tests: New file.
42040         * tests/test-inet_ntop.c: New file.
42041
42042 2009-11-04  Eric Blake  <ebb9@byu.net>
42043
42044         stdlib-safer: wrap all mkstemp variants
42045         * modules/mkostemp (configure.ac): Set witness.
42046         * modules/mkostemps (configure.ac): Likewise.
42047         * modules/mkstemps (configure.ac): Likewise.
42048         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
42049         (mkstemps_safer): Wrap more functions.
42050         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
42051         wrapping.
42052         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
42053         (mkstemps_safer): Implement the wrappers.
42054
42055         mkstemps, mkostemps: new modules
42056         * modules/mkostemps: New module.
42057         * modules/mkstemps: Likewise.
42058         * lib/mkostemps.c (mkostemps): New file.
42059         * lib/mkstemps.c (mkstemps): Likewise.
42060         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
42061         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
42062         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
42063         * modules/stdlib (Makefile.am): Substitute them.
42064         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
42065         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
42066         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
42067         * doc/gnulib.texi (Glibc stdlib.h): Include them.
42068         * MODULES.html.sh (File system functions): Mention them.
42069
42070         tempname: resync from glibc
42071         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
42072         same values for __GT_FILE as glibc.  Abort even when assertions
42073         are disabled.
42074         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
42075         match its value otherwise.  Allow idempotent inclusion.
42076         * lib/mkdtemp.c (mkdtemp): Adjust caller.
42077         * lib/mkostemp.c (mkostemp): Likewise.
42078         * lib/mkstemp.c (mkstemp): Likewise.
42079         * lib/tmpfile.c (tmpfile): Likewise.
42080         * NEWS: Document this.
42081
42082         utimens: fix use of futimens on older Linux
42083         * lib/utimens.c (fdutimens): Use updated, rather than original,
42084         timespec to avoid bug in older Linux kernel.
42085         Reported by Simon Josefsson.
42086
42087 2009-11-04  Bruno Haible  <bruno@clisp.org>
42088
42089         Make num_processors more flexible and consistent.
42090         * lib/nproc.h (enum nproc_query): New type.
42091         (num_processors): Add a 'query' argument.
42092         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
42093         (num_processors): Add a 'query' argument. Test the value of the
42094         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
42095         mingw, count the number of CPUs available for the current process.
42096         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
42097         Check for sched_getaffinity and sched_getaffinity_np.
42098         * modules/nproc (Depends-on): Add c-ctype, extensions.
42099         * NEWS: Mention the change.
42100
42101 2009-11-03  Bruno Haible  <bruno@clisp.org>
42102
42103         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
42104
42105 2009-11-03  Jim Meyering  <meyering@redhat.com>
42106
42107         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
42108         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
42109         if it is defined.
42110
42111 2009-11-02  Eric Blake  <ebb9@byu.net>
42112
42113         mktime, timegm: share common declaration
42114         * lib/mktime-internal.h: New file.
42115         * lib/mktime.c: Use it rather than open-coding a declaration.
42116         * lib/timegm.c: Likewise.
42117         * modules/mktime (Files): Ship it.
42118         * modules/timegm (Files): Likewise.
42119         Suggested by Bruno Haible.
42120
42121         test-update-copyright: update test to match script changes
42122         * tests/test-update-copyright.sh: Avoid hard-coding perl
42123         location.  Don't update *.bak created by earlier runs.
42124
42125 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
42126             Simon Josefsson  <simon@josefsson.org>
42127             Bruno Haible  <bruno@clisp.org>
42128
42129         Fix link error on Solaris 8.
42130         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
42131         also in libnsl. Define also INET_PTON_LIB.
42132         * modules/inet_pton (Link): New section.
42133
42134 2009-11-02  Simon Josefsson  <simon@josefsson.org>
42135             Bruno Haible  <bruno@clisp.org>
42136
42137         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
42138         * modules/inet_ntop (Link): New section.
42139         Reported by Boyan Kasarov <bkasarov@gmail.com>.
42140
42141 2009-11-02  Eric Blake  <ebb9@byu.net>
42142
42143         maint: avoid compiler warnings in m4 macros
42144         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
42145         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
42146
42147 2009-11-02  Simon Josefsson  <simon@josefsson.org>
42148
42149         * m4/pmccabe2html.m4: Remove file.
42150         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
42151         function.  Change maintainer.
42152         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
42153         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
42154         Courtès).
42155
42156 2009-10-31  Eric Blake  <ebb9@byu.net>
42157
42158         fseeko: fix m4 regression
42159         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
42160         regression from 2009-10-27.
42161         Reported by Ralf Wildenhues.
42162
42163 2009-10-31  Jim Meyering  <meyering@redhat.com>
42164
42165         inttostr: aesthetics and improved (compile-time) safety
42166         Define inttype_is_signed rather than inttype_is_unsigned,
42167         since the sole use is via "#if inttype_is_signed".
42168         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
42169         inttype_is_unsigned.
42170         * lib/offtostr.c (inttype_is_signed): Likewise.
42171         * lib/uinttostr.c (inttype_is_signed): Likewise.
42172         * lib/umaxtostr.c (inttype_is_signed): Likewise.
42173         * lib/inttostr.c (inttostr): Use verify to cross-check the
42174         inttype_is_signed value and the signedness of the actual type.
42175         * modules/inttostr (Depends-on): Add verify.
42176
42177 2009-10-30  Eric Blake  <ebb9@byu.net>
42178
42179         build: avoid compiler warnings
42180         * lib/fchmodat.c (lchmod): Mark unused variables.
42181         * lib/getopt.c (_getopt_initialize): Likewise.
42182         * lib/mktime.c (__mktime_internal): Provide prototype.
42183         * lib/inttostr.c (inttostr): Avoid compiler warning even with
42184         older gcc that do not understand #pragma GCC diagnostic.
42185         * lib/uinttostr.c (inttype_is_unsigned): Define.
42186         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
42187
42188 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
42189
42190         stat: fix compilation on AIX
42191         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
42192         only see struct stat64.
42193
42194 2009-10-30  Eric Blake  <ebb9@byu.net>
42195
42196         exclude: make more robust
42197         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
42198         rather than masking a coding bug.
42199         Suggested by Bruno Haible.
42200
42201 2009-10-30  Jim Meyering  <meyering@redhat.com>
42202
42203         perl scripts: remove #!/usr/bin/perl in favor of more portable...
42204         Rather than putting #!/usr/bin/perl on the first line,
42205         start with a variant of what's recommended by "man perlrun" that
42206         invokes the first "perl" program from your shell's search path.
42207         * build-aux/gitlog-to-changelog: Replace #!... as above.
42208         Add a "Local Variables" perl mode setting.
42209         Prompted by a patch from Ludovic Courtès.
42210         Improved by Eric Blake.
42211         * build-aux/useless-if-before-free: Likewise.
42212         * build-aux/announce-gen: Likewise.
42213         * build-aux/update-copyright: Likewise.
42214
42215 2009-10-29  Eric Blake  <ebb9@byu.net>
42216
42217         filenamecat-lgpl: adjust clients
42218         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
42219         filenamecat.
42220         * modules/renameat (Depends-on): Likewise.
42221
42222         filenamecat: split into filenamecat-lgpl
42223         * modules/filenamecat-lgpl: New module.
42224         * modules/filenamecat (Files): Move library-safe files into
42225         filenamecat-lgpl.
42226         (Depends-on): Add filenamecat-lgpl.
42227         (configure.ac): Declare witness.
42228         * lib/filenamecat.h (file_name_concat): Only declare when using
42229         GPL module.
42230         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
42231         Move...
42232         * lib/filenamecat-lgpl.c: ...into new file.
42233         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
42234         (gl_FILE_NAME_CONCAT): Use it.
42235         * MODULES.html.sh (File system functions): Mention new module.
42236
42237         argp: avoid memory leak
42238         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
42239         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
42240         base_name, since the latter malloc()s and can call exit().
42241         Leak introduced 2006-07-03.
42242
42243         dirname-lgpl: adjust clients that don't need full dirname
42244         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
42245         * modules/filenamecat (Depends-on): Likewise.
42246         * modules/linkat (Depends-on): Likewise.
42247         * modules/mkancesdirs (Depends-on): Likewise.
42248         * modules/mkdir (Depends-on): Likewise.
42249         * modules/openat (Depends-on): Likewise.
42250         * modules/savewd (Depends-on): Likewise.
42251         * modules/rename (Depends-on): Likewise.
42252         (License): Relax license.
42253         * modules/mkdir-tests (Depends-on): Drop progname.
42254         (Makefile.am): Delete unneeded LDADD.
42255         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
42256
42257         dirname: split into dirname-lgpl
42258         * modules/dirname-lgpl: New module.
42259         * modules/dirname (Files): Move library-safe files into
42260         dirname-lgpl.
42261         (Depends-on): Add dirname-lgpl.
42262         (configure.ac): Declare witness.
42263         * modules/double-slash-root (License): Relax license.
42264         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
42265         module.
42266         * lib/dirname.c (dir_len, mdir_name): Move...
42267         * lib/dirname-lgpl.c: ...into new file.
42268         * lib/basename.c (last_component, base_len): Move...
42269         * lib/basename-lgpl.c: ...into new file.
42270         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
42271         (gl_DIRNAME): Use it.
42272         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
42273         Mention new module.
42274         * modules/dirname-tests (Depends-on): Add progname.
42275         * tests/test-dirname.c (program_name): Delete.
42276
42277         mkdir: make safe for libraries
42278         * modules/mkdir (Depends-on): Drop xalloc.
42279         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
42280         exit.
42281
42282         tests: avoid some compiler warnings
42283         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
42284         literals.
42285         * tests/test-memchr.c (main): Avoid type mismatch.
42286         * tests/test-arpa_inet.c (main): Avoid unused parameters.
42287         * tests/test-base64.c (main): Likewise.
42288         * tests/test-getdelim.c (main): Likewise.
42289         * tests/test-gethostname.c (main): Likewise.
42290         * tests/test-getline.c (main): Likewise.
42291         * tests/test-netinet_in.c (main): Likewise.
42292         * tests/test-select.c (open_server_socket, main): Likewise.
42293         * tests/test-select-stdin.c (main): Likewise.
42294         * tests/test-sockets.c (main): Likewise.
42295         * tests/test-strsignal.c (main): Likewise.
42296         * tests/test-sys_select.c (main): Likewise.
42297         * tests/test-sys_socket.c (main): Likewise.
42298         * tests/test-u64.c (main): Likewise.
42299         * tests/test-xfprintf-posix.c (main): Likewise.
42300         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
42301
42302         sockets: avoid compiler warning
42303         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
42304
42305         maint: detect usage(1) and other suspicious exits
42306         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
42307
42308 2009-10-29  Jim Meyering  <meyering@redhat.com>
42309
42310         timespec: long-to-int truncation could make timespec_cmp malfunction
42311         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
42312         a multiple of 2^32 nanoseconds as no difference.
42313
42314 2009-10-28  Jim Meyering  <meyering@redhat.com>
42315
42316         fprintftime: wrap macro code argument in "do {...} while(0)"
42317         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
42318         cpy macro must be a statement that can be followed by a semicolon.
42319         Now that the else clause contains a comment and is hence longer
42320         than one line, I require curly braces.  That in turn requires
42321         that we wrap this code block in the standard do...while(0).
42322
42323         fprintftime: remove stray semicolon from previous change
42324         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
42325
42326         fprintftime: avoid a warning about ignored fwrite return value
42327         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
42328         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
42329         that is unsafe.
42330         * modules/fprintftime (Depends-on): Add ignore-value.
42331
42332         exclude: avoid an unwarranted warning
42333         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
42334
42335 2009-10-27  Eric Blake  <ebb9@byu.net>
42336
42337         fseek: avoid compilation failure when fflush is replaced
42338         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
42339         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
42340         module is in use.
42341         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
42342         module is not in use; since REPLACE_FSEEK worked otherwise.
42343         (GNULIB_FTELLO): Likewise for ftell.
42344         Reported by Ian Beckwith and others.
42345
42346 2009-10-27  Bruno Haible  <bruno@clisp.org>
42347
42348         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
42349         Reported by Jim Meyering.
42350
42351 2009-10-27  Jim Meyering  <jim@meyering.net>
42352             Bruno Haible  <bruno@clisp.org>
42353
42354         Avoid warning despite dropping the return value of fwrite.
42355         * lib/unicodeio.c: Include ignore-value.h.
42356         (fwrite_success_callback): Explicitly ignore fwrite's return value.
42357         * modules/unicodeio (Depends-on): Add ignore-value.
42358
42359 2009-10-26  Eric Blake  <ebb9@byu.net>
42360
42361         areadlinkat: fix fallback path
42362         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
42363         pointer and zero.
42364
42365 2009-10-22  Pádraig Brady  <P@draigBrady.com>
42366
42367         Use a better IO block size for modern systems
42368         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
42369         * lib/md2.c: Likewise.
42370         * lib/md4.c: Likewise.
42371         * lib/md5.c: Likewise.
42372         * lib/sha1.c: Likewise.
42373         * lib/sha256.c: Likewise.
42374         * lib/sha512.c: Likewise.
42375
42376 2009-10-22  Eric Blake  <ebb9@byu.net>
42377
42378         tests: avoid several compiler warnings
42379         * tests/test-getcwd.c (main): Avoid buffer underflow.
42380         * tests/test-getdate.c (main): String literals are not safe with
42381         putenv, so use setenv.  Declare unused argument.
42382         * modules/getdate-tests (Depends-on): Add setenv.
42383         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
42384         problems with string literals in char *.
42385         * tests/test-hash.c (main): Avoid shadowing declaration.
42386         (insert_new): Treat string literals as char const *.
42387         * tests/test-getopt.h (test_getopt): Likewise.
42388         (getopt_loop): Alter types to minimize casting elsewhere.
42389         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
42390         (test_getopt_long_posix): Likewise.
42391         (do_getopt_long): Add wrapper to minimize casting.
42392         * tests/test-atexit.c (clear_temp_file): Use void.
42393         * tests/test-areadlink-with-size.c (main): Declare unused
42394         arguments.
42395         * tests/test-areadlink.c (main): Likewise.
42396         * tests/test-areadlinkat-with-size.c (main): Likewise.
42397         * tests/test-areadlinkat.c (main): Likewise.
42398         * tests/test-canonicalize-lgpl.c (main): Likewise.
42399         * tests/test-canonicalize.c (main): Likewise.
42400         * tests/test-dirent-safer.c (main): Likewise.
42401         * tests/test-dirname.c (main): Likewise.
42402         * tests/test-dup2.c (main): Likewise.
42403         * tests/test-fchdir.c (main): Likewise.
42404         * tests/test-fcntl-h.c (main): Likewise.
42405         * tests/test-fcntl-safer.c (main): Likewise.
42406         * tests/test-fdopendir.c (main): Likewise.
42407         * tests/test-fdutimensat.c (main): Likewise.
42408         * tests/test-fflush.c (main): Likewise.
42409         * tests/test-filenamecat.c (main): Likewise.
42410         * tests/test-filevercmp.c (main): Likewise.
42411         * tests/test-fopen-safer.c (main): Likewise.
42412         * tests/test-fopen.c (main): Likewise.
42413         * tests/test-fpending.c (main): Likewise.
42414         * tests/test-fpurge.c (main): Likewise.
42415         * tests/test-freading.c (main): Likewise.
42416         * tests/test-fstatat.c (main): Likewise.
42417         * tests/test-fsync.c (main): Likewise.
42418         * tests/test-futimens.c (main): Likewise.
42419         * tests/test-getndelim2.c (main): Likewise.
42420         * tests/test-gettimeofday.c (main): Likewise.
42421         * tests/test-getopt.c (main): Likewise.
42422         * tests/test-i-ring.c (main): Likewise.
42423         * tests/test-inttypes.c (main): Likewise.
42424         * tests/test-link.c (main): Likewise.
42425         * tests/test-lstat.c (main): Likewise.
42426         * tests/test-math.c (main): Likewise.
42427         * tests/test-md5.c (main): Likewise.
42428         * tests/test-memchr2.c (main): Likewise.
42429         * tests/test-memrchr.c (main): Likewise.
42430         * tests/test-mkdir.c (main): Likewise.
42431         * tests/test-mkdirat.c (main): Likewise.
42432         * tests/test-mkfifoat.c (main): Likewise.
42433         * tests/test-open.c (main): Likewise.
42434         * tests/test-openat-safer.c (main): Likewise.
42435         * tests/test-openat.c (main): Likewise.
42436         * tests/test-quotearg.c (main): Likewise.
42437         * tests/test-rawmemchr.c (main): Likewise.
42438         * tests/test-readlink.c (main): Likewise.
42439         * tests/test-remove.c (main): Likewise.
42440         * tests/test-rename.c (main): Likewise.
42441         * tests/test-renameat.c (main): Likewise.
42442         * tests/test-rmdir.c (main): Likewise.
42443         * tests/test-sha1.c (main): Likewise.
42444         * tests/test-signal.c (main): Likewise.
42445         * tests/test-sigaction.c (main): Likewise.
42446         * tests/test-stat.c (main): Likewise.
42447         * tests/test-stat-time.c (main): Likewise.
42448         * tests/test-stddef.c (main): Likewise.
42449         * tests/test-stdint.c (main): Likewise.
42450         * tests/test-stdio.c (main): Likewise.
42451         * tests/test-stdlib.c (main): Likewise.
42452         * tests/test-strchrnul.c (main): Likewise.
42453         * tests/test-strerror.c (main): Likewise.
42454         * tests/test-string.c (main): Likewise.
42455         * tests/test-strtod.c (main): Likewise.
42456         * tests/test-strverscmp.c (main): Likewise.
42457         * tests/test-symlink.c (main): Likewise.
42458         * tests/test-symlinkat.c (main): Likewise.
42459         * tests/test-sys_stat.c (main): Likewise.
42460         * tests/test-sys_time.c (main): Likewise.
42461         * tests/test-time.c (main): Likewise.
42462         * tests/test-unistd.c (main): Likewise.
42463         * tests/test-unlink.c (main): Likewise.
42464         * tests/test-unlinkat.c (main): Likewise.
42465         * tests/test-utimens.c (main): Likewise.
42466         * tests/test-utimensat.c (main): Likewise.
42467         * tests/test-version-etc.c (main): Likewise.
42468         * tests/test-wchar.c (main): Likewise.
42469         * tests/test-wctype.c (main): Likewise.
42470         * tests/test-xprintf-posix.c (main): Likewise.
42471         * tests/test-posixtm.c (main): Likewise.
42472         (STREQ): Delete unused macro.
42473         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
42474         shadowed variables.
42475         * tests/test-memchr.c (main): Likewise.
42476
42477 2009-10-21  Eric Blake  <ebb9@byu.net>
42478
42479         areadlinkat: avoid failure on older glibc
42480         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
42481         rather than mis-comparing 0 against FUNC_RESULT of char*.
42482
42483 2009-10-21  Bruno Haible  <bruno@clisp.org>
42484
42485         * modules/stpncpy (License): Relicense under LGPLv2+.
42486         Reported by David Lutterkort <lutter@redhat.com>.
42487
42488 2009-10-20  Eric Blake  <ebb9@byu.net>
42489
42490         utimensat: work around Solaris 9 bug
42491         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
42492         has trailing slash bugs.
42493         * tests/test-lutimens.h (test_lutimens): Enhance test.
42494         * tests/test-utimens.h (test_utimens): Likewise.
42495         * doc/posix-functions/utime.texi (utime): Enhance documentation.
42496         * doc/posix-functions/utimes.texi (utimes): Likewise.
42497         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
42498         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
42499         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
42500         * doc/posix-functions/futimens.texi (futimens): Likewise.
42501
42502         fdutimensat: new module
42503         * modules/fdutimensat: New file.
42504         * lib/fdutimensat.c (fdutimensat): Likewise.
42505         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
42506         * MODULES.html.sh (File system functions): Mention module.
42507         * modules/fdutimensat-tests: New test.
42508         * tests/test-fdutimensat.c: Likewise.
42509
42510         doc: regenerate INSTALL
42511         * doc/INSTALL: Reflect recent autoconf update.
42512         * doc/INSTALL.ISO: Likewise.
42513         * doc/INSTALL.UTF-8: Likewise.
42514
42515 2009-10-20  Pádraig Brady  <P@draigBrady.com>
42516
42517         acl: warn if ACL support is not detected
42518         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
42519
42520 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
42521
42522         * lib/nproc.h: Add extern "C" block for C++.
42523
42524 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
42525             Bruno Haible  <bruno@clisp.org>
42526
42527         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
42528         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
42529         * doc/posix-functions/isalpha.texi: Likewise.
42530         * doc/posix-functions/isblank.texi: Likewise.
42531         * doc/posix-functions/iscntrl.texi: Likewise.
42532         * doc/posix-functions/isdigit.texi: Likewise.
42533         * doc/posix-functions/isgraph.texi: Likewise.
42534         * doc/posix-functions/islower.texi: Likewise.
42535         * doc/posix-functions/isprint.texi: Likewise.
42536         * doc/posix-functions/ispunct.texi: Likewise.
42537         * doc/posix-functions/isspace.texi: Likewise.
42538         * doc/posix-functions/isupper.texi: Likewise.
42539         * doc/posix-functions/isxdigit.texi: Likewise.
42540
42541 2009-10-18  Bruno Haible  <bruno@clisp.org>
42542
42543         Tests for module 'isblank'.
42544         * modules/isblank-tests: New file.
42545         * tests/test-isblank.c: New file.
42546
42547         New module 'isblank'.
42548         * lib/isblank.c: New file.
42549         * m4/isblank.m4: New file.
42550         * modules/isblank: New file.
42551         * doc/posix-functions/isblank.texi: Mention the new module.
42552
42553 2009-10-18  Bruno Haible  <bruno@clisp.org>
42554
42555         New module 'ctype'.
42556         * lib/ctype.in.h: New file.
42557         * m4/ctype.m4: New file.
42558         * modules/ctype: New file.
42559         * doc/posix-headers/ctype.texi: Mention the new module.
42560
42561 2009-10-18  Jim Meyering  <meyering@redhat.com>
42562
42563         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
42564         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
42565         right after its initialization, rather than farther down.
42566         Keeping these in close proximity makes it easier to ensure
42567         that each such variable is initialized.  E.g.,
42568
42569             LIB_CLOCK_GETTIME=
42570             AC_SUBST([LIB_CLOCK_GETTIME])
42571
42572         This change also increments these serial numbers.
42573         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
42574         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
42575         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42576
42577 2009-10-18  Bruno Haible  <bruno@clisp.org>
42578
42579         Don't let environment variables perturb build.
42580         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
42581         (gl_PREREQ_GETHRXTIME): ... not here.
42582
42583 2009-10-18  Bruno Haible  <bruno@clisp.org>
42584
42585         Avoid symlink attack in localcharset module.
42586         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
42587         (O_NOFOLLOW): Define fallback.
42588         (get_charset_aliases): Don't open the file if it is a symbolic link.
42589         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
42590         gl_FCNTL_H.
42591         (gl_FCNTL_H): Require it.
42592         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
42593         * modules/localcharset (Files): Add m4/fcntl_h.m4.
42594         Reported by Fergal Glynn <fglynn@veracode.com>.
42595
42596 2009-10-18  Bruno Haible  <bruno@clisp.org>
42597
42598         Implement nproc for mingw.
42599         * lib/nproc.c: Include <windows.h>
42600         (num_processors): On native Windows platforms, try GetSystemInfo.
42601
42602 2009-10-18  Bruno Haible  <bruno@clisp.org>
42603
42604         Implement nproc for IRIX.
42605         * lib/nproc.c: Include <sys/sysmp.h>.
42606         (num_processors): On IRIX systems, try sysmp.
42607         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
42608
42609 2009-10-18  Bruno Haible  <bruno@clisp.org>
42610
42611         Implement nproc for HP-UX.
42612         * lib/nproc.c: Include <sys/pstat.h>
42613         (num_processors): On HP-UX systems, try pstat_getdynamic.
42614         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
42615         pstat_getdynamic.
42616
42617 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
42618             Bruno Haible  <bruno@clisp.org>
42619
42620         Implement nproc for NetBSD, OpenBSD.
42621         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
42622         (ARRAY_SIZE): New macro.
42623         (num_processors): On BSD systems, try sysctl of HW_NCPU.
42624         * m4/nproc.m4: New file.
42625         * modules/nproc (Files): Add m4/nproc.m4.
42626         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
42627         (Makefile.am): Instead, augment lib_SOURCES.
42628
42629 2009-10-18  Bruno Haible  <bruno@clisp.org>
42630
42631         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
42632         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
42633         sys/param.h.
42634
42635 2009-10-16  Eric Blake  <ebb9@byu.net>
42636
42637         utimensat: new module
42638         * modules/utimensat: New file.
42639         * lib/utimensat.c (utimensat): Likewise.
42640         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
42641         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
42642         so we can work around Linux bugs.
42643         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42644         * modules/sys_stat (Makefile.am): Substitute them.
42645         * lib/sys_stat.in.h (utimensat): Declare it.
42646         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42647         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
42648         * modules/utimensat-tests: New test.
42649         * tests/test-utimensat.c: Likewise.
42650
42651         utimens: let lutimens work on non-symlinks
42652         * lib/utimens.c (lutimens): Fall back to utimens rather than
42653         failing with ENOSYS, when file is not a symlink.
42654         (utimens): Reduce redirection.
42655         * tests/test-lutimens.h (test_lutimens): Update test to cover
42656         non-symlinks.
42657         * tests/test-utimens.h (test_utimens): Update test to cover
42658         symlinks.
42659         * tests/test-utimens.c (main): Update caller.
42660
42661         utimens: cache whether utimensat syscall works
42662         * lib/utimens.c (utimensat_works_really): New cache variable.
42663         (fdutimens, lutimens): Use it to avoid failing syscall.
42664
42665         test-stat-time, test-utimens: improve portability
42666         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
42667         ext4 on alpha, and for cygwin.
42668         * tests/test-utimens-common.h: New file.
42669         (nap): Factor delays into single function.
42670         * tests/test-lutimens.h (test_lutimens): Use new header.
42671         * tests/test-futimens.h (test_futimens): Likewise.
42672         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
42673         timestamps to occur from same machine, as was done previously for
42674         test_utimens.
42675         * modules/utimens-tests (Files): Ship new file.
42676         * modules/futimens-tests (Files): Likewise.
42677         Reported in part by Jim Meyering.
42678
42679         sys_stat: sort replacement declarations
42680         * lib/sys_stat.in.h: Sort declarations.
42681         * lib/futimens.c (futimens): Fix typo.
42682
42683 2009-10-15  Jim Meyering  <meyering@redhat.com>
42684
42685         don't let environment settings perturb build
42686         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
42687         could cause a configure-time and/or build-time malfunction.
42688         Typically, a configure-time function-in-library test is performed
42689         via code like this:
42690
42691           LIB_VAR=
42692           AC_SUBST([LIB_VAR])
42693           prefix_saved_LIBS=$LIBS
42694             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
42695                        [test "$ac_cv_search_FUNC" = "none required" ||
42696                         LIB_VAR=$ac_cv_search_FUNC])
42697           LIBS=$prefix_saved_LIBS
42698
42699         However, in each of the files affected by this change, the LIB_VAR=
42700         initialization was omitted.  Thus, when set in the environment, its
42701         value would propagate into generated Makefiles when FUNC is not found
42702         in LIB_NAME.
42703         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
42704         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
42705         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
42706
42707 2009-10-14  Eric Blake  <ebb9@byu.net>
42708
42709         fchdir: avoid infinite recursion in mingw
42710         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
42711         recursing.
42712
42713         test-stat-time: port to mingw
42714         * tests/test-stat-time.c (force_unlink): Return a value.
42715         (test_ctime) [W32]: Fix compilation error.
42716         (nap): Don't call usleep with too large an argument.  Use
42717         force_unlink.
42718         * doc/pastposix-functions/usleep.texi (usleep): Document the
42719         portability issue.
42720
42721 2009-10-13  Jim Meyering  <meyering@redhat.com>
42722
42723         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
42724         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
42725         * modules/pipe-filter-ii: Likewise.
42726         * modules/sys_socket-tests: Likewise.
42727         * modules/tsearch-tests: Likewise.
42728         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
42729         (check): Depend on it.
42730
42731 2009-10-12  Eric Blake  <ebb9@byu.net>
42732
42733         utimens-tests: port to NFS file systems
42734         * tests/test-utimens.h (test_utimens): Refactor utimecmp
42735         comparisons to avoid spurious failures from timestamp drift
42736         between NFS machines.
42737
42738 2009-10-12  Eric Blake  <ebb9@byu.net>
42739
42740         stat-time-tests: minor cleanups
42741         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
42742         * tests/test-stat-time.c (nap): Separate assignment from call.
42743         Suggested by Paolo Bonzini and Bruno Haible.
42744
42745         sys_stat: guarantee struct timespec
42746         * lib/sys_stat.in.h (includes): Always include <time.h>
42747         * modules/sys_stat (Depends-on): Add time.
42748         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
42749         mode_t permission values.
42750         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
42751         get at subsecond timestamps.
42752
42753 2009-10-10  Eric Blake  <ebb9@byu.net>
42754
42755         futimens: new module
42756         * modules/futimens: New file.
42757         * lib/futimens.c (futimens): Likewise.
42758         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
42759         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
42760         we can work around Linux bugs.
42761         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
42762         * modules/sys_stat (Makefile.am): Substitute them.
42763         * lib/sys_stat.in.h (futimens): Declare it.
42764         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
42765         * doc/posix-functions/futimens.texi (futimens): Likewise.
42766         * modules/futimens-tests: New test.
42767         * tests/test-futimens.c: Likewise.
42768
42769         utimens: introduce fdutimens
42770         * lib/utimens.h (fdutimens): New prototype.
42771         * lib/utimens.c (gl_futimens): Move guts...
42772         (fdutimens): ...to new interface.
42773         * tests/test-utimens.c (do_fdutimens): Use it.
42774
42775         utimens: add UTIME_NOW and UTIME_OMIT support
42776         * lib/utimens.c (validate_timespec, update_timespec): New helper
42777         functions.
42778         (gl_futimens, lutimens): Use them.
42779         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
42780         stdbool, sys_stat.
42781         (Link): Mention resulting library dependency.
42782         * modules/utimecmp (Link): Likewise.
42783         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
42784         (Makefile.am): Pick up library dependency.
42785         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
42786         definition.
42787         * tests/test-sys_stat.c: Test the definitions.
42788         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
42789         * NEWS: Document library dependency.
42790
42791         utimecmp: support symlink timestamps
42792         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
42793         hashing when possible.  Use pathconf when available.
42794         (SYSCALL_RESOLUTION): Recognize tighter resolution.
42795         * modules/utimecmp (Depends-on): Add lstat.
42796
42797         utimens: add lutimens interface
42798         * lib/utimens.c (lutimens): New function.
42799         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
42800         * lib/utimens.h (lutimens): Declare new interface.
42801         * tests/test-utimens.c (main): Enhance test.
42802         * tests/test-lutimens.h (test_lutimens): New file.
42803         * modules/utimens-tests (Files): Distribute it.
42804         (Depends-on): Add symlink.
42805         (configure.ac): Check for usleep.
42806
42807         utimens: validate futimens usage
42808         * lib/utimens.c (gl_futimens): Require valid fd up front, using
42809         fewer syscalls on failure later on.  Avoid compiler warning on
42810         mingw.
42811         * modules/utimens (Depends-on): Add dup2.
42812
42813         utimens: add test
42814         * modules/utimens-tests: New test.
42815         * tests/test-utimens.h: New file.
42816         * tests/test-futimens.h: Likewise.
42817         * tests/test-utimens.c: Likewise.
42818
42819         doc: mention timestamp portability issues
42820         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
42821         instead.
42822         * doc/posix-functions/utime.texi (utime): Likewise.
42823         * doc/posix-functions/utimes.texi (utimes): Likewise.
42824         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
42825         instead.
42826         * doc/posix-functions/futimens.texi (futimens): Mention utimens
42827         module.
42828         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
42829         Mention weakness with symlink timestamps.
42830         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
42831         to utimensat/futimens instead.
42832         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
42833
42834         test-dup2: enhance test
42835         * tests/test-dup2.c (main): Also check AT_FDCWD.
42836
42837         test-stat-time: avoid more spurious failures
42838         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
42839         xfs; and avoid race if the two timestamps cross quantization edge.
42840
42841         relocatable: prefer 'file system' over 'filesystem'
42842         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
42843         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
42844         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
42845         * doc/relocatable.texi (Enabling Relocatability): Likewise.
42846         * lib/relocatable.c (compute_curr_prefix): Likewise.
42847
42848 2009-10-10  Jim Meyering  <meyering@redhat.com>
42849
42850         stat-time-tests: check for the usleep function
42851         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
42852
42853 2009-10-10  Bruno Haible  <bruno@clisp.org>
42854
42855         * modules/xnanosleep: Put the Link section after the Include section.
42856
42857 2009-10-09  Eric Blake  <ebb9@byu.net>
42858
42859         dup2: work around FreeBSD 6.1 bug
42860         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
42861         * doc/posix-functions/dup2.texi (dup2): Document it.
42862         Reported by Nelson H. F. Beebe and Jim Meyering.
42863
42864         test-stat-time: port to buggy NFS clients
42865         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
42866         (test_ctime): Also skip test if mtime and ctime are skewed.
42867
42868         maint: prefer 'file system' over 'filesystem'
42869         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
42870         * doc/posix-functions/lstat.texi (lstat): Likewise.
42871         * lib/file-has-acl.c (file_has_acl): Likewise.
42872         * lib/fwriteerror.c [TEST]: Likewise.
42873         * tests/test-areadlink.h (test_areadlink): Likewise.
42874         * tests/test-areadlinkat-with-size.c (main): Likewise.
42875         * tests/test-areadlinkat.c (main): Likewise.
42876         * tests/test-canonicalize-lgpl.c (main): Likewise.
42877         * tests/test-canonicalize.c (main): Likewise.
42878         * tests/test-fstatat.c (main): Likewise.
42879         * tests/test-linkat.c (main): Likewise.
42880         * tests/test-lstat.h (test_lstat_func): Likewise.
42881         * tests/test-mkdir.h (test_mkdir): Likewise.
42882         * tests/test-readlink.h (test_readlink): Likewise.
42883         * tests/test-remove.c (main): Likewise.
42884         * tests/test-rename.h (test_rename): Likewise.
42885         * tests/test-renameat.c (main): Likewise.
42886         * tests/test-rmdir.h (test_rmdir_func): Likewise.
42887         * tests/test-symlink.h (test_symlink): Likewise.
42888         * tests/test-symlinkat.c (main): Likewise.
42889         * tests/test-unlink.h (test_unlink_func): Likewise.
42890         * tests/test-unlinkat.c (main): Likewise.
42891
42892         maint: make realtime library usage explicit
42893         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
42894         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
42895         * modules/settime (Link): Likewise.
42896         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
42897
42898         test-stat-time: speed up execution
42899         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
42900         warning on mingw.
42901         (nap): New helper function.
42902         (prepare_test): Use it to reduce sleep time.
42903         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
42904         execution.
42905         * modules/stat-time-tests (configure.ac): Check for usleep.
42906
42907 2009-10-09  Jim Meyering  <meyering@redhat.com>
42908
42909         selinux-h: always use getfilecon wrappers
42910         * lib/getfilecon.c: New file.
42911         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
42912         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
42913         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
42914         (fgetfilecon): Provide a stub.
42915         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
42916         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
42917         file unconditionally.
42918         When <selinux/selinux.h> is found, arrange to use wrappers.
42919         * modules/selinux-h (Files): Add getfilecon.c.
42920         (Makefile.am): Substitute include-next-related bits
42921         into the now-always-generated selinux/selinux.h file.
42922         * doc/glibc-functions/lgetfilecon.texi: New file.
42923         * doc/glibc-functions/fgetfilecon.texi: New file.
42924         * doc/glibc-functions/getfilecon.texi: New file.
42925         * doc/glibc-functions/getfilecon-desc.texi: New file.
42926         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
42927         which to pull in the new files.
42928         * MODULES.html.sh (Misc): Add selinux-h.
42929
42930 2009-10-08  Jim Meyering  <meyering@redhat.com>
42931
42932         unistd: fix comment typo
42933         * lib/unistd.in.h (euidaccess): Fix a comment typo.
42934
42935 2009-10-08  Eric Blake  <ebb9@byu.net>
42936
42937         areadlink: use SIZE_MAX consistently
42938         * modules/areadlink (Depends-on): Add stdint.
42939         * modules/areadlink-with-size (Depends-on): Likewise.
42940         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
42941         gives NULL; drop sys/types, since unistd gives size_t; and add
42942         stdint for SIZE_MAX.
42943         (SIZE_MAX): Rely on headers.
42944         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
42945         and add stdint.
42946         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
42947         (SIZE_MAX): Likewise.
42948         (INITIAL_BUF_SIZE): Turn into enum.
42949         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
42950
42951 2009-10-08  Jim Meyering  <meyering@redhat.com>
42952
42953         areadlinkat: avoid compilation failure
42954         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
42955         Fix typo in comment.
42956
42957 2009-10-07  Eric Blake  <ebb9@byu.net>
42958
42959         areadlinkat-with-size: new module
42960         * modules/areadlinkat-with-size: New module.
42961         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
42962         * lib/areadlink.h (areadlinkat): Declare it.
42963         * MODULES.html.sh (File system functions): Mention it.
42964         * modules/areadlinkat-with-size-tests: New test.
42965         * tests/test-areadlinkat-with-size.c: New file.
42966
42967         xreadlinkat: new module
42968         * modules/xreadlinkat: New module.
42969         * lib/xreadlinkat.c (xreadlinkat): New file.
42970         * lib/xreadlink.h (xreadlinkat): Declare it.
42971         * MODULES.html.sh (File system functions): Mention it.
42972
42973         areadlinkat: new module
42974         * lib/at-func.c (FUNC_FAIL): New define.
42975         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
42976         * modules/areadlinkat: New module.
42977         * lib/linkat.c (areadlinkat): Move...
42978         * lib/areadlinkat.c (areadlinkat): ...to new file.
42979         * lib/areadlink.h (areadlinkat): Declare it.
42980         * modules/linkat (Depends-on): Add areadlinkat.
42981         * MODULES.html.sh (File system functions): Mention it.
42982         * modules/areadlinkat-tests: New test.
42983         * tests/test-areadlinkat.c: New file.
42984
42985         areadlink, areadlink-with-size: add tests
42986         * modules/areadlink-tests: New test.
42987         * modules/areadlink-with-size-tests: Likewise.
42988         * tests/test-areadlink.h: New file.
42989         * tests/test-areadlink.c: Likewise.
42990         * tests/test-areadlink-with-size.c: Likewise.
42991
42992         maint: minor cleanups
42993         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
42994         _UNUSED_PARAMETER_ instead.
42995         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
42996         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
42997         * modules/linkat-tests (Files): Distribute test-link.h.
42998
42999         openat, utimens: whitespace cleanup
43000         * lib/openat.c: Prefer space throughout, rather than mix of 8
43001         spaces vs. tabs.
43002         * lib/at-func.c: Likewise.
43003         * lib/utimens.c: Likewise.
43004
43005         openat: avoid using wrong fd
43006         * lib/openat.c (openat_permissive): Reject user's fd if saving the
43007         working directory chooses same fd.
43008         * lib/at-func.c (AT_FUNC_NAME): Likewise.
43009
43010         mkdir, mkdirat: fix cygwin 1.5.x bug
43011         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
43012         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
43013         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
43014         bug.
43015         (gl_PREREQ_MKDIR): Delete unused macro.
43016         * modules/mkdir (Files): Track file rename.
43017         (configure.ac): Update macro name.
43018         * modules/openat (Depends-on): Add mkdir.
43019         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
43020
43021         mkdir, mkdirat: add tests
43022         * modules/mkdir-tests: New test.
43023         * tests/test-mkdir.h: New file.
43024         * tests/test-mkdir.c: Likewise.
43025         * tests/test-mkdirat.c: Likewise.
43026         * modules/openat-tests (Files): Add new files.
43027         (Makefile.am): Run new test.
43028
43029 2009-10-06  Eric Blake  <ebb9@byu.net>
43030
43031         doc: tweak *at function documentation
43032         * doc/posix-functions/faccessat.texi (faccessat): Mention
43033         known issue with replacement.
43034         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
43035         * doc/posix-functions/linkat.texi (linkat): Likewise.
43036         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
43037         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
43038         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43039         * doc/posix-functions/renameat.texi (renameat): Likewise.
43040         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
43041
43042         openat: fix GNU/Hurd bug in unlinkat
43043         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
43044         broken.
43045         * doc/posix-functions/unlink.texi (unlink): Document this.
43046         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
43047
43048         fdopendir: fix GNU/Hurd bug
43049         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
43050         allowing non-directory fds.
43051         * lib/fdopendir.c (rpl_fdopendir): Work around it.
43052         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
43053         * modules/dirent (Makefile.am): Substitute it.
43054         * lib/dirent.in.h (fdopendir): Declare replacement.
43055         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
43056         * tests/test-fdopendir.c (main): Test something other than
43057         /dev/null, since on Hurd that behaves like a directory.
43058
43059         test-symlink: port to GNU/Hurd
43060         * tests/test-symlink.h (test_symlink): Relax expected errno.
43061
43062         doc: tweak more cygwin information
43063         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
43064         now compatible with glibc.
43065         * doc/posix-functions/getopt.texi (getopt): Likewise.
43066
43067         getopt-gnu: add another test
43068         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
43069         guarantee behavior relied on by m4.
43070         * tests/test-getopt.c (main): Use it.
43071         * modules/getopt-posix-tests (Depends-on): Add setenv.
43072         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
43073
43074         getopt: fix compilation on darwin
43075         * lib/getopt.in.h (includes): Leave breadcrumbs during system
43076         include.
43077         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
43078         Reported by Ludovic Courtès.
43079
43080 2009-10-06  Bruno Haible  <bruno@clisp.org>
43081
43082         * modules/size_max (Description): Discourage its use.
43083         Reported by Simon Josefsson.
43084
43085 2009-10-06  Jim Meyering  <meyering@redhat.com>
43086
43087         linkat: avoid compilation failure
43088         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
43089
43090 2009-10-05  Eric Blake  <ebb9@byu.net>
43091
43092         linkat: support Linux 2.6.17
43093         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
43094         linkat on Linux, but allow cache variable override.
43095         * lib/linkat.c (rpl_linkat): Define override.
43096         * modules/linkat (Depends-on): Add symlinkat.
43097         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
43098         * modules/unistd (Makefile.am): Substitute it.
43099         * lib/unistd.in.h (linkat): Declare replacement.
43100         Reported by Pádraig Brady.
43101
43102         quotearg: port test to systems with C.UTF-8 locale
43103         * tests/test-quotearg.c (struct result_strings): Add another
43104         member, differentiating between C.ASCII and C.UTF-8 handling.
43105         (compare_strings): Add parameter.
43106         (main): Adjust all callers.
43107
43108         getopt: avoid clash with FreeBSD _getopt_internal
43109         * lib/getopt.in.h (_getopt_internal): Override the name.
43110         * lib/getopt_int.h (includes): Pick up any overrides.
43111         Reported by Reuben Thomas.
43112
43113         hash: allow C89 compilation
43114         * lib/hash.c (check_tuning): Move declaration before statement.
43115         Reported by Reuben Thomas.
43116
43117 2009-10-05  Karl Berry  <karl@gnu.org>
43118
43119         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
43120
43121 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
43122             Bruno Haible  <bruno@clisp.org>
43123
43124         * lib/uname.c (uname): Use a table-driven algorithm to compute
43125         Windows NT versions.
43126
43127 2009-10-04  Bruno Haible  <bruno@clisp.org>
43128
43129         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
43130         program_invocation_short_name.
43131         * modules/progname (configure.ac): Test for presence of
43132         program_invocation_short_name.
43133         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
43134
43135 2009-10-04  Bruno Haible  <bruno@clisp.org>
43136
43137         * lib/progname.c (set_program_name): Fix comment.
43138         Reported by Jim Meyering.
43139
43140 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
43141             Bruno Haible  <bruno@clisp.org>
43142
43143         * lib/uname.c: Include <string.h>.
43144         (uname): Do only one call to GetVersionEx in the common case.
43145
43146 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
43147             Bruno Haible  <bruno@clisp.org>
43148
43149         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
43150         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
43151         (uname): Add support for Windows CE and various non-x86 CPU types.
43152
43153 2009-10-03  Bruno Haible  <bruno@clisp.org>
43154
43155         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
43156         invocation to tests/configure.ac.
43157         Reported by Ian Beckwith <ianb@erislabs.net>.
43158
43159 2009-10-02  Eric Blake  <ebb9@byu.net>
43160
43161         fchdir: avoid compiler warning
43162         * lib/fchdir.c (canonicalize_file_name)
43163         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
43164
43165         test-open: support mingw errno values
43166         * tests/test-open.h (test_open): Relax test.
43167         * tests/test-fopen.h (test_fopen): Likewise.
43168         * tests/test-openat-safer.c (main): Likewise.
43169
43170         open: fix opening directory on mingw
43171         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
43172
43173         test-open: on GNU/Hurd, /dev/null is a directory
43174         * tests/test-fopen.h (main): Rename...
43175         (test_fopen): ...to this.  Use a guaranteed non-directory when
43176         confirming open behavior on trailing slash.
43177         * tests/test-openat-safer.c (main): Likewise.
43178         * tests/test-open.h (main): Likewise....
43179         (test_open): ...to this.
43180         * tests/test-fopen.c (main): Adjust caller.
43181         * tests/test-fopen-safer.c (main): Likewise.
43182         * tests/test-open.c (main): Likewise.
43183         * tests/test-fcntl-safer.c (main): Likewise.
43184         Reported by Samuel Thibault.
43185
43186         rename, fchdir: don't ignore chdir failure
43187         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
43188         * lib/rename.c (rpl_rename) [W32]: Likewise.
43189         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
43190         an empty destination directory if source cannot be renamed,
43191         although there is still possibility for failure.
43192         * doc/posix-functions/rename.texi (rename): Document the race.
43193         Reported by Jim Meyering.
43194
43195         maint: cleanup whitespace in recent commits
43196         * lib/rename.c (rpl_rename): Remove tabs.
43197         * tests/test-link.h (test_link): Likewise.
43198         * lib/fchdir.c (get_name): Likewise.
43199         Reported by Jim Meyering.
43200
43201 2009-10-02  Ben Pfaff  <blp@gnu.org>
43202
43203         relocatable-prog-wrapper: Add missing dependency on
43204         double-slash-root.
43205         * modules/relocatable-prog-wrapper: Add dependency.
43206         Reported by Ian Beckwith <ianb@erislabs.net>.
43207
43208 2009-10-02  Eric Blake  <ebb9@byu.net>
43209
43210         renameat: fix Solaris bugs
43211         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
43212         needed fixing.
43213         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
43214         * modules/stdio (Makefile.am): Substitute it.
43215         * lib/stdio.in.h (renameat): Declare replacement.
43216         * lib/renameat.c (rpl_renameat): Implement fix.
43217
43218         renameat: new module
43219         * modules/renameat: New file.
43220         * lib/renameat.c (renameat): Likewise.
43221         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
43222         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
43223         * modules/stdio (Makefile.am): Substitute them.
43224         * lib/stdio.in.h (renameat): Declare it.
43225         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43226         * doc/posix-functions/renameat.texi (renameat): Likewise.
43227         * modules/renameat-tests: New test.
43228         * tests/test-renameat.c: Likewise.
43229
43230         rename: fix mingw bugs
43231         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
43232         directory overwrite bugs.
43233
43234         rename: fix another cygwin 1.5 bug
43235         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
43236         checks.
43237         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
43238         unnecessary cygwin workarounds.  Also work around bug with moving
43239         full directory onto an empty one.
43240         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
43241
43242         rename-dest-slash: merge into rename module
43243         * modules/rename-dest-slash (Status): Mark obsolete.
43244         (Depends-on): Add rename.
43245         (Files): Let rename do it all.
43246         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
43247         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
43248         * m4/rename-dest-slash.m4: ...so this file can be deleted.
43249         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
43250         * lib/rename.c (rpl_rename): Update comments.
43251
43252         rename: fix cygwin 1.5.x bugs
43253         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
43254         * lib/rename.c (rpl_rename): Work around them.
43255         * modules/rename (Depends-on): Add same-inode.
43256
43257         rename: fix Solaris 10 bug
43258         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
43259         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
43260         was the only bug.
43261
43262         rename: fix Solaris 9 bug
43263         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
43264         on non-directory.  Avoid calling exit.
43265         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
43266         strdup.
43267         * modules/rename-tests (Depends-on): Drop lstat.
43268         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
43269         (gl_PREREQ_RENAME): Delete unused macro.
43270
43271         rename-dest-slash: fix NetBSD bug
43272         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
43273         links.
43274         * modules/rename-dest-slash (Depends-on): Add same-inode.
43275
43276         rename-tests: new test, exposes several platform bugs
43277         * modules/rename-tests: New file.
43278         * tests/test-rename.h: Likewise.
43279         * tests/test-rename.c: Likewise.
43280         * doc/posix-functions/rename.texi (rename): Improve documentation,
43281         including bugs that will eventually be fixed in gnulib.
43282
43283 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
43284
43285         * lib/uname.c: Include <stdlib.h>
43286         (uname): Assume version info is available.
43287
43288 2009-10-02  Jim Meyering  <meyering@redhat.com>
43289
43290         gnu-web-doc-update: correct --help output
43291         * build-aux/gnu-web-doc-update: Make --help output relevant.
43292
43293         gnu-web-doc-update: add standard options
43294         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
43295
43296         gnu-web-doc-update: New module.
43297         Use this script to automatically update the on-line web documentation
43298         for your GNU project at http://www.gnu.org/software/$pkg/manual/
43299         * modules/gnu-web-doc-update: New file, from coreutils.
43300         * build-aux/gnu-web-doc-update: New script.
43301
43302 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
43303
43304         link: LoadLibrary is not needed.
43305         * lib/link.c: Use GetModuleHandle.
43306
43307 2009-10-01  Eric Blake  <ebb9@byu.net>
43308
43309         getopt: bump serial number
43310         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
43311         change.
43312
43313         tests: tighten link, rmdir, and remove tests
43314         * tests/test-link.h (includes): No need to use <config.h> here.
43315         Clean up if directory hard link was created, otherwise test for
43316         trailing '.'.
43317         * tests/test-linkat.c (main): Simplify.
43318         * tests/test-remove.c (main): Enhance test for trailing '.'.
43319         * tests/test-rmdir.h (test_rmdir_func): Likewise.
43320
43321 2009-10-01  Jim Meyering  <meyering@redhat.com>
43322
43323         maint.mk: requiring "make major" was annoying, for a "minor" release.
43324         What is intended is "stable", to contrast with alpha and beta,
43325         so require "make stable", not "make major".
43326         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
43327         (get_tool_versions): Likewise.
43328         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
43329
43330 2009-09-30  Ben Pfaff  <blp@gnu.org>
43331
43332         Fix broken build of replacement for Windows tmpfile().
43333         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
43334         flags argument added along with the 'mkostemp' module.
43335
43336 2009-09-28  Bruno Haible  <bruno@clisp.org>
43337
43338         Avoid identifier clash with POSIX function 'remove' defined as a macro.
43339         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
43340         to 'remove_elt'.
43341         (gl_list_remove): Update.
43342         * lib/gl_list.c (gl_list_remove): Update.
43343         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
43344         to 'remove_elt'.
43345         (gl_oset_remove): Update.
43346         * lib/gl_list.c (gl_oset_remove): Update.
43347         Reported by Eric Blake.
43348
43349 2009-09-28  Eric Blake  <ebb9@byu.net>
43350
43351         doc: mention yet more cygwin 1.7 status
43352         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
43353         cygwin.
43354         * doc/glibc-functions/execvpe.texi (execvpe): New file.
43355         * doc/gnulib.texi (Glibc unistd.h): Mention it.
43356
43357         argp: fix test failure
43358         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
43359         that are not upper-case.  Pass correct range to tolower.
43360
43361 2009-09-27  Jim Meyering  <meyering@redhat.com>
43362
43363         test-yesno: work around sparc-dash here-document infelicity
43364         Without this change, the literal \177 byte in a here document
43365         would make dash 0.5.5.1-3 access uninitialized memory.
43366         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
43367         Instead, use a marker, "@", and filter through tr to create the desired
43368         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
43369
43370 2009-09-27  Bruno Haible  <bruno@clisp.org>
43371
43372         Disable untested support for new flavours of ACLs on AIX.
43373         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
43374         progress.
43375         * lib/set-mode-acl.c (qset_acl): Likewise.
43376
43377 2008-12-07  Bruno Haible  <bruno@clisp.org>
43378
43379         Add support for new flavours of ACLs on AIX. (Untested.)
43380         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
43381         (file_has_acl): Add support for newer AIX.
43382         * lib/set-mode-acl.c (qset_acl): Likewise.
43383         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
43384         Rainer Tammer <tammer@tammer.net>.
43385
43386 2009-09-26  Eric Blake  <ebb9@byu.net>
43387
43388         argp: fix compilation of getopt
43389         * lib/getopt.in.h (includes): Use different guard than glibc.
43390         Reported by Sergey Poznyakoff.
43391
43392         doc: mention more cygwin 1.7 status
43393         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
43394         bug.
43395         * doc/posix-functions/execl.texi (execl): Likewise.
43396         * doc/posix-functions/execle.texi (execle): Likewise.
43397         * doc/posix-functions/execlp.texi (execlp): Likewise.
43398         * doc/posix-functions/execv.texi (execv): Likewise.
43399         * doc/posix-functions/execve.texi (execve): Likewise.
43400         * doc/posix-functions/execvp.texi (execvp): Likewise.
43401         * doc/glibc-functions/canonicalize_file_name.texi
43402         (canonicalize_file_name): Cygwin 1.7 now provides this.
43403         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
43404         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
43405         on AT_SYMLINK_NOFOLLOW.
43406
43407 2009-09-24  Eric Blake  <ebb9@byu.net>
43408
43409         test-linkat: make test more robust
43410         * tests/test-linkat.c (main): Avoid collision with EEXIST.
43411
43412         getopt: fix inclusion guards for cygwin
43413         * modules/getopt-posix (Depends-on): Add include-next.
43414         (Makefile.am): Substitute more items in replacement header.
43415         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
43416         <getopt.h>.
43417         * lib/getopt.in.h (includes): Use split inclusion guard, and
43418         prefer <getopt.h> over include <unistd.h> when one is present.
43419         (option): Also override name of 'struct option'.
43420
43421         same-inode: revert prior change; it is not yet ready
43422         * NEWS: Undo mention of this change.
43423         * lib/same-inode.h (same-inode.h): Undo tri-state change.
43424         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
43425         * lib/cycle-check.c (cycle_check): Likewise.
43426         * lib/same.c (same_name): Likewise.
43427         * lib/at-func2.c (at_func2): Likewise.
43428
43429 2009-09-23  Eric Blake  <ebb9@byu.net>
43430
43431         linkat: new module
43432         * modules/linkat: New file.
43433         * lib/at-func2.c (at_func2): Likewise.
43434         * lib/linkat.c (linkat): Likewise.
43435         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
43436         * lib/openat-priv.h (at_func2): Add declaration.
43437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43438         * modules/unistd (Makefile.am): Substitute them.
43439         * lib/unistd.in.h (linkat): Declare it.
43440         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43441         * doc/posix-functions/linkat.texi (linkat): Likewise.
43442         * doc/posix-functions/link.texi (link): Tweak wording.
43443         * tests/test-link.c (main): Move guts...
43444         * tests/test-link.h (test_link): ...into new file.
43445         * modules/linkat-tests: New test.
43446         * tests/test-linkat.c: Likewise.
43447         * modules/link-tests (Files): Ship new file.
43448         (Depends-on): Add stdbool.
43449
43450         dirname: add library-safe mdir_name
43451         * lib/dirname.h (mdir_name): New prototype.
43452         * lib/dirname.c (dir_name): Move guts...
43453         (mdir_name): ...to new function that avoids xalloc_die.
43454
43455         fchdir: another mingw fix
43456         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
43457         * lib/fchdir.c (get_name): New helper method; skips canonicalize
43458         on mingw (where it has not yet been ported), and make it optional
43459         elsewhere.
43460         (_gl_register_fd): Use it.
43461
43462         same-inode: make SAME_INODE tri-state, to port to mingw
43463         * NEWS: Mention this change.
43464         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
43465         st_ino always being 0.
43466         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
43467         * lib/cycle-check.c (cycle_check): Likewise.
43468         * lib/same.c (same_name): Likewise.
43469
43470         lstat: avoid mingw compilation error
43471         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
43472         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
43473         lstat ourselves.
43474         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
43475         was adequate.
43476         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
43477         the checks for lstat.
43478         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
43479
43480         link: fix test failure on Solaris 9
43481         * lib/link.c (rpl_link): Don't assume link will catch bogus
43482         trailing slash on source.
43483
43484         test-symlinkat: enhance test
43485         * tests/test-readlink.c (main): Move guts...
43486         * tests/test-readlink.h (test_readlink): ...into new file.
43487         * tests/test-symlink.c (main): Move guts...
43488         * tests/test-symlink.h (test_symlink): ...into new file.
43489         * tests/test-symlinkat.c (main): Use new files for further
43490         coverage.
43491         (do_symlink, do_readlink): New helper functions.
43492         * modules/symlink-tests (Files): Ship new file.
43493         (Depends-on): Add stdbool.
43494         * modules/readlink-tests (Files): Ship new file.
43495         (Depends-on): Add stdbool.
43496         * modules/symlinkat-tests (Files): Use new files.
43497
43498 2009-09-23  Eric Blake  <ebb9@byu.net>
43499
43500         readlink: document portability issue with symlink length
43501         * doc/posix-functions/lstat.texi (lstat): Mention that some file
43502         systems have bogus st_size on symlinks, and mention the
43503         areadlink-with-size module.
43504         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
43505         * doc/posix-functions/readlink.texi (readlink): Mention the
43506         areadlink module, and ERANGE failure.
43507         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
43508         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
43509
43510         readlink: fix Solaris 9 bug with trailing slash
43511         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
43512         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
43513         * doc/posix-functions/readlink.texi (readlink): Document this.
43514         * modules/readlink-tests: New test.
43515         * tests/test-readlink.c: Likewise.
43516
43517         readlink: fix cygwin 1.5.x bug with return type
43518         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
43519         * lib/unistd.in.h (readlink): Use ssize_t.
43520         * lib/readlink.c (readlink): Likewise.
43521         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43522         * modules/unistd (Makefile.am): Substitute it.
43523         * lib/unistd.in.h (readlink): Declare replacement.
43524         * doc/posix-functions/readlink.texi (readlink): Document this.
43525
43526         symlink: use throughout gnulib
43527         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
43528         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
43529         symlink is not used.
43530         * modules/symlinkat (Depends-on): Add symlink.
43531         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
43532         * modules/canonicalize-tests (Depends-on): Likewise.
43533         * modules/lstat-tests (Depends-on): Likewise.
43534         * modules/openat-tests (Depends-on): Likewise.
43535         * modules/remove-tests (Depends-on): Likewise.
43536         * modules/rmdir-tests (Depends-on): Likewise.
43537         * modules/unlink-tests (Depends-on): Likewise.
43538         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
43539         * tests/test-canonicalize.c (symlink): Likewise.
43540         * tests/test-fstatat.c (symlink): Likewise.
43541         * tests/test-lstat.c (symlink): Likewise.
43542         * tests/test-remove.c (symlink): Likewise.
43543         * tests/test-rmdir.c (symlink): Likewise.
43544         * tests/test-unlink.c (symlink): Likewise.
43545         * tests/test-unlinkat.c (symlink): Likewise.
43546
43547         symlink: new module, for Solaris 9 bug
43548         * modules/symlink: New file.
43549         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
43550         * lib/symlink.c: Likewise.
43551         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
43552         * modules/unistd (Makefile.am): Substitute them.
43553         * lib/unistd.in.h (symlink): Declare replacement.
43554         * MODULES.html.sh (File system functions): Mention it.
43555         * doc/posix-functions/symlink.texi (symlink): Likewise.
43556         * modules/symlink-tests: New test.
43557         * tests/test-symlink.c: Likewise.
43558
43559 2009-09-23  Bruno Haible  <bruno@clisp.org>
43560
43561         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
43562         when needed.
43563         Test case: gnulib-tool --import --with-tests atexit inttypes.
43564         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
43565
43566 2009-09-23  Bruno Haible  <bruno@clisp.org>
43567
43568         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
43569         subcommand, not in a subshell.
43570
43571 2009-09-22  Eric Blake  <ebb9@byu.net>
43572
43573         unistd: sort replacement declarations
43574         * lib/unistd.in.h: Sort declarations.
43575
43576         open, openat: minor optimization
43577         * lib/open.c (open): If open succeeded, len is non-zero.
43578         * lib/openat.c (rpl_openat): Likewise.
43579
43580         link-follow: ensure correct result
43581         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
43582         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
43583         distinguish between possible failures.
43584
43585 2009-09-21  Eric Blake  <ebb9@byu.net>
43586
43587         fts: avoid compiler warning
43588         * lib/fts.c (dirent_inode_sort_may_be_useful)
43589         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
43590
43591 2009-09-19  Bruno Haible  <bruno@clisp.org>
43592
43593         * lib/progreloc.c (canonicalize_file_name): New declaration.
43594
43595 2009-09-19  Eric Blake  <ebb9@byu.net>
43596
43597         link: fix quoting
43598         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
43599
43600         openat: fix openat bugs on Solaris 9
43601         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
43602         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
43603         * modules/openat (Depends-on): Add open.
43604         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
43605         * modules/fcntl-h (Makefile.am): Substitute it.
43606         * lib/fcntl.in.h (openat): Declare replacement.
43607         * doc/posix-functions/openat.texi (openat): Document this.
43608
43609         openat: move fstatat and unlinkat into correct files
43610         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
43611         compiled.
43612         * lib/openat.c (fstatat, unlinkat): Move...
43613         * lib/fstatat.c (fstatat): ...into correct files.
43614         * lib/unlinkat.c (unlinkat): Likewise.
43615
43616         openat: fix unlinkat bugs on Solaris 9
43617         * lib/unlinkat.c (unlinkat): New file.
43618         * modules/openat (Depends-on): Add unlink.
43619         (Files): Distribute it.
43620         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
43621         trailing slash behavior is broken.
43622         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43623         * modules/unistd (Makefile.am): Substitute it.
43624         * lib/unistd.in.h (unlinkat): Declare replacement.
43625         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
43626
43627         openat: fix fstatat bugs on Solaris 9
43628         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
43629         stat.
43630         * doc/posix-functions/fstatat.texi (fstatat): Document this.
43631
43632         test-unlinkat: enhance test, to expose Solaris 9 bug
43633         * tests/test-unlink.c (main): Factor guts...
43634         * tests/test-unlink.h (test_rmdir_func): ...into new file.
43635         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
43636         * tests/test-rmdir.c (main): Adjust caller.
43637         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
43638         (unlinker): New helper function.
43639         (rmdirat): Enhance check.
43640         * modules/rmdir-tests (Depends-on): Add stdbool.
43641         * modules/unlink-tests (Depends-on): Likewise.
43642         (Files): Add test-unlink.h.
43643         * modules/openat-tests (Files): Likewise.
43644         (Depends-on): Add unlinkdir.
43645
43646         test-fstatat: new test, to expose Solaris 9 bugs
43647         * tests/test-stat.c (main): Factor guts...
43648         * tests/test-stat.h (test_stat_func): ...into new file.
43649         * tests/test-lstat.c (main): Factor guts...
43650         * tests/test-lstat.h (test_lstat_func): ...into new file.
43651         * tests/test-fstatat.c: New file.
43652         * modules/stat-tests (Files): Add test-stat.h.
43653         * modules/lstat-tests (Files): Add test-lstat.h.
43654         (Depends-on): Add stdbool.
43655         * modules/openat-tests (Depends-on): Add pathmax.
43656         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
43657         (Makefile.am): Run new test.
43658
43659         remove: new module, for mingw and Solaris 9 bugs
43660         * modules/remove: New file.
43661         * lib/remove.c: Likewise.
43662         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
43663         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
43664         * modules/stdio (Makefile.am): Use them.
43665         * lib/stdio.in.h (remove): Declare replacement.
43666         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43667         * doc/posix-functions/remove.texi (remove): Likewise.
43668         * modules/remove-tests: New test.
43669         * tests/test-remove.c: Likewise.
43670
43671         unlink: new module, for Solaris 9 bug
43672         * modules/unlink: New file.
43673         * lib/unlink.c: Likewise.
43674         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
43675         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
43676         * modules/unistd (Makefile.am): Use them.
43677         * lib/unistd.in.h (stat): Declare replacement.
43678         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43679         * doc/posix-functions/unlink.texi (unlink): Likewise.
43680         * modules/unlink-tests: New test.
43681         * tests/test-unlink.c: Likewise.
43682
43683         lstat: fix Solaris 9 bug
43684         * lib/lstat.c (lstat): Also check for trailing slash on
43685         non-symlink, non-directories.  Use stat module to simplify logic.
43686         * doc/posix-functions/lstat.texi (lstat): Document it.
43687         * modules/lstat-tests (Depends-on): Add errno, same-inode.
43688         (configure.ac): Check for symlink.
43689         * tests/test-lstat.c (main): Add more tests.
43690
43691         stat: add as dependency to other modules
43692         * modules/chown (Depends-on): Add stat.
43693         * modules/euidaccess (Depends-on): Likewise.
43694         * modules/fchdir (Depends-on): Likewise.
43695         * modules/isdir (Depends-on): Likewise.
43696         * modules/link (Depends-on): Likewise.
43697         * modules/lstat (Depends-on): Likewise.
43698         * modules/mkdir-p (Depends-on): Likewise.
43699         * modules/modechange (Depends-on): Likewise.
43700         * modules/open (Depends-on): Likewise.
43701         * modules/readlink (Depends-on): Likewise.
43702         * modules/same (Depends-on): Likewise.
43703
43704         stat: fix Solaris 9 bug
43705         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
43706         slash.
43707         * lib/stat.c (rpl_stat): Work around it.
43708         * doc/posix-functions/stat.texi (stat): Update documentation.
43709
43710         stat: new module, for mingw bug
43711         * modules/stat: New file.
43712         * lib/stat.c: Likewise.
43713         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
43714         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43715         * modules/sys_stat (Makefile.am): Use them.
43716         * lib/sys_stat.in.h (stat): Declare replacement.
43717         * lib/openat.c (fstatat): Deal with lstat and stat being function
43718         macros.
43719         * modules/openat (Depends-on): Add inline.
43720         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43721         * doc/posix-functions/stat.texi (stat): Likewise.
43722         * modules/stat-tests: New test.
43723         * tests/test-stat.c: Likewise.
43724
43725 2009-09-19  Jim Meyering  <meyering@redhat.com>
43726
43727         syntax-check: detect unnecessary inclusion of canonicalize.h
43728         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
43729
43730 2009-09-19  Eric Blake  <ebb9@byu.net>
43731
43732         canonicalize-lgpl: adjust clients to use correct header
43733         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
43734         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
43735         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
43736         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
43737         * lib/progreloc.c (includes): Likewise.
43738
43739 2009-09-19  Jim Meyering  <meyering@redhat.com>
43740
43741         test-posixtm.c: correct a comment
43742         * tests/test-posixtm.c: Correct first-line comment.
43743         Spotted by Eric Blake.
43744
43745 2009-09-16  Jim Meyering  <meyering@redhat.com>
43746
43747         posixtm-tests: make T const-correct; add a test case
43748         * tests/test-posixtm.c (T): Declare const.
43749         Add a test for -(2^31+1).
43750         Remove useless can-succeed-only-in-2002 test.
43751
43752         posixtm-tests: adjust the sole failing test
43753         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
43754         expected output matches what mktime now produces.  Cross-checked via
43755         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
43756
43757         posixtm: move #ifdef'd tests into a new module
43758         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
43759         * tests/test-posixtm.c: ... this new file.
43760         * modules/posixtm-tests: New module.
43761
43762 2009-09-19  Eric Blake  <ebb9@byu.net>
43763
43764         openat: simplify use of at-func.c
43765         * lib/at-func.c (includes): Include prerequisites here, to
43766         simplify requirements on client files.
43767         * lib/openat-priv.h: Add double-inclusion guard.
43768         * lib/faccessat.c (includes): Simplify.
43769         * lib/fchmodat.c (includes): Likewise.
43770         * lib/fchownat.c (includes): Likewise.
43771         * lib/mkdirat.c (includes): Likewise.
43772         * lib/mkfifoat.c (includes): Likewise.
43773         * lib/symlinkat.c (includes): Likewise.
43774
43775         openat: allow return of fd 0
43776         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
43777         * modules/save-cwd (Depends-on): Replace fcntl-safer with
43778         unistd-safer.
43779         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
43780         <fcntl.h>; this module does not leak fds.
43781         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
43782         must be allowed to return 0, leaving openat_safer to add the
43783         safety.
43784         (openat_permissive): Avoid writing to just-opened fd 2 if
43785         restoring the current directory fails.
43786         * lib/openat-die.c (openat_restore_fail): Add comment.
43787         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
43788         (save_cwd): Guarantee safe fd, but without use of open_safer.
43789         * tests/test-openat.c: New test.
43790         * modules/openat-tests (Files, Makefile.am): Distribute and build
43791         new file.
43792
43793         relocatable-prog-wrapper: fix build
43794         * modules/relocatable-prog-wrapper (Files): Update name of
43795         canonicalize m4 file, broken on 2009-09-17.
43796         Reported by emad hajjar <aleppos@hotmail.com>.
43797
43798 2009-09-19  Bruno Haible  <bruno@clisp.org>
43799
43800         * lib/safe-alloc.h: Use the standard header with GPL copyright.
43801         * lib/safe-alloc.c: Likewise.
43802         Reported by Ian Beckwith <ianb@erislabs.net>.
43803
43804 2009-09-18  Bruno Haible  <bruno@clisp.org>
43805
43806         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
43807         Reported by <erobles@sensacd.com.mx>.
43808
43809 2009-09-17  Eric Blake  <ebb9@byu.net>
43810
43811         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
43812         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
43813         slashes when checking if last component is missing.
43814         * tests/test-canonicalize.c (main): Test this.
43815
43816         canonicalize, canonicalize-lgpl: honor // if distinct from /
43817         * modules/canonicalize (Files): Add double-slash-root.m4.
43818         * modules/canonicalize-lgpl (Files): Likewise.
43819         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
43820         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
43821         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
43822         fallback definition.
43823         (canonicalize_filename_mode): Use it to protect //.
43824         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
43825         (__realpath): Likewise.
43826         * tests/test-canonicalize.c (main): Test this.
43827         * tests/test-canonicalize-lgpl.c (main): Likewise.
43828         * modules/canonicalize-tests (Depends-on): Add same-inode.
43829         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
43830
43831         canonicalize-lgpl: fix glibc bug with trailing slash
43832         * m4/canonicalize-lgpl.m4: Move contents...
43833         * m4/canonicalize.m4: ...here.
43834         (gl_CANONICALIZE_LGPL): Factor realpath check...
43835         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
43836         glibc 2.3.5 bug, fixed 2005-04-27.
43837         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
43838         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
43839         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
43840         * modules/canonicalize-lgpl (Files): Manage file rename.
43841         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
43842         * modules/stdlib (Makefile.am): Substitute witness.
43843         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
43844         is needed.
43845         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
43846         replacement is required.
43847         * lib/canonicalize.c (canonicalize_file_name): Likewise.
43848         * doc/glibc-functions/canonicalize_file_name.texi
43849         (canonicalize_file_name): Document this.
43850         * doc/posix-functions/realpath.texi (realpath): Likewise.
43851
43852         canonicalize-lgpl: reject non-directory with trailing slash
43853         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
43854         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
43855         catches failures in glibc 2.3.5.
43856         * tests/test-canonicalize.c (main): Likewise.
43857
43858         canonicalize-lgpl: use native realpath if it works
43859         * lib/canonicalize-lgpl.c (realpath): Guard with
43860         FUNC_REALPATH_WORKS.
43861         * lib/stdlib.in.h (realpath): Make declaration optional based on
43862         HAVE_REALPATH.
43863         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
43864         native realpath works.
43865         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
43866         * modules/stdlib (Makefile.am): Substitute witness.
43867
43868         canonicalize, canonicalize-lgpl: use <stdlib.h>
43869         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
43870         (Include): Mention <stdlib.h>.
43871         (configure.ac): Mention functions we provide.
43872         * modules/canonicalize (configure.ac): Likewise.
43873         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
43874         realpath if canonicalize_file_name is missing.
43875         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
43876         * modules/stdlib (Makefile.am): Substitute witnesses.
43877         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
43878         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
43879         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
43880         * NEWS: Document this.
43881         * doc/glibc-functions/canonicalize_file_name.texi
43882         (canonicalize_file_name): Likewise.
43883         * doc/posix-functions/realpath.texi (realpath): Likewise.
43884         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
43885
43886         test-canonicalize: consolidate into single C program
43887         * tests/test-canonicalize.sh: Delete; move setup into...
43888         * tests/test-canonicalize.c (main): ...the program, making it
43889         easier to run in debugger.  Add some tests.
43890         * modules/canonicalize-tests (Files): Remove unused file.
43891         (Depends-on): Add progname.
43892         (configure.ac, Makefile.am): Simplify.
43893
43894         test-canonicalize-lgpl: consolidate into single C program
43895         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
43896         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
43897         easier to run in debugger.  Add some tests.
43898         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
43899         (configure.ac, Makefile.am): Simplify.
43900
43901         canonicalize: avoid resolvepath
43902         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
43903         unnecessary checks.
43904         * lib/canonicalize.c (includes): Simplify.
43905         (canonicalize_file_name): Drop resolvepath implementation.
43906         * modules/canonicalize (Depends-on): Drop filenamecat.
43907
43908         canonicalize: don't lose errno
43909         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
43910         over calls to free.
43911
43912         canonicalize: simplify errno handling
43913         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
43914         assignment.
43915
43916         canonicalize, canonicalize-lgpl: update module dependencies
43917         * modules/canonicalize (Depends-on): Add extensions, lstat,
43918         pathmax, stdlib.
43919         (Files): Drop pathmax.h.
43920         (configure.ac): Adjust macro name.
43921         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
43922         lstat, stdlib, sys_stat.
43923         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
43924         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
43925         extensions.
43926         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
43927         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
43928         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
43929         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
43930         declaration, if available.
43931         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
43932         we can rely on the readlink module.
43933         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
43934         (includes): Use <unistd.h> unconditionally.
43935
43936 2009-09-17  Eric Blake  <ebb9@byu.net>
43937
43938         maint: make Include sections of modules consistent
43939         * modules/alloca: Use only header name; no need to list #include.
43940         * modules/alloca-opt: Likewise.
43941         * modules/arpa_inet: Likewise.
43942         * modules/canon-host: Likewise.
43943         * modules/configmake: Likewise.
43944         * modules/dirent: Likewise.
43945         * modules/eealloc: Likewise.
43946         * modules/environ: Likewise.
43947         * modules/fchdir: Likewise.
43948         * modules/fcntl: Likewise.
43949         * modules/fcntl-h: Likewise.
43950         * modules/gethrxtime: Likewise.
43951         * modules/gettime: Likewise.
43952         * modules/ignore-value: Likewise.
43953         * modules/inet_ntop: Likewise.
43954         * modules/inet_pton: Likewise.
43955         * modules/inttypes: Likewise.
43956         * modules/isnand-nolibm: Likewise.
43957         * modules/isnanf-nolibm: Likewise.
43958         * modules/mbchar: Likewise.
43959         * modules/mbfile: Likewise.
43960         * modules/mbiter: Likewise.
43961         * modules/mbuiter: Likewise.
43962         * modules/netdb: Likewise.
43963         * modules/netinet_in: Likewise.
43964         * modules/nproc: Likewise.
43965         * modules/pagealign_alloc: Likewise.
43966         * modules/poll: Likewise.
43967         * modules/printf-frexp: Likewise.
43968         * modules/pthread: Likewise.
43969         * modules/putenv: Likewise.
43970         * modules/random_r: Likewise.
43971         * modules/relocatable-prog: Likewise.
43972         * modules/search: Likewise.
43973         * modules/select: Likewise.
43974         * modules/selinux-h: Likewise.
43975         * modules/settime: Likewise.
43976         * modules/signal: Likewise.
43977         * modules/size_max: Likewise.
43978         * modules/socklen: Likewise.
43979         * modules/ssize_t: Likewise.
43980         * modules/stdarg: Likewise.
43981         * modules/stdbool: Likewise.
43982         * modules/stddef: Likewise.
43983         * modules/stdint: Likewise.
43984         * modules/stdio: Likewise.
43985         * modules/stdlib: Likewise.
43986         * modules/string: Likewise.
43987         * modules/strings: Likewise.
43988         * modules/sys_file: Likewise.
43989         * modules/sys_ioctl: Likewise.
43990         * modules/sys_select: Likewise.
43991         * modules/sys_socket: Likewise.
43992         * modules/sys_stat: Likewise.
43993         * modules/sys_time: Likewise.
43994         * modules/sys_times: Likewise.
43995         * modules/sys_utsname: Likewise.
43996         * modules/sys_wait: Likewise.
43997         * modules/sysexits: Likewise.
43998         * modules/time: Likewise.
43999         * modules/times: Likewise.
44000         * modules/tmpfile: Likewise.
44001         * modules/trim: Likewise.
44002         * modules/unistd: Likewise.
44003         * modules/wchar: Likewise.
44004         * modules/wctype: Likewise.
44005
44006 2009-09-17  Bruno Haible  <bruno@clisp.org>
44007
44008         Make getdate.y compile on QNX and NetBSD 5 / i386.
44009         * m4/getdate.m4 (gl_GETDATE): Conditionally define
44010         TIME_T_FITS_IN_LONG_INT.
44011         * lib/getdate.y (long_time_t): New type.
44012         (relative_time): Change type of 'seconds' field to long_time_t.
44013         (get_date): Update types of local variables. Check against overflow
44014         during conversion from long_time_t to time_t.
44015         Reported by Matt Kraai <kraai@ftbfs.org>
44016         and Hasso Tepper <hasso@netbsd.org>.
44017
44018 2009-09-17  Bruno Haible  <bruno@clisp.org>
44019
44020         * modules/COPYING: Update copyright years.
44021         * modules/README: Likeiwse.
44022         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
44023         Reported by Ian Beckwith <ianb@erislabs.net>.
44024
44025 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
44026
44027         * users.txt: Update references for gnuit package.
44028
44029 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
44030
44031         * m4/getdelim.m4: Fix typo in copyright line.
44032
44033 2009-09-17  Bruno Haible  <bruno@clisp.org>
44034
44035         * lib/atoll.c: Use the standard header with GPL copyright.
44036         * lib/argz.in.h: Likewise.
44037         * lib/glob.c: Likewise.
44038         * lib/glob-libc.h: Likewise.
44039         * lib/random_r.c: Likewise.
44040         * lib/siglist.h: Likewise.
44041         * lib/strsignal.c: Likewise.
44042         Reported by Ian Beckwith <ianb@erislabs.net>.
44043
44044 2009-09-17  Eric Blake  <ebb9@byu.net>
44045
44046         rmdir: ensure correct dependency order
44047         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
44048
44049 2009-09-17  Bruno Haible  <bruno@clisp.org>
44050
44051         Disable assertion that fails on NetBSD 5 / i386.
44052         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
44053         Reported by Sam Steingold <sds@gnu.org>
44054         and Hasso Tepper <hasso@netbsd.org>.
44055
44056 2009-09-16  Eric Blake  <ebb9@byu.net>
44057
44058         unlinkdir: port to mingw
44059         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
44060         on which no one can unlink a directory.
44061
44062         stdlib: sort witness names
44063         * modules/stdlib (Makefile.am): Sort replacements.
44064         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
44065         * lib/stdlib.in.h: Likewise.
44066
44067         parse-duration-tests: avoid link failure
44068         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
44069         LIBINTL.
44070         Reported by Tom G. Christensen.
44071
44072         openat-tests: ensure unlinkat behaves like rmdir
44073         * tests/test-rmdir.c (main): Factor guts...
44074         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
44075         * modules/rmdir-tests (Files): Ship new file.
44076         * modules/openat-tests: New test.
44077         * tests/test-unlinkat.c: Likewise.
44078
44079         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
44080         * modules/rmdir-errno (Status, Notice): Now obsolete.
44081
44082         rmdir: work around cygwin 1.5.x and mingw bugs
44083         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
44084         * lib/rmdir.c (rmdir): Work around it.
44085         * modules/rmdir (Status, Notice): No longer obsolete.
44086         (Files): Add dos.m4.
44087         (Depends-on): Add unistd.
44088         (configure.ac): Set witnesses.
44089         (License): Relax to LGPLv2+.
44090         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
44091         * modules/unistd (Makefile.am): Substitute witnesses.
44092         * lib/unistd.in.h (rmdir): Declare replacement.
44093         * doc/posix-functions/rmdir.texi (rmdir): Document this.
44094         * modules/rmdir-tests: New tests.
44095         * tests/test-rmdir.c: Likewise.
44096
44097 2009-09-15  Eric Blake  <ebb9@byu.net>
44098
44099         fchdir: improve use of replacement functions
44100         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
44101         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
44102         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
44103         REPLACE_CLOSEDIR.
44104         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
44105         * modules/sys_stat (Makefile.am): Substitute correct witness.
44106         * modules/dirent (Makefile.am): Likewise.
44107         * modules/unistd (Makefile.am): Likewise.
44108         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
44109         * lib/unistd.in.h (dup): Likewise.
44110         * lib/sys_stat.in.h (fstat): Likewise.
44111
44112         maint: ignore gnulib-tool temp files
44113         * .gitignore: Ignore files created during gnulib-tool --test.
44114
44115 2009-09-13  Jim Meyering  <meyering@redhat.com>
44116
44117         posixtm: don't reject a time that specify "60" as the number of seconds
44118         * lib/posixtm.c (posixtime): The code to reject invalid dates
44119         would also reject a time specified with the .60 suffix.
44120         But POSIX allows that, in order to accommodate leap seconds.
44121         So don't reject it.
44122         (main): Adjust tests accordingly.
44123         * modules/posixtm (Depends-on): Add stpcpy.
44124
44125 2009-09-11  Jim Meyering  <meyering@redhat.com>
44126
44127         announce-gen: include [$release_type] in emitted Subject:
44128         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
44129         e.g., [stable] in the emitted Subject: line.
44130
44131 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44132
44133         Remove obsolete macros from several modules.
44134         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
44135         obsolete Autoconf macros with their modern counterparts.
44136         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
44137         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
44138         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
44139         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
44140         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
44141         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
44142         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
44143         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
44144         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
44145         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
44146         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
44147         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
44148         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
44149         * m4/sockets.m4 (gl_SOCKETS): Likewise.
44150         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
44151         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
44152         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
44153         * m4/time_r.m4 (gl_TIME_R): Likewise.
44154         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
44155         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
44156         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
44157
44158         Fix copyright header in build-aux scripts.
44159         * build-aux/git-version-gen: Fix copyright header to match GPLv3
44160         recommendation.
44161         * build-aux/ncftpput-ftp: Likewise.
44162         * build-aux/update-copyright: Likewise.
44163
44164 2009-09-09  Eric Blake  <ebb9@byu.net>
44165
44166         test-link: allow Linux choice of errno
44167         * tests/test-link.c (main): Relax test for alternate error.
44168
44169         strndup: fix improper m4 caching
44170         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
44171         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
44172         (gl_PREREQ_STRNDUP): Delete.
44173         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
44174         * modules/string (Makefile.am): Substitute it.
44175         * lib/string.in.h (strndup): Modernize prototype.
44176
44177         getcwd: port to mingw
44178         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
44179         different from the POSIX assumptions made throughout the getcwd
44180         module; fortunately, the mingw getcwd does not need replacement.
44181         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
44182         * modules/getcwd-tests: New test.
44183         * tests/test-getcwd.c: Likewise.
44184
44185         link: fix platform bugs
44186         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
44187         * lib/link.c (link): Work around them.  Fix related mingw bug.
44188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
44189         * modules/unistd (Makefile.am): Substitute it.
44190         * lib/unistd.in.h (link): Declare replacement.
44191         * doc/posix-functions/link.texi (link): Document this.
44192         * modules/link (Depends-on): Add strdup-posix, sys_stat.
44193
44194         test-link: consolidate into single C program, test more cases
44195         * tests/test-link.sh: Delete.
44196         * tests/test-link.c: Test more error conditions.  Exposes bugs on
44197         at least Cygwin and Solaris.
44198         * modules/link-tests (Files): Remove unused file.
44199         (Depends-on): Add errno, sys_stat.
44200         (Makefile.am): Simplify.
44201
44202 2009-09-08  Bruno Haible  <bruno@clisp.org>
44203
44204         Work around towlower, towupper bug on mingw.
44205         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
44206         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
44207         * doc/posix-functions/towlower.texi: Mention the mingw bug.
44208         * doc/posix-functions/towupper.texi: Likewise.
44209         Reported by Eric Blake.
44210
44211 2009-09-08  Jim Meyering  <meyering@redhat.com>
44212
44213         build: don't try to run autoheader if we don't use it
44214         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
44215         is not used in configure.ac.
44216
44217 2009-09-08  Eric Blake  <ebb9@byu.net>
44218
44219         euidaccess: fix compilation error
44220         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
44221
44222         rawmemchr: relax license
44223         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
44224         okay.
44225         Reported by Jim Meyering.
44226
44227         mkfifoat: new module
44228         * modules/mkfifoat: New file.
44229         * lib/mkfifoat.c: Likewise.
44230         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
44231         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44232         * modules/sys_stat (Makefile.am): Use them.
44233         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
44234         * MODULES.html.sh (File system functions): Mention module.
44235         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44236         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44237         * modules/mkfifoat-tests: New test.
44238         * tests/test-mkfifoat.c: Likewise.
44239
44240         strchrnul: relax license
44241         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
44242         okay.
44243         Reported by Jim Meyering.
44244
44245 2009-09-08  Eric Blake  <ebb9@byu.net>
44246
44247         fstatat: fix compilation on Solaris
44248         * lib/fstatat.c (includes): Add fcntl.h.
44249         Reported by Pádraig Brady.
44250
44251 2009-09-07  Eric Blake  <ebb9@byu.net>
44252
44253         rename: modernize replacement
44254         * modules/rename (Depends-on): Add stdio.
44255         (configure.ac): Declare witness.
44256         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
44257         stdio take care of replacement.
44258         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
44259         * modules/stdio (Makefile.am): Substitute them.
44260         * lib/stdio.in.h (rename): Declare replacement.
44261         * lib/rename.c (includes): Allow cross-compilation to non-windows
44262         machines.
44263         * doc/posix-functions/rename.texi (rename): Improve
44264         documentation.
44265
44266         stdio: sort witness names
44267         * modules/stdio (Makefile.am): Sort replacements.
44268         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44269         * lib/stdio.in.h: Likewise.
44270
44271         getcwd: minor cleanups
44272         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
44273         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
44274
44275         openat: provide more convenience names
44276         * modules/faccessat (configure.ac): Add C witness.
44277         * lib/unistd.in.h (readlinkat): Fix typo.
44278         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
44279         convenience wrappers.
44280         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
44281         wrappers in syntax checks.
44282
44283 2009-09-06  Eric Blake  <ebb9@byu.net>
44284
44285         doc: fix comments in recent patches
44286         * lib/faccessat.c: Mention correct function.
44287         * lib/fchmodat.c: Likewise.
44288         * lib/fchownat.c: Likewise.
44289         * lib/symlinkat.c: Likewise.
44290         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
44291         constants.
44292
44293         faccessat, symlinkat: continue cleanup of previous patch
44294         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
44295         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
44296         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
44297         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
44298         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
44299         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
44300         set.
44301
44302 2009-09-06  Bruno Haible  <bruno@clisp.org>
44303
44304         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
44305         (fstatat): Declare if GNULIB_FSTATAT is set.
44306         (mkdirat): Declare if GNULIB_MKDIRAT is set.
44307         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
44308         (unlinkat): Declare if GNULIB_UNLINKAT is set.
44309         * modules/fcntl-h (Files): Remove m4/openat.m4.
44310         * modules/sys_stat (Files): Remove m4/openat.m4.
44311         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
44312         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
44313         * modules/unistd (Files): Remove m4/openat.m4.
44314         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
44315         GNULIB_OPENAT.
44316         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
44317         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
44318         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
44319         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
44320         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
44321         gl_OPENAT_DEFAULTS.
44322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
44323         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
44324         Don't require gl_OPENAT_DEFAULTS.
44325         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
44326         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
44327         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
44328         (gl_OPENAT_DEFAULTS): Remove macro.
44329
44330 2009-09-06  Bruno Haible  <bruno@clisp.org>
44331
44332         * modules/openat (configure.ac): Remove unneeded witness.
44333
44334 2009-09-06  Bruno Haible  <bruno@clisp.org>
44335
44336         Set errno to ENOSYS when a function is entirely unsupported.
44337         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
44338         EOPNOTSUPP.
44339         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
44340         * modules/chown (Depends-on): Remove errno.
44341
44342 2009-09-06  Bruno Haible  <bruno@clisp.org>
44343
44344         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
44345
44346 2009-09-06  Bruno Haible  <bruno@clisp.org>
44347
44348         * lib/sys_stat.in.h: Fix preprocessor command indentation.
44349
44350 2009-09-06  Ben Pfaff  <blp@gnu.org>
44351             Bruno Haible  <bruno@clisp.org>
44352
44353         Work around a glibc bug in strtok_r.
44354         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
44355         Undefine if UNDEFINE_STRTOK_R is set.
44356         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
44357         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44358         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
44359         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
44360         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
44361         UNDEFINE_STRTOK_R.
44362         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
44363
44364 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
44365
44366         exclude: minor fix
44367         * lib/exclude.c: Include wctype.h
44368
44369 2009-09-06  Akim Demaille  <demaille@gostai.com>
44370
44371         bootstrap: improve error message
44372         * build-aux/bootstrap (find_tool): Upon failure, report the list
44373         of candidates.
44374         Honor the initial value of the envvar.
44375
44376 2009-09-05  Eric Blake  <ebb9@byu.net>
44377
44378         symlinkat: new module
44379         * modules/symlinkat: New file.
44380         * lib/symlinkat.c: Likewise.
44381         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
44382         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44383         * modules/unistd (Makefile.am): Use them.
44384         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
44385         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
44386         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
44387         * MODULES.html.sh (File system functions): Mention module.
44388         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44389         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44390         * modules/symlinkat-tests: New test.
44391         * tests/test-symlinkat.c: Likewise.
44392
44393         test-openat-safer: add more checks
44394         * tests/test-openat-safer.c (main): Check more code paths.
44395
44396 2009-09-05  Jim Meyering  <meyering@redhat.com>
44397
44398         syntax-check: detect unnecessary inclusion of openat.h
44399         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
44400
44401 2009-09-05  Bruno Haible  <bruno@clisp.org>
44402
44403         Support towlower, towupper.
44404         * doc/posix-functions/towlower.texi: Mention module wctype.
44405         * doc/posix-functions/towupper.texi: Likewise.
44406         * lib/wctype.in.h (towlower, towupper): New functions.
44407         * tests/test-wctype.c: Include stdio.h, stdlib.h.
44408         (ASSERT): New macro.
44409         (e): New variable.
44410         (main): Test also towlower, towupper. Test WEOF argument.
44411         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44412
44413 2009-09-05  Bruno Haible  <bruno@clisp.org>
44414
44415         Fix conversion behaviour when the input is invalid.
44416         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
44417         mark occurring in first pass of indirect conversion.
44418         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
44419         input.
44420         Found by clang's static analyzer.
44421
44422 2009-09-05  Bruno Haible  <bruno@clisp.org>
44423
44424         * tests/test-striconveh.c (main): Test indirect conversion on platforms
44425         where direct conversion is possible.
44426
44427 2009-09-04  Eric Blake  <ebb9@byu.net>
44428
44429         openat: fail with ENOENT on empty name
44430         * lib/openat-proc.c (openat_proc_name): Special-case the empty
44431         buffer.
44432
44433         link-follow: fix logic bug in prior patch
44434         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
44435         reversed sense of yes and no in prior patch.  Avoid confusing
44436         compilation failure with desired semantics.
44437
44438         link-follow: accommodate mingw and cross-compilation
44439         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
44440         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
44441         cross-compilation results to -1, to make linkat easier to
44442         implement when cross-compiling.  Trivially support mingw.
44443         * modules/link-follow (configure.ac): Call new name.
44444         * NEWS: Mention this.
44445
44446 2009-09-03  Eric Blake  <ebb9@byu.net>
44447
44448         faccessat: compile replacement
44449         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
44450         needed.
44451
44452         fts: fix compilation error
44453         * lib/fts.c (includes): Re-add "openat.h", for
44454         openat_needs_fchdir.
44455
44456         faccessat: new module
44457         * modules/faccessat: New file.
44458         * lib/faccessat.c: Likewise.
44459         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
44460         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44461         * modules/unistd (Makefile.am): Use it.
44462         * lib/unistd.in.h (faccessat): Declare it.
44463         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
44464         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
44465         * MODULES.html.sh (File system functions): Mention it.
44466         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
44467         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
44468
44469         euidaccess: prefer POSIX over non-standard implementation
44470         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
44471         * lib/euidaccess.c (euidaccess): Use it if available.
44472
44473         openat: make template easier to use
44474         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
44475         AT_FUNC_F2 to be undefined.
44476         (VALIDATE_FLAG): New macro; use it to reject bad flags.
44477         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
44478         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
44479         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
44480         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
44481         Likewise.
44482         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
44483         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
44484         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
44485         Likewise.
44486
44487         openat: declare in POSIX headers
44488         * NEWS: Mention this.
44489         * modules/openat (configure.ac): Declare witnesses.
44490         (Depends-on): Add fcntl-h, sys_stat, unistd.
44491         (Include): Mention correct headers.
44492         * modules/fcntl-h (Depends-on): Add link-warning.
44493         (Files): Add openat.m4.
44494         (Makefile.am): Substitute witnesses.
44495         * modules/sys_stat (Files, Makefile.am): Likewise.
44496         * modules/unistd (Files, Makefile.am): Likewise.
44497         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
44498         (gl_OPENAT_DEFAULTS): New macro.
44499         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
44500         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
44501         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
44502         (SYS_STAT_H): Remove unused variable.
44503         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
44504         * lib/fcntl--.h (includes): Remove unneeded header.
44505         * lib/openat-safer.c (includes): Likewise.
44506         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
44507         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
44508         appropriate headers.
44509         (__OPENAT_PREFIX): Delete.
44510         * lib/fcntl.in.h (openat): Provide declaration.
44511         (AT_FDCWD): Fix Solaris bug.
44512         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
44513         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
44514         * lib/fchmodat.c (includes):  Adjust to find declaration.
44515         * lib/fchownat.c (includes): Likewise.
44516         * lib/mkdirat.c (includes): Likewise.
44517         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
44518         still visible.
44519
44520 2009-09-02  Eric Blake  <ebb9@byu.net>
44521
44522         errno: use consistently
44523         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
44524         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
44525         * lib/canonicalize.c (ELOOP): Likewise.
44526         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
44527         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
44528         * lib/lchown.c (EOPNOTSUPP): Likewise.
44529         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
44530         * lib/savewd.c (ESTALE): Likewise.
44531         * lib/settime.c (ENOSYS): Likewise.
44532         * lib/utimens.c (ENOSYS): Likewise.
44533         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
44534         * lib/chdir-safer.c (ELOOP): Likewise.
44535         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
44536         * modules/c-stack (Depends-on): Add errno.
44537         * modules/canonicalize (Depends-on): Likewise.
44538         * modules/chdir-safer (Depends-on): Likewise.
44539         * modules/fdopendir (Depends-on): Likewise.
44540         * modules/inet_ntop (Depends-on): Likewise.
44541         * modules/inet_pton (Depends-on): Likewise.
44542         * modules/lchown (Depends-on): Likewise.
44543         * modules/openat (Depends-on): Likewise.
44544         * modules/savewd (Depends-on): Likewise.
44545         * modules/settime (Depends-on): Likewise.
44546         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
44547
44548         fts: avoid leaking fds
44549         * modules/fts (Depends-on): Add cloexec.
44550         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
44551         flag.
44552
44553         fts: make directory fds more robust
44554         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
44555         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
44556
44557         backupfile, chdir-long, fts, savedir: make safer
44558         * lib/backupfile.c (includes): Use "dirent--.h", since
44559         numbered_backup can write to stderr during readdir.
44560         * lib/savedir.c (includes): Likewise.
44561         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
44562         emulation can write to stderr on failure.
44563         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
44564         * lib/getcwd.c: Document why opendir_safer is unused.
44565         * lib/glob.c: Likewise.
44566         * lib/scandir.c: Likewise.
44567         * lib/openat-proc.c: Likewise, for open_safer.
44568         * modules/backupfile (Depends-on): Add dirent-safer.
44569         * modules/savedir (Depends-on): Likewise.
44570         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
44571         * modules/chdir-long (Depends-on): Add openat-safer.
44572
44573         openat-safer: new module
44574         * modules/openat-safer: New file.
44575         * lib/openat-safer.c: Likewise.
44576         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
44577         * lib/fcntl-safer.h (openat_safer): Declare.
44578         * lib/fcntl--.h (openat): Override.
44579         * MODULES.html.sh (File descriptor based I/O): Mention it.
44580         * lib/openat.h: Add double-inclusion guards.
44581         * lib/openat.c (includes): Only include "fcntl-safer.h", not
44582         "fcntl--.h", so we can implement openat.
44583         * modules/openat-safer-tests: New test.
44584         * tests/test-openat-safer.c: New file.
44585
44586         dirent-safer: new module
44587         * modules/dirent-safer: New file.
44588         * lib/dirent--.h: Likewise.
44589         * lib/dirent-safer.h: Likewise.
44590         * lib/opendir-safer.c: Likewise.
44591         * m4/dirent-safer.m4: Likewise.
44592         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
44593         * modules/dirent-safer-tests: New test.
44594         * tests/test-dirent-safer.c: New file.
44595         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
44596
44597         fdopendir: optimize on mingw
44598         * lib/unistd.in.h (_gl_directory_name): New prototype.
44599         * lib/fchdir.c (_gl_directory_name): Implement it.
44600         (fchdir): Use it to simplify implementation.
44601         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
44602         fchdir, when available, to avoid calling [f]chdir().
44603
44604         fdopendir: split into its own module
44605         * lib/openat.c (fdopendir): Move...
44606         * lib/fdopendir.c: ...into new file.
44607         * modules/fdopendir: New module.
44608         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
44609         * modules/openat (Depends-on): Add fdopendir.
44610         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
44611         fdopendir here.
44612         * modules/savedir (Depends-on): Only need fdopendir, not full
44613         openat.
44614         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
44615         * lib/openat.h (fdopendir): Drop prototype.
44616         * lib/dirent.in.h (fdopendir): Provide prototype.
44617         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
44618         * modules/dirent (Makefile.am): Substitute them.
44619         * MODULES.html.sh (File system functions): Mention it.
44620         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
44621         * modules/fdopendir-tests: New file.
44622         * tests/test-fdopendir.c: Likewise.
44623
44624         fchdir: use more consistent macro convention
44625         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
44626         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
44627         REPLACE_FCHDIR, rather than relying on config.h macros.
44628         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
44629         inside a single make-time REPLACE_FCHDIR block, rather than using
44630         the config.h FCHDIR_REPLACEMENT.
44631         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
44632         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
44633         Manage fstat replacement.
44634         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
44635         REPLACE_FCHDIR.
44636         * modules/sys_stat (Files): Add m4/unistd_h.m4.
44637         (Makefile.am): Substitute REPLACE_FCHDIR.
44638         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
44639         FCHDIR_REPLACEMENT.
44640         * lib/dup-safer.c (dup_safer): Likewise.
44641         * lib/dup2.c (rpl_dup2): Likewise.
44642         * lib/dup3.c (rpl_dup3): Likewise.
44643         * lib/open.c (rpl_open): Likewise.
44644
44645         fchdir: simplify error handling, and support dup3
44646         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
44647         stdbool, malloc-posix, realloc-posix.
44648         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
44649         (ensure_dirs_slot): Return false on allocation failure.
44650         (rpl_dup2): Delete.
44651         (_gl_register_dup): New function.
44652         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
44653         (_gl_register_fd): Close fd on allocation failure.
44654         * lib/fcntl.in.h (_gl_register_fd): Update signature.
44655         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
44656         prototype.
44657         (rpl_dup2_fchdir): Delete prototype.
44658         * lib/open.c (open): Update caller.
44659         * lib/dup2.c (dup2): Track fchdir metadata.
44660         * lib/dup3.c (dup3): Likewise.
44661         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
44662         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
44663
44664 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44665
44666         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
44667         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
44668         don't pass arguments to AC_OUTPUT.
44669
44670 2009-09-02  Bruno Haible  <bruno@clisp.org>
44671
44672         * modules/mkdtemp (License): Relicense under LGPLv2+.
44673         Reported by Paolo Bonzini.
44674
44675 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44676
44677         Replace uses of obsolete autoconf macros in Jim's modules.
44678         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
44679         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
44680         can evoke a warning from autoconf when run with -Wobsolete
44681         enabled.  They were declared obsolete for good reasons (see
44682         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
44683         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
44684         should not continue using the deprecated macros.
44685         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
44686         obsolete Autoconf macros with modern counterparts.
44687         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
44688         * m4/dos.m4 (gl_AC_DOS): Likewise.
44689         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
44690         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
44691         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
44692         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
44693         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
44694         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
44695         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
44696         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
44697         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
44698         Likewise.
44699         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
44700         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
44701         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
44702         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
44703         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
44704         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
44705
44706 2009-09-01  Eric Blake  <ebb9@byu.net>
44707
44708         fchdir: fix off-by-one bug in previous patch
44709         * lib/fchdir.c (rpl_fstat): Use correct bounds.
44710         (_gl_unregister_fd): Delete useless if.
44711
44712 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
44713
44714         maint.mk: sort the list of syntax-check rules
44715         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
44716         easier to get a sense of progress when the rules are run sequentially
44717         and take a long time.
44718
44719 2009-09-01  Simon Josefsson  <simon@josefsson.org>
44720
44721         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
44722         * modules/netinet_in: Likewise.
44723         * modules/sys_file: Likewise.
44724         * modules/sys_ioctl: Likewise.
44725         * modules/sys_select: Likewise.
44726         * modules/sys_socket: Likewise.
44727         * modules/sys_stat: Likewise.
44728         * modules/sys_time: Likewise.
44729         * modules/sys_times: Likewise.
44730         * modules/sys_utsname: Likewise.
44731         * modules/sys_wait: Likewise.
44732
44733 2009-09-01  Jim Meyering  <meyering@redhat.com>
44734
44735         fts: help ensure that return values are not ignored
44736         * lib/fts_.h (__GNUC_PREREQ): Define.
44737         (__attribute_warn_unused_result__): Define.
44738         (fts_children, fts_close, fts_open, fts_read): Declare with
44739         __attribute_warn_unused_result__.
44740
44741         fts: fts_close now fails also when closing a dir file descriptor fails
44742         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
44743         and propagate to caller, along with errno.
44744
44745         announce-gen: correct formatting in --help output
44746         * build-aux/announce-gen (usage): Move the one-line description in
44747         --help output "up", to where it belongs, just after Usage:.
44748
44749 2009-08-31  Eric Blake  <ebb9@byu.net>
44750
44751         fchdir: port to mingw
44752         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
44753         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
44754         opened, then use a substitute.
44755         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
44756         replacement.
44757         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
44758         (_gl_register_fd): No need to check stat if open already filters
44759         all directories.
44760         (fchdir): Fix error condition to match POSIX.
44761         * modules/fchdir (Depends-on): Add sys_stat.
44762         * doc/posix-functions/open.texi (open): Document the limitation.
44763         * modules/fchdir-tests: New file.
44764         * tests/test-fchdir.c: Likewise.
44765
44766         canonicalize: allow cross-testing from cygwin to mingw
44767         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
44768         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
44769         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
44770         Likewise.
44771         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
44772         target does not support symlinks.
44773         * tests/test-canonicalize-lgpl.sh: Likewise.
44774
44775         chown: avoid compilation warning on mingw
44776         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
44777         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
44778         mingw.
44779         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
44780         * modules/chown (Depends-on): Add errno.
44781
44782 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
44783
44784         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
44785         command.
44786
44787 2009-08-31  Jim Meyering  <meyering@redhat.com>
44788
44789         canonicalize: remove useless initialization
44790         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
44791         initialization of local, "end".
44792
44793 2009-08-30  Bruno Haible  <bruno@clisp.org>
44794
44795         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
44796         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
44797         ENOSYS.
44798
44799 2009-08-30  Bruno Haible  <bruno@clisp.org>
44800
44801         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
44802         /usr/xpg4/bin/tr when it exists.
44803         * tests/test-pipe-filter-gi1.sh: Likewise.
44804
44805 2009-08-30  Bruno Haible  <bruno@clisp.org>
44806
44807         Work around deficient /usr/bin/id program on Solaris.
44808         * tests/test-file-has-acl.sh (ID): New variable.
44809         * tests/test-set-mode-acl.sh (ID): Likewise.
44810         * tests/test-copy-acl.sh (ID): Likewise.
44811         * tests/test-copy-file.sh (ID): Likewise.
44812
44813 2009-08-30  Bruno Haible  <bruno@clisp.org>
44814
44815         New module 'xstriconveh'.
44816         * lib/xstriconveh.h: New file.
44817         * lib/xstriconveh.c: New file.
44818         * modules/xstriconveh: New file.
44819
44820 2009-08-30  Bruno Haible  <bruno@clisp.org>
44821
44822         Make it easier to use mem_cd_iconveh.
44823         * lib/striconveh.h (iconveh_t): New type.
44824         (iconveh_open, iconveh_close): New declarations.
44825         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
44826         with a single 'const iconveh_t *' argument.
44827         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
44828         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
44829         with a single 'const iconveh_t *' argument.
44830         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
44831         * tests/test-striconveh.c (main): Update.
44832         * NEWS: Mention the change.
44833
44834 2009-08-30  Bruno Haible  <bruno@clisp.org>
44835
44836         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
44837         problem.
44838
44839 2009-08-30  Bruno Haible  <bruno@clisp.org>
44840
44841         Work around iconv_open problem on Solaris.
44842         * lib/iconv_open-solaris.gperf: New file.
44843         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
44844         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
44845         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
44846         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
44847         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
44848         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
44849
44850 2009-08-29  Jim Meyering  <meyering@redhat.com>
44851
44852         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
44853         * top/maint.mk (cvs-check): Remove target; it was just an alias
44854         to the better-named vc-diff-check.
44855         (maintainer-distcheck): Remove rule.  It was used only from
44856         the (alpha/beta/major) target, and all of its commands but one
44857         were coreutils-specific.
44858         (vc-dist): Remove rule.
44859         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
44860         Run vc-diff-check, not vc-dist.
44861         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
44862
44863 2009-08-27  Bruno Haible  <bruno@clisp.org>
44864
44865         * tests/test-bitrotate.c (main): Remove test that uses a shift count
44866         of 0.
44867
44868 2009-08-27  Bruno Haible  <bruno@clisp.org>
44869
44870         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
44871         compilers.
44872         * doc/func.texi: Document the SunPRO C bug.
44873
44874 2009-08-27  Bruno Haible  <bruno@clisp.org>
44875
44876         Fix link error on Solaris.
44877         * tests/test-parse-duration.c (xstrdup): Remove function.
44878
44879 2009-08-26  Pádraig Brady  <P@draigbrady.com>
44880
44881         ignore-value: handle pointer types, too
44882         * lib/ignore-value.h (__attribute__): Remove definition.
44883         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
44884         of a more concise and more-often effective "(void) i" statement.
44885         (ignore_ptr): New function to suppress warnings from functions that
44886         return pointers, and to make it explicit that one function doesn't
44887         handle all cases.
44888
44889 2009-08-25  Bruno Haible  <bruno@clisp.org>
44890
44891         dup2: work around a Linux bug.
44892         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
44893         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
44894         * doc/posix-functions/dup2.texi: Mention the Linux bug.
44895         Reported by Simon Josefsson.
44896
44897 2009-08-25  Jim Meyering  <meyering@redhat.com>
44898
44899         libguestfs uses gnulib
44900         * users.txt: Add libguestfs.
44901
44902 2009-08-24  Eric Blake  <ebb9@byu.net>
44903
44904         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
44905         * lib/pipe2.c (includes): Add binary-io.h.
44906         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
44907
44908 2009-08-24  Bruno Haible  <bruno@clisp.org>
44909
44910         Tolerate declared but missing accept4 syscall.
44911         * lib/accept4.c (accept4): Invoke original accept4 function first, if
44912         available.
44913         * lib/sys_socket.in.h (accept4): If the function is already present,
44914         override it.
44915         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
44916         * modules/accept4 (Makefile.am): Compile accept4.c always.
44917         Reported by Paolo Bonzini and Eric Blake.
44918
44919 2009-08-23  Bruno Haible  <bruno@clisp.org>
44920
44921         New module 'accept4'.
44922         * lib/sys_socket.in.h (accept4): New declaration.
44923         * lib/accept4.c: New file.
44924         * m4/accept4.m4: New file.
44925         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
44926         GNULIB_ACCEPT4, HAVE_ACCEPT4.
44927         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
44928         HAVE_ACCEPT4.
44929         * modules/accept4: New file.
44930         * doc/glibc-functions/accept4.texi: Mention the new module.
44931
44932 2009-08-24  Jim Meyering  <meyering@redhat.com>
44933
44934         progname: also set global program_invocation_name, when possible
44935         Before this change, a libtool-enabled program that calls glibc's
44936         error function would report the program name as
44937         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
44938         * modules/progname (configure.ac): Check for a declaration of
44939         program_invocation_name.
44940         * lib/progname.c:  Include <errno.h>.
44941         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
44942         Set program_invocation_name.
44943
44944 2009-08-23  Bruno Haible  <bruno@clisp.org>
44945
44946         * lib/dup3.c: Include <string.h>.
44947
44948 2009-08-23  Bruno Haible  <bruno@clisp.org>
44949
44950         * lib/dup3.c (dup3): Test only once whether the system actually exists.
44951         * lib/pipe2.c (pipe2): Likewise.
44952         Suggested by Eric Blake.
44953
44954 2009-08-23  Bruno Haible  <bruno@clisp.org>
44955
44956         Tolerate declared but missing dup3 syscall.
44957         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
44958         * lib/unistd.in.h (dup3): If the function is already present,
44959         override it.
44960         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
44961         * modules/dup3 (Makefile.am): Compile dup3.c always.
44962         Reported by Paolo Bonzini.
44963
44964 2009-08-23  Bruno Haible  <bruno@clisp.org>
44965
44966         Tolerate declared but missing pipe2 syscall.
44967         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
44968         available.
44969         * lib/unistd.in.h (pipe2): If the function is already present,
44970         override it.
44971         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
44972         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
44973         Reported by Paolo Bonzini.
44974
44975 2009-08-23  Bruno Haible  <bruno@clisp.org>
44976
44977         * lib/pipe2.c (pipe2): Move #ifs inside function.
44978
44979 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
44980
44981         quotearg: document limitations of quote_these_too
44982         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
44983         those limitations are created.
44984         * lib/quotearg.h (set_char_quoting): Document that digits and
44985         letters that are special after backslash are not permitted.
44986         (quotearg_char): Cross-reference set_char_quoting documentation.
44987
44988 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
44989
44990         quotearg: implement custom_quoting_style
44991         * lib/quotearg.c: (struct quoting_options): Add left_quote and
44992         right_quote fields.
44993         (set_custom_quoting): New public function.
44994         (quotearg_buffer_restyled): Add left_quote and right_quote
44995         arguments, handle them very much like locale quoting, and update
44996         all uses.
44997         (quotearg_n_custom): New public function.
44998         (quotearg_n_custom_mem): New public function.
44999         (quotearg_custom): New public function.
45000         (quotearg_custom_mem): New public function.
45001         * lib/quotearg.h: Prototype and document new public functions.
45002         (enum quoting_style): For escape_quoting_style and
45003         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
45004         ignored even though they're otherwise like c_quoting_style.
45005         Add custom_quoting_style member and document with comparison to
45006         clocale_quoting_style.
45007         * tests/test-quotearg.c (custom_quotes): New array.
45008         (custom_results): New array.
45009         (main): Extend to test custom quoting.
45010
45011 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45012
45013         quotearg: fix right quote escaping when it's in quote_these_too
45014         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
45015         quote, be sure to prepend only one backslash.
45016         * tests/test-quotearg.c (use_quote_double_quotes): New function.
45017         (main): Test it.
45018
45019 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45020
45021         quotearg-tests: test escaping of embedded locale quotes
45022         * tests/test-quotearg.c (struct result_strings): Add member for
45023         new input.
45024         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
45025         (inputs): Add new input.
45026         (results_g): Add expected results.
45027         (flag_results): Likewise.
45028         (locale_results): Likewise.
45029         (compare_strings): Check those.
45030
45031 2009-08-23  Bruno Haible  <bruno@clisp.org>
45032
45033         Tests for module 'dup3'.
45034         * modules/dup3-tests: New file.
45035         * tests/test-dup3.c: New file.
45036
45037         New module 'dup3'.
45038         * lib/unistd.in.h (dup3): New declaration.
45039         * lib/dup3.c: New file.
45040         * m4/dup3.m4: New file.
45041         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
45042         HAVE_DUP3.
45043         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
45044         * modules/dup3: New file.
45045         * doc/glibc-functions/dup3.texi: Mention the new module.
45046
45047 2009-08-23  Bruno Haible  <bruno@clisp.org>
45048
45049         Tweak the dup2 test.
45050         * tests/test-dup2.c (main): Create the test file empty. Verify that an
45051         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
45052         the test file is still empty. Fix argument order of lseek.
45053
45054 2009-08-23  Bruno Haible  <bruno@clisp.org>
45055
45056         Avoid test link errors when the modules getopt-gnu, gettext are used.
45057         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
45058         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45059
45060 2009-08-23  Bruno Haible  <bruno@clisp.org>
45061
45062         Fix getdtablesize() on mingw.
45063         * lib/getdtablesize.c (getdtablesize): Implement differently.
45064         * lib/unistd.in.h (getdtablesize): Improve comment.
45065
45066 2009-08-23  Bruno Haible  <bruno@clisp.org>
45067
45068         New module 'mkostemp'.
45069         Based on Ulrich Drepper's 2007-08-10 change in glibc.
45070         * lib/stdlib.in.h (mksotemp): New declaration.
45071         * lib/mkostemp.c: New file, from glibc with modifications.
45072         * lib/tempname.h (GT_FILE): Remove outdated comment.
45073         (gen_tempname): Add flags argument.
45074         * lib/tempname.c (__GT_BIGFILE): Remove macro.
45075         (__GT_FILE): Map to 1.
45076         (small_open, large_open): Remove macros.
45077         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
45078         * lib/mkstemp.c (mkstemp): Update.
45079         * lib/mkdtemp.c (mkdtemp): Likewise.
45080         * m4/mkostemp.m4: New file.
45081         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
45082         HAVE_MKOSTEMP.
45083         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
45084         HAVE_MKOSTEMP.
45085         * modules/mkostemp: New file, based on modules/mkstemp.
45086         * doc/glibc-functions/mkostemp.texi: Mention the new module.
45087         * NEWS: Mention the change.
45088
45089 2009-08-23  Bruno Haible  <bruno@clisp.org>
45090
45091         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
45092         Reported by Eric Blake.
45093
45094 2009-08-23  Bruno Haible  <bruno@clisp.org>
45095
45096         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
45097         Reported by Eric Blake.
45098
45099 2009-08-23  Bruno Haible  <bruno@clisp.org>
45100
45101         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
45102         * modules/pipe2 (Depends-on): Likewise.
45103
45104 2009-08-23  Eric Blake  <ebb9@byu.net>
45105
45106         fcntl-h: add O_TTY_INIT support
45107         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
45108         * tests/test-fcntl-h.c (o): Test it.
45109         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
45110
45111         fcntl-h: rename from fcntl, in preparation for fcntl(2)
45112         * modules/fcntl: Move <fcntl.h> header replacement...
45113         * modules/fcntl-h: ...to new name, so as not to collide with
45114         like-named function.
45115         * tests/test-fcntl.c: Rename...
45116         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
45117         * modules/fcntl-tests: Rename...
45118         * modules/fcntl-h-tests: ...to this.  Update test file name.
45119         * modules/chdir-long (Depends-on): Update clients.
45120         * modules/chdir-safer (Depends-on): Likewise.
45121         * modules/fcntl-safer (Depends-on): Likewise.
45122         * modules/fts (Depends-on): Likewise.
45123         * modules/mkancesdirs (Depends-on): Likewise.
45124         * modules/mkdir-p (Depends-on): Likewise.
45125         * modules/open (Depends-on): Likewise.
45126         * modules/savewd (Depends-on): Likewise.
45127         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
45128         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
45129
45130 2009-08-22  Bruno Haible  <bruno@clisp.org>
45131
45132         * modules/binary-io (License): Relicense under LGPL.
45133         * modules/pipe2 (License): Likewise.
45134
45135 2009-08-22  Bruno Haible  <bruno@clisp.org>
45136
45137         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
45138         return value.
45139         * lib/pipe-filter-gi.c (filter_init): Likewise.
45140         Reported by Eric Blake.
45141
45142 2009-08-22  Bruno Haible  <bruno@clisp.org>
45143
45144         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
45145         * modules/pipe (Depends-on): Add pipe2.
45146
45147 2009-08-22  Bruno Haible  <bruno@clisp.org>
45148
45149         Tests for module 'pipe2'.
45150         * modules/pipe2-tests: New file.
45151         * tests/test-pipe2.c: New file.
45152
45153         New module 'pipe2'.
45154         * lib/unistd.in.h (pipe2): New declaration.
45155         * lib/pipe2.c: New file.
45156         * m4/pipe2.m4: New file.
45157         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
45158         HAVE_PIPE2.
45159         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
45160         * modules/pipe2: New file.
45161         * doc/glibc-functions/pipe2.texi: Mention the new module.
45162
45163 2009-08-22  Bruno Haible  <bruno@clisp.org>
45164
45165         Reference some new glibc functions.
45166         * doc/glibc-functions/accept4.texi: New file.
45167         * doc/glibc-functions/dup3.texi: New file.
45168         * doc/glibc-functions/mkostemp.texi: New file.
45169         * doc/glibc-functions/pipe2.texi: New file.
45170         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
45171         (Glibc sys/socket.h): Refer to accept4.
45172         (Glibc unistd.h): Refer to dup3, pipe2.
45173         Reported by Eric Blake.
45174
45175 2009-08-22  Jim Meyering  <meyering@redhat.com>
45176             Bruno Haible  <bruno@clisp.org>
45177
45178         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
45179         This makes it so packages using automake-1.11's silent-rules option
45180         can print e.g., a single "GEN    configmake.h" line, rather than
45181         the 30+ statements that perform the job.  If you want to see the
45182         actual commands, you can still run "make V=1".
45183         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
45184         so that make output is abbreviated when those variables are defined
45185         appropriately.
45186         * modules/argz: Likewise.
45187         * modules/arpa_inet: Likewise.
45188         * modules/byteswap: Likewise.
45189         * modules/configmake: Likewise.
45190         * modules/dirent: Likewise.
45191         * modules/errno: Likewise.
45192         * modules/fcntl: Likewise.
45193         * modules/float: Likewise.
45194         * modules/fnmatch: Likewise.
45195         * modules/getopt-posix: Likewise.
45196         * modules/glob: Likewise.
45197         * modules/iconv_open: Likewise.
45198         * modules/inttypes: Likewise.
45199         * modules/localcharset: Likewise.
45200         * modules/locale: Likewise.
45201         * modules/math: Likewise.
45202         * modules/netdb: Likewise.
45203         * modules/netinet_in: Likewise.
45204         * modules/poll: Likewise.
45205         * modules/posix_spawnp-tests: Likewise.
45206         * modules/sched: Likewise.
45207         * modules/search: Likewise.
45208         * modules/selinux-h: Likewise.
45209         * modules/signal: Likewise.
45210         * modules/spawn: Likewise.
45211         * modules/stdarg: Likewise.
45212         * modules/stdbool: Likewise.
45213         * modules/stddef: Likewise.
45214         * modules/stdint: Likewise.
45215         * modules/stdio: Likewise.
45216         * modules/stdlib: Likewise.
45217         * modules/string: Likewise.
45218         * modules/strings: Likewise.
45219         * modules/sys_file: Likewise.
45220         * modules/sys_ioctl: Likewise.
45221         * modules/sys_select: Likewise.
45222         * modules/sys_socket: Likewise.
45223         * modules/sys_stat: Likewise.
45224         * modules/sys_time: Likewise.
45225         * modules/sys_times: Likewise.
45226         * modules/sys_utsname: Likewise.
45227         * modules/sys_wait: Likewise.
45228         * modules/sysexits: Likewise.
45229         * modules/time: Likewise.
45230         * modules/unistd: Likewise.
45231         * modules/wchar: Likewise.
45232         * modules/wctype: Likewise.
45233
45234 2009-08-22  Jim Meyering  <meyering@redhat.com>
45235
45236         announce-gen: detect write failure
45237         * build-aux/announce-gen: Add Coda at end.
45238         Remove equivalent-but-more-verbose block at top.
45239
45240 2009-08-19  Akim Demaille  <demaille@gostai.com>
45241
45242         bootstrap: --help to stdout.
45243         * bootstrap (usage): Don't send --help to stderr.
45244         Use a here doc instead of a long string.
45245
45246 2009-08-21  Eric Blake  <ebb9@byu.net>
45247
45248         test-popen-safer: split from test-popen
45249         * tests/test-popen.c (main): Move...
45250         * tests/test-popen.h: ...into new file.
45251         * tests/test-popen-safer2.c: New file.
45252         * modules/popen-tests (Files): Add test-popen.h.
45253         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
45254         Suggested by Bruno Haible.
45255
45256         test-fcntl-safer: split from test-open
45257         * tests/test-open.c (main): Move...
45258         * tests/test-open.h: ...into new file.
45259         * tests/test-fcntl-safer.c: New file.
45260         * modules/open-tests (Files): Add test-open.h.
45261         * modules/fcntl-safer-tests: New file.
45262         Suggested by Bruno Haible.
45263
45264         test-fopen-safer: split from test-fopen
45265         * tests/test-fopen.c (main): Move...
45266         * tests/test-fopen.h: ...into new file.
45267         * tests/test-fopen-safer.c: New file.
45268         * modules/fopen-tests (Files): Add test-fopen.h.
45269         * modules/fopen-safer-tests: New file.
45270         Suggested by Bruno Haible.
45271
45272 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
45273
45274         popen-safer: test O_CLOEXEC at run-time.
45275         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
45276
45277 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
45278
45279         fcntl: move more flags to the header
45280         * lib/cloexec.c: Do not define FD_CLOEXEC here.
45281         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
45282         * lib/fcntl.in.h: Do both things here.
45283
45284 2009-08-21  Jim Meyering  <meyering@redhat.com>
45285
45286         consistently remove $@-t before redirecting to it
45287         * modules/argz: Remove $@-t and $@ before redirecting to the former.
45288         * modules/alloca-opt: Likewise.
45289         * modules/byteswap: Likewise.
45290         * modules/fnmatch: Likewise.
45291         * modules/getopt-posix: Likewise.
45292         * modules/glob: Likewise.
45293         * modules/poll: Likewise.
45294         * modules/posix_spawnp-tests: Likewise.
45295         * modules/sys_socket: Likewise.
45296         * modules/sysexits: Likewise.
45297
45298 2009-08-21  Eric Blake  <ebb9@byu.net>
45299
45300         popen: simplify access to original popen
45301         * lib/popen.c (rpl_popen): No need to worry about popen being a
45302         macro.
45303         Reported by Bruno Haible.
45304
45305 2009-08-20  Eric Blake  <ebb9@byu.net>
45306
45307         build: avoid some compiler warnings
45308         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
45309         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
45310         type.
45311         (new_exclude_segment, excluded_file_pattern_p)
45312         (excluded_file_name_p): Reduce scope.
45313         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
45314         old-style declaration.
45315
45316 2009-08-20  Simon Josefsson  <simon@josefsson.org>
45317
45318         * tests/test-exclude1.sh: Handle Windows EOL.
45319         * tests/test-exclude2.sh: Likewise.
45320         * tests/test-exclude3.sh: Likewise.
45321         * tests/test-exclude4.sh: Likewise.
45322         * tests/test-exclude5.sh: Likewise.
45323         * tests/test-exclude6.sh: Likewise.
45324         * tests/test-exclude7.sh: Likewise.
45325
45326 2009-08-19  Akim Demaille  <demaille@gostai.com>
45327
45328         bootstrap: find sha1sum when named gsha1sum.
45329         * bootstrap (find_tool): New.
45330         ($SHA1SUM): New.
45331         Use it.
45332
45333 2009-08-20  Jim Meyering  <meyering@redhat.com>
45334
45335         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
45336         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
45337         expression that converts "." in a file name to "\." in the resulting
45338         regexp.  Start with a dummy statement, so that prior shell variable
45339         definitions are expanded portably.  Reported by Simon Josefsson.
45340
45341 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
45342
45343         Fix polling for writeability of a screen buffer.
45344         * lib/poll.c: Distinguish input and screen buffers for the
45345         Win32 implementation.
45346         * lib/select.c: Likewise.
45347
45348 2009-08-19  Eric Blake  <ebb9@byu.net>
45349
45350         popen-safer: prevent popen from clobbering std descriptors
45351         * modules/popen-safer: New file.
45352         * lib/popen-safer.c: Likewise.
45353         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
45354         * lib/stdio--.h (popen): Provide override.
45355         * lib/stdio-safer.h (popen_safer): Provide declaration.
45356         * tests/test-popen.c (includes): Partially test this.
45357         * modules/popen-safer-tests: New file, for more tests.
45358         * tests/test-popen-safer.c: Likewise.
45359         * MODULES.html.sh (file stream based Input/Output): Mention it.
45360
45361         tests: test some of the *-safer modules
45362         * modules/fopen-safer (Depends-on): Add fopen.
45363         * modules/fcntl-safer (Depends-on): Add fcntl.
45364         * modules/stdlib-safer (Depends-on): Add stdlib.
45365         (configure.ac): Set indicator.
45366         * modules/unistd-safer (configure.ac): Likewise.
45367         * modules/tmpfile-safer (configure.ac): Likewise.
45368         (Depends-on): Add tmpfile.
45369         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
45370         active.
45371         * tests/test-fopen.c (includes): Test safer versions when they are
45372         in use.
45373         * tests/test-open.c (includes): Likewise.
45374
45375         popen: fix cygwin 1.5 bug when stdin closed
45376         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
45377         * modules/popen: New file.
45378         * modules/popen-tests: Likewise.
45379         * tests/test-popen.c: Likewise.
45380         * m4/popen.m4: Likewise.
45381         * lib/popen.c: Likewise.
45382         * lib/stdio.in.h (popen): New declaration.
45383         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
45384         * modules/stdio (Makefile.am): Likewise.
45385         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
45386
45387 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
45388
45389         maint.mk: give full control over update-copyright exclusions
45390         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
45391         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
45392         (update-copyright): Don't force inclusion of top-level
45393         ChangeLog.  Don't force exclusion of all COPYING files, but make
45394         them the default exclusion instead.
45395
45396 2009-08-16  Bruno Haible  <bruno@clisp.org>
45397
45398         Fix test failures on Solaris 10.
45399         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
45400         tests when Solaris iconv() is used.
45401         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
45402         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
45403         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
45404         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
45405         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
45406
45407 2009-08-16  Bruno Haible  <bruno@clisp.org>
45408
45409         Fix test failures on Solaris 10.
45410         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
45411         'tr' program and pass it as first argument.
45412         * tests/test-pipe-filter-gi1.sh: Likewise.
45413         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
45414         program as first argument.
45415         * tests/test-pipe-filter-gi1.c (main): Likewise.
45416
45417 2009-08-16  Eric Blake  <ebb9@byu.net>
45418
45419         fpurge: fix previous commits
45420         * modules/fpurge (Makefile.am): Make replacement conditional,
45421         partially reverting 2007-04-29 change; missed in previous
45422         attempt.
45423         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
45424         is missing.
45425
45426 2009-08-16  Bruno Haible  <bruno@clisp.org>
45427
45428         Clarify fpurge's effect on the file position.
45429         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
45430         * tests/test-fpurge.c (main): Make a second pass for checking the file
45431         position.
45432
45433 2009-08-16  Bruno Haible  <bruno@clisp.org>
45434
45435         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
45436         declaration of fpurge is missing.
45437         * tests/test-fpurge.c (main): Check that the file has not more contents
45438         than expected. Close the file before removing it.
45439
45440 2009-08-15  Eric Blake  <ebb9@byu.net>
45441
45442         fpurge: don't wrap working cygwin implementation
45443         * lib/fpurge.c (fpurge): Fix comment typo.
45444         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
45445         1.7 to avoid replacement.
45446         * tests/test-fpurge.c (main): Enhance test.
45447
45448 2009-08-15  Eric Blake  <ebb9@byu.net>
45449         and Jim Meyering  <meyering@redhat.com>
45450
45451         test-update-copyright: skip if perl is insufficient
45452         * tests/test-update-copyright.sh: Failure to run maintainer tool
45453         should not cause testsuite failure on cygwin 1.5.
45454
45455 2009-08-14  Eric Blake  <ebb9@byu.net>
45456
45457         doc: mention more functions added in cygwin 1.7.0
45458         * doc/posix-headers/limits.texi (limits.h): Update for recent
45459         cygwin additions.
45460         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
45461         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
45462         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
45463         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
45464         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
45465
45466 2009-08-14  Eric Blake  <ebb9@byu.net>
45467
45468         maint.mk: simplify update-copyright rule
45469         * top/maint.mk (update-copyright-local): Delete, and document how
45470         to do it in cfg.mk instead.
45471         (update-copyright-exclude-regexp): Delete, and document how to do
45472         it in .x-update-copyright instead.
45473         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
45474         exclude ChangeLog.
45475
45476 2009-08-14  Bruno Haible  <bruno@clisp.org>
45477
45478         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
45479
45480 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
45481
45482         maint.mk: support update-copyright-env
45483         * top/maint.mk (update-copyright-env): Define place-holder.
45484         (update-copyright): Expand $(update-copyright-env) before
45485         invoking update-copyright.
45486
45487 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
45488
45489         update-copyright: implement forced reformatting
45490         * build-aux/update-copyright: Implement and document
45491         UPDATE_COPYRIGHT_FORCE.
45492         * tests/test-update-copyright.sh: Test it.
45493
45494 2009-08-14  Eric Blake  <ebb9@byu.net>
45495         and Bruno Haible  <bruno@clisp.org>
45496
45497         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
45498         * tests/test-locale.c: Revert previous patch related to NULL.
45499         * tests/test-stdio.c: Likewise.
45500         * tests/test-stdlib.c: Likewise.
45501         * tests/test-string.c: Likewise.
45502         * tests/test-unistd.c: Likewise.
45503         * modules/time-tests (Depends-on): Add verify.
45504         * modules/wchar-tests (Depends-on): Likewise.
45505         * tests/test-time.c: Test for NULL compliance.
45506         * tests/test-wchar.c: Likewise.
45507         * modules/locale (Depends-on): Add stddef.
45508         * modules/stdio (Depends-on): Likewise.
45509         * modules/stdlib (Depends-on): Likewise.
45510         * modules/string (Depends-on): Likewise.
45511         * modules/time (Depends-on): Likewise.
45512         * modules/unistd (Depends-on): Likewise.
45513         * modules/wchar (Depends-on): Likewise.
45514         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
45515         * lib/stdlib.in.h (includes): Likewise.
45516         * lib/string.in.h (includes): Likewise.
45517         * lib/time.in.h (includes): Likewise.
45518         * lib/unistd.in.h (includes): Likewise.
45519         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
45520         replaced.
45521         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
45522         * m4/stddef_h.m4: New file.
45523         * modules/stddef: Likewise.
45524         * lib/stddef.in.h: Likewise.
45525         * modules/stddef-tests: Likewise.
45526         * tests/test-stddef.c: Likewise.
45527         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
45528         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
45529         * doc/posix-headers/locale.texi (locale.h): Likewise.
45530         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
45531         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
45532         * doc/posix-headers/string.texi (string.h): Likewise.
45533         * doc/posix-headers/time.texi (time.h): Likewise.
45534         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
45535         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
45536
45537 2009-08-14  Eric Blake  <ebb9@byu.net>
45538
45539         doc: improve git diff of texinfo files
45540         * .gitattributes: Add rule for *.texi files, with hint on how to
45541         use it.
45542         Copied from m4, and based on a report by Bruno Haible.
45543
45544 2009-08-14  Bruno Haible  <bruno@clisp.org>
45545
45546         Disable multithread support by default on Cygwin 1.5.x for real.
45547         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
45548
45549 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
45550
45551         update-copyright: much ado about intervals
45552         * build-aux/update-copyright: Implement and document
45553         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
45554         of copyright year intervals.
45555         Also, document UPDATE_COPYRIGHT_YEAR.
45556         * tests/test-update-copyright.sh: Test it.
45557
45558         update-copyright: convert 2-digit to 4-digit years
45559         * build-aux/update-copyright: Implement and document.
45560         * tests/test-update-copyright.sh: Update.
45561
45562 2009-08-14  Jim Meyering  <meyering@redhat.com>
45563
45564         test-exclude: avoid coreutils "make check" failure
45565         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
45566         just as in test-argmatch.c.
45567
45568 2009-08-13  Eric Blake  <ebb9@byu.net>
45569
45570         test-dup2: fix bad assumption
45571         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
45572         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
45573
45574         test-version-etc: fix CRLF portability issue
45575         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
45576         recognize \r.
45577         * tests/test-argp-version-etc-1.sh: Likewise.
45578
45579         getopt: update client modules
45580         * modules/argp (Depends-on): Use getopt-gnu.
45581         * modules/git-merge-changelog (Depends-on): Likewise.
45582         * modules/long-options (Depends-on): Likewise.
45583         * modules/xstrtol (Depends-on): Likewise.
45584
45585 2009-08-13  Simon Josefsson  <simon@josefsson.org>
45586
45587         * tests/test-version-etc.sh: Don't fail on different
45588         project/version.  Don't fail on CRLF differences.  Rewrite to use
45589         multiple -e instead of multiple sed forks, suggested by Eric Blake
45590         <ebb9@byu.net>.
45591         * tests/test-argp-version-etc-1.sh: Likewise.
45592
45593 2009-08-13  Simon Josefsson  <simon@josefsson.org>
45594
45595         * tests/test-version-etc.sh: Don't fail on different
45596         project/version.
45597
45598 2009-08-12  Bruno Haible  <bruno@clisp.org>
45599
45600         Tests for modules 'getopt-posix', 'getopt-gnu'.
45601         * modules/getopt-posix-tests: New file.
45602         * tests/test-getopt.c: New file.
45603         * tests/test-getopt.h: New file.
45604         * tests/test-getopt_long.h: New file.
45605
45606         New modules 'getopt-posix', 'getopt-gnu'.
45607         * modules/getopt-gnu: New file, renamed from modules/getopt.
45608         * modules/getopt-posix: New file.
45609         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
45610         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
45611         (gl_GETOPT): Remove macro.
45612         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
45613         Disable the test against BSD systems that declare optreset. Test
45614         against mingw bug. Test against lack of support of optional arguments
45615         on many platforms.
45616         * doc/glibc-headers/getopt.texi: Update module name and list of
45617         relevant platforms.
45618         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
45619         'getopt-gnu' and more portability problems.
45620         * NEWS: Mention the changes.
45621
45622 2009-08-12  Bruno Haible  <bruno@clisp.org>
45623
45624         Ensure that optarg etc. get declared by <unistd.h>.
45625         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
45626         AC_USE_SYSTEM_EXTENSIONS.
45627         * modules/getopt (Depends-on): Add 'extensions'.
45628
45629 2009-08-12  Bruno Haible  <bruno@clisp.org>
45630
45631         Avoid test link errors.
45632         * modules/pipe-filter-ii-tests (Makefile.am): Define
45633         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
45634         * modules/pipe-filter-gi-tests (Makefile.am): Define
45635         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
45636         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45637
45638 2009-08-12  Bruno Haible  <bruno@clisp.org>
45639
45640         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
45641         gl_GETOPT_SUBSTITUTE before.
45642         (gl_GETOPT): Use it.
45643         * m4/argp.m4 (gl_ARGP): Update.
45644         Reported by Sergey Poznyakoff.
45645
45646         * m4/getopt.m4: Reorder macros.
45647         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
45648         (gl_GETOPT_SUBSTITUTE): Remove macro.
45649
45650 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45651
45652         Minor improvement in gitlog-to-changelog
45653
45654         * build-aux/gitlog-to-changelog: New option `--format' makes
45655         output format string configurable.
45656
45657 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
45658
45659         Optimize exclude: use hash tables for non-wildcard patterns.
45660
45661         * lib/exclude.c: Include hash.h and mbuiter.h
45662         (struct exclude_pattern, exclude_segment): New data types.
45663         (struct exclude): Rewrite.
45664         (fnmatch_pattern_has_wildcards): New function.
45665         (new_exclude_segment, free_exclude_segment): New functions.
45666         (excluded_file_pattern_p, excluded_file_name_p): New functions.
45667         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
45668         * lib/exclude.h (is_fnmatch_pattern): New prototype.
45669         * modules/exclude: Depend on hash and mbuiter.
45670
45671         * modules/exclude-tests: New file.
45672         * tests/test-exclude.c: New file.
45673         * tests/test-exclude1.sh: New file.
45674         * tests/test-exclude2.sh: New file.
45675         * tests/test-exclude3.sh: New file.
45676         * tests/test-exclude4.sh: New file.
45677         * tests/test-exclude5.sh: New file.
45678         * tests/test-exclude6.sh: New file.
45679         * tests/test-exclude7.sh: New file.
45680
45681 2009-08-12  Bruno Haible  <bruno@clisp.org>
45682
45683         Ensure that getopt() gets declared by <unistd.h>.
45684         * lib/unistd.in.h: Conditionally include getopt.h.
45685         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
45686         Set GNULIB_UNISTD_H_GETOPT.
45687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45688         GNULIB_UNISTD_H_GETOPT.
45689         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
45690
45691 2009-08-12  Bruno Haible  <bruno@clisp.org>
45692
45693         Clarify logic.
45694         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
45695         gl_replace_getopt instead of GETOPT_H.
45696
45697 2009-08-12  Bruno Haible  <bruno@clisp.org>
45698
45699         * m4/getopt.m4: Add comments.
45700
45701 2009-08-12  Bruno Haible  <bruno@clisp.org>
45702
45703         Disable multithread support by default on Cygwin 1.5.x.
45704         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
45705         set gl_use_threads=no if not specified otherwise.
45706
45707 2009-08-11  Bruno Haible  <bruno@clisp.org>
45708
45709         Avoid compilation error on NetBSD 5.0.
45710         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
45711         * tests/test-stdio.c: Likewise.
45712         * tests/test-stdlib.c: Likewise.
45713         * tests/test-string.c: Likewise.
45714         * tests/test-unistd.c: Likewise.
45715         Reported by Greg Troxel <gdt@ir.bbn.com>
45716         at <https://savannah.gnu.org/support/?106973>.
45717
45718 2009-08-11  Bruno Haible  <bruno@clisp.org>
45719
45720         * modules/dup2-tests (Depends-on): Remove close.
45721
45722         Undo 2009-07-19 commit.
45723         * modules/acl-tests (Depends-on): Remove close.
45724         * modules/binary-io-tests (Depends-on): Likewise.
45725         * modules/closein-tests (Depends-on): Likewise.
45726         * modules/flock-tests (Depends-on): Likewise.
45727         * modules/fsync-tests (Depends-on): Likewise.
45728         * modules/lseek-tests (Depends-on): Likewise.
45729         * modules/pipe-tests (Depends-on): Likewise.
45730         * modules/posix_spawn-tests (Depends-on): Likewise.
45731         * modules/posix_spawnp-tests (Depends-on): Likewise.
45732         * modules/stat-time-tests (Depends-on): Likewise.
45733         * modules/yesno-tests (Depends-on): Likewise.
45734
45735 2009-08-10  Bruno Haible  <bruno@clisp.org>
45736
45737         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
45738
45739 2009-08-10  Bruno Haible  <bruno@clisp.org>
45740
45741         Fix a gcc warning.
45742         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
45743
45744 2009-08-10  Bruno Haible  <bruno@clisp.org>
45745
45746         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
45747         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
45748         not only the first time.
45749         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
45750         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
45751         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
45752         is 1, not only the the first time.
45753
45754 2009-08-10  Bruno Haible  <bruno@clisp.org>
45755
45756         Make it possible to use module 'gethostname' without module 'close'.
45757         * lib/unistd.in.h (close): Evoke a link error only if
45758         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
45759         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
45760         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45761         * modules/unistd (Makefile.am): Substitute
45762         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45763         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
45764         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
45765         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
45766         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45767         * modules/sys_ioctl (Makefile.am): Substitute
45768         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45769         * modules/socket (configure.ac): On native Windows, set
45770         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
45771         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
45772         Reported by Sam Steingold <sds@gnu.org>.
45773
45774 2009-08-10  Bruno Haible  <bruno@clisp.org>
45775
45776         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
45777         * modules/ioctl (configure.ac): Likewise.
45778
45779 2009-08-10  Bruno Haible  <bruno@clisp.org>
45780
45781         Avoid collision between gnulib wrapper and libintl wrapper.
45782         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
45783         already defined in intl/printf.c.
45784         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
45785         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
45786
45787 2009-08-09  Bruno Haible  <bruno@clisp.org>
45788
45789         Make <sys/select.h> really self-contained, also on Solaris 10.
45790         * lib/sys_select.in.h: Include <string.h>.
45791         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
45792         Solaris 10 problem.
45793         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
45794         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
45795         Reported by Jim Meyering.
45796
45797 2009-08-09  Bruno Haible  <bruno@clisp.org>
45798
45799         Avoid warnings from 'aclocal' that are due to a use of macro name
45800         AM_XGETTEXT_OPTION that is not defined in automake.
45801         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
45802         automake.
45803         * modules/error (configure.ac): Likewise.
45804         * modules/propername (configure.ac): Likewise.
45805         * modules/vasprintf (configure.ac): Likewise.
45806         * modules/verror (configure.ac): Likewise.
45807         * modules/xprintf (configure.ac): Likewise.
45808         * modules/xvasprintf (configure.ac): Likewise.
45809
45810 2009-08-08  Bruno Haible  <bruno@clisp.org>
45811
45812         Avoid compilation error in C++ mode.
45813         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
45814         Reported by Sam Steingold <sds@gnu.org>.
45815
45816 2009-08-08  Bruno Haible  <bruno@clisp.org>
45817
45818         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
45819         for the various Unix platforms.
45820         * doc/posix-headers/limits.texi: Update platforms list regarding
45821         HOST_NAME_MAX.
45822         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45823
45824 2009-08-07  Jim Meyering  <meyering@redhat.com>
45825
45826         selinux-at: fix typo in a comment
45827         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
45828         Spotted by Paolo Bonzini.
45829
45830         selinux-at: remove redundant m4 code, add documentation
45831         * modules/selinux-at (configure.ac): Remove redundant code.
45832         LIB_SELINUX is already set via the dependent module, selinux-h.
45833         (Include): Add quotes around selinux-at.h.
45834         * lib/selinux-at.h: Add documentation.
45835         Reported by Bruno Haible in
45836         http://marc.info/?l=gnulib-bug&m=124958988300749
45837
45838 2009-08-07  Bruno Haible  <bruno@clisp.org>
45839
45840         Avoid link error on MacOS X 10.3 and 10.4.
45841         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
45842         on non-ELF systems.
45843         * lib/argp-pv.c (argp_program_version): Likewise.
45844         Reported by Simon Josefsson.
45845
45846 2009-08-07  Simon Josefsson  <simon@josefsson.org>
45847
45848         * tests/test-version-etc.sh: Use $EXEEXT.
45849
45850 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
45851
45852         update-copyright: update documentation to point to maint.mk
45853         * build-aux/update-copyright: Here.
45854
45855 2009-08-06  Jim Meyering  <meyering@redhat.com>
45856
45857         maint.mk: support update-copyright-local
45858         * top/maint.mk (update-copyright-local): Define place-holder.
45859         (update-copyright): Depend on $(update-copyright-local).
45860
45861 2009-08-06  Jim Meyering  <meyering@redhat.com>
45862
45863         selinux-at: new module
45864         Initially written for coreutils, this module will soon be
45865         used by findutils, too.
45866         * MODULES.html.sh [Misc]: Add selinux-at.
45867         * lib/selinux-at.h: New file, from coreutils.
45868         * lib/selinux-at.c: Likewise.
45869         * modules/selinux-at: Likewise.
45870         (License): Change from LGPL to GPL, since it depends
45871         on the GPL'd openat module.
45872
45873         doc: update README
45874         * README: Remove references to cogito.
45875         Remove cvs-repo-updating instructions from 2007.
45876         Don't imply that CVS is better if you have limited disk space.
45877
45878 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45879
45880         update-copyright: support C-style comments
45881         * build-aux/update-copyright: Implement and document.
45882         * tests/test-update-copyright.sh: Test.
45883
45884 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45885
45886         update-copyright: support omitted "(C)"
45887         * build-aux/update-copyright: Implement and document.  Also,
45888         allow variable whitespace before "(C)".
45889         * tests/test-update-copyright.sh: Test.
45890
45891 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45892
45893         update-copyright: don't trip on non-FSF copyright statements
45894         * build-aux/update-copyright: Fix so that the first correctly
45895         formatted FSF copyright statement is recognized no matter what
45896         appears before it.  Update documentation.
45897         * tests/test-update-copyright.sh: Test that.
45898
45899 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45900
45901         update-copyright: clean up code a little
45902         * build-aux/update-copyright: Append "_re" to the name of any
45903         variable holding a regular expression.
45904         Replace "old" and "new" with "stmt" in variable names.
45905         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
45906         handled correctly.
45907         Format code more consistently.
45908
45909 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
45910
45911         update-copyright-tests: improve portability
45912         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
45913         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
45914
45915 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
45916
45917         update-copyright: support @copyright{} and &copy;
45918         * build-aux/update-copyright: Implement and document.
45919         * tests/test-update-copyright.sh: Test.
45920
45921 2009-08-04  Jim Meyering  <meyering@redhat.com>
45922
45923         update-copyright-tests: correctly test EOL=\r\n handling
45924         * tests/test-update-copyright.sh: Put \r at the end of some lines
45925         for the dos-eol tests.  Based on a patch by Joel E. Denny.
45926
45927         maint.mk: make update-copyright exclusion list more configurable
45928         * top/maint.mk (update-copyright): Default to excluding COPYING,
45929         but allow an override, in case someone does want to update that file.
45930
45931         maint.mk: don't update copyright date in COPYING
45932         * top/maint.mk (update-copyright): Exclude COPYING.
45933
45934         maint.mk: add a copyright-updating rule
45935         * top/maint.mk (update-copyright): New rule.
45936         Derived from coreutils/Makefile.am.
45937
45938         update-copyright: rename some variables
45939         * build-aux/update-copyright: Rename a few variables for clarity.
45940         Tweak syntax.  List Joel E. Denny as coauthor.
45941
45942 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
45943
45944         update-copyright: fix bug for 2-digit last year and add tests
45945         * build-aux/update-copyright: Fix bug.
45946         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
45947         specified.
45948         * modules/update-copyright-tests: New
45949         * tests/test-update-copyright.sh: New.
45950
45951 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
45952
45953         update-copyright: handle leading tabs in line prefix
45954         * build-aux/update-copyright: Count leading tabs as 8 spaces
45955         when computing margin.  This helps with the formatting of
45956         ChangeLogs, for example.
45957         Fix documentation a little.
45958
45959 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
45960
45961         update-copyright: support EOL=\r\n
45962         * build-aux/update-copyright: Implement that.
45963
45964 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
45965
45966         update-copyright: automatically format copyright statements
45967         * build-aux/update-copyright: Implement that.
45968         Also, be a little more predictable and safer by always failing
45969         when the full copyright format is not perfectly recognized as an
45970         unbroken whole.  Discussed at
45971         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
45972         Rewrite documentation.
45973
45974 2009-08-03  Bruno Haible  <bruno@clisp.org>
45975
45976         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
45977
45978 2009-08-02  Bruno Haible  <bruno@clisp.org>
45979
45980         Tests for module 'uname'.
45981         * modules/uname-tests: New file.
45982         * tests/test-uname.c: New file.
45983
45984         New module 'uname'.
45985         * lib/uname.c: New file.
45986         * m4/uname.m4: New file.
45987         * modules/uname: New file.
45988         * doc/posix-functions/uname.texi: Mention the new module.
45989
45990 2009-08-02  Bruno Haible  <bruno@clisp.org>
45991
45992         Tests for module 'sys_utsname'.
45993         * modules/sys_utsname-tests: New file.
45994         * tests/test-sys_utsname.c: New file.
45995
45996         New module 'sys_utsname'.
45997         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
45998         * m4/sys_utsname_h.m4: New file.
45999         * modules/sys_utsname: New file.
46000         * doc/posix-headers/sys_utsname.texi: Mention the new module.
46001
46002 2009-08-02  Bruno Haible  <bruno@clisp.org>
46003
46004         Implicitly initialize the sockets library.
46005         * lib/gethostname.c: Include sockets.h.
46006         (rpl_gethostname): Invoke gl_sockets_startup.
46007         * lib/socket.c: Include sockets.h.
46008         (rpl_socket): Invoke gl_sockets_startup.
46009         * modules/gethostname (Depends-on): Add sockets.
46010         * modules/socket (Depends-on): Likewise.
46011         * tests/test-poll.c: Don't include sockets.h.
46012         (main): Don't invoke gl_sockets_startup.
46013         * tests/test-select.c: Don't include sockets.h.
46014         (main): Don't invoke gl_sockets_startup.
46015
46016 2009-08-02  Bruno Haible  <bruno@clisp.org>
46017
46018         Allow multiple calls to gl_sockets_startup.
46019         * lib/sockets.c (initialized_sockets_version): New variable.
46020         (gl_sockets_startup): Do nothing if already called for this or a higher
46021         version.
46022         (gl_sockets_cleanup): Reset initialized_sockets_version.
46023
46024 2009-08-03  Simon Josefsson  <simon@josefsson.org>
46025
46026         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
46027         different project/version.
46028
46029 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
46030             Bruno Haible  <bruno@clisp.org>
46031
46032         Tests for module 'pipe-filter-gi'.
46033         * modules/pipe-filter-gi-tests: New file.
46034         * tests/test-pipe-filter-gi1.sh: New file.
46035         * tests/test-pipe-filter-gi1.c: New file.
46036         * tests/test-pipe-filter-gi2.sh: New file.
46037         * tests/test-pipe-filter-gi2-main.c: New file.
46038         * tests/test-pipe-filter-gi2-child.c: New file.
46039
46040         New module 'pipe-filter-gi'.
46041         * lib/pipe-filter-gi.c: New file.
46042         * modules/pipe-filter-gi: New file.
46043
46044 2009-08-02  Bruno Haible  <bruno@clisp.org>
46045             Paolo Bonzini  <bonzini@gnu.org>
46046
46047         Tests for module 'pipe-filter-ii'.
46048         * modules/pipe-filter-ii-tests: New file.
46049         * tests/test-pipe-filter-ii1.sh: New file.
46050         * tests/test-pipe-filter-ii1.c: New file.
46051         * tests/test-pipe-filter-ii2.sh: New file.
46052         * tests/test-pipe-filter-ii2-main.c: New file.
46053         * tests/test-pipe-filter-ii2-child.c: New file.
46054
46055         New module 'pipe-filter-ii'.
46056         * lib/pipe-filter.h: New file.
46057         * lib/pipe-filter-ii.c: New file.
46058         * lib/pipe-filter-aux.h: New file.
46059         * modules/pipe-filter-ii: New file.
46060
46061 2009-08-02  Simon Josefsson  <simon@josefsson.org>
46062
46063         * lib/gc-libgcrypt.c: Change copyright to FSF.
46064         * lib/gc-gnulib.c: Likewise.
46065
46066 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
46067
46068         * lib/gethostname.c: Include limits.h.
46069
46070 2009-08-02  Simon Josefsson  <simon@josefsson.org>
46071             Bruno Haible  <bruno@clisp.org>
46072
46073         Ensure HOST_NAME_MAX as part of the gethostname module.
46074         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
46075         define also HOST_NAME_MAX.
46076         * tests/test-gethostname.c: Include <limits.h>.
46077         (main): Check also HOST_NAME_MAX.
46078         * doc/posix-headers/limits.texi: Document the mingw problem.
46079
46080 2009-08-02  Bruno Haible  <bruno@clisp.org>
46081
46082         * lib/gethostname.c (gethostname): Fix handling of large len argument.
46083         Add comments.
46084
46085 2009-03-31  Simon Josefsson  <simon@josefsson.org>
46086
46087         * lib/gethostname.c: Add Windows wrapper.
46088         * m4/gethostname.m4: Look for gethostname in -lws2_32.
46089         * modules/gethostname: Depend on sys_socket & errno, for also
46090         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
46091         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
46092
46093 2009-07-31  Jim Meyering  <meyering@redhat.com>
46094
46095         getloadavg: fix symbol name in comment
46096         * lib/getloadavg.c: Correct a typo I introduced when adding
46097         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
46098         Matt Kraai spotted the problem.
46099
46100 2009-07-29  Matt Kraai  <mkraai@beckman.com>
46101
46102         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
46103         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
46104         code also if ! defined N_NAME_POINTER.
46105         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
46106         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
46107         but the n_name member is a 12-byte array.
46108
46109 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
46110
46111         update-copyright: generalize comment handling
46112         * build-aux/update-copyright: Handle copyright statements
46113         within more comment styles.
46114         Document usage.
46115         Report any file with an external copyright holder or parse failure.
46116
46117 2009-07-29  Jim Meyering  <meyering@redhat.com>
46118
46119         mktime: correct setting of REPLACE_MKTIME
46120         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
46121
46122         update-copyright: new module
46123         * modules/update-copyright: New file.
46124         * build-aux/update-copyright: New file.
46125         * MODULES.html.sh (maint+release support): Add update-copyright.
46126
46127 2009-07-27  Bruno Haible  <bruno@clisp.org>
46128
46129         Fix compilation error when <ctime> is used and mktime is replaced.
46130         * lib/time.in.h (mktime): New declaration.
46131         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
46132         REPLACE_MKTIME instead of defining mktime in config.h.
46133         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
46134         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
46135         Reported by Ross McFarland <rwmcfa1@neces.com>.
46136
46137 2009-07-27  Bruno Haible  <bruno@clisp.org>
46138
46139         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
46140         Reported by Matt Kraai <mkraai@beckman.com>.
46141
46142 2009-07-25  Jim Meyering  <meyering@redhat.com>
46143
46144         maint.mk: avoid warnings about missing files
46145         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
46146         diagnostic when .prev-version does not exist.
46147         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
46148         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
46149         nonexistent cfg.mk.
46150         Suggestions from Simon Josefsson.
46151
46152 2009-07-25  Bruno Haible  <bruno@clisp.org>
46153
46154         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
46155         defined as macros. Needed on QNX 6.4.1.
46156         Reported by Matt Kraai <mkraai@beckman.com>.
46157
46158 2009-07-23  Jim Meyering  <meyering@redhat.com>
46159
46160         maint.mk: invoke "make dist" with a working value of XZ_OPT
46161         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
46162
46163 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
46164
46165         Make fseeko.c compile on QNX.
46166         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
46167
46168 2009-07-22  Peter Simons  <simons@cryp.to>
46169
46170         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
46171         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
46172         * lib/md4.h: Likewise.
46173         * lib/md5.h: Likewise.
46174         * lib/sha1.h: Likewise.
46175         * lib/sha256.h: Likewise.
46176         * lib/sha512.h: Likewise.
46177
46178         tests-sha1: don't assign literal string to 'char *' variable
46179         * tests/test-sha1.c (main): Declare locals with "const" to match
46180         attributes of the right hand side.
46181
46182 2009-07-21  Eric Blake  <ebb9@byu.net>
46183
46184         dup2: fix more mingw problems
46185         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
46186         fd to itself.
46187         * doc/posix-functions/dup2.texi (dup2): Document the bug.
46188         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
46189         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
46190         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
46191         care of mingw bugs.
46192
46193 2009-07-21  Jim Meyering  <meyering@redhat.com>
46194
46195         vc-list-files: avoid failure when /bin/sh is dash
46196         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
46197         On some Debian based systems, /bin/sh is a symlink to dash, and running
46198         this command would omit the "/" following each 'tests' prefix:
46199           dash -x build-aux/vc-list-files -C . tests
46200         That is because bash and dash work differently:
46201           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
46202           bash ok
46203           dash odd
46204
46205 2009-07-21  Eric Blake  <ebb9@byu.net>
46206
46207         dup2-tests: test previous patch
46208         * modules/dup2-tests: New file.
46209         * tests/test-dup2.c: Likewise.
46210         * tests/test-open.c (main): Avoid unspecified behavior.
46211         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
46212         test.
46213
46214         dup2: work around mingw and cygwin 1.5 bug
46215         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
46216         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
46217         * modules/unistd (Makefile.am): Substitute it.
46218         * lib/unistd.in.h (dup2): Declare the replacement.
46219         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
46220         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
46221         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
46222         * modules/execute (Depends-on): Add dup2.
46223         * modules/fseterr (Depends-on): Likewise.
46224         * modules/pipe (Depends-on): Likewise.
46225         * modules/posix_spawn-internal (Depends-on): Likewise.
46226
46227 2009-07-21  Bruno Haible  <bruno@clisp.org>
46228
46229         * modules/.gitattributes: New file.
46230
46231 2009-07-20  Bruno Haible  <bruno@clisp.org>
46232
46233         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
46234         (main): Use it.
46235
46236 2009-07-20  Eric Blake  <ebb9@byu.net>
46237
46238         test-pipe: make a bit more robust.
46239         * tests/test-pipe.c (myerr): Allow error messages regardless of
46240         what we do to stderr.
46241         (test_pipe): Rearrange to avoid deadlock.
46242         (child_main): Try a larger read, to ensure we avoided deadlock.
46243         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
46244         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
46245         if misused.
46246
46247 2009-07-19  Jim Meyering  <meyering@redhat.com>
46248
46249         fts: avoid false-positive cycle-detection
46250         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
46251         for each new command line argument.
46252
46253 2009-07-19  Bruno Haible  <bruno@clisp.org>
46254
46255         Fix build error on mingw with the modules sys_select and unistd.
46256         * modules/acl-tests (Depends-on): Add close.
46257         * modules/binary-io-tests (Depends-on): Likewise.
46258         * modules/closein-tests (Depends-on): Likewise.
46259         * modules/flock-tests (Depends-on): Likewise.
46260         * modules/fsync-tests (Depends-on): Likewise.
46261         * modules/lseek-tests (Depends-on): Likewise.
46262         * modules/pipe-tests (Depends-on): Likewise.
46263         * modules/posix_spawn-tests (Depends-on): Likewise.
46264         * modules/posix_spawnp-tests (Depends-on): Likewise.
46265         * modules/stat-time-tests (Depends-on): Likewise.
46266         * modules/yesno-tests (Depends-on): Likewise.
46267
46268 2009-07-19  Bruno Haible  <bruno@clisp.org>
46269
46270         Unify conditionals.
46271         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
46272         macros, not at the compiler macros.
46273         * lib/pipe.c: Likewise.
46274         * lib/execute.c: Likewise.
46275         * lib/spawni.c: Likewise.
46276
46277 2009-07-19  Bruno Haible  <bruno@clisp.org>
46278
46279         Fix handling of closed stdin/stdout/stderr on mingw.
46280         * lib/w32spawn.h: Include unistd.h.
46281         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
46282         file descriptor with O_NOINHERIT flag.
46283         (fd_safer_noinherit): New function, based on fd-safer.c.
46284         (dup_safer_noinherit): New function, based on dup-safer.c.
46285         (undup_safer_noinherit): New function.
46286         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
46287         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
46288         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
46289         instead of fd_safer.
46290         * tests/test-pipe.c: Include <windows.h>.
46291         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
46292         result.
46293
46294         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
46295         from main.
46296         (test_pipe): Pass an extra argument for disambiguation.
46297         (main): Invoke parent_main or child_main.
46298
46299         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
46300         consistently.
46301
46302 2009-07-18  Eric Blake  <ebb9@byu.net>
46303
46304         test-pipe: fix mingw build
46305         * tests/test-pipe.c (main): Avoid fcntl on mingw.
46306
46307 2009-07-18  Bruno Haible  <bruno@clisp.org>
46308
46309         * modules/pipe-tests (Makefile.am): Fix typo.
46310
46311 2009-07-18  Eric Blake  <ebb9@byu.net>
46312
46313         error: fix mingw build
46314         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
46315         Reported by Bruno Haible.
46316
46317         error: avoid undefined use of stdout
46318         * lib/error.c (error, error_at_line): Check that fd 1 is open
46319         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
46320         is handling faults and the close_stdout module wants to report the
46321         detection of closed stdout as an error.
46322
46323 2009-07-17  Eric Blake  <ebb9@byu.net>
46324
46325         pipe: be robust in face of closed fds
46326         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
46327         should cause child to misbehave.
46328         * modules/pipe-tests: New module.
46329         * tests/test-pipe.c: New file.
46330         * tests/test-pipe.sh: New file.
46331         Reported by Akim Demaille.
46332
46333 2009-07-14  Bruno Haible  <bruno@clisp.org>
46334
46335         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
46336         Reported by anonymous kc.
46337
46338 2009-07-07  Jim Meyering  <meyering@redhat.com>
46339
46340         maint.mk: don't look for translatable strings in *.m4 or *.mk
46341         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
46342         when searching for translatable strings.
46343
46344 2009-07-05  Jim Meyering  <meyering@redhat.com>
46345
46346         remove superfluous parentheses in STREQ definition
46347         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
46348         * lib/getugroups.c (STREQ): Likewise.
46349         * lib/fnmatch.c (STREQ): Likewise.
46350         Spotted by Bruno Haible.
46351
46352 2009-07-04  Jim Meyering  <meyering@redhat.com>
46353
46354         argv-iter: new module
46355         * MODULES.html.sh: Add argv-iter.
46356         * lib/argv-iter.c, lib/argv-iter.h: New files.
46357         * modules/argv-iter: New file.
46358         * modules/argv-iter-tests: New file.
46359         * tests/test-argv-iter.c: Test it.
46360
46361 2009-07-04  Bruno Haible  <bruno@clisp.org>
46362
46363         Fix assertion.
46364         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
46365         contains more exact copies of a given entry than file2, leave the extra
46366         copies unpaired rather than aborting.
46367         Reported by Eric Blake.
46368
46369 2009-07-02  Bruno Haible  <bruno@clisp.org>
46370
46371         Speedup git-merge-changelog for git cherry-pick.
46372         * lib/git-merge-changelog.c (struct entries_mapping): New type.
46373         (entries_mapping_get): New function, extracted from compute_mapping.
46374         (entries_mapping_reverse_get): New function.
46375         (compute_mapping): Add a 'full' argument. Return the result in a
46376         'struct entries_mapping'.
46377         (main): Update. Access the mappings through entries_mapping_get.
46378         Reported by Eric Blake.
46379
46380 2009-07-02  Bruno Haible  <bruno@clisp.org>
46381
46382         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
46383         best_i.
46384
46385 2009-07-02  Bruno Haible  <bruno@clisp.org>
46386
46387         Speed up approximate search for matching ChangeLog entries.
46388         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
46389         argument. Call fstrcmp_bounded instead of fstrcmp.
46390         (compute_mapping, try_split_merged_entry, main): Update callers.
46391
46392 2009-07-02  Bruno Haible  <bruno@clisp.org>
46393
46394         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
46395
46396 2009-06-30  Bruno Haible  <bruno@clisp.org>
46397
46398         Reduce the number of uc_is_cased calls.
46399         * lib/unicase.h (casing_suffix_context_t): Add
46400         'first_char_except_ignorable' field.
46401         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
46402         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
46403         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
46404         Update initializer.
46405         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
46406         case-ignorable characters.
46407         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
46408         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
46409         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
46410         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
46411         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
46412
46413 2009-06-30  Bruno Haible  <bruno@clisp.org>
46414
46415         Tests for module 'unicase/ignorable'.
46416         * modules/unicase/ignorable-tests: New file.
46417         * tests/unicase/test-ignorable.c: New file, generated by
46418         gen-uni-tables.
46419
46420         Tests for module 'unicase/cased'.
46421         * modules/unicase/cased-tests: New file.
46422         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
46423         * tests/unicase/test-predicate-part1.h: New file, derived from
46424         tests/unictype/test-predicate-part1.h.
46425         * tests/unicase/test-predicate-part2.h: New file, same as
46426         tests/unictype/test-predicate-part2.h.
46427
46428         Fix evaluation of "Before C" condition of FINAL_SIGMA.
46429         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
46430         (output_casing_properties): New function.
46431         (main): Call it.
46432         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
46433         * lib/unicase/cased.c: Include unictype/bitmap.h.
46434         (uc_is_cased): Define through a bitmap lookup.
46435         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
46436         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
46437         (uc_is_case_ignorable): Define through a bitmap lookup.
46438         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
46439         lib/unictype/bitmap.h.
46440         (Depends-on): Add inline. Clean up.
46441         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
46442         lib/unictype/bitmap.h.
46443         (Depends-on): Add inline. Clean up.
46444         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
46445         recognition.
46446         * tests/unicase/test-u16-tolower.c (main): Likewise.
46447         * tests/unicase/test-u32-tolower.c (main): Likewise.
46448
46449 2009-06-30  Bruno Haible  <bruno@clisp.org>
46450
46451         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
46452         * lib/unicase/u16-casemap.c: Likewise.
46453         * lib/unicase/u32-casemap.c: Likewise.
46454
46455 2009-06-29  Bruno Haible  <bruno@clisp.org>
46456
46457         Define u32_casefold as a wrapper around u32_ct_casefold.
46458         * lib/unicase/u32-casefold.c: Update.
46459         * modules/unicase/u32-casefold (Depends-on): Add
46460         unicase/u32-ct-casefold, unicase/empty-prefix-context,
46461         unicase/empty-suffix-context. Clean up.
46462
46463         Define u16_casefold as a wrapper around u16_ct_casefold.
46464         * lib/unicase/u16-casefold.c: Update.
46465         * modules/unicase/u16-casefold (Depends-on): Add
46466         unicase/u16-ct-casefold, unicase/empty-prefix-context,
46467         unicase/empty-suffix-context. Clean up.
46468
46469         Define u8_casefold as a wrapper around u8_ct_casefold.
46470         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
46471         * lib/unicase/u8-casefold.c: Update.
46472         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
46473         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
46474
46475         Define u32_totitle as a wrapper around u32_ct_totitle.
46476         * lib/unicase/u32-totitle.c: Update.
46477         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
46478         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
46479
46480         Define u16_totitle as a wrapper around u16_ct_totitle.
46481         * lib/unicase/u16-totitle.c: Update.
46482         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
46483         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
46484
46485         Define u8_totitle as a wrapper around u8_ct_totitle.
46486         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
46487         functions.
46488         (FUNC): Delegate to U_CT_TOTITLE.
46489         * lib/unicase/u8-totitle.c: Update.
46490         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
46491         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
46492
46493         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
46494         invocation.
46495         * modules/unicase/u32-tolower (Depends-on): Add
46496         unicase/empty-prefix-context, unicase/empty-suffix-context.
46497
46498         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
46499         invocation.
46500         * modules/unicase/u16-tolower (Depends-on): Add
46501         unicase/empty-prefix-context, unicase/empty-suffix-context.
46502
46503         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
46504         * modules/unicase/u8-tolower (Depends-on): Add
46505         unicase/empty-prefix-context, unicase/empty-suffix-context.
46506
46507         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
46508         invocation.
46509         * modules/unicase/u32-toupper (Depends-on): Add
46510         unicase/empty-prefix-context, unicase/empty-suffix-context.
46511
46512         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
46513         invocation.
46514         * modules/unicase/u16-toupper (Depends-on): Add
46515         unicase/empty-prefix-context, unicase/empty-suffix-context.
46516
46517         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
46518         * modules/unicase/u8-toupper (Depends-on): Add
46519         unicase/empty-prefix-context, unicase/empty-suffix-context.
46520
46521         New module 'unicase/u32-ct-casefold'.
46522         * lib/unicase/u32-ct-casefold.c: New file.
46523         * modules/unicase/u32-ct-casefold: New file.
46524
46525         New module 'unicase/u16-ct-casefold'.
46526         * lib/unicase/u16-ct-casefold.c: New file.
46527         * modules/unicase/u16-ct-casefold: New file.
46528
46529         New module 'unicase/u8-ct-casefold'.
46530         * lib/unicase/u8-ct-casefold.c: New file.
46531         * lib/unicase/u-ct-casefold.h: New file, derived from
46532         lib/unicase/u-casefold.h.
46533         * modules/unicase/u8-ct-casefold: New file.
46534
46535         New module 'unicase/u32-ct-totitle'.
46536         * lib/unicase/u32-ct-totitle.c: New file.
46537         * modules/unicase/u32-ct-totitle: New file.
46538
46539         New module 'unicase/u16-ct-totitle'.
46540         * lib/unicase/u16-ct-totitle.c: New file.
46541         * modules/unicase/u16-ct-totitle: New file.
46542
46543         New module 'unicase/u8-ct-totitle'.
46544         * lib/unicase/u8-ct-totitle.c: New file.
46545         * lib/unicase/u-ct-totitle.h: New file, derived from
46546         lib/unicase/u-totitle.h.
46547         * modules/unicase/u8-ct-totitle: New file.
46548
46549         New module 'unicase/u32-ct-tolower'.
46550         * lib/unicase/u32-ct-tolower.c: New file.
46551         * modules/unicase/u32-ct-tolower: New file.
46552
46553         New module 'unicase/u16-ct-tolower'.
46554         * lib/unicase/u16-ct-tolower.c: New file.
46555         * modules/unicase/u16-ct-tolower: New file.
46556
46557         New module 'unicase/u8-ct-tolower'.
46558         * lib/unicase/u8-ct-tolower.c: New file.
46559         * modules/unicase/u8-ct-tolower: New file.
46560
46561         New module 'unicase/u32-ct-toupper'.
46562         * lib/unicase/u32-ct-toupper.c: New file.
46563         * modules/unicase/u32-ct-toupper: New file.
46564
46565         New module 'unicase/u16-ct-toupper'.
46566         * lib/unicase/u16-ct-toupper.c: New file.
46567         * modules/unicase/u16-ct-toupper: New file.
46568
46569         New module 'unicase/u8-ct-toupper'.
46570         * lib/unicase/u8-ct-toupper.c: New file.
46571         * modules/unicase/u8-ct-toupper: New file.
46572
46573         Add context arguments to u*_casemap functions.
46574         * lib/unicase/unicasemap.h: Include unicase.h.
46575         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
46576         suffix_context arguments.
46577         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
46578         functions.
46579         (FUNC): Add prefix_context and suffix_context arguments. Use
46580         uc_is_cased and uc_is_case_ignorable.
46581         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
46582         * lib/unicase/u16-casemap.c: Likewise.
46583         * lib/unicase/u32-casemap.c: Likewise.
46584         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
46585         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
46586         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
46587         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
46588         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
46589         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
46590
46591         New module 'unicase/u32-suffix-context'.
46592         * lib/unicase/u32-suffix-context.c: New file.
46593         * modules/unicase/u32-suffix-context: New file.
46594
46595         New module 'unicase/u16-suffix-context'.
46596         * lib/unicase/u16-suffix-context.c: New file.
46597         * modules/unicase/u16-suffix-context: New file.
46598
46599         New module 'unicase/u8-suffix-context'.
46600         * lib/unicase/u8-suffix-context.c: New file.
46601         * lib/unicase/u-suffix-context.h: New file.
46602         * modules/unicase/u8-suffix-context: New file.
46603
46604         New module 'unicase/empty-suffix-context'.
46605         * lib/unicase/empty-suffix-context.c: New file.
46606         * modules/unicase/empty-suffix-context: New file.
46607
46608         New module 'unicase/u32-prefix-context'.
46609         * lib/unicase/u32-prefix-context.c: New file.
46610         * modules/unicase/u32-prefix-context: New file.
46611
46612         New module 'unicase/u16-prefix-context'.
46613         * lib/unicase/u16-prefix-context.c: New file.
46614         * modules/unicase/u16-prefix-context: New file.
46615
46616         New module 'unicase/u8-prefix-context'.
46617         * lib/unicase/u8-prefix-context.c: New file.
46618         * lib/unicase/u-prefix-context.h: New file.
46619         * lib/unicase/context.h: New file.
46620         * modules/unicase/u8-prefix-context: New file.
46621
46622         New module 'unicase/empty-prefix-context'.
46623         * lib/unicase/empty-prefix-context.c: New file.
46624         * modules/unicase/empty-prefix-context: New file.
46625
46626         New module 'unicase/ignorable'.
46627         * lib/unicase/ignorable.c: New file.
46628         * modules/unicase/ignorable: New file.
46629
46630         New module 'unicase/cased'.
46631         * lib/unicase/caseprop.h: New file.
46632         * lib/unicase/cased.c: New file.
46633         * modules/unicase/cased: New file.
46634
46635         New functions for case mapping of substrings.
46636         * lib/unicase.h (casing_prefix_context_t): New type.
46637         (unicase_empty_prefix_context): New variable.
46638         (u8_casing_prefix_context, u16_casing_prefix_context,
46639         u32_casing_prefix_context, u8_casing_prefixes_context,
46640         u16_casing_prefixes_context, u32_casing_prefixes_context): New
46641         declarations.
46642         (casing_suffix_context_t): New type.
46643         (unicase_empty_suffix_context): New variable.
46644         (u8_casing_suffix_context, u16_casing_suffix_context,
46645         u32_casing_suffix_context, u8_casing_suffixes_context,
46646         u16_casing_suffixes_context, u32_casing_suffixes_context,
46647         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
46648         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
46649         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
46650         declarations.
46651
46652 2009-06-28  Jim Meyering  <meyering@redhat.com>
46653
46654         boostrap: indent only with spaces
46655         * build-aux/bootstrap: Indent only with spaces, never TABs.
46656
46657         bootstrap: split long lines
46658         * build-aux/bootstrap: Keep line length < 80.
46659
46660         bootstrap: sync from coreutils
46661         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
46662         just as autoreconf does.  Verify a list of prerequisite
46663         package-name,version-number pairs if defined in bootstrap.conf.
46664         Refer to README-prereq, if prerequisites are not satisfied.
46665
46666 2009-06-27  Eric Blake  <ebb9@byu.net>
46667
46668         tests: add test for bogus NULL definition
46669         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
46670         * tests/test-stdlib.c: Likewise.
46671         * tests/test-string.c: Likewise.
46672         * tests/test-locale.c: Likewise.
46673         * tests/test-unistd.c: Likewise.
46674         * modules/stdio-tests (Depends-on): Add verify.
46675         * modules/stdlib-tests (Depends-on): Likewise.
46676         * modules/string-tests (Depends-on): Likewise.
46677         * modules/locale-tests (Depends-on): Likewise.
46678         * modules/unistd-tests (Depends-on): Likewise.
46679
46680 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
46681
46682         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
46683         self-explaining comment.
46684         * m4/selinux-selinux-h: Update serial.
46685         (gl_LIBSELINUX): New macro, adding a warning for missing development
46686         packages to code extracted from...
46687         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
46688         Add warning for missing development packages here, too.
46689
46690 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
46691
46692         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
46693
46694 2009-06-25  Eric Blake  <ebb9@byu.net>
46695
46696         version-etc: fix regression
46697         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
46698         gcc.
46699         (version_etc): Use it, to catch bugs with trailing NULL.
46700         * lib/version-etc.c (version_etc_arn): Delete unused argument.
46701         (version_etc_va): Fix logic bug.
46702         * modules/version-etc-tests: Add test.
46703         * tests/test-version-etc.c: New file.
46704         * tests/test-version-etc.sh: Likewise.
46705
46706 2009-06-25  Sam Steingold  <sds@gnu.org>
46707
46708         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
46709         mbtowc declaration.
46710
46711 2009-06-25  Eric Blake  <ebb9@byu.net>
46712
46713         fpurge: migrate into <stdio.h>
46714         * lib/fpurge.h: Delete...
46715         * lib/stdio.in.h (fpurge): ...and declare here, instead.
46716         * lib/fpurge.c (fpurge): Change declaring header.
46717         * modules/fpurge (Files): Drop deleted file.
46718         (Depends-on): Add stdio.
46719         (configure.ac): Set witness.
46720         * modules/stdio (Makefile.am): Support fpurge macros.
46721         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
46722         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
46723         * lib/fflush.c: Update client.
46724         * tests/test-fpurge.c: Likewise.
46725         * NEWS: Mention the change.
46726
46727 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
46728
46729         * lib/argp-version-etc.c (program_authors): Add const
46730         qualifier.
46731         * lib/version-etc.c: Fix typos in the comments.
46732         * modules/argp-version-etc: Depends on version-etc.
46733
46734 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
46735
46736         argp-version-etc: new module.
46737
46738         * lib/argp-version-etc.c: New file.
46739         * lib/argp-version-etc.h: New file.
46740         * modules/argp-version-etc: New file.
46741         * modules/argp-version-etc-tests: New file.
46742         * tests/test-argp-version-etc.c: New test.
46743         * tests/test-argp-version-etc-1.sh: New test.
46744
46745 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
46746
46747         Provide additional interfaces and documentation for version-etc
46748         module.
46749
46750         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
46751         interfaces.
46752         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
46753         prototypes.
46754
46755 2009-06-24  Bruno Haible  <bruno@clisp.org>
46756
46757         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
46758         HAVE_LIB${NAME} macro.
46759         Reported by Sam Steingold <sds@gnu.org>.
46760
46761 2009-06-23  Simon Josefsson  <simon@josefsson.org>
46762
46763         * modules/hash-tests (test_hash_LDADD): Link to libintl when
46764         needed.
46765
46766 2009-06-21  Bruno Haible  <bruno@clisp.org>
46767
46768         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
46769         work.
46770         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
46771         together with LIB${NAME}, LTLIB${NAME}.
46772         Reported by Sam Steingold <sds@gnu.org>.
46773
46774 2009-06-20  Jim Meyering  <meyering@redhat.com>
46775
46776         tests: make sc_require_test_exit_idiom more generic
46777         * top/maint.mk (Exit_witness_file): New overridable variable.
46778         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
46779         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
46780
46781 2009-06-19  Jim Meyering  <meyering@redhat.com>
46782
46783         hash: reverse order of src/dst parameters in an internal interface
46784         * lib/hash.c (transfer_entries): Reverse order of parameters to
46785         put DST before SRC.  Adjust callers.
46786
46787         tests: test-hash: avoid wholesale duplication
46788         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
46789         Instead, use a loop and add a single conditional.
46790
46791         tests: test-hash: allow seed selection via a command line argument
46792         * tests/test-hash.c (get_seed): New function.
46793         (main): Use it.
46794
46795 2009-06-19  Eric Blake  <ebb9@byu.net>
46796
46797         hash: avoid memory leak on allocation failure
46798         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
46799         failure.  Factor repeated algorithm...
46800         (transfer_entries): ...into new helper routine.
46801         (hash_delete): React to hash_rehash return value.
46802
46803         hash: reduce memory pressure in hash_rehash no-op case
46804         * lib/hash.c (next_prime): Avoid overflow.
46805         (hash_initialize): Factor bucket size computation...
46806         (compute_bucket_size): ...into new helper function.
46807         (hash_rehash): Use new function and open coding to reduce memory
46808         pressure, and avoid a memory leak in USE_OBSTACK code.
46809         Reported by Jim Meyering.
46810
46811 2009-06-18  Eric Blake  <ebb9@byu.net>
46812
46813         hash: make rotation more obvious
46814         * modules/hash (Depends-on): Add bitrotate and stdint.
46815         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
46816         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
46817         (SIZE_MAX): Rely on headers for definition.
46818         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
46819         (raw_hasher): Use rotr_sz.
46820         Suggested by Jim Meyering.
46821
46822         hash: fix memory leak in last patch
46823         * lib/hash.c (hash_rehash): Avoid memory leak.
46824
46825         hash: avoid no-op rehashing
46826         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
46827
46828         hash: provide default callback functions
46829         * lib/hash.c (raw_hasher, raw_comparator): New functions.
46830         (hash_initialize): Use them as defaults.
46831         * tests/test-hash.c (main): Test this.
46832
46833         hash: minor optimization
46834         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
46835         when possible.
46836         (hash_initialize): Document this promise.
46837         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
46838         * tests/test-hash.c (hash_compare_strings): Test this.
46839
46840 2009-06-18  Bruno Haible  <bruno@clisp.org>
46841
46842         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
46843         going to be replaced anyway.
46844
46845 2009-06-18  Bruno Haible  <bruno@clisp.org>
46846
46847         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
46848         in one place.
46849         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
46850         be replaced anyway.
46851
46852 2009-06-18  Eric Blake  <ebb9@byu.net>
46853
46854         hash: check for resize before insertion
46855         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
46856         threshold before insertion, so that a pathological hash_rehash
46857         that fills every bucket can still trigger another rehash.
46858
46859 2009-06-18  Jim Meyering  <meyering@redhat.com>
46860
46861         hash-tests: add a loop around the small tests
46862         * tests/test-hash.c (main): Repeat small tests with selected
46863         small initial table sizes.
46864
46865 2009-06-17  Eric Blake  <ebb9@byu.net>
46866
46867         hash: minor cleanups
46868         * lib/hash.h (hash_entry): Make opaque, by moving...
46869         * lib/hash.c (hash_entry): ...here.
46870         (hash_insert): Clarify restrictions on what can be inserted.
46871         (hash_get_next): Clarify when it is safe to remove an element
46872         during traversal.
46873         (check_tuning): Skip verification when tuning is known safe.
46874         (hash_initialize): Clarify restrictions on tuning.
46875
46876 2009-06-17  Jim Meyering  <jim@meyering.net>
46877         and Eric Blake  <ebb9@byu.net>
46878
46879         hash-tests: new module
46880         * modules/hash-tests: New file.
46881         * tests/test-hash.c: New file.
46882
46883 2009-06-17  Eric Blake  <ebb9@byu.net>
46884
46885         strstr-simple: document new module
46886         * MODULES.html.sh: Document new module.
46887
46888         strstr, strcasestr: replace on platforms with broken memchr
46889         * modules/strstr: Split into...
46890         * modules/strstr-simple: ...new module that does not care about
46891         performance, but does care about glibc bug.
46892         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
46893         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
46894         if platform memchr is broken, per Debian bug 521737.
46895         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
46896         memchr.
46897         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
46898         * doc/posix-functions/strstr.texi (strstr): Document the fix.
46899         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
46900         * modules/mountlist (Depends-on): Add strstr-simple.
46901         * modules/gen-uni-tables (Depends-on): Likewise.
46902         * modules/argz (Depends-on): Add strstr.
46903
46904 2009-06-17  Bruno Haible  <bruno@clisp.org>
46905
46906         * modules/posix_spawn-internal (Depends-on): Add errno.
46907
46908 2009-06-17  Bruno Haible  <bruno@clisp.org>
46909
46910         Define missing ESTALE on Interix 3.5.
46911         * lib/errno.in.h (ESTALE): Assign a value if missing.
46912         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
46913         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
46914         missing.
46915         * doc/posix-headers/errno.texi: Mention the Interix bug.
46916         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
46917
46918 2009-06-15  Eric Blake  <ebb9@byu.net>
46919
46920         memchr, memchr2: add valgrind exception
46921         * lib/memchr.valgrind: New file.
46922         * lib/memchr2.valgrind: New file.
46923         * modules/memchr (Files): Distribute valgrind file.
46924         * modules/memchr2 (Files): Likewise.
46925
46926         docs: memchr is no longer obsolete
46927         * MODULES.html.sh: Move memchr from obsolete to string.h section.
46928         * lib/string.in.h (memchr): Simplify logic.
46929
46930 2009-06-14  Jim Meyering  <meyering@redhat.com>
46931
46932         link-follow: fix the "checking..." message to not mention trailing slash
46933         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
46934         never considered trailing slashes.
46935
46936 2009-06-14  Bruno Haible  <bruno@clisp.org>
46937
46938         * m4/memchr.m4: Mention also the bug on IA-64.
46939         * doc/posix-functions/memchr.texi: Likewise.
46940
46941 2009-06-12  Eric Blake  <ebb9@byu.net>
46942
46943         memchr: detect broken x86_64 and alpha implementations
46944         * modules/memchr-tests (Depends-on): Move mmap detection...
46945         * modules/memchr (Depends-on): ...here.
46946         (configure.ac): Set indicator.
46947         * lib/string.in.h (memchr): Declare replacement.
46948         * modules/string (Makefile.am): Trigger replacement.
46949         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
46950         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
46951         bugs.
46952         * doc/posix-functions/memchr.texi (memchr): Document the bug.
46953         * modules/getpagesize (License): Relax license.
46954
46955 2009-06-11  Bruno Haible  <bruno@clisp.org>
46956
46957         * lib/idpriv.h: Add more references.
46958
46959 2009-06-08  Bruno Haible  <bruno@clisp.org>
46960
46961         Tests for module 'idpriv-droptemp'.
46962         * modules/idpriv-droptemp-tests: New file.
46963         * tests/test-idpriv-droptemp.sh: New file.
46964         * tests/test-idpriv-droptemp.su.sh: New file.
46965         * tests/test-idpriv-droptemp.c: New file.
46966
46967         New module 'idpriv-droptemp'.
46968         * lib/idpriv-droptemp.c: New file.
46969         * modules/idpriv-droptemp: New file.
46970
46971 2009-06-08  Bruno Haible  <bruno@clisp.org>
46972
46973         Tests for module 'idpriv-drop'.
46974         * modules/idpriv-drop-tests: New file.
46975         * tests/test-idpriv-drop.sh: New file.
46976         * tests/test-idpriv-drop.su.sh: New file.
46977         * tests/test-idpriv-drop.c: New file.
46978
46979         New module 'idpriv-drop'.
46980         * lib/idpriv.h: New file.
46981         * lib-idpriv-drop.c: New file.
46982         * m4/idpriv.m4: New file.
46983         * modules/idpriv-drop: New file.
46984
46985 2009-06-08  Bruno Haible  <bruno@clisp.org>
46986
46987         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
46988         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46989         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46990         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46991         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46992         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46993         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46994
46995 2009-06-08  Eric Blake  <ebb9@byu.net>
46996
46997         test-strstr: use memory fence, when possible
46998         * tests/test-strstr.c (main): Use memory fence, in order to be
46999         more likely to trigger Debian bug 521737.
47000         * modules/strstr-tests (Files): Pull in additional files.
47001
47002         memchr: no longer obsolete, for wider field testing
47003         * modules/memchr (Status, Notice): Delete, this module is no
47004         longer obsolete.
47005         * modules/vasnprintf (Depends-on): Add memchr.
47006
47007 2009-06-07  Jim Meyering  <meyering@redhat.com>
47008
47009         hash: declare some functions with the warn_unused_result attribute
47010         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
47011
47012 2009-06-07  Bruno Haible  <bruno@clisp.org>
47013
47014         * tests/test-alignof.c: Don't test int64_t if it does not exist.
47015         Reported by Eric Blake.
47016
47017 2009-06-06  Eric Blake  <ebb9@byu.net>
47018
47019         test-alignof: fix typo with long double
47020         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
47021         compiler error.
47022
47023 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
47024
47025         Escape non-texinfo { and }s.
47026         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
47027         markup error.
47028
47029 2009-06-04  Jim Meyering  <meyering@redhat.com>
47030
47031         gitlog-to-changelog: don't infloop on an empty commit log
47032         * build-aux/gitlog-to-changelog: Warn about an empty log message.
47033         Reported by Boris Petersen <transacid@centerim.org>.
47034
47035 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
47036
47037         version-etc: extend for packagers
47038         Add three new configure options, intended for packagers:
47039           --with-packager="packager name"
47040           --with-packager-version="packager-specific version"
47041           --with-packager-bug-reports="packager bug reporting"
47042         An example with coreutils:
47043           $ ./configure \
47044             --with-packager=Gentoo \
47045             --with-packager-bug-report=http://bugs.gentoo.org/ \
47046             --with-packager-version="patchset 1.6"
47047           $ ./src/ls --version | head -n2
47048           ls (GNU coreutils) 7.1-dirty
47049           Packaged by Gentoo (patchset 1.6)
47050         Note that the bug reporting info via --help doesn't show up because
47051         coreutils uses its own custom emit_bug_reporting_address() implementation
47052         in src/system.h.  If it didn't, it'd look like:
47053           $ ./src/ls --help | tail -n4
47054           Report bugs to <bug-coreutils@gnu.org>.
47055           Report Gentoo bugs to <http://bugs.gentoo.org/>.
47056           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
47057           General help using GNU software: <http://www.gnu.org/gethelp/>.
47058         * lib/version-etc.c: Print new information, if provided.
47059         * m4/version-etc.m4: New file.
47060         * modules/version-etc (Files): Add m4/version-etc.m4.
47061         (configure.ac): Add gl_VERSION_ETC.
47062
47063 2009-05-31  Bruno Haible  <bruno@clisp.org>
47064
47065         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
47066         and 'int64_t'.
47067         * modules/alignof-tests (Dependencies): Add stdint.
47068         Reported by Eric Blake.
47069
47070 2009-05-31  Bruno Haible  <bruno@clisp.org>
47071
47072         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
47073         restriction due to compiler bugs.
47074         Reported by Eric Blake.
47075
47076 2009-05-31  Simon Josefsson  <simon@josefsson.org>
47077             Bruno Haible  <bruno@clisp.org>
47078
47079         Fix test-alignof failure.
47080         * lib/alignof.h (alignof_slot): New macro.
47081         (alignof_type): New macro, with the same semantics as the previous
47082         'alignof'.
47083         (alignof): Alias to alignof_slot.
47084         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
47085         check that the results are usable as constant expressions.
47086
47087 2009-05-31  Bruno Haible  <bruno@clisp.org>
47088
47089         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
47090         * tests/test-memchr.c (main): Check that memchr does not read past the
47091         first occurrence of the byte.
47092         * tests/test-strstr.c (main): Update comment.
47093         Suggested by Eric Blake.
47094
47095 2009-05-30  Bruno Haible  <bruno@clisp.org>
47096
47097         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
47098         detail how to use dumpbin.
47099         Reported by David Byron <dbyron@dbyron.com>.
47100
47101 2009-06-02  Simon Josefsson  <simon@josefsson.org>
47102
47103         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
47104
47105 2009-06-02  Simon Josefsson  <simon@josefsson.org>
47106
47107         * m4/manywarnings.m4: Add GCC 4.4 warnings.
47108
47109 2009-05-28  Bruno Haible  <bruno@clisp.org>
47110
47111         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
47112         build-aux/ files.
47113
47114 2009-05-28  Simon Josefsson  <simon@josefsson.org>
47115
47116         * gnulib-tool (func_import): Transform license on build-aux/ files too.
47117
47118 2009-05-27  Simon Josefsson  <simon@josefsson.org>
47119
47120         * gnulib-tool (sed_transform_main_lib_file)
47121         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
47122         regexps.
47123
47124 2009-05-26  Simon Josefsson  <simon@josefsson.org>
47125
47126         * tests/test-strstr.c: Add another self-test.
47127         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
47128         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
47129
47130 2009-05-23  Bruno Haible  <bruno@clisp.org>
47131
47132         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
47133         change.
47134
47135 2009-05-21  Bruno Haible  <bruno@clisp.org>
47136
47137         Simplify use of mode_t varargs.
47138         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
47139         uses 'mode_t' or 'int'.
47140         * lib/openat.c (openat): Likewise.
47141         * lib/open-safer.c (open_safer): Likewise.
47142         * m4/mode_t.m4: New file.
47143         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
47144         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
47145         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
47146         * modules/open (Files): Add m4/mode_t.m4.
47147         * modules/openat (Files): Likewise.
47148         * modules/fcntl-safer (Files): Likewise.
47149         Suggested by Eric Blake.
47150
47151 2009-05-21  Pádraig Brady  <P@draigbrady.com>
47152
47153         * doc/glibc-functions/fallocate.texi: New file.
47154         * doc/gnulib.texi: Include it.
47155
47156 2009-05-21  Eric Blake  <ebb9@byu.net>
47157             Bruno Haible  <bruno@clisp.org>
47158
47159         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
47160         invocations.
47161         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
47162
47163 2009-05-21  Eric Blake  <ebb9@byu.net>
47164             Bruno Haible  <bruno@clisp.org>
47165
47166         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
47167         include_next. Fix of 2008-11-20 commit.
47168         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
47169         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
47170         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
47171         NEXT_MATH_H.
47172         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
47173         instead of NEXT_MATH_H.
47174
47175 2009-05-21  Bruno Haible  <bruno@clisp.org>
47176
47177         Avoid redefinition warnings for SIZE_MAX.
47178         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
47179         Reported by Simon Josefsson.
47180
47181 2009-05-21  Bruno Haible  <bruno@clisp.org>
47182
47183         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
47184         AC_CACHE_VAL.
47185
47186 2009-05-20  Bruno Haible  <bruno@clisp.org>
47187
47188         Make zeroptr.h work on mingw.
47189         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
47190         mprotect.
47191         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
47192         * modules/memchr2-tests (configure.ac): Likewise.
47193         * modules/memcmp-tests (configure.ac): Likewise.
47194         * modules/memmem-tests (configure.ac): Likewise.
47195         * modules/memrchr-tests (configure.ac): Likewise.
47196         Reported by Simon Josefsson.
47197
47198 2009-05-20  Simon Josefsson  <simon@josefsson.org>
47199
47200         * tests/test-glob.c: Include string.h for strcmp prototype.
47201
47202 2009-05-20  Simon Josefsson  <simon@josefsson.org>
47203
47204         * modules/getdelim (Depends-on): Add explicit stdint, although it
47205         was implicitly already pulled in via realloc-posix.
47206         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
47207
47208 2009-05-20  Simon Josefsson  <simon@josefsson.org>
47209
47210         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
47211         G. Christensen" <tgc@jupiterrise.com>.
47212         * m4/sys_socket_h.m4: Check for sa_family_t.
47213         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
47214         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
47215         * tests/test-sys_socket.c: Check that sa_family_t works.
47216
47217 2009-05-18  Eric Blake  <ebb9@byu.net>
47218
47219         maint.mk: allow gnulib_dir in VPATH build
47220         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
47221
47222 2009-05-15  Jim Meyering  <meyering@redhat.com>
47223
47224         maint.mk: Give gnulib_dir a default definition.
47225         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
47226         Thus, most packages no longer need to specify this variable in cfg.mk
47227
47228 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
47229
47230         rename.m4: fix typos that would make non-mingw cross-configure fail
47231         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
47232
47233 2009-05-13  Eric Blake  <ebb9@byu.net>
47234
47235         mmap-anon: avoid out-of-order autoconf expansion
47236         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
47237         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
47238         * modules/memchr-tests (Depends-on): Add extensions.
47239         * modules/memchr2-tests (Depends-on): Add extensions.
47240         * modules/memcmp-tests (Depends-on): Add extensions.
47241         * modules/memmem-tests (Depends-on): Add extensions.
47242         * modules/memrchr-tests (Depends-on): Add extensions.
47243
47244 2009-05-13  Bruno Haible  <bruno@clisp.org>
47245
47246         Make some tests ISO C 99 compliant.
47247         * tests/zerosize-ptr.h: New file.
47248         * tests/test-memchr.c: Include zerosize-ptr.h.
47249         (main): Use a zero-size object pointer instead of NULL.
47250         * tests/test-memchr2.c: Include zerosize-ptr.h.
47251         (main): Use a zero-size object pointer instead of NULL.
47252         * tests/test-memcmp.c: Include zerosize-ptr.h.
47253         (main): Use a zero-size object pointer instead of NULL.
47254         * tests/test-memmem.c: Include zerosize-ptr.h.
47255         (main): Use a zero-size object pointer instead of NULL.
47256         * tests/test-memrchr.c: Include zerosize-ptr.h.
47257         (main): Use a zero-size object pointer instead of NULL.
47258         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
47259         m4/mmap-anon.m4.
47260         (Depends-on): Add getpagesize.
47261         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47262         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
47263         m4/mmap-anon.m4.
47264         (Depends-on): Add getpagesize.
47265         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47266         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
47267         m4/mmap-anon.m4.
47268         (Depends-on): Add getpagesize.
47269         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47270         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
47271         m4/mmap-anon.m4.
47272         (Depends-on): Add getpagesize.
47273         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47274         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
47275         m4/mmap-anon.m4.
47276         (Depends-on): Add getpagesize.
47277         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
47278
47279 2009-05-12  Bruno Haible  <bruno@clisp.org>
47280
47281         Tests for module 'alignof'.
47282         * modules/alignof-tests: New file.
47283         * tests/test-alignof.c: New file.
47284
47285 2009-05-12  Bruno Haible  <bruno@clisp.org>
47286
47287         Fix alignof macro.
47288         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
47289         vendor compilers that are always correct.
47290
47291 2009-05-12  Bruno Haible  <bruno@clisp.org>
47292
47293         Make the MAP_ANONYMOUS detection work on HP-UX 11.
47294         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
47295         not whether its fully works.
47296
47297 2009-05-12  Bruno Haible  <bruno@clisp.org>
47298
47299         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
47300
47301 2009-05-12  Jim Meyering  <meyering@redhat.com>
47302
47303         * top/maint.mk: Adjust backslash alignment.
47304
47305 2009-05-11  Simon Josefsson  <simon@josefsson.org>
47306
47307         * top/maint.mk: Make $(srcdir)/build-aux configurable.
47308
47309 2009-05-11  Eric Blake  <ebb9@byu.net>
47310
47311         argp: avoid undefined behavior
47312         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
47313         macros.
47314
47315 2009-05-08  Simon Josefsson  <simon@josefsson.org>
47316
47317         * tests/test-vc-list-files-git.sh: Do git config of user.email and
47318         user.name to prevent git commit from complaining.
47319
47320 2009-05-10  Bruno Haible  <bruno@clisp.org>
47321
47322         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
47323         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
47324         it rewrites every file name only once.
47325         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
47326
47327 2009-05-08  Bruno Haible  <bruno@clisp.org>
47328
47329         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
47330         instead of 'max'.
47331
47332 2009-05-08  Simon Josefsson  <simon@josefsson.org>
47333
47334         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
47335         sockaddr_storage test.
47336
47337 2009-05-07  Simon Josefsson  <simon@josefsson.org>
47338
47339         * modules/sys_socket (Makefile.am): Substitute
47340         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
47341         * m4/sys_socket_h.m4: Check for sockaddr_storage.
47342         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
47343         * tests/test-sys_socket.c: Check sockaddr_storage.
47344
47345 2009-05-08  Bruno Haible  <bruno@clisp.org>
47346
47347         New module 'alignof'.
47348         * lib/alignof.h: New file.
47349         * modules/alignof: New file.
47350
47351 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
47352             Bruno Haible  <bruno@clisp.org>
47353
47354         Fix test-file-has-acl on FreeBSD.
47355         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
47356         mask is implicitly added.
47357         * tests/test-file-has-acl.c: Include <signal.h>.
47358         (main): Terminate the test after 5 seconds.
47359         * modules/acl-tests (configure.ac): Check for alarm function.
47360
47361 2009-05-04  Bruno Haible  <bruno@clisp.org>
47362
47363         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
47364         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
47365         * modules/errno (configure.ac): Drop AC_REQUIRE.
47366         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
47367         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
47368
47369 2009-05-04  Simon Josefsson  <simon@josefsson.org>
47370
47371         * modules/glob-tests: New module.
47372         * tests/test-glob.c: Add.
47373
47374 2009-05-04  Simon Josefsson  <simon@josefsson.org>
47375
47376         * modules/fnmatch-tests: New module.
47377         * tests/test-fnmatch.c: Add.
47378
47379 2009-05-04  Eric Blake  <ebb9@byu.net>
47380
47381         maint: make the new no-submodule-changes rule VPATH-safe
47382         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
47383
47384 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
47385             Bruno Haible  <bruno@clisp.org>
47386
47387         acl: Fix infinite loop on FreeBSD.
47388         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
47389         of return value from acl_get_entry.
47390         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
47391         Likewise.
47392
47393 2009-05-03  Bruno Haible  <bruno@clisp.org>
47394
47395         * lib/acl-internal.h (acl_entries): Clarify return value.
47396         * lib/acl_entries.c (acl_entries): Likewise.
47397
47398 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
47399
47400         Bug fix in acl module.
47401         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
47402
47403 2009-05-03  Bruno Haible  <bruno@clisp.org>
47404
47405         Create gperf-generated file in the source dir, not in the build dir.
47406         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
47407         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
47408         * modules/unicase/locale-language (unicase/locale-languages.h):
47409         Likewise.
47410         * modules/unicase/special-casing (unicase/special-casing-table.h):
47411         Likewise.
47412         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
47413         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
47414         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
47415         Reported by Ralf Wildenhues.
47416
47417 2009-05-03  Bruno Haible  <bruno@clisp.org>
47418
47419         * modules/fnmatch (Description, configure.ac): Taken from
47420         fnmatch-posix.
47421         * modules/fnmatch-posix: Turn into a symbolic reference to the
47422         'fnmatch' module, and deprecate.
47423         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
47424
47425 2009-05-03  Bruno Haible  <bruno@clisp.org>
47426
47427         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
47428         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
47429         Reported by Ralf Wildenhues.
47430
47431 2009-05-04  Simon Josefsson  <simon@josefsson.org>
47432
47433         * m4/fnmatch.m4: Fix fnmatch re-define.
47434
47435 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
47436
47437         priv-set: new module and tests; adapt write-any-file
47438         * lib/priv-set.c: New file.
47439         * lib/priv-set.h: New file.
47440         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
47441         * lib/write-any-file.c: Simplify by using priv-set module.
47442         * m4/priv-set.m4: New file.
47443         * modules/priv-set: New file.
47444         * modules/unlinkdir: Add dependency on priv-set module.
47445         * modules/write-any-file: Likewise.
47446
47447         Tests for module 'priv-set'.
47448         * modules/priv-set-tests: New file.
47449         * tests/test-priv-set.c: New file.
47450
47451 2009-05-03  Jim Meyering  <meyering@redhat.com>
47452             Bruno Haible  <bruno@clisp.org>
47453
47454         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
47455         use the converted UTF-8 variant of the name instead.
47456
47457 2009-05-03  Jim Meyering  <meyering@redhat.com>
47458
47459         tests: tighten some getdate tests
47460         * tests/test-getdate.c (main): Tighten tests: require equality,
47461         not just greater than.  Set TZ envvar to UTC0.
47462
47463 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
47464
47465         getdate: correctly interpret "next monday" when run on a Monday
47466         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
47467         that e.g., "next tues" (when run on a tuesday) results in a date
47468         that is one week in the future, and not today's date.
47469         I.e., add a week when the wday is the same as the current one.
47470         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
47471         and earlier by Martin Bernreuther and Jan Minář.
47472         * tests/test-getdate.c (main): Check that "next DAY" is always in
47473         the future and that "last DAY" is always in the past.
47474
47475 2009-05-02  Jim Meyering  <meyering@redhat.com>
47476
47477         build: ensure that a release build fails when a submodule is unclean
47478         * top/maint.mk (no-submodule-changes): New rule.
47479         (alpha beta major): Depend on it.
47480
47481 2009-05-02  Bruno Haible  <bruno@clisp.org>
47482
47483         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
47484         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
47485         shell variable gl_fnmatch_required to detect which variant is
47486         requested.
47487         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
47488         gl_FUNC_FNMATCH_POSIX.
47489         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
47490         exclude fnmatch-posix.
47491
47492 2009-05-02  Bruno Haible  <bruno@clisp.org>
47493
47494         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
47495         * modules/mbsrtowcs (License): Change to LGPLv2+.
47496         * modules/strnlen1 (License): Likewise.
47497         Reported by Simon Josefsson.
47498
47499 2009-05-02  Bruno Haible  <bruno@clisp.org>
47500
47501         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
47502         "cross".
47503         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
47504         gnulib-tool was called with option --source-base=lib.
47505
47506 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47507
47508         Use automake *-local hooks without commands, for extensibility.
47509         * modules/localcharset (Makefile.am): Rename install-exec-local
47510         rule to install-exec-localcharset, and make it a prerequisite of
47511         install-exec-local.  Likewise, rename the uninstall-local rule to
47512         uninstall-localcharset, and make it a prerequisite of the former.
47513
47514 2009-05-01  Bruno Haible  <bruno@clisp.org>
47515
47516         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
47517         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
47518         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
47519         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
47520         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
47521         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
47522         m4/locale-zh.m4, m4/codeset.m4.
47523
47524         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
47525         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
47526         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
47527         m4/locale-zh.m4.
47528
47529         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
47530         REPLACE_WCRTOMB if mbstate_t must be replaced.
47531         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
47532         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
47533
47534 2009-05-01  Bruno Haible  <bruno@clisp.org>
47535
47536         Avoid compiler warnings when redefining macros defined by <libintl.h>.
47537         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
47538         dngettext, dcngettext, textdomain, bindtextdomain,
47539         bind_textdomain_codeset): Undefine before redefining.
47540
47541 2009-04-30  Bruno Haible  <bruno@clisp.org>
47542
47543         Fix bug introduced on 2009-04-25.
47544         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
47545         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
47546         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
47547         is defined.
47548         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
47549         is defined.
47550         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
47551         is defined.
47552         Reported by Elbert_Pol <elbert.pol@gmail.com>.
47553
47554 2009-04-28  Bruno Haible  <bruno@clisp.org>
47555
47556         Comment tweaks.
47557         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
47558         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
47559         * lib/unicase.h (u*_casexfrm): Likewise.
47560         Reported by Paolo Bonzini.
47561
47562 2009-04-28  Bruno Haible  <bruno@clisp.org>
47563
47564         Fix a compilation error.
47565         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
47566         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
47567         Reported by Jim Meyering.
47568
47569 2009-04-27  Bruno Haible  <bruno@clisp.org>
47570
47571         New module 'libunistring'.
47572         * modules/libunistring: New file.
47573         * m4/libunistring.m4: New file.
47574         * MODULES.html.sh (Unicode string functions): Add it.
47575
47576 2009-04-27  Eric Blake  <ebb9@byu.net>
47577
47578         maint.mk: allow package-specific header to provide <config.h>
47579         * top/maint.mk (sc_require_config_h): New variable.
47580         (sc_require_config_h, sc_require_config_h_first): Use it.
47581
47582 2009-04-27  Simon Josefsson  <simon@josefsson.org>
47583
47584         * top/maint.mk (sc_avoid_if_before_free): Except
47585         useless-if-before-free script.
47586
47587 2009-04-27  Eric Blake  <ebb9@byu.net>
47588
47589         maintainer-makefile: depend on all required helper scripts
47590         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
47591         useless-if-before-free.
47592         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
47593         version, rather than assuming gnulib checkout is available.
47594         Reported by Simen Josefsson.
47595
47596 2009-04-26  Bruno Haible  <bruno@clisp.org>
47597
47598         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
47599         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
47600         "../" or "..".
47601
47602 2009-04-26  Bruno Haible  <bruno@clisp.org>
47603
47604         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
47605         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
47606         AC_LIB_HAVE_LINKFLAGS.
47607
47608 2009-04-26  Bruno Haible  <bruno@clisp.org>
47609
47610         Simplify calling convention of u*_conv_from_encoding.
47611         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
47612         u32_conv_from_encoding): Expect a resultbuf argument and return the
47613         result directly as a pointer.
47614         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
47615         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
47616         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
47617         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
47618         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
47619         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
47620         Update.
47621         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
47622         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
47623         * lib/vasnprintf.c (VASNPRINTF): Update.
47624         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
47625         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
47626         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
47627         * NEWS: Mention the change.
47628
47629 2009-04-26  Bruno Haible  <bruno@clisp.org>
47630
47631         Simplify calling convention of u*_conv_to_encoding.
47632         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
47633         u32_conv_to_encoding): Expect a resultbuf argument and return the
47634         result directly as a pointer.
47635         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
47636         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
47637         freeing scaled_offsets if mem_iconveha failed.
47638         * lib/unicase/u-casexfrm.h (FUNC): Update.
47639         * lib/uninorm/u-normxfrm.h (FUNC): Update.
47640         * lib/vasnprintf.c (VASNPRINTF): Update.
47641         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
47642         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
47643         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
47644         * NEWS: Mention the change.
47645
47646 2009-04-26  Bruno Haible  <bruno@clisp.org>
47647
47648         Avoid test failures on AIX and OSF/1.
47649         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
47650         malloc(0).
47651         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
47652         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
47653         Likewise.
47654         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
47655         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
47656         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
47657         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
47658         * doc/posix-functions/malloc.texi: Document the portability problem
47659         related to malloc(0).
47660
47661 2009-04-26  Bruno Haible  <bruno@clisp.org>
47662
47663         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
47664         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
47665         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
47666
47667 2009-04-25  Bruno Haible  <bruno@clisp.org>
47668
47669         Avoid link error when creating a namespace clean library.
47670         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
47671         as macro with arguments if already defined as an alias.
47672         * lib/signbitf.c (gl_signbitf): Don't undefine.
47673         * lib/signbitd.c (gl_signbitd): Don't undefine.
47674         * lib/signbitl.c (gl_signbitl): Don't undefine.
47675
47676 2009-04-25  Jim Meyering  <meyering@redhat.com>
47677
47678         vc-list-files: fix another quoting bug
47679         * build-aux/vc-list-files: Avoid sed backslash expansion
47680         of pathological directory names.
47681
47682 2009-04-25  Eric Blake  <ebb9@byu.net>
47683
47684         vc-list-files: fix shell quoting error
47685         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
47686         timestamp.
47687
47688 2009-04-25  Jim Meyering  <meyering@redhat.com>
47689
47690         vc-list-files: restore lost functionality with subdir argument
47691         * build-aux/vc-list-files: When given a non-"." sub-directory
47692         argument, substitute the $dir/ prefix back onto each resulting name.
47693         Otherwise, coreutils' root_tests check would fail.
47694
47695 2009-04-24  Eric Blake  <ebb9@byu.net>
47696
47697         vc-list-files: ignore git symlinks
47698         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
47699         than ls-files, to ignore git symlinks.
47700
47701         maint.mk: import improvements from m4
47702         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
47703         (move_if_change): Delete unused macro.
47704         (news-date-check, vc-diff-check): Support VPATH builds.
47705         (announcement): Likewise.  Split --bootstrap-tools list...
47706         (boostrap-tools): ...into separate list, which can be overridden
47707         in cfg.mk.
47708         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
47709         requiring dependency on useless-if-before-free module.
47710         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
47711         Support VPATH builds.
47712
47713 2009-04-24  Jim Meyering  <meyering@redhat.com>
47714
47715         maint.mk: remove coreutils-specific rules and variables
47716         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
47717         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
47718         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
47719
47720         maint.mk: remove obsolete rule
47721         * top/maint.mk (rel-check): Remove rule.
47722         (WGET, WGETFLAGS): Remove now-unused variables.
47723
47724 2009-04-24  Simon Josefsson  <simon@josefsson.org>
47725
47726         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
47727         consistency.
47728
47729         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
47730         '$(PATH_SEPARATOR)' instead of ':'.
47731
47732 2009-04-24  Simon Josefsson  <simon@josefsson.org>
47733
47734         * lib/getopt1.c (main): Use 'const' for static array.
47735
47736 2009-04-24  Simon Josefsson  <simon@josefsson.org>
47737
47738         * top/maint.mk: Sync with coreutils.
47739         * NEWS: Explain incompatibilities.
47740
47741 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47742             Bruno Haible  <bruno@clisp.org>
47743
47744         Fix cross-compilation results.
47745         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
47746         statement, as third argument of AC_TRY_RUN.
47747         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
47748         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
47749         Likewise.
47750         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
47751         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
47752         Likewise.
47753         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
47754         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
47755         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
47756
47757 2009-04-20  Bruno Haible  <bruno@clisp.org>
47758
47759         Avoid test failure on mingw.
47760         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
47761
47762 2009-04-20  Bruno Haible  <bruno@clisp.org>
47763
47764         Avoid compilation error on mingw.
47765         * modules/localename-tests (Depends-on): Add locale.
47766
47767 2009-04-19  Bruno Haible  <bruno@clisp.org>
47768
47769         Support for building a shared library on Windows platforms.
47770         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
47771         (main): Test the presence of UNINORM_NFC here.
47772         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
47773         (main): Test the presence of UNINORM_NFD here.
47774         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
47775         (main): Test the presence of UNINORM_NFKC here.
47776         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
47777         (main): Test the presence of UNINORM_NFKD here.
47778
47779 2009-04-19  Bruno Haible  <bruno@clisp.org>
47780
47781         Avoid a compiler warning.
47782         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
47783         Change type of variable 'sequence'.
47784
47785 2009-04-19  Bruno Haible  <bruno@clisp.org>
47786
47787         * modules/configmake (Makefile.am): When the contents of configmake.h
47788         does not change, arrange to preserve its modification time.
47789
47790 2009-04-17  Simon Josefsson  <simon@josefsson.org>
47791
47792         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
47793         gettext domain.
47794
47795 2009-04-16  Jim Meyering  <meyering@redhat.com>
47796
47797         useless-if-before-free: improve conversion code
47798         * build-aux/useless-if-before-free: Adjust code-in-comment to match
47799         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
47800
47801 2009-04-14  Bruno Haible  <bruno@clisp.org>
47802
47803         * modules/fcntl (Depends-on): Add extensions.
47804         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
47805
47806 2009-04-12  Ben Pfaff  <blp@gnu.org>
47807
47808         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
47809         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
47810
47811 2009-03-20  Ben Pfaff  <blp@gnu.org>
47812
47813         Make rename replace existing destinations on Windows.
47814         * m4/rename.m4: Add test for Mingw.
47815         * lib/rename.c: Add rename replacement that uses MoveFileEx with
47816         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
47817         * doc/posix-functions/rename.texi: Document.
47818
47819 2009-04-10  Bruno Haible  <bruno@clisp.org>
47820
47821         New include file "iconveh.h".
47822         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
47823         * lib/striconveh.h: Include it.
47824         (enum iconv_ilseq_handler): Remove definition.
47825         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
47826         striconveh.h.
47827         * lib/striconveha.c: Include striconveh.h.
47828         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
47829         * modules/striconveh (Files): Add lib/iconveh.h.
47830         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
47831         lib/striconveh.h.
47832
47833 2009-04-10  Bruno Haible  <bruno@clisp.org>
47834
47835         * lib/uniconv.h: Update comment.
47836
47837 2009-04-10  Bruno Haible  <bruno@clisp.org>
47838
47839         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
47840         always.
47841         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
47842         * lib/unistr/u16-mbtouc-aux.c: Likewise.
47843         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
47844         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
47845         "unistring-notinline.h", so that the function gets defined always.
47846         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
47847         * lib/unistr/u8-uctomb.c: Likewise.
47848         * lib/unistr/u16-mbtouc.c: Likewise.
47849         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
47850         * lib/unistr/u16-uctomb.c: Likewise.
47851         * lib/unistr/u32-mbtouc.c: Likewise.
47852         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
47853         * lib/unistr/u32-uctomb.c: Likewise.
47854
47855 2009-04-10  Bruno Haible  <bruno@clisp.org>
47856
47857         Mark 'utime' obsolete.
47858         * modules/utime (Status, Notice): New sections.
47859         Suggested by Jim Meyering.
47860
47861         Fix cross-compile guess for utime test.
47862         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
47863         autoconf.
47864         * doc/posix-functions/utime.texi: Give more precisions.
47865         Reported by Jan <ipif@ymail.com>.
47866
47867 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
47868
47869         filevercmp: correct today's change
47870         * lib/filevercmp.c: Also handle coreutils' test inputs.
47871         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
47872
47873         Fix regression in 'filevercmp' module. Thanks Sven Joachim
47874         for reporting it.
47875         * lib/filevercmp.c: Special handle for "", "." and "..".
47876         * tests/test-filevercmp.c: Enlarge the set suite.
47877
47878 2009-04-07  Jim Meyering  <meyering@redhat.com>
47879
47880         useless-if-before-free: show how to remove braced useless free, too
47881         * build-aux/useless-if-before-free: still only in a comment, though.
47882
47883 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
47884
47885         maint.mk: import changes to syntax-check macros from coreutils
47886         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
47887         Use them in the relevant macros.
47888
47889 2009-04-06  Bruno Haible  <bruno@clisp.org>
47890
47891         Fix unportable use of bit-fields.
47892         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
47893         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
47894         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
47895
47896 2009-04-06  Bruno Haible  <bruno@clisp.org>
47897
47898         Avoid test failures on AIX and OSF/1.
47899         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
47900         that malloc(0) = NULL.
47901         * tests/unicase/test-u8-tolower.c (check): Likewise.
47902         * tests/unicase/test-u8-totitle.c (check): Likewise.
47903         * tests/unicase/test-u8-toupper.c (check): Likewise.
47904         * tests/unicase/test-u16-casefold.c (check): Likewise.
47905         * tests/unicase/test-u16-tolower.c (check): Likewise.
47906         * tests/unicase/test-u16-totitle.c (check): Likewise.
47907         * tests/unicase/test-u16-toupper.c (check): Likewise.
47908         * tests/unicase/test-u32-casefold.c (check): Likewise.
47909         * tests/unicase/test-u32-tolower.c (check): Likewise.
47910         * tests/unicase/test-u32-totitle.c (check): Likewise.
47911         * tests/unicase/test-u32-toupper.c (check): Likewise.
47912         * tests/uninorm/test-u8-nfc.c (check): Likewise.
47913         * tests/uninorm/test-u8-nfd.c (check): Likewise.
47914         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
47915         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
47916         * tests/uninorm/test-u16-nfc.c (check): Likewise.
47917         * tests/uninorm/test-u16-nfd.c (check): Likewise.
47918         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
47919         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
47920         * tests/uninorm/test-u32-nfc.c (check): Likewise.
47921         * tests/uninorm/test-u32-nfd.c (check): Likewise.
47922         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
47923         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
47924
47925 2009-04-05  Bruno Haible  <bruno@clisp.org>
47926
47927         Work around an autoconf limitation.
47928         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
47929         comment line if it would be longer than 3 KB.
47930
47931 2009-04-05  Bruno Haible  <bruno@clisp.org>
47932
47933         Avoid test failure with libiconv-1.13.
47934         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
47935         of the expected test results.
47936
47937 2009-04-05  Bruno Haible  <bruno@clisp.org>
47938
47939         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
47940         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
47941         that it should be installed.
47942
47943 2009-04-05  Bruno Haible  <bruno@clisp.org>
47944
47945         * gnulib-tool: New option --copy-file.
47946         (func_usage): Document it.
47947         (func_dest_tmpfilename): Moved out of func_import.
47948         (func_add_file, func_update_file): New functions, extracted from
47949         func_import.
47950         (func_import): Update.
47951
47952 2009-04-05  Karl Berry  <karl@gnu.org>
47953
47954         * README: prominently mention gnulib-tool.
47955         Rearrange sections so getting the code is near the top.
47956
47957 2009-04-05  Bruno Haible  <bruno@clisp.org>
47958
47959         * lib/unicase.h: Mention u*_cmp2.
47960         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
47961         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
47962         * lib/unicase/ulc-casecmp.c: Likewise.
47963         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
47964         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
47965         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
47966         unistr/u8-cmp.
47967         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
47968         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
47969         unistr/u16-cmp.
47970         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
47971         unistr/u32-cmp.
47972
47973         * lib/uninorm.h: Mention u*_cmp2.
47974         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
47975         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
47976         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
47977         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
47978         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
47979         unistr/u8-cmp.
47980         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
47981         unistr/u16-cmp.
47982         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
47983         unistr/u32-cmp.
47984
47985         New module 'unistr/u32-cmp2'.
47986         * lib/unistr/u32-cmp2.c: New file.
47987         * modules/unistr/u32-cmp2: New file.
47988
47989         New module 'unistr/u16-cmp2'.
47990         * lib/unistr/u16-cmp2.c: New file.
47991         * modules/unistr/u16-cmp2: New file.
47992
47993         New module 'unistr/u8-cmp2'.
47994         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
47995         * lib/unistr/u8-cmp2.c: New file.
47996         * lib/unistr/u-cmp2.h: New file.
47997         * modules/unistr/u8-cmp2: New file.
47998
47999 2009-04-05  Bruno Haible  <bruno@clisp.org>
48000
48001         * lib/unictype.h (uc_property_is_valid): New macro.
48002         * tests/unictype/test-pr_byname.c (main): Use it.
48003
48004         * lib/unistr.h: Doc fixes.
48005         * lib/uniconv.h: Doc fixes.
48006         * lib/unictype.h: Doc fixes.
48007
48008 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
48009
48010         Port coreutils 7.2 to Solaris 8.
48011
48012         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
48013         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
48014         for Solaris 8.  This is a bit of a hack, as it means it's the
48015         caller's responsibility to add -lnsl if needed, but most likely it
48016         won't be needed since only getaddrinfo uses this and getaddrinfo
48017         isn't needed on Solaris 8.
48018
48019         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
48020         problem to Solaris 8 encountered with coreutils 7.2, which
48021         resulted in a message "fnmatch.c:292: warning: passing argument 4
48022         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
48023         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
48024
48025 2009-04-03  Simon Josefsson  <simon@josefsson.org>
48026
48027         * m4/ld-version-script.m4: Add FIXME comment.
48028
48029 2009-04-02  Simon Josefsson  <simon@josefsson.org>
48030
48031         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
48032         SOVERSION variable.
48033
48034 2009-04-02  Bruno Haible  <bruno@clisp.org>
48035
48036         * Makefile (info, html, dvi, pdf): Combine the rules.
48037         Suggested by Jim Meyering.
48038
48039 2009-04-01  Bruno Haible  <bruno@clisp.org>
48040
48041         * Makefile (info, html, dvi, pdf): New targets.
48042         Reported by Reuben Thomas <rrt@sc3d.org>.
48043
48044 2009-04-01  Bruno Haible  <bruno@clisp.org>
48045
48046         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
48047         can be put into PATH.
48048         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
48049
48050 2009-04-01  Bruno Haible  <bruno@clisp.org>
48051
48052         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
48053
48054 2009-04-01  Bruno Haible  <bruno@clisp.org>
48055
48056         Rename module 'visibility'.
48057         * modules/lib-symbol-visibility: Renamed from modules/visibility.
48058         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
48059         * doc/gnulib.texi: Update.
48060         * MODULES.html.sh (Misc): Update.
48061         * NEWS: Mention the change.
48062
48063 2009-04-01  Simon Josefsson  <simon@josefsson.org>
48064
48065         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
48066         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
48067         Eric Blake <ebb9@byu.net> for review.
48068         * MODULES.html.sh: Add lib-msvc-compat.
48069         * doc/gnulib.texi: Link to new section.
48070         * m4/ld-output-def.m4: New file.
48071         * doc/ld-output-def.texi: New file.
48072
48073 2009-04-01  Simon Josefsson  <simon@josefsson.org>
48074
48075         Rename ld-version-script to lib-symbol-versions.  Suggested by
48076         Bruno Haible <bruno@clisp.org>.
48077         * modules/ld-version-script: Renamed to lib-symbol-versions.
48078         * doc/ld-version-script.texi: Fix module name.
48079         * MODULES.html.sh: Add lib-symbol-versions.
48080
48081 2009-03-31  Simon Josefsson  <simon@josefsson.org>
48082
48083         * modules/u64-tests: New file.
48084         * tests/test-u64.c: New file.
48085
48086 2009-03-04  Simon Josefsson  <simon@josefsson.org>
48087
48088         * MODULES.html.sh: Mention u64.
48089         * modules/u64: New module.
48090         * modules/crypto/sha512: Depend on u64 module instead of providing
48091         u64.h.
48092
48093 2009-03-27  Eric Blake  <ebb9@byu.net>
48094
48095         test-strerror: make debugging EAI_SYSTEM easier
48096         * modules/getaddrinfo-tests (Depends-on): Add strerror.
48097         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
48098         failure was EAI_SYSTEM.
48099
48100 2009-03-25  Bruno Haible  <bruno@clisp.org>
48101
48102         Fix a problem with --enable-relocatable on Solaris 7.
48103         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
48104         since 2008-02-24.
48105
48106 2009-03-25  Eric Blake  <ebb9@byu.net>
48107
48108         test-sockets: avoid gcc warning
48109         * tests/test-sockets.c (main): Silence compiler warning.
48110
48111 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
48112
48113         New modules nproc, pthread, contributed by Glen Lenker.
48114
48115         * MODULES.html.sh: Add pthread, nproc.
48116         * lib/nproc.c: New file.
48117         * lib/nproc.h: New file.
48118         * lib/pthread.in.h: New file.
48119         * m4/pthread.m4: New file.
48120         * modules/nproc: New file.
48121         * modules/pthread: New file.
48122
48123 2009-03-24  Simon Josefsson  <simon@josefsson.org>
48124
48125         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
48126         New variable.
48127
48128 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
48129
48130         filevercmp: handle simple~ and numbered.~3~ backup suffixes
48131         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
48132         * tests/test-filevercmp.c: Add tests for backup suffixes.
48133
48134 2009-03-24  Simon Josefsson  <simon@josefsson.org>
48135
48136         * modules/stdlib (Depends-on): Add stdint, needed when defining
48137         struct random_data on, for example, HP-UX 10.20.  Reported by
48138         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48139
48140 2009-03-24  Simon Josefsson  <simon@josefsson.org>
48141
48142         * lib/readline.c (readline): Call fflush on stdout after printing
48143         prompt.
48144
48145 2009-03-20  Bruno Haible  <bruno@clisp.org>
48146
48147         Remove dependency from 'close' module to -lws2_32 on native Windows.
48148         * lib/close-hook.h: New file.
48149         * lib/close-hook.c: New file.
48150         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
48151         w32sock.h.
48152         (_gl_close_fd_maybe_socket): Remove function.
48153         (rpl_close): Invoke execute_all_close_hooks instead of
48154         _gl_close_fd_maybe_socket.
48155         * lib/sockets.c: Include close-hook.h, w32sock.h.
48156         (close_fd_maybe_socket): New function, essentially from lib/close.c.
48157         (close_sockets_hook): New variable.
48158         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
48159         (gl_sockets_cleanup): Unregister it.
48160         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
48161         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
48162         * modules/close-hook: New file.
48163         * modules/close (Files): Remove lib/w32sock.h.
48164         (Depends-on): Add close-hook.
48165         (Link): Remove section.
48166         * modules/sockets (Files): Add lib/w32sock.h.
48167         (Depends-on): Add close-hook.
48168         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
48169         invocation.
48170         * NEWS: Mention that LIB_CLOSE is gone.
48171
48172 2009-03-23  Eric Blake  <ebb9@byu.net>
48173
48174         signal-tests: test previous patch
48175         * tests/test-signal.c: New file.
48176         * modules/signal-tests: Likewise.
48177
48178         signal.h: always support 'volatile sig_atomic_t'
48179         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
48180         (gl_SIGNAL_H_DEFAULTS): Add a default.
48181         * modules/signal (Makefile.am): Substitute if needed.
48182         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
48183         users can blindly add volatile.
48184         * doc/posix-headers/signal.texi (signal.h): Document it.
48185         Reported by Matthew Woehlke.
48186
48187 2009-03-23  Jim Meyering  <meyering@redhat.com>
48188
48189         pathmax: PATH_MAX: use pathconf only when available
48190         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
48191         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
48192         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
48193         This avoids a link failure in a PSP cross-compilation environment
48194         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
48195
48196         * lib/vasnprintf.c (divide): Fix typo in comment.
48197
48198 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48199
48200         * gnulib-tool (func_filter_filelist): Fix comment.
48201
48202 2009-03-20  Bruno Haible  <bruno@clisp.org>
48203
48204         Make sockets.h self-contained.
48205         * lib/sockets.c: Include sockets.h first.
48206         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
48207
48208 2009-03-19  Eric Blake  <ebb9@byu.net>
48209
48210         doc: mention more functions added in cygwin 1.7.0
48211         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
48212         addition.
48213         * doc/posix-functions/log2f.texi: Likewise.
48214
48215 2009-03-19  Jim Meyering  <meyering@redhat.com>
48216
48217         fsusage: avoid syntax error due to statement-before-declaration
48218         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
48219         after all declarations.  Reported by Matthew Woehlke in
48220         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
48221
48222 2009-03-18  Eric Blake  <ebb9@byu.net>
48223
48224         build-aux/compile: sync from automake
48225         * build-aux/compile: New file, from automake.
48226         * config/srclist.txt: Mention build-aux/compile.
48227
48228 2009-03-17  Bruno Haible  <bruno@clisp.org>
48229
48230         * lib/git-merge-changelog.c: Fix typo in comment.
48231         Reported by Reuben Thomas <rrt@sc3d.org>.
48232
48233 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
48234
48235         * m4/regex.m4: update and improve help for
48236         --without-included-regex.
48237
48238 2009-03-17  Simon Josefsson  <simon@josefsson.org>
48239
48240         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
48241         failure on missing include files.
48242
48243 2009-03-17  Eric Blake  <ebb9@byu.net>
48244
48245         doc: mention more functions added in cygwin 1.7.0
48246         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
48247         addition.
48248         * doc/posix-functions/fwscanf.texi: Likewise.
48249         * doc/posix-functions/swprintf.texi: Likewise.
48250         * doc/posix-functions/swscanf.texi: Likewise.
48251         * doc/posix-functions/vfwprintf.texi: Likewise.
48252         * doc/posix-functions/vfwscanf.texi: Likewise.
48253         * doc/posix-functions/vswprintf.texi: Likewise.
48254         * doc/posix-functions/vswscanf.texi: Likewise.
48255         * doc/posix-functions/vwprintf.texi: Likewise.
48256         * doc/posix-functions/vwscanf.texi: Likewise.
48257         * doc/posix-functions/wcscasecmp.texi: Likewise.
48258         * doc/posix-functions/wcsdup.texi: Likewise.
48259         * doc/posix-functions/wcsftime.texi: Likewise.
48260         * doc/posix-functions/wcsncasecmp.texi: Likewise.
48261         * doc/posix-functions/wprintf.texi: Likewise.
48262         * doc/posix-functions/wscanf.texi: Likewise.
48263         * doc/glibc-functions/gethostbyname2.texi: Likewise.
48264
48265 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48266
48267         maint.mk: really add $(AM_MAKEFLAGS)
48268         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
48269         was inadvertently omitted in the last commit.
48270         Spotted by Bruno Haible.
48271
48272         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
48273         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
48274         $(AM_MAKEFLAGS)' rather than plain `make'.
48275
48276         gnulib-tool: execute $MAKE not make
48277         * gnulib-tool: Default $MAKE to 'make'.
48278         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
48279         than make.  Initialize $MAKE in the do-autobuild script.
48280
48281         gnulib-tool: use $MAKE not make in generated files
48282         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
48283         make, in generated files.  Initialize $MAKE in the do-autobuild
48284         script.
48285
48286         * top/GNUmakefile (_have-git-version-gen): Fix typo.
48287
48288         GNUmakefile: disable parallelism only for multiple, recursive targets
48289         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
48290         additions in the Makefile.
48291         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
48292         by Automake.
48293         (.NOTPARALLEL): Only disable parallel builds if multiple targets
48294         are listed on the command line and at least one of them is
48295         listed in $(ALL_RECURSIVE_TARGETS).
48296
48297 2009-03-14  Bruno Haible  <bruno@clisp.org>
48298
48299         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
48300         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
48301         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
48302         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
48303         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
48304         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
48305         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
48306         unistr/u8-uctomb.
48307         * modules/unistr/u8-strchr (Depends-on): Likewise.
48308         * modules/unistr/u8-strrchr (Depends-on): Likewise.
48309         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
48310         unistr/u16-uctomb.
48311         * modules/unistr/u16-strchr (Depends-on): Likewise.
48312         * modules/unistr/u16-strrchr (Depends-on): Likewise.
48313
48314 2009-03-12  Bruno Haible  <bruno@clisp.org>
48315
48316         Work around select() bug on Interix 3.5.
48317         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
48318         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
48319         * m4/select.m4: New file.
48320         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
48321         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
48322         * modules/select (Files): Add m4/select.m4.
48323         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
48324         * modules/nanosleep (Depends-on): Add select.
48325         * modules/poll (Depends-on): Likewise.
48326         * doc/posix-functions/select.texi: Mention the Interix bug.
48327         Reported by Markus Duft <mduft@gentoo.org>.
48328
48329         * lib/select.c: Renamed from lib/winsock-select.c.
48330         * modules/select (Files): Add lib/select.c, remove
48331         lib/winsock-select.c.
48332         (configure.ac): Update.
48333
48334 2009-03-12  Jim Meyering  <meyering@redhat.com>
48335
48336         avoid gcc warnings about unused macro definitions
48337         * lib/readtokens.c (STREQ): Remove unused definition.
48338         * lib/xmalloc.c (SIZE_MAX): Likewise.
48339         * lib/openat-die.c (N_): Likewise.
48340         * lib/mountlist.c (SIZE_MAX): Remove definition.
48341         Instead, include <stdint.h>.
48342         * lib/readutmp.c: Likewise.
48343         * modules/readutmp (Depends-on): Add stdint.
48344         * modules/mountlist (Depends-on): Add stdint.
48345         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
48346
48347 2009-03-10  Bruno Haible  <bruno@clisp.org>
48348
48349         Tests for module 'mbmemcasecoll'.
48350         * modules/mbmemcasecoll-tests: New file.
48351         * tests/test-mbmemcasecoll1.sh: New file.
48352         * tests/test-mbmemcasecoll2.sh: New file.
48353         * tests/test-mbmemcasecoll3.sh: New file.
48354         * tests/test-mbmemcasecoll.c: New file.
48355
48356         New module 'mbmemcasecoll'.
48357         * lib/mbmemcasecoll.h: New file.
48358         * lib/mbmemcasecoll.c: New file.
48359         * modules/mbmemcasecoll: New file.
48360
48361         * tests/test-mbmemcasecmp.h: New file, extracted from
48362         tests/test-mbmemcasecmp.c.
48363         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
48364         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
48365         (main): Update.
48366         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
48367
48368 2009-03-09  Bruno Haible  <bruno@clisp.org>
48369
48370         Tests for module 'mbmemcasecmp'.
48371         * modules/mbmemcasecmp-tests: New file.
48372         * tests/test-mbmemcasecmp1.sh: New file.
48373         * tests/test-mbmemcasecmp2.sh: New file.
48374         * tests/test-mbmemcasecmp3.sh: New file.
48375         * tests/test-mbmemcasecmp.c: New file.
48376
48377         New module 'mbmemcasecmp'.
48378         * lib/mbmemcasecmp.h: New file.
48379         * lib/mbmemcasecmp.c: New file.
48380         * modules/mbmemcasecmp: New file.
48381
48382 2009-03-09  Bruno Haible  <bruno@clisp.org>
48383
48384         Tests for module 'unicase/ulc-casecoll'.
48385         * modules/unicase/ulc-casecoll-tests: New file.
48386         * tests/unicase/test-ulc-casecoll1.sh: New file.
48387         * tests/unicase/test-ulc-casecoll2.sh: New file.
48388         * tests/unicase/test-ulc-casecoll.c: New file.
48389
48390         New module 'unicase/ulc-casecoll'.
48391         * lib/unicase.h (ulc_casecoll): New declaration.
48392         * lib/unicase/ulc-casecoll.c: New file.
48393         * modules/unicase/ulc-casecoll: New file.
48394
48395         New module 'unicase/ulc-casexfrm'.
48396         * lib/unicase.h (ulc_casexfrm): New declaration.
48397         * lib/unicase/ulc-casexfrm.c: New file.
48398         * modules/unicase/ulc-casexfrm: New file.
48399
48400 2009-03-09  Bruno Haible  <bruno@clisp.org>
48401
48402         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
48403         invocations.
48404
48405         * m4/mbscasecmp.m4: Remove file.
48406         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
48407         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
48408
48409         * m4/mbscasestr.m4: Remove file.
48410         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
48411         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
48412
48413         * m4/mbschr.m4: Remove file.
48414         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
48415         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
48416
48417         * m4/mbscspn.m4: Remove file.
48418         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
48419         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
48420
48421         * m4/mbslen.m4: Remove file.
48422         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
48423         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
48424
48425         * m4/mbsncasecmp.m4: Remove file.
48426         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
48427         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
48428
48429         * m4/mbsnlen.m4: Remove file.
48430         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
48431         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
48432
48433         * m4/mbspbrk.m4: Remove file.
48434         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
48435         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
48436
48437         * m4/mbspcasecmp.m4: Remove file.
48438         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
48439         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
48440
48441         * m4/mbsrchr.m4: Remove file.
48442         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
48443         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
48444
48445         * m4/mbssep.m4: Remove file.
48446         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
48447         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
48448
48449         * m4/mbsspn.m4: Remove file.
48450         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
48451         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
48452
48453         * m4/mbsstr.m4: Remove file.
48454         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
48455         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
48456
48457         * m4/mbstok_r.m4: Remove file.
48458         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
48459         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
48460
48461         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
48462
48463         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
48464         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
48465
48466         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
48467
48468 2009-03-08  Bruno Haible  <bruno@clisp.org>
48469
48470         Tests for module 'unicase/ulc-casecmp'.
48471         * modules/unicase/ulc-casecmp-tests: New file.
48472         * tests/unicase/test-ulc-casecmp1.sh: New file.
48473         * tests/unicase/test-ulc-casecmp2.sh: New file.
48474         * tests/unicase/test-ulc-casecmp.c: New file.
48475
48476         New module 'unicase/ulc-casecmp'.
48477         * lib/unicase.h (ulc_casecmp): New declaration.
48478         * lib/unicase/ulc-casecmp.c: New file.
48479         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
48480         'const SRC_UNIT *'.
48481         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
48482         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
48483         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
48484         * modules/unicase/ulc-casecmp: New file.
48485
48486         Tests for module 'unicase/u32-is-cased'.
48487         * modules/unicase/u32-is-cased-tests: New file.
48488         * tests/unicase/test-u32-is-cased.c: New file.
48489
48490         Tests for module 'unicase/u16-is-cased'.
48491         * modules/unicase/u16-is-cased-tests: New file.
48492         * tests/unicase/test-u16-is-cased.c: New file.
48493
48494         Tests for module 'unicase/u8-is-cased'.
48495         * modules/unicase/u8-is-cased-tests: New file.
48496         * tests/unicase/test-u8-is-cased.c: New file.
48497         * tests/unicase/test-is-cased.h: New file.
48498
48499         New module 'unicase/u32-is-cased'.
48500         * lib/unicase/u32-is-cased.c: New file.
48501         * modules/unicase/u32-is-cased: New file.
48502
48503         New module 'unicase/u16-is-cased'.
48504         * lib/unicase/u16-is-cased.c: New file.
48505         * modules/unicase/u16-is-cased: New file.
48506
48507         New module 'unicase/u8-is-cased'.
48508         * lib/unicase/u8-is-cased.c: New file.
48509         * lib/unicase/u-is-cased.h: New file.
48510         * modules/unicase/u8-is-cased: New file.
48511
48512         Tests for module 'unicase/u32-is-casefolded'.
48513         * modules/unicase/u32-is-casefolded-tests: New file.
48514         * tests/unicase/test-u32-is-casefolded.c: New file.
48515
48516         Tests for module 'unicase/u16-is-casefolded'.
48517         * modules/unicase/u16-is-casefolded-tests: New file.
48518         * tests/unicase/test-u16-is-casefolded.c: New file.
48519
48520         Tests for module 'unicase/u8-is-casefolded'.
48521         * modules/unicase/u8-is-casefolded-tests: New file.
48522         * tests/unicase/test-u8-is-casefolded.c: New file.
48523         * tests/unicase/test-is-casefolded.h: New file.
48524
48525         New module 'unicase/u32-is-casefolded'.
48526         * lib/unicase/u32-is-casefolded.c: New file.
48527         * modules/unicase/u32-is-casefolded: New file.
48528
48529         New module 'unicase/u16-is-casefolded'.
48530         * lib/unicase/u16-is-casefolded.c: New file.
48531         * modules/unicase/u16-is-casefolded: New file.
48532
48533         New module 'unicase/u8-is-casefolded'.
48534         * lib/unicase/u8-is-casefolded.c: New file.
48535         * modules/unicase/u8-is-casefolded: New file.
48536
48537         Tests for module 'unicase/u32-is-titlecase'.
48538         * modules/unicase/u32-is-titlecase-tests: New file.
48539         * tests/unicase/test-u32-is-titlecase.c: New file.
48540
48541         Tests for module 'unicase/u16-is-titlecase'.
48542         * modules/unicase/u16-is-titlecase-tests: New file.
48543         * tests/unicase/test-u16-is-titlecase.c: New file.
48544
48545         Tests for module 'unicase/u8-is-titlecase'.
48546         * modules/unicase/u8-is-titlecase-tests: New file.
48547         * tests/unicase/test-u8-is-titlecase.c: New file.
48548         * tests/unicase/test-is-titlecase.h: New file.
48549
48550         New module 'unicase/u32-is-titlecase'.
48551         * lib/unicase/u32-is-titlecase.c: New file.
48552         * modules/unicase/u32-is-titlecase: New file.
48553
48554         New module 'unicase/u16-is-titlecase'.
48555         * lib/unicase/u16-is-titlecase.c: New file.
48556         * modules/unicase/u16-is-titlecase: New file.
48557
48558         New module 'unicase/u8-is-titlecase'.
48559         * lib/unicase/u8-is-titlecase.c: New file.
48560         * modules/unicase/u8-is-titlecase: New file.
48561
48562         Tests for module 'unicase/u32-is-lowercase'.
48563         * modules/unicase/u32-is-lowercase-tests: New file.
48564         * tests/unicase/test-u32-is-lowercase.c: New file.
48565
48566         Tests for module 'unicase/u16-is-lowercase'.
48567         * modules/unicase/u16-is-lowercase-tests: New file.
48568         * tests/unicase/test-u16-is-lowercase.c: New file.
48569
48570         Tests for module 'unicase/u8-is-lowercase'.
48571         * modules/unicase/u8-is-lowercase-tests: New file.
48572         * tests/unicase/test-u8-is-lowercase.c: New file.
48573         * tests/unicase/test-is-lowercase.h: New file.
48574
48575         New module 'unicase/u32-is-lowercase'.
48576         * lib/unicase/u32-is-lowercase.c: New file.
48577         * modules/unicase/u32-is-lowercase: New file.
48578
48579         New module 'unicase/u16-is-lowercase'.
48580         * lib/unicase/u16-is-lowercase.c: New file.
48581         * modules/unicase/u16-is-lowercase: New file.
48582
48583         New module 'unicase/u8-is-lowercase'.
48584         * lib/unicase/u8-is-lowercase.c: New file.
48585         * modules/unicase/u8-is-lowercase: New file.
48586
48587         Tests for module 'unicase/u32-is-uppercase'.
48588         * modules/unicase/u32-is-uppercase-tests: New file.
48589         * tests/unicase/test-u32-is-uppercase.c: New file.
48590
48591         Tests for module 'unicase/u16-is-uppercase'.
48592         * modules/unicase/u16-is-uppercase-tests: New file.
48593         * tests/unicase/test-u16-is-uppercase.c: New file.
48594
48595         Tests for module 'unicase/u8-is-uppercase'.
48596         * modules/unicase/u8-is-uppercase-tests: New file.
48597         * tests/unicase/test-u8-is-uppercase.c: New file.
48598         * tests/unicase/test-is-uppercase.h: New file.
48599
48600         New module 'unicase/u32-is-uppercase'.
48601         * lib/unicase/u32-is-uppercase.c: New file.
48602         * modules/unicase/u32-is-uppercase: New file.
48603
48604         New module 'unicase/u16-is-uppercase'.
48605         * lib/unicase/u16-is-uppercase.c: New file.
48606         * modules/unicase/u16-is-uppercase: New file.
48607
48608         New module 'unicase/u8-is-uppercase'.
48609         * lib/unicase/u8-is-uppercase.c: New file.
48610         * modules/unicase/u8-is-uppercase: New file.
48611
48612         New module 'unicase/u32-is-invariant'.
48613         * lib/unicase/u32-is-invariant.c: New file.
48614         * modules/unicase/u32-is-invariant: New file.
48615
48616         New module 'unicase/u16-is-invariant'.
48617         * lib/unicase/u16-is-invariant.c: New file.
48618         * modules/unicase/u16-is-invariant: New file.
48619
48620         New module 'unicase/u8-is-invariant'.
48621         * lib/unicase/u8-is-invariant.c: New file.
48622         * lib/unicase/invariant.h: New file.
48623         * lib/unicase/u-is-invariant.h: New file.
48624         * modules/unicase/u8-is-invariant: New file.
48625
48626         Tests for module 'unicase/u32-casecoll'.
48627         * modules/unicase/u32-casecoll-tests: New file.
48628         * tests/unicase/test-u32-casecoll.c: New file.
48629
48630         Tests for module 'unicase/u16-casecoll'.
48631         * modules/unicase/u16-casecoll-tests: New file.
48632         * tests/unicase/test-u16-casecoll.c: New file.
48633
48634         Tests for module 'unicase/u8-casecoll'.
48635         * modules/unicase/u8-casecoll-tests: New file.
48636         * tests/unicase/test-u8-casecoll.c: New file.
48637
48638         New module 'unicase/u32-casecoll'.
48639         * lib/unicase/u32-casecoll.c: New file.
48640         * modules/unicase/u32-casecoll: New file.
48641
48642         New module 'unicase/u16-casecoll'.
48643         * lib/unicase/u16-casecoll.c: New file.
48644         * modules/unicase/u16-casecoll: New file.
48645
48646         New module 'unicase/u8-casecoll'.
48647         * lib/unicase/u8-casecoll.c: New file.
48648         * lib/unicase/u-casecoll.h: New file.
48649         * modules/unicase/u8-casecoll: New file.
48650
48651         New module 'unicase/u32-casexfrm'.
48652         * lib/unicase/u32-casexfrm.c: New file.
48653         * modules/unicase/u32-casexfrm: New file.
48654
48655         New module 'unicase/u16-casexfrm'.
48656         * lib/unicase/u16-casexfrm.c: New file.
48657         * modules/unicase/u16-casexfrm: New file.
48658
48659         New module 'unicase/u8-casexfrm'.
48660         * lib/unicase/u8-casexfrm.c: New file.
48661         * lib/unicase/u-casexfrm.h: New file.
48662         * modules/unicase/u8-casexfrm: New file.
48663
48664         Tests for module 'unicase/u32-casecmp'.
48665         * modules/unicase/u32-casecmp-tests: New file.
48666         * tests/unicase/test-u32-casecmp.c: New file.
48667
48668         Tests for module 'unicase/u16-casecmp'.
48669         * modules/unicase/u16-casecmp-tests: New file.
48670         * tests/unicase/test-u16-casecmp.c: New file.
48671
48672         Tests for module 'unicase/u8-casecmp'.
48673         * modules/unicase/u8-casecmp-tests: New file.
48674         * tests/unicase/test-u8-casecmp.c: New file.
48675         * tests/unicase/test-casecmp.h: New file.
48676
48677         New module 'unicase/u32-casecmp'.
48678         * lib/unicase/u32-casecmp.c: New file.
48679         * modules/unicase/u32-casecmp: New file.
48680
48681         New module 'unicase/u16-casecmp'.
48682         * lib/unicase/u16-casecmp.c: New file.
48683         * modules/unicase/u16-casecmp: New file.
48684
48685         New module 'unicase/u8-casecmp'.
48686         * lib/unicase/u8-casecmp.c: New file.
48687         * lib/unicase/u-casecmp.h: New file.
48688         * modules/unicase/u8-casecmp: New file.
48689
48690         Tests for module 'unicase/u32-casefold'.
48691         * modules/unicase/u32-casefold-tests: New file.
48692         * tests/unicase/test-u32-casefold.c: New file.
48693
48694         Tests for module 'unicase/u16-casefold'.
48695         * modules/unicase/u16-casefold-tests: New file.
48696         * tests/unicase/test-u16-casefold.c: New file.
48697
48698         Tests for module 'unicase/u8-casefold'.
48699         * modules/unicase/u8-casefold-tests: New file.
48700         * tests/unicase/test-u8-casefold.c: New file.
48701
48702         New module 'unicase/u32-casefold'.
48703         * lib/unicase/u32-casefold.c: New file.
48704         * modules/unicase/u32-casefold: New file.
48705
48706         New module 'unicase/u16-casefold'.
48707         * lib/unicase/u16-casefold.c: New file.
48708         * modules/unicase/u16-casefold: New file.
48709
48710         New module 'unicase/u8-casefold'.
48711         * lib/unicase/u8-casefold.c: New file.
48712         * lib/unicase/u-casefold.h: New file.
48713         * modules/unicase/u8-casefold: New file.
48714
48715         New module 'unicase/tocasefold'.
48716         * lib/unicase/casefold.h: New file.
48717         * lib/unicase/tocasefold.c: New file.
48718         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
48719         * modules/unicase/tocasefold: New file.
48720
48721         Tests for module 'unicase/u32-totitle'.
48722         * modules/unicase/u32-totitle-tests: New file.
48723         * tests/unicase/test-u32-totitle.c: New file.
48724
48725         Tests for module 'unicase/u16-totitle'.
48726         * modules/unicase/u16-totitle-tests: New file.
48727         * tests/unicase/test-u16-totitle.c: New file.
48728
48729         Tests for module 'unicase/u8-totitle'.
48730         * modules/unicase/u8-totitle-tests: New file.
48731         * tests/unicase/test-u8-totitle.c: New file.
48732
48733         New module 'unicase/u32-totitle'.
48734         * lib/unicase/u32-totitle.c: New file.
48735         * modules/unicase/u32-totitle: New file.
48736
48737         New module 'unicase/u16-totitle'.
48738         * lib/unicase/u16-totitle.c: New file.
48739         * modules/unicase/u16-totitle: New file.
48740
48741         New module 'unicase/u8-totitle'.
48742         * lib/unicase/u8-totitle.c: New file.
48743         * lib/unicase/u-totitle.h: New file.
48744         * modules/unicase/u8-totitle: New file.
48745
48746         Tests for module 'unicase/u32-tolower'.
48747         * modules/unicase/u32-tolower-tests: New file.
48748         * tests/unicase/test-u32-tolower.c: New file.
48749
48750         Tests for module 'unicase/u16-tolower'.
48751         * modules/unicase/u16-tolower-tests: New file.
48752         * tests/unicase/test-u16-tolower.c: New file.
48753
48754         Tests for module 'unicase/u8-tolower'.
48755         * modules/unicase/u8-tolower-tests: New file.
48756         * tests/unicase/test-u8-tolower.c: New file.
48757
48758         New module 'unicase/u32-tolower'.
48759         * lib/unicase/u32-tolower.c: New file.
48760         * modules/unicase/u32-tolower: New file.
48761
48762         New module 'unicase/u16-tolower'.
48763         * lib/unicase/u16-tolower.c: New file.
48764         * modules/unicase/u16-tolower: New file.
48765
48766         New module 'unicase/u8-tolower'.
48767         * lib/unicase/u8-tolower.c: New file.
48768         * modules/unicase/u8-tolower: New file.
48769
48770         Tests for module 'unicase/u32-toupper'.
48771         * modules/unicase/u32-toupper-tests: New file.
48772         * tests/unicase/test-u32-toupper.c: New file.
48773
48774         Tests for module 'unicase/u16-toupper'.
48775         * modules/unicase/u16-toupper-tests: New file.
48776         * tests/unicase/test-u16-toupper.c: New file.
48777
48778         Tests for module 'unicase/u8-toupper'.
48779         * modules/unicase/u8-toupper-tests: New file.
48780         * tests/unicase/test-u8-toupper.c: New file.
48781
48782         New module 'unicase/u32-toupper'.
48783         * lib/unicase/u32-toupper.c: New file.
48784         * modules/unicase/u32-toupper: New file.
48785
48786         New module 'unicase/u16-toupper'.
48787         * lib/unicase/u16-toupper.c: New file.
48788         * modules/unicase/u16-toupper: New file.
48789
48790         New module 'unicase/u8-toupper'.
48791         * lib/unicase/u8-toupper.c: New file.
48792         * modules/unicase/u8-toupper: New file.
48793
48794         New module 'unicase/u32-casemap'.
48795         * lib/unicase/u32-casemap.c: New file.
48796         * modules/unicase/u32-casemap: New file.
48797
48798         New module 'unicase/u16-casemap'.
48799         * lib/unicase/u16-casemap.c: New file.
48800         * modules/unicase/u16-casemap: New file.
48801
48802         New module 'unicase/u8-casemap'.
48803         * lib/unicase/unicasemap.h: New file.
48804         * lib/unicase/u8-casemap.c: New file.
48805         * lib/unicase/u-casemap.h: New file.
48806         * modules/unicase/u8-casemap: New file.
48807
48808         New module 'unicase/special-casing'.
48809         * lib/unicase/special-casing.h: New file.
48810         * lib/unicase/special-casing.c: New file.
48811         * lib/unicase/special-casing-table.gperf: New file, generated by
48812         gen-uni-tables.c.
48813         * modules/unicase/special-casing: New file.
48814
48815         Tests for module 'unicase/locale-language'.
48816         * modules/unicase/locale-language-tests: New file.
48817         * tests/unicase/test-locale-language.sh: New file.
48818         * tests/unicase/test-locale-language.c: New file.
48819
48820         New module 'unicase/locale-language'.
48821         * lib/unicase/locale-language.c: New file.
48822         * lib/unicase/locale-languages.gperf: New file.
48823         * modules/unicase/locale-language: New file.
48824
48825         Generate more tables for case conversion and case folding.
48826         * lib/gen-uni-tables.c (SCC_*): New enum items.
48827         (struct special_casing_rule): New type.
48828         (casing_rules, num_casing_rules, allocated_casing_rules): New
48829         variables.
48830         (add_casing_rule, fill_casing_rules): New functions.
48831         (struct casefold_rule): New type.
48832         (casefolding_rules, num_casefolding_rules,
48833         allocated_casefolding_rules): New variables.
48834         (fill_casefolding_rules): New function.
48835         (unicode_casefold): New variable.
48836         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
48837         sort_casing_rules, output_casing_rules): New functions.
48838         (main): Accept to more arguments: SpecialCasing.txt and
48839         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
48840         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
48841         Output mapping for casefolding.
48842
48843         * lib/unicase.h: Include stdbool.h, uninorm.h.
48844         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
48845         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
48846         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
48847         arguments.
48848         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
48849         resultp arguments.
48850         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
48851         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
48852         resultp arguments.
48853         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
48854         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
48855         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
48856         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
48857         declarations.
48858         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
48859
48860 2009-03-08  Bruno Haible  <bruno@clisp.org>
48861
48862         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
48863         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
48864         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
48865         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
48866
48867 2009-03-07  Bruno Haible  <bruno@clisp.org>
48868
48869         Adjust u*_normcmp, u*_normcoll API.
48870         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
48871         u16_normcoll, u32_normcoll): Change failure conventions.
48872         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
48873         errno and return -1.
48874         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
48875
48876 2009-03-07  Bruno Haible  <bruno@clisp.org>
48877
48878         Tests for module 'uninorm/u32-normcoll'.
48879         * modules/uninorm/u32-normcoll-tests: New file.
48880         * tests/uninorm/test-u32-normcoll.c: New file.
48881
48882         Tests for module 'uninorm/u16-normcoll'.
48883         * modules/uninorm/u16-normcoll-tests: New file.
48884         * tests/uninorm/test-u16-normcoll.c: New file.
48885
48886         Tests for module 'uninorm/u8-normcoll'.
48887         * modules/uninorm/u8-normcoll-tests: New file.
48888         * tests/uninorm/test-u8-normcoll.c: New file.
48889
48890 2009-03-07  Bruno Haible  <bruno@clisp.org>
48891
48892         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
48893         tests/uninorm/test-u32-normcmp.c.
48894         * tests/uninorm/test-u32-normcmp.c: Include it.
48895         (test_nonascii): New function, extracted from main. Add some more
48896         tests.
48897         (main): Invoke test_ascii and test_nonascii.
48898         * modules/uninorm/u32-normcmp-tests (Files): Add
48899         tests/uninorm/test-u32-normcmp.h.
48900         (Depends-on): Remove uninorm/u32-normcmp.
48901
48902         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
48903         tests/uninorm/test-u16-normcmp.c.
48904         * tests/uninorm/test-u16-normcmp.c: Include it.
48905         (test_nonascii): New function, extracted from main. Add some more
48906         tests.
48907         (main): Invoke test_ascii and test_nonascii.
48908         * modules/uninorm/u16-normcmp-tests (Files): Add
48909         tests/uninorm/test-u16-normcmp.h.
48910         (Depends-on): Remove uninorm/u16-normcmp.
48911
48912         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
48913         tests/uninorm/test-u8-normcmp.c.
48914         * tests/uninorm/test-u8-normcmp.c: Include it.
48915         (test_nonascii): New function, extracted from main. Add some more
48916         tests.
48917         (main): Invoke test_ascii and test_nonascii.
48918         * modules/uninorm/u8-normcmp-tests (Files): Add
48919         tests/uninorm/test-u8-normcmp.h.
48920         (Depends-on): Remove uninorm/u8-normcmp.
48921
48922 2009-03-07  Bruno Haible  <bruno@clisp.org>
48923
48924         New module 'uninorm/u32-normcoll'.
48925         * lib/uninorm/u32-normcoll.c: New file.
48926         * modules/uninorm/u32-normcoll: New file.
48927
48928         New module 'uninorm/u16-normcoll'.
48929         * lib/uninorm/u16-normcoll.c: New file.
48930         * modules/uninorm/u16-normcoll: New file.
48931
48932         New module 'uninorm/u8-normcoll'.
48933         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
48934         declarations.
48935         * lib/uninorm/u8-normcoll.c: New file.
48936         * lib/uninorm/u-normcoll.h: New file.
48937         * modules/uninorm/u8-normcoll: New file.
48938
48939         New module 'uninorm/u32-normxfrm'.
48940         * lib/uninorm/u32-normxfrm.c: New file.
48941         * modules/uninorm/u32-normxfrm: New file.
48942
48943         New module 'uninorm/u16-normxfrm'.
48944         * lib/uninorm/u16-normxfrm.c: New file.
48945         * modules/uninorm/u16-normxfrm: New file.
48946
48947         New module 'uninorm/u8-normxfrm'.
48948         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
48949         declarations.
48950         * lib/uninorm/u8-normxfrm.c: New file.
48951         * lib/uninorm/u-normxfrm.h: New file.
48952         * modules/uninorm/u8-normxfrm: New file.
48953
48954 2009-03-07  Bruno Haible  <bruno@clisp.org>
48955
48956         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
48957         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
48958         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
48959
48960 2009-03-07  Bruno Haible  <bruno@clisp.org>
48961
48962         New module 'memxfrm'.
48963         * lib/memxfrm.h: New file.
48964         * lib/memxfrm.c: New file.
48965         * modules/memxfrm: New file.
48966
48967 2009-03-07  Bruno Haible  <bruno@clisp.org>
48968
48969         New module 'memcmp2'.
48970         * lib/memcmp2.h: New file.
48971         * lib/memcmp2.c: New file.
48972         * modules/memcmp2: New file.
48973
48974 2009-03-07  Bruno Haible  <bruno@clisp.org>
48975
48976         Tests for module 'uninorm/decomposing-form'.
48977         * modules/uninorm/decomposing-form-tests: New file.
48978         * tests/uninorm/test-decomposing-form.c: New file.
48979
48980         New module 'uninorm/decomposing-form'.
48981         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
48982         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
48983         Add 'decomposing_variant' field.
48984         * lib/uninorm/decomposing-form.c: New file.
48985         * lib/uninorm/nfc.c (uninorm_nfc): Update.
48986         * lib/uninorm/nfd.c (uninorm_nfd): Update.
48987         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
48988         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
48989         * modules/uninorm/decomposing-form: New file.
48990         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
48991         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
48992
48993 2009-03-07  Bruno Haible  <bruno@clisp.org>
48994
48995         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
48996         strings.
48997
48998 2009-03-06  Bruno Haible  <bruno@clisp.org>
48999
49000         Tests for module 'uninorm/u32-normcmp'.
49001         * tests/uninorm/test-u32-normcmp.c: New file.
49002         * modules/uninorm/u32-normcmp-tests: New file.
49003
49004         Tests for module 'uninorm/u16-normcmp'.
49005         * tests/uninorm/test-u16-normcmp.c: New file.
49006         * modules/uninorm/u16-normcmp-tests: New file.
49007
49008         Tests for module 'uninorm/u8-normcmp'.
49009         * tests/uninorm/test-u8-normcmp.c: New file.
49010         * modules/uninorm/u8-normcmp-tests: New file.
49011
49012         New module 'uninorm/u32-normcmp'.
49013         * lib/uninorm/u32-normcmp.c: New file.
49014         * modules/uninorm/u32-normcmp: New file.
49015
49016         New module 'uninorm/u16-normcmp'.
49017         * lib/uninorm/u16-normcmp.c: New file.
49018         * modules/uninorm/u16-normcmp: New file.
49019
49020         New module 'uninorm/u8-normcmp'.
49021         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
49022         declarations.
49023         * lib/uninorm/u8-normcmp.c: New file.
49024         * lib/uninorm/u-normcmp.h: New file.
49025         * modules/uninorm/u8-normcmp: New file.
49026
49027 2009-03-06  Bruno Haible  <bruno@clisp.org>
49028
49029         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
49030         Reported by Eric Blake.
49031
49032 2009-03-06  Eric Blake  <ebb9@byu.net>
49033             Bruno Haible  <bruno@clisp.org>
49034
49035         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
49036         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
49037         condition.
49038         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
49039         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
49040         condition.
49041         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
49042
49043 2009-03-06  Eric Blake  <ebb9@byu.net>
49044
49045         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
49046         to avoid compiler warnings.
49047         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
49048
49049 2009-03-05  Bruno Haible  <bruno@clisp.org>
49050
49051         * tests/test-ftell.c (main): Disable test beyond end of file on
49052         FreeMiNT.
49053         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
49054
49055 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
49056
49057         * lib/filevercmp.c: Move hidden files up in ordering.
49058         * tests/test-filevercmp.c: Add tests for hidden files.
49059
49060 2009-03-04  Bruno Haible  <bruno@clisp.org>
49061
49062         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
49063         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
49064         AM_CFLAGS.
49065         Reported by Simon Josefsson.
49066
49067 2009-03-03  Bruno Haible  <bruno@clisp.org>
49068
49069         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
49070         Reported by Simon Josefsson.
49071
49072         * doc/ld-version-script.texi: Update node reference.
49073
49074 2009-03-03  Bruno Haible  <bruno@clisp.org>
49075
49076         * modules/visibility (License): Change to 'unlimited'.
49077         Suggested by Simon Josefsson.
49078
49079 2009-03-03  Jim Meyering  <meyering@redhat.com>
49080
49081         unlinkdir: cannot_unlink_dir may modify process state
49082         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
49083         it's neither thread-safe nor appropriate for use in a library.
49084
49085 2009-03-03  Eric Blake  <ebb9@byu.net>
49086
49087         test-closein: silence test under Darwin
49088         * tests/test-closein.sh: Ignore stderr from cat, since we don't
49089         care if it dies from EPIPE or EBADF.
49090
49091 2009-03-03  Bruno Haible  <bruno@clisp.org>
49092
49093         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
49094         earlier.
49095         * doc/visibility.texi: Fix @node and @section.
49096
49097 2009-03-03  Simon Josefsson  <simon@josefsson.org>
49098
49099         * doc/gnulib.texi: Link to sections for ld version script and
49100         visibility.
49101         * doc/visibility.texi: Add @node and @section.
49102         * modules/ld-version-script: New module.
49103         * m4/ld-version-script.m4: New file.
49104         * doc/ld-version-script.texi: New file.
49105
49106 2009-03-02  David Lutterkort  <lutter@redhat.com>
49107
49108         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
49109         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49110
49111 2009-03-02  Bruno Haible  <bruno@clisp.org>
49112
49113         * doc/visibility.texi: Mention libtool's -export-symbols option.
49114
49115 2009-03-02  Jim Meyering  <meyering@redhat.com>
49116
49117         announce-gen: new option: --no-print-checksums
49118         * build-aux/announce-gen (usage): Describe it.
49119         (print_checksums): Print a newline here, not in the [*] footnote.
49120         (main): Honor it.
49121
49122 2009-03-01  Bruno Haible  <bruno@clisp.org>
49123
49124         Use socklen_t in the native Windows replacements prototypes.
49125         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
49126         instead of 'int'.
49127         * lib/getsockopt.c (rpl_getsockopt): Likewise.
49128         * lib/setsockopt.c (rpl_setsockopt): Likewise.
49129         * modules/getsockopt (Depends-on): Add socklen.
49130         * modules/setsockopt (Depends-on): Add socklen.
49131
49132 2009-03-01  Bruno Haible  <bruno@clisp.org>
49133
49134         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
49135         least 4.2.
49136
49137 2009-03-01  Eric Blake  <ebb9@byu.net>
49138             Bruno Haible  <bruno@clisp.org>
49139
49140         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
49141         error messages.
49142         * lib/wait-process.c (wait_subprocess): Omit error message about
49143         deadly signal sent to the child of termsigp != NULL.
49144
49145 2009-03-01  Eric Blake  <ebb9@byu.net>
49146
49147         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
49148
49149 2009-03-01  Bruno Haible  <bruno@clisp.org>
49150
49151         Avoid a gcc warning.
49152         * tests/test-sched.c (b): Make global.
49153         Reported by Eric Blake.
49154
49155 2009-01-19  Martin Lambers  <marlam@marlam.de>
49156
49157         Provide POSIX semantics for socket timeout options on W32.
49158         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
49159         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
49160         * modules/setsockopt: Depend on sys_time module for struct timeval.
49161         * modules/getsockopt: Depend on sys_time module for struct timeval.
49162
49163 2009-03-01  Simon Josefsson  <simon@josefsson.org>
49164
49165         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
49166         __USE_GNU, for consistency with netdb.in.h.
49167         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49168
49169 2009-03-01  Bruno Haible  <bruno@clisp.org>
49170
49171         More support for FreeMiNT.
49172         * lib/fseeko.c (rpl_fseeko): Complete last commit.
49173         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49174
49175 2009-03-01  Bruno Haible  <bruno@clisp.org>
49176
49177         More support for FreeMiNT.
49178         * lib/fpurge.c (fpurge): Correct last commit.
49179         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49180
49181 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49182
49183         Fix unportable awk script in vc-list-files.
49184         * build-aux/vc-list-files: In the replacement awk script, use
49185         substr with a second argument of 1, not zero.
49186         Report by Simon Josefsson.
49187
49188 2009-02-28  Bruno Haible  <bruno@clisp.org>
49189
49190         More support for FreeMiNT.
49191         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
49192         to FreeMiNT today.
49193         * lib/fwriting.c (fwriting): Likewise.
49194         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
49195
49196 2009-02-28  Bruno Haible  <bruno@clisp.org>
49197
49198         * tests/test-freadseek.c (main): Disable test beyond end of file on
49199         FreeMiNT.
49200         * tests/test-ftello.c (main): Likewise.
49201         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
49202
49203 2009-02-28  Bruno Haible  <bruno@clisp.org>
49204
49205         Add tentative support for FreeMiNT.
49206         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
49207         * lib/fpurge.c (fpurge): Likewise.
49208         * lib/freadable.c (freadable): Likewise.
49209         * lib/freading.c (freading): Likewise.
49210         * lib/freadptr.c (freadptr): Likewise.
49211         * lib/freadseek.c (freadptrinc): Likewise.
49212         * lib/fseeko.c (rpl_fseeko): Likewise.
49213         * lib/fseterr.c (fseterr): Likewise.
49214         * lib/fwritable.c (fwritable): Likewise.
49215         * lib/fwriting.c (fwriting): Likewise.
49216         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
49217         Hourihane.
49218         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
49219
49220 2009-02-28  Bruno Haible  <bruno@clisp.org>
49221
49222         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
49223         SIGCHLD.
49224         Reported by Jim Meyering.
49225
49226 2009-02-28  Bruno Haible  <bruno@clisp.org>
49227
49228         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
49229         Mention the results of these tests on various platforms.
49230         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
49231         order.
49232         * doc/posix-functions/printf.texi: Likewise.
49233         * doc/posix-functions/snprintf.texi: Likewise.
49234         * doc/posix-functions/sprintf.texi: Likewise.
49235         * doc/posix-functions/vfprintf.texi: Likewise.
49236         * doc/posix-functions/vprintf.texi: Likewise.
49237         * doc/posix-functions/vsnprintf.texi: Likewise.
49238         * doc/posix-functions/vsprintf.texi: Likewise.
49239         * doc/glibc-functions/obstack_printf.texi: Likewise.
49240         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
49241
49242 2009-02-28  Bruno Haible  <bruno@clisp.org>
49243
49244         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
49245         Reported by Loïc Minier <lool@dooz.org>.
49246
49247 2009-02-27  Bruno Haible  <bruno@clisp.org>
49248
49249         * gnulib-tool (func_import): Make the sed expression used to create the
49250         sed script for updating the .gitignore file POSIX compliant.
49251         Reported by Eric Blake.
49252
49253 2009-02-27  Bruno Haible  <bruno@clisp.org>
49254
49255         * gnulib-tool (sed): Don't alias as "sed --posix".
49256         Reported by Eric Blake.
49257
49258 2009-02-27  Bruno Haible  <bruno@clisp.org>
49259
49260         Avoid test link errors.
49261         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
49262         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
49263         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
49264         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
49265         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49266
49267 2009-02-27  Bruno Haible  <bruno@clisp.org>
49268
49269         Avoid spurious "(cached)" in configure output.
49270         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
49271         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
49272         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
49273         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
49274         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
49275         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
49276         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
49277         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
49278         Reported by Eric Blake.
49279
49280 2009-02-27  Eric Blake  <ebb9@byu.net>
49281
49282         printf: fix regression in previous patch
49283         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
49284
49285 2009-02-27  Bruno Haible  <bruno@clisp.org>
49286
49287         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
49288         value.
49289         * lib/stdint.in.h: Likewise.
49290         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
49291
49292 2009-02-27  Eric Blake  <ebb9@byu.net>
49293
49294         doc: mention more functions added in cygwin 1.7.0
49295         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
49296         addition.
49297         * doc/posix-functions/open_wmemstream.texi: Likewise.
49298         * doc/posix-functions/wcsnlen.texi: Likewise.
49299         * doc/posix-functions/wcsnrtombs.texi: Likewise.
49300         * doc/posix-functions/wcstod.texi: Likewise.
49301         * doc/posix-functions/wcstof.texi: Likewise.
49302         * doc/posix-functions/wcstoimax.texi: Likewise.
49303         * doc/posix-functions/wcstok.texi: Likewise.
49304         * doc/posix-functions/wcstoumax.texi: Likewise.
49305
49306         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
49307         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
49308         * doc/posix-functions/fprintf.texi: Update.
49309         * doc/posix-functions/printf.texi: Update.
49310         * doc/posix-functions/snprintf.texi: Update.
49311         * doc/posix-functions/sprintf.texi: Update.
49312         * doc/posix-functions/vfprintf.texi: Update.
49313         * doc/posix-functions/vprintf.texi: Update.
49314         * doc/posix-functions/vsnprintf.texi: Update.
49315         * doc/posix-functions/vsprintf.texi: Update.
49316         * doc/glibc-functions/obstack_printf.texi: Update.
49317         * doc/glibc-functions/obstack_vprintf.texi: Update.
49318
49319 2009-02-26  Eric Blake  <ebb9@byu.net>
49320
49321         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
49322         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
49323         compilation bug by using runtime conversion.
49324         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
49325         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
49326         * modules/ceill-tests (Files): Use nan.h.
49327         * modules/floorl-tests (Files): Likewise.
49328         * modules/frexpl-tests (Files): Likewise.
49329         * modules/isnanl-tests (Files): Likewise.
49330         * modules/ldexpl-tests (Files): Likewise.
49331         * modules/roundl-tests (Files): Likewise.
49332         * modules/truncl-tests (Files): Likewise.
49333         * tests/test-ceill.c (main): Use a working NaN.
49334         * tests/test-floorl.c (main): Likewise.
49335         * tests/test-frexpl.c (main): Likewise.
49336         * tests/test-isnan.c (test_long_double): Likewise.
49337         * tests/test-isnanl.h (main): Likewise.
49338         * tests/test-ldexpl.h (main): Likewise.
49339         * tests/test-roundl.h (main): Likewise.
49340         * tests/test-truncl.h (main): Likewise.
49341         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
49342
49343 2009-02-26  Eric Blake  <ebb9@byu.net>
49344             Bruno Haible  <bruno@clisp.org>
49345
49346         Work around a *printf bug with %ls on Solaris.
49347         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
49348         precision is specified, sprintf stops converting the wide string
49349         argument when the number of bytes that have been produced by this
49350         conversion equals or exceeds the precision.
49351         * doc/posix-functions/fprintf.texi: Update.
49352         * doc/posix-functions/printf.texi: Update.
49353         * doc/posix-functions/snprintf.texi: Update.
49354         * doc/posix-functions/sprintf.texi: Update.
49355         * doc/posix-functions/vfprintf.texi: Update.
49356         * doc/posix-functions/vprintf.texi: Update.
49357         * doc/posix-functions/vsnprintf.texi: Update.
49358         * doc/posix-functions/vsprintf.texi: Update.
49359         * doc/glibc-functions/obstack_printf.texi: Update.
49360         * doc/glibc-functions/obstack_vprintf.texi: Update.
49361
49362 2009-02-26  Eric Blake  <ebb9@byu.net>
49363
49364         stdlib: favor compiler check of random.h
49365         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
49366         to avoid an ObjC random.h installed by Swarm.
49367
49368 2009-02-26  Bruno Haible  <bruno@clisp.org>
49369
49370         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
49371         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
49372         Reported by Gary V. Vaughan <gary@gnu.org>.
49373
49374 2009-02-26  Bruno Haible  <bruno@clisp.org>
49375
49376         Fix *printf behaviour regarding the %ls directive.
49377         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
49378         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
49379         NEED_PRINTF_DIRECTIVE_LS.
49380         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
49381         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
49382         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49383         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
49384         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
49385         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
49386         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
49387         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49388         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49389         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49390         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49391         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
49392         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49393         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49394         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49395         * doc/posix-functions/fprintf.texi: Update.
49396         * doc/posix-functions/printf.texi: Update.
49397         * doc/posix-functions/snprintf.texi: Update.
49398         * doc/posix-functions/sprintf.texi: Update.
49399         * doc/posix-functions/vfprintf.texi: Update.
49400         * doc/posix-functions/vprintf.texi: Update.
49401         * doc/posix-functions/vsnprintf.texi: Update.
49402         * doc/posix-functions/vsprintf.texi: Update.
49403         * doc/glibc-functions/obstack_printf.texi: Update.
49404         * doc/glibc-functions/obstack_vprintf.texi: Update.
49405         Reported by Eric Blake.
49406
49407 2009-02-25  Bruno Haible  <bruno@clisp.org>
49408
49409         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
49410         with known value.
49411         Reported by Gary V. Vaughan <gary@gnu.org>.
49412
49413 2009-02-25  Bruno Haible  <bruno@clisp.org>
49414
49415         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
49416         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
49417         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
49418         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
49419         Reported by Gary V. Vaughan <gary@gnu.org>.
49420
49421 2009-02-25  Bruno Haible  <bruno@clisp.org>
49422
49423         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
49424         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
49425         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
49426         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
49427         Reported by Gary V. Vaughan <gary@gnu.org>.
49428
49429 2009-02-25  Eric Blake  <ebb9@byu.net>
49430
49431         tests: skip fseek/ftell tests if ungetc is broken
49432         * m4/ungetc.m4: New file.
49433         * modules/fseek-tests: Split test, so ungetc dependency is
49434         separate from rest of test.
49435         * modules/fseeko-tests: Likewise.
49436         * modules/ftell-tests: Likewise.
49437         * modules/ftello-tests: Likewise.
49438         * tests/test-fseek.c (main): Isolate ungetc dependency.
49439         * tests/test-fseeko.c (main): Likewise.
49440         * tests/test-ftell.c (main): Likewise.
49441         * tests/test-ftello.c (main): Likewise.
49442         * tests/test-fseek2.sh: New file.
49443         * tests/test-fseeko2.sh: Likewise.
49444         * tests/test-ftell2.sh: Likewise.
49445         * tests/test-ftello2.sh: Likewise.
49446
49447 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
49448
49449         test-getaddrinfo: fix usage of skip return code 77
49450         * tests/test-gettaddrinfo.c: Return skip code 77 only
49451         for first occurrence of skip (4x77 is not 77)
49452
49453 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
49454
49455         strtod: avoid C99 decl-after-statement
49456         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
49457
49458 2009-02-24  Eric Blake  <ebb9@byu.net>
49459
49460         strtod: detect HP-UX 11.31 bug
49461         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
49462         Reported by Gary V. Vaughan.
49463
49464 2009-02-23  Bruno Haible  <bruno@clisp.org>
49465
49466         Fix invalid read past end of memory block.
49467         * lib/vasnprintf.c (DCHAR_SET): Define.
49468         (local_wcslen): Define only when needed.
49469         (local_strnlen, local_wcsnlen): New functions.
49470         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
49471         directives that involve a conversion ourselves.
49472         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
49473         wcsnlen, mbrtowc, wcrtomb.
49474         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
49475         * tests/test-vasprintf-posix.c (test_function): Likewise.
49476         * tests/test-snprintf-posix.h (test_function): Likewise.
49477         * tests/test-sprintf-posix.h (test_function): Likewise.
49478         Reported by Ben Pfaff <blp@cs.stanford.edu>.
49479
49480 2009-02-22  Bruno Haible  <bruno@clisp.org>
49481
49482         Implement new clarified decomposition of Hangul syllables.
49483         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
49484         of type LTV, return only a pairwise decomposition.
49485         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
49486         Likewise.
49487         * tests/uninorm/test-decomposition.c (main): Updated expected result.
49488         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
49489         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
49490
49491 2009-02-22  Bruno Haible  <bruno@clisp.org>
49492
49493         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
49494         zero-length results and shrink excess allocated memory.
49495         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
49496         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
49497         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
49498         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
49499         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
49500         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
49501         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
49502         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
49503         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
49504         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
49505         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
49506         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
49507
49508 2009-02-21  Bruno Haible  <bruno@clisp.org>
49509
49510         * doc/gnulib.texi: Include safe-alloc.texi earlier.
49511         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
49512         spaces after a period. Put a space between a macro name and its
49513         argument list. Trivial rewordings.
49514         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
49515         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
49516         (main): Return 0 explicitly.
49517
49518 2009-02-21  Bruno Haible  <bruno@clisp.org>
49519
49520         Tests for module 'uninorm/filter'.
49521         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
49522         * modules/uninorm/filter-tests: New file.
49523
49524         New module 'uninorm/filter'.
49525         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
49526         uninorm_filter_flush, uninorm_filter_free): New declarations.
49527         * lib/uninorm/uninorm-filter.c: New file.
49528         * modules/uninorm/filter: New file.
49529
49530 2009-02-21  Bruno Haible  <bruno@clisp.org>
49531
49532         Tests for module 'uninorm/nfkc'.
49533         * tests/uninorm/test-nfkc.c: New file.
49534         * tests/uninorm/test-u8-nfkc.c: New file.
49535         * tests/uninorm/test-u16-nfkc.c: New file.
49536         * tests/uninorm/test-u32-nfkc.c: New file.
49537         * tests/uninorm/test-u32-nfkc-big.sh: New file.
49538         * tests/uninorm/test-u32-nfkc-big.c: New file.
49539         * modules/uninorm/nfkc-tests: New file.
49540
49541         New module 'uninorm/nfkc'.
49542         * lib/uninorm/nfkc.c: New file.
49543         * modules/uninorm/nfkc: New file.
49544
49545         Tests for module 'uninorm/nfkd'.
49546         * tests/uninorm/test-nfkd.c: New file.
49547         * tests/uninorm/test-u8-nfkd.c: New file.
49548         * tests/uninorm/test-u16-nfkd.c: New file.
49549         * tests/uninorm/test-u32-nfkd.c: New file.
49550         * tests/uninorm/test-u32-nfkd-big.sh: New file.
49551         * tests/uninorm/test-u32-nfkd-big.c: New file.
49552         * modules/uninorm/nfkd-tests: New file.
49553
49554         New module 'uninorm/nfkd'.
49555         * lib/uninorm/nfkd.c: New file.
49556         * modules/uninorm/nfkd: New file.
49557
49558         Tests for module 'uninorm/nfc'.
49559         * tests/uninorm/test-nfc.c: New file.
49560         * tests/uninorm/test-u8-nfc.c: New file.
49561         * tests/uninorm/test-u16-nfc.c: New file.
49562         * tests/uninorm/test-u32-nfc.c: New file.
49563         * tests/uninorm/test-u32-nfc-big.sh: New file.
49564         * tests/uninorm/test-u32-nfc-big.c: New file.
49565         * modules/uninorm/nfc-tests: New file.
49566
49567         New module 'uninorm/nfc'.
49568         * lib/uninorm/nfc.c: New file.
49569         * modules/uninorm/nfc: New file.
49570
49571         Tests for module 'uninorm/nfd'.
49572         * tests/uninorm/test-nfd.c: New file.
49573         * tests/uninorm/test-u8-nfd.c: New file.
49574         * tests/uninorm/test-u16-nfd.c: New file.
49575         * tests/uninorm/test-u32-nfd.c: New file.
49576         * tests/uninorm/test-u32-nfd-big.sh: New file.
49577         * tests/uninorm/test-u32-nfd-big.c: New file.
49578         * tests/uninorm/test-u32-normalize-big.h: New file.
49579         * tests/uninorm/test-u32-normalize-big.c: New file.
49580         * tests/uninorm/NormalizationTest.txt: New file, created from
49581         Unicode 5.1.0 NormalizationTest.txt.
49582         * modules/uninorm/nfd-tests: New file.
49583
49584         New module 'uninorm/nfd'.
49585         * lib/uninorm/nfd.c: New file.
49586         * modules/uninorm/nfd: New file.
49587
49588         New module 'uninorm/u32-normalize'.
49589         * lib/uninorm/u32-normalize.c: New file.
49590         * modules/uninorm/u32-normalize: New file.
49591
49592         New module 'uninorm/u16-normalize'.
49593         * lib/uninorm/u16-normalize.c: New file.
49594         * modules/uninorm/u16-normalize: New file.
49595
49596         New module 'uninorm/u8-normalize'.
49597         * lib/uninorm/u8-normalize.c: New file.
49598         * lib/uninorm/normalize-internal.h: New file.
49599         * lib/uninorm/u-normalize-internal.h: New file.
49600         * modules/uninorm/u8-normalize: New file.
49601
49602         New module 'uninorm/decompose-internal'.
49603         * lib/uninorm/decompose-internal.c: New file.
49604         * modules/uninorm/decompose-internal: New file.
49605
49606         Tests for module 'uninorm/composition'.
49607         * tests/uninorm/test-composition.c: New file.
49608         * modules/uninorm/composition-tests: New file.
49609
49610         New module 'uninorm/composition'.
49611         * lib/uninorm/composition.c: New file.
49612         * lib/uninorm/composition-table.gperf: New file, generated by
49613         gen-uni-tables.
49614         * modules/uninorm/composition: New file.
49615
49616         Tests for module 'uninorm/compat-decomposition'.
49617         * tests/uninorm/test-compat-decomposition.c: New file.
49618         * modules/uninorm/compat-decomposition-tests: New file.
49619
49620         New module 'uninorm/compat-decomposition'.
49621         * lib/uninorm/decompose-internal.h: New file.
49622         * lib/uninorm/compat-decomposition.c: New file.
49623         * modules/uninorm/compat-decomposition: New file.
49624
49625         Tests for module 'uninorm/canonical-decomposition'.
49626         * tests/uninorm/test-canonical-decomposition.c: New file.
49627         * modules/uninorm/canonical-decomposition-tests: New file.
49628
49629         New module 'uninorm/canonical-decomposition'.
49630         * lib/uninorm/canonical-decomposition.c: New file.
49631         * modules/uninorm/canonical-decomposition: New file.
49632
49633         Tests for module 'uninorm/decomposition'.
49634         * tests/uninorm/test-decomposition.c: New file.
49635         * modules/uninorm/decomposition-tests: New file.
49636
49637         New module 'uninorm/decomposition'.
49638         * lib/uninorm/decomposition.c: New file.
49639         * modules/uninorm/decomposition: New file.
49640
49641         New module 'uninorm/decomposition-table'.
49642         * lib/uninorm/decomposition-table.h: New file.
49643         * lib/uninorm/decomposition-table.c: New file.
49644         * lib/uninorm/decomposition-table1.h: New file, generated by
49645         gen-uni-tables.
49646         * lib/uninorm/decomposition-table2.h: New file, generated by
49647         gen-uni-tables.
49648         * modules/uninorm/decomposition-table: New file.
49649
49650         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
49651         (UC_DECOMP_*): New enumeration items.
49652         (get_decomposition): New function.
49653         (struct decomp_table): New type.
49654         (output_decomposition, output_decomposition_tables): New functions.
49655         (unicode_composition_exclusions): New variable.
49656         (fill_composition_exclusions, debug_output_composition_tables): New
49657         functions.
49658         (main): Accept one more argument. Invoke fill_composition_exclusions.
49659         Output decomposition and composition tables.
49660
49661         New module 'uninorm/base'.
49662         * lib/uninorm.h: New file.
49663         * lib/unictype.h: Update comment.
49664         * modules/uninorm/base: New file.
49665
49666 2009-02-21  David Lutterkort  <lutter@redhat.com>
49667
49668         Tests for module 'safe-alloc'.
49669         * tests/test-safe-alloc.c: New file.
49670         * modules/safe-alloc-tests: New file.
49671
49672         New module 'safe-alloc'.
49673         * lib/safe-alloc.h: New file.
49674         * lib/safe-alloc.c: New file.
49675         * m4/safe-alloc.m4: New file.
49676         * modules/safe-alloc: New file.
49677         * doc/safe-alloc.texi: New file.
49678         * doc/gnulib.texi: Include it.
49679         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
49680         safe-alloc.
49681
49682 2009-02-18  Bruno Haible  <bruno@clisp.org>
49683
49684         Fix link error on non-glibc systems.
49685         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
49686         variable.
49687         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
49688
49689 2009-02-18  Jim Meyering  <meyering@redhat.com>
49690
49691         fts: avoid used-uninitialized error due to recent change
49692         * lib/fts.c (fts_read): Guard uses of the new member,
49693         parent->fts_n_dirs_remaining, since it's not relevant for
49694         the parent of a directory specified on the command-line.
49695
49696 2009-02-17  James Youngman  <jay@gnu.org>
49697             Bruno Haible  <bruno@clisp.org>
49698
49699         * m4/include_next.m4: Reformulate comment.
49700
49701 2009-02-16  Jim Meyering  <meyering@redhat.com>
49702
49703         fts: add #if guards so that the fts_lgpl module still builds
49704         * lib/fts.c: Guard just-added hash-table-using parts with
49705         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
49706         Reported by Simon Josefsson.
49707
49708 2009-02-15  Bruno Haible  <bruno@clisp.org>
49709
49710         * modules/array-mergesort-tests: New file.
49711         * tests/test-array-mergesort.c: New file.
49712
49713         New module 'array-mergesort'.
49714         * modules/array-mergesort: New file.
49715         * lib/array-mergesort.h: New file.
49716
49717 2009-02-15  Bruno Haible  <bruno@clisp.org>
49718
49719         Fix 2009-02-07 commit.
49720         * lib/gen-uni-tables.c (output_predicate, output_category,
49721         output_combclass, output_bidi_category, output_decimal_digit,
49722         output_digit, output_numeric, output_mirror, output_scripts,
49723         output_ident_category, output_simple_mapping): Fix format directives.
49724         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
49725
49726 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
49727
49728         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
49729         fixes are available from IBM.
49730
49731 2009-02-13  Jim Meyering  <meyering@redhat.com>
49732
49733         fts: arrange not to stat non-directories in more cases
49734         This makes GNU find (when it doesn't need to stat each file)
49735         *much* more efficient at traversing reiserfs file systems.
49736         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
49737         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
49738         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
49739         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
49740         (leaf_optimization_applies): New function.
49741         (LCO_hash, LCO_compare): New helper functions.
49742         (link_count_optimize_ok): New function.
49743         (fts_stat): Initialize new member (if dir).
49744         (fts_read): Decrement parent's fts_n_dirs_remaining count if
49745         we've just stat'ed a directory.  Skip the stat call when possible.
49746         ---
49747         Note this AFS-related exchange:
49748         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
49749         and note find's pioctl call in find/fstype.c.
49750         But that is necessary only if you want to enable the
49751         optimization for AFS, and for now, I don't.
49752
49753         fts: move a function definition "up" (no semantic change)
49754         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
49755         "up" to precede upcoming use of a related function.
49756
49757 2009-02-11  Jim Meyering  <meyering@redhat.com>
49758
49759         fts: correct internal computation of nlinks (optimization-related)
49760         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
49761         whether the current entry is a directory, so don't test it.
49762
49763 2009-02-10  Bruno Haible  <bruno@clisp.org>
49764
49765         Tests for module 'uniwbrk/ulc-wordbreaks'.
49766         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
49767         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
49768         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
49769
49770         Tests for module 'uniwbrk/u32-wordbreaks'.
49771         * modules/uniwbrk/u32-wordbreaks-tests: New file.
49772         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
49773
49774         Tests for module 'uniwbrk/u16-wordbreaks'.
49775         * modules/uniwbrk/u16-wordbreaks-tests: New file.
49776         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
49777
49778         Tests for module 'uniwbrk/u8-wordbreaks'.
49779         * modules/uniwbrk/u8-wordbreaks-tests: New file.
49780         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
49781
49782 2009-02-10  Bruno Haible  <bruno@clisp.org>
49783
49784         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
49785         property.
49786         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
49787         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
49788         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
49789
49790 2009-02-10  Simon Josefsson  <simon@josefsson.org>
49791
49792         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
49793         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
49794
49795 2009-02-10  Bruno Haible  <bruno@clisp.org>
49796
49797         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
49798         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
49799         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
49800         * lib/unilbrk/u8-possible-linebreaks.c: Update.
49801         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
49802         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
49803
49804 2009-02-09  Simon Josefsson  <simon@josefsson.org>
49805
49806         * lib/sockets.h (gl_fd_to_handle): New function.
49807
49808         * tests/test-sockets.c: Call gl_fd_to_handle.
49809
49810 2009-02-09  Bruno Haible  <bruno@clisp.org>
49811
49812         * doc/havelib.texi: Document the conventions on bi-arch systems.
49813
49814 2009-02-08  Bruno Haible  <bruno@clisp.org>
49815
49816         Document the AC_LIB_LINKFLAGS macro.
49817         * doc/havelib.texi: New file, mostly written on 2005-05-24.
49818         * doc/gnulib.texi: Include it.
49819
49820 2009-02-08  Bruno Haible  <bruno@clisp.org>
49821
49822         Fix wrong order of sections, compared to TOC.
49823         * doc/gnulib.texi: Include relocatable-maint.texi after the
49824         "Regular expressions" node, not before.
49825
49826 2009-02-08  Bruno Haible  <bruno@clisp.org>
49827
49828         Tests for module 'unicase/totitle'.
49829         * modules/unicase/totitle-tests: New file.
49830
49831         Tests for module 'unicase/tolower'.
49832         * modules/unicase/tolower-tests: New file.
49833
49834         Tests for module 'unicase/toupper'.
49835         * modules/unicase/toupper-tests: New file.
49836         * tests/unicase/test-mapping-part1.h: New file.
49837         * tests/unicase/test-mapping-part2.h: New file.
49838
49839         New module 'unicase/totitle'.
49840         * modules/unicase/totitle: New file.
49841         * lib/unicase/totitle.c: New file.
49842
49843         New module 'unicase/tolower'.
49844         * modules/unicase/tolower: New file.
49845         * lib/unicase/tolower.c: New file.
49846
49847         New module 'unicase/toupper'.
49848         * modules/unicase/toupper: New file.
49849         * lib/unicase/toupper.c: New file.
49850         * lib/unicase/simple-mapping.h: New file.
49851
49852         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
49853         (mapping_table): New structure.
49854         (output_simple_mapping): New function.
49855         (main): Invoke output_simple_mapping_test and output_simple_mapping.
49856         * modules/gen-uni-tables (Description): Update.
49857         * lib/unicase/toupper.h: New file, automatically generated by
49858         gen-uni-tables.
49859         * lib/unicase/tolower.h: New file, automatically generated by
49860         gen-uni-tables.
49861         * lib/unicase/totitle.h: New file, automatically generated by
49862         gen-uni-tables.
49863         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
49864         gen-uni-tables.
49865         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
49866         gen-uni-tables.
49867         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
49868         gen-uni-tables.
49869
49870         New module 'unicase/base'.
49871         * modules/unicase/base: New file.
49872         * lib/unicase.h: New file.
49873
49874 2009-02-08  Bruno Haible  <bruno@clisp.org>
49875
49876         New module 'uniwbrk/ulc-wordbreaks'.
49877         * modules/uniwbrk/ulc-wordbreaks: New file.
49878         * lib/uniwbrk/ulc-wordbreaks.c: New file.
49879
49880         New module 'uniwbrk/u32-wordbreaks'.
49881         * modules/uniwbrk/u32-wordbreaks: New file.
49882         * lib/uniwbrk/u32-wordbreaks.c: New file.
49883
49884         New module 'uniwbrk/u16-wordbreaks'.
49885         * modules/uniwbrk/u16-wordbreaks: New file.
49886         * lib/uniwbrk/u16-wordbreaks.c: New file.
49887
49888         New module 'uniwbrk/u8-wordbreaks'.
49889         * modules/uniwbrk/u8-wordbreaks: New file.
49890         * lib/uniwbrk/u8-wordbreaks.c: New file.
49891         * lib/uniwbrk/u-wordbreaks.h: New file.
49892
49893         New module 'uniwbrk/table'.
49894         * modules/uniwbrk/table: New file.
49895         * lib/uniwbrk/wbrktable.h: New file.
49896         * lib/uniwbrk/wbrktable.c: New file.
49897
49898         New module 'uniwbrk/wordbreak-property'.
49899         * modules/uniwbrk/wordbreak-property: New file.
49900         * lib/uniwbrk/wordbreak-property.c: New file.
49901
49902         * lib/gen-uni-tables.c (WBP_*): New enum items.
49903         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
49904         (unicode_org_wbp): New variable.
49905         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
49906         New functions.
49907         (wbp_table): New structure.
49908         (output_wbp, output_wbrk_tables): New functions.
49909         (main): Accept additional argument. Invoke fill_org_wbp,
49910         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
49911         output_wbrk_tables.
49912         * modules/gen-uni-tables (Description): Update.
49913         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
49914         gen-uni-tables.
49915
49916         New module 'uniwbrk/base'.
49917         * modules/uniwbrk/base: New file.
49918         * lib/uniwbrk.h: New file.
49919
49920 2009-02-08  Bruno Haible  <bruno@clisp.org>
49921
49922         Update to Unicode 5.1.0.
49923         * lib/gen-uni-tables.c (is_property_alphabetic): Include
49924         U+2185..U+2188.
49925         (is_property_default_ignorable_code_point): Don't include characters
49926         of category Cc or Cs and not-a-characters.
49927         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
49928         U+0D79, U+109E, U+109F, U+A60C.
49929         * lib/unictype/bidi_of.h: Regenerated.
49930         * lib/unictype/blocks.h: Regenerated.
49931         * lib/unictype/categ_C.h: Regenerated.
49932         * lib/unictype/categ_Cf.h: Regenerated.
49933         * lib/unictype/categ_Cn.h: Regenerated.
49934         * lib/unictype/categ_L.h: Regenerated.
49935         * lib/unictype/categ_Ll.h: Regenerated.
49936         * lib/unictype/categ_Lm.h: Regenerated.
49937         * lib/unictype/categ_Lo.h: Regenerated.
49938         * lib/unictype/categ_Lu.h: Regenerated.
49939         * lib/unictype/categ_M.h: Regenerated.
49940         * lib/unictype/categ_Mc.h: Regenerated.
49941         * lib/unictype/categ_Me.h: Regenerated.
49942         * lib/unictype/categ_Mn.h: Regenerated.
49943         * lib/unictype/categ_N.h: Regenerated.
49944         * lib/unictype/categ_Nd.h: Regenerated.
49945         * lib/unictype/categ_Nl.h: Regenerated.
49946         * lib/unictype/categ_No.h: Regenerated.
49947         * lib/unictype/categ_P.h: Regenerated.
49948         * lib/unictype/categ_Pd.h: Regenerated.
49949         * lib/unictype/categ_Pe.h: Regenerated.
49950         * lib/unictype/categ_Pf.h: Regenerated.
49951         * lib/unictype/categ_Pi.h: Regenerated.
49952         * lib/unictype/categ_Po.h: Regenerated.
49953         * lib/unictype/categ_Ps.h: Regenerated.
49954         * lib/unictype/categ_S.h: Regenerated.
49955         * lib/unictype/categ_Sk.h: Regenerated.
49956         * lib/unictype/categ_Sm.h: Regenerated.
49957         * lib/unictype/categ_So.h: Regenerated.
49958         * lib/unictype/categ_of.h: Regenerated.
49959         * lib/unictype/combining.h: Regenerated.
49960         * lib/unictype/ctype_alnum.h: Regenerated.
49961         * lib/unictype/ctype_alpha.h: Regenerated.
49962         * lib/unictype/ctype_graph.h: Regenerated.
49963         * lib/unictype/ctype_lower.h: Regenerated.
49964         * lib/unictype/ctype_print.h: Regenerated.
49965         * lib/unictype/ctype_punct.h: Regenerated.
49966         * lib/unictype/ctype_upper.h: Regenerated.
49967         * lib/unictype/decdigit.h: Regenerated.
49968         * lib/unictype/digit.h: Regenerated.
49969         * lib/unictype/mirror.h: Regenerated.
49970         * lib/unictype/numeric.h: Regenerated.
49971         * lib/unictype/pr_alphabetic.h: Regenerated.
49972         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
49973         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
49974         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
49975         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
49976         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
49977         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
49978         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
49979         * lib/unictype/pr_combining.h: Regenerated.
49980         * lib/unictype/pr_dash.h: Regenerated.
49981         * lib/unictype/pr_decimal_digit.h: Regenerated.
49982         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
49983         * lib/unictype/pr_deprecated.h: Regenerated.
49984         * lib/unictype/pr_diacritic.h: Regenerated.
49985         * lib/unictype/pr_extender.h: Regenerated.
49986         * lib/unictype/pr_format_control.h: Regenerated.
49987         * lib/unictype/pr_grapheme_base.h: Regenerated.
49988         * lib/unictype/pr_grapheme_extend.h: Regenerated.
49989         * lib/unictype/pr_grapheme_link.h: Regenerated.
49990         * lib/unictype/pr_id_continue.h: Regenerated.
49991         * lib/unictype/pr_id_start.h: Regenerated.
49992         * lib/unictype/pr_ideographic.h: Regenerated.
49993         * lib/unictype/pr_ignorable_control.h: Regenerated.
49994         * lib/unictype/pr_lowercase.h: Regenerated.
49995         * lib/unictype/pr_math.h: Regenerated.
49996         * lib/unictype/pr_numeric.h: Regenerated.
49997         * lib/unictype/pr_other_alphabetic.h: Regenerated.
49998         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
49999         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
50000         * lib/unictype/pr_other_id_continue.h: Regenerated.
50001         * lib/unictype/pr_other_lowercase.h: Regenerated.
50002         * lib/unictype/pr_other_math.h: Regenerated.
50003         * lib/unictype/pr_punctuation.h: Regenerated.
50004         * lib/unictype/pr_sentence_terminal.h: Regenerated.
50005         * lib/unictype/pr_soft_dotted.h: Regenerated.
50006         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
50007         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
50008         * lib/unictype/pr_unified_ideograph.h: Regenerated.
50009         * lib/unictype/pr_uppercase.h: Regenerated.
50010         * lib/unictype/pr_xid_continue.h: Regenerated.
50011         * lib/unictype/pr_xid_start.h: Regenerated.
50012         * lib/unictype/pr_zero_width.h: Regenerated.
50013         * lib/unictype/scripts.h: Regenerated.
50014         * lib/unictype/scripts_byname.gperf: Regenerated.
50015         * lib/unictype/sy_java_ident.h: Regenerated.
50016         * lib/unilbrk/lbrkprop1.h: Regenerated.
50017         * lib/unilbrk/lbrkprop2.h: Regenerated.
50018         * tests/unictype/test-categ_C.c: Regenerated.
50019         * tests/unictype/test-categ_Cf.c: Regenerated.
50020         * tests/unictype/test-categ_Cn.c: Regenerated.
50021         * tests/unictype/test-categ_L.c: Regenerated.
50022         * tests/unictype/test-categ_Ll.c: Regenerated.
50023         * tests/unictype/test-categ_Lm.c: Regenerated.
50024         * tests/unictype/test-categ_Lo.c: Regenerated.
50025         * tests/unictype/test-categ_Lu.c: Regenerated.
50026         * tests/unictype/test-categ_M.c: Regenerated.
50027         * tests/unictype/test-categ_Mc.c: Regenerated.
50028         * tests/unictype/test-categ_Me.c: Regenerated.
50029         * tests/unictype/test-categ_Mn.c: Regenerated.
50030         * tests/unictype/test-categ_N.c: Regenerated.
50031         * tests/unictype/test-categ_Nd.c: Regenerated.
50032         * tests/unictype/test-categ_Nl.c: Regenerated.
50033         * tests/unictype/test-categ_No.c: Regenerated.
50034         * tests/unictype/test-categ_P.c: Regenerated.
50035         * tests/unictype/test-categ_Pd.c: Regenerated.
50036         * tests/unictype/test-categ_Pe.c: Regenerated.
50037         * tests/unictype/test-categ_Pf.c: Regenerated.
50038         * tests/unictype/test-categ_Pi.c: Regenerated.
50039         * tests/unictype/test-categ_Po.c: Regenerated.
50040         * tests/unictype/test-categ_Ps.c: Regenerated.
50041         * tests/unictype/test-categ_S.c: Regenerated.
50042         * tests/unictype/test-categ_Sk.c: Regenerated.
50043         * tests/unictype/test-categ_Sm.c: Regenerated.
50044         * tests/unictype/test-categ_So.c: Regenerated.
50045         * tests/unictype/test-ctype_alnum.c: Regenerated.
50046         * tests/unictype/test-ctype_alpha.c: Regenerated.
50047         * tests/unictype/test-ctype_graph.c: Regenerated.
50048         * tests/unictype/test-ctype_lower.c: Regenerated.
50049         * tests/unictype/test-ctype_print.c: Regenerated.
50050         * tests/unictype/test-ctype_punct.c: Regenerated.
50051         * tests/unictype/test-ctype_upper.c: Regenerated.
50052         * tests/unictype/test-decdigit.h: Regenerated.
50053         * tests/unictype/test-digit.h: Regenerated.
50054         * tests/unictype/test-numeric.h: Regenerated.
50055         * tests/unictype/test-pr_alphabetic.c: Regenerated.
50056         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
50057         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
50058         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
50059         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
50060         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
50061         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
50062         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
50063         * tests/unictype/test-pr_combining.c: Regenerated.
50064         * tests/unictype/test-pr_dash.c: Regenerated.
50065         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
50066         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
50067         * tests/unictype/test-pr_deprecated.c: Regenerated.
50068         * tests/unictype/test-pr_diacritic.c: Regenerated.
50069         * tests/unictype/test-pr_extender.c: Regenerated.
50070         * tests/unictype/test-pr_format_control.c: Regenerated.
50071         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
50072         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
50073         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
50074         * tests/unictype/test-pr_id_continue.c: Regenerated.
50075         * tests/unictype/test-pr_id_start.c: Regenerated.
50076         * tests/unictype/test-pr_ideographic.c: Regenerated.
50077         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
50078         * tests/unictype/test-pr_lowercase.c: Regenerated.
50079         * tests/unictype/test-pr_math.c: Regenerated.
50080         * tests/unictype/test-pr_numeric.c: Regenerated.
50081         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
50082         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
50083         Regenerated.
50084         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
50085         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
50086         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
50087         * tests/unictype/test-pr_other_math.c: Regenerated.
50088         * tests/unictype/test-pr_punctuation.c: Regenerated.
50089         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
50090         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
50091         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
50092         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
50093         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
50094         * tests/unictype/test-pr_uppercase.c: Regenerated.
50095         * tests/unictype/test-pr_xid_continue.c: Regenerated.
50096         * tests/unictype/test-pr_xid_start.c: Regenerated.
50097         * tests/unictype/test-pr_zero_width.c: Regenerated.
50098
50099         Update to Unicode 5.1.0.
50100         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
50101         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
50102         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
50103         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
50104         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
50105         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
50106         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
50107         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
50108         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
50109         (nonspacing_table_ind): Update.
50110         * tests/uniwidth/test-uc_width2.sh: Update expected result.
50111
50112         Update to Unicode 5.1.0.
50113         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
50114         code transform.
50115         * lib/uniname/uniname.c (unicode_character_name,
50116         unicode_name_character): Add the range 0x1Fxxx to the code transform.
50117         * lib/uniname/uninames.h: Regenerated.
50118         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
50119
50120 2009-02-07  Bruno Haible  <bruno@clisp.org>
50121
50122         Merge gen-ctype and gen-lbrk into a single program.
50123         * lib/gen-uni-tables.c: New file, incorporating
50124         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
50125         Add directory prefixes to the names of the generated files.
50126         * lib/unictype/gen-ctype.c: Remove file.
50127         * lib/unilbrk/gen-lbrk.c: Remove file.
50128         * modules/gen-uni-tables: New file.
50129         * modules/unictype/gen-ctype: Remove file.
50130         * modules/unilbrk/gen-lbrk: Remove file.
50131
50132 2009-02-07  Bruno Haible  <bruno@clisp.org>
50133
50134         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
50135
50136         New module 'unistr/u32-strcoll'.
50137         * modules/unistr/u32-strcoll: New file.
50138         * lib/unistr/u32-strcoll.c: New file.
50139
50140         New module 'unistr/u16-strcoll'.
50141         * modules/unistr/u16-strcoll: New file.
50142         * lib/unistr/u16-strcoll.c: New file.
50143
50144         New module 'unistr/u8-strcoll'.
50145         * modules/unistr/u8-strcoll: New file.
50146         * lib/unistr/u8-strcoll.c: New file.
50147         * lib/unistr/u-strcoll.h: New file.
50148
50149 2009-02-07  Bruno Haible  <bruno@clisp.org>
50150
50151         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
50152         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
50153         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
50154         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
50155         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
50156         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
50157
50158 2009-02-07  Bruno Haible  <bruno@clisp.org>
50159
50160         Make 64-bit clean.
50161         * lib/unictype/gen-ctype.c (output_predicate, output_category,
50162         output_combclass, output_bidi_category, output_decimal_digit,
50163         output_digit, output_numeric, output_mirror, output_scripts,
50164         output_ident_category): Use proper width specifier in format strings.
50165
50166 2009-02-07  Bruno Haible  <bruno@clisp.org>
50167
50168         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
50169         failure behaviour.
50170
50171 2009-02-07  Jim Meyering  <meyering@redhat.com>
50172
50173         regex: avoid compilation failure with upcoming gcc-4.4
50174         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
50175         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
50176         "... error: integer overflow in preprocessor expression".
50177
50178 2009-02-05  Ben Pfaff  <blp@gnu.org>
50179
50180         Fix link errors on Windows when close module is used.
50181         * modules/close: Add $(LIB_CLOSE) to Link section.
50182         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
50183         $(LIB_CLOSE) on Windows.
50184
50185 2009-02-05  Jim Meyering  <meyering@redhat.com>
50186
50187         still avoid unused-parameter warnings, but do it cleanly
50188         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
50189         (get_fs_usage): Cast to void instead.
50190         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
50191         (dev_from_mount_options, read_file_system_list): Cast to void.
50192         Prompted by Bruno Haible.
50193
50194 2009-02-04  Jim Meyering  <meyering@redhat.com>
50195
50196         fsusage.c: correct copyright year
50197         * lib/fsusage.c: Reflect year in which the change is pushed into
50198
50199         avoid misc. warnings
50200         * lib/fsusage.c (UNUSED_PARAM): Define.
50201         (get_fs_usage): Mark parameter "disk" as unused.
50202         * lib/getugroups.c (getgrent): Use "void" in prototype.
50203         * lib/mountlist.c: Mark unused parameters.
50204         (read_file_system_list): Declare a local with "const".
50205         * lib/nanosleep.c (getnow): Declare static.
50206         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
50207
50208         dirfd: set errno upon failure
50209         * lib/dirfd.c: Include <errno.h>.
50210         Set errno to ENOTSUP when returning -1.
50211         * modules/dirfd (Depends-on): Add errno.
50212         Suggested by John Kodis <kodis@comcast.net>.
50213
50214 2009-02-01  Bruno Haible  <bruno@clisp.org>
50215
50216         Don't assume sizeof (long) >= sizeof (void *).
50217         * lib/memcmp.c: Include stdint.h.
50218         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
50219         srcp2 to 'const byte *'.
50220         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
50221         types to uintptr_t.
50222         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
50223         * modules/memcmp (Depends-on): Add stdint.
50224         Reported by Ozkan Sezer <sezeroz@gmail.com>.
50225
50226 2009-01-30  Eric Blake  <ebb9@byu.net>
50227
50228         fix more require-before-expand issues
50229         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
50230         expand, AC_PROG_AWK.
50231         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
50232
50233 2009-01-28  Eric Blake  <ebb9@byu.net>
50234
50235         version-etc: use consistent URL formatting
50236         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
50237         Improve formatting.  Use fputs for string without %.
50238
50239 2009-01-28  Jim Meyering  <meyering@redhat.com>
50240
50241         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
50242         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
50243         "underquoted definition of NAME" from autoconf-2.59.
50244
50245 2009-01-28  Bruno Haible  <bruno@clisp.org>
50246
50247         * doc/gnulib.texi: Add "Obsolete modules" to index.
50248
50249 2009-01-28  Jim Meyering  <meyering@redhat.com>
50250
50251         useless-if-before-free: recognize more variants
50252         * build-aux/useless-if-before-free: Also recognize e.g.,
50253         if (NULL != p) free (p);
50254
50255 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
50256
50257         test-getaddrinfo: skip (don't fail) this test when there's no network
50258         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
50259         on the presumption that it means you lack network access.
50260
50261 2009-01-26  Jim Meyering  <meyering@redhat.com>
50262
50263         fflush: avoid warnings on modern systems
50264         * lib/fflush.c (rpl_fflush): Move declarations of locals,
50265         pos and result, into scopes where they're used.
50266
50267 2009-01-26  Eric Blake  <ebb9@byu.net>
50268
50269         Silence warning reintroduced by recent extensions patch.
50270         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
50271         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
50272         autoconf.
50273
50274         Backport improved autoconf semantics of AC_DEFUN_ONCE.
50275         * m4/00gnulib.m4: New file.
50276         * gnulib-tool (func_get_filelist): Always use it.
50277         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
50278         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
50279
50280 2009-01-25  Bruno Haible  <bruno@clisp.org>
50281
50282         Make test-quotearg work on MacOS X and AIX.
50283         * tests/test-quotearg.sh: New file.
50284         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
50285         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
50286         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
50287         include <libintl.h>.
50288         (fake_locale): Remove variable.
50289         (gettext, dgettext, dcgettext): Remove functions.
50290         (main): Instead of setting a fake locale, set a real locale. Call
50291         textdomain and bindtextdomain.
50292         * modules/quotearg-tests (Files): Add the new files.
50293         (Depends-on): Add gettext, setenv, unsetenv.
50294         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
50295         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
50296         Augment TESTS_ENVIRONMENT.
50297
50298 2009-01-25  Bruno Haible  <bruno@clisp.org>
50299
50300         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
50301         fr_FR.ISO8859-1 locale on MacOS X.
50302         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
50303         ja_JP.eucJP locale on MacOS X.
50304         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
50305         zh_CN.GB18030 locale on MacOS X.
50306
50307 2009-01-25  Bruno Haible  <bruno@clisp.org>
50308
50309         Avoid link errors on MacOS X 10.3.
50310         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
50311         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
50312
50313 2009-01-25  Bruno Haible  <bruno@clisp.org>
50314
50315         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
50316         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
50317         * modules/pipe (Files): Remove m4/posix_spawn.m4.
50318         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
50319         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
50320         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
50321         posix_spawnattr_init, posix_spawnattr_setsigmask,
50322         posix_spawnattr_setflags, posix_spawnattr_destroy.
50323
50324         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
50325         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
50326         * modules/execute (Files): Remove m4/posix_spawn.m4.
50327         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
50328         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
50329         posix_spawnattr_init, posix_spawnattr_setsigmask,
50330         posix_spawnattr_setflags, posix_spawnattr_destroy.
50331
50332 2009-01-25  Bruno Haible  <bruno@clisp.org>
50333
50334         * lib/glthread/threadlib.c: Include <stdlib.h>.
50335
50336 2009-01-25  Bruno Haible  <bruno@clisp.org>
50337
50338         * lib/glthread/threadlib.c (dummy): New declaration.
50339
50340 2009-01-25  Bruno Haible  <bruno@clisp.org>
50341
50342         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
50343         multibyte characters also for the GB18030 encoding. Don't crash when
50344         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
50345
50346 2009-01-25  Bruno Haible  <bruno@clisp.org>
50347
50348         Avoid redefining 'struct random_data' on OSF/1 5.1.
50349         * lib/stdlib.in.h: Include <random.h> if it exists.
50350         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
50351         HAVE_RANDOM_H. Include <random.h> when testing whether
50352         'struct random_data' exists.
50353         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
50354
50355 2009-01-25  Bruno Haible  <bruno@clisp.org>
50356
50357         Don't install charset.alias on MacOS X >= 10.3.
50358         * lib/localcharset.c (DARWIN7): New macro.
50359         (get_charset_aliases): Hardcode the result for Darwin7.
50360         * modules/localcharset (install-exec-local): Don't install
50361         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
50362
50363 2009-01-25  Bruno Haible  <bruno@clisp.org>
50364
50365         Don't install charset.alias on mingw and Cygwin.
50366         * modules/localcharset (install-exec-local): Don't install
50367         charset.alias on mingw and Cygwin, if the file does not yet exist.
50368         The result for these platforms is hardcoded in localcharset.c.
50369
50370 2009-01-25  Bruno Haible  <bruno@clisp.org>
50371
50372         Make it possible again to use AC_GNU_SOURCE together with gnulib.
50373         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
50374         before requiring AC_USE_SYSTEM_EXTENSIONS.
50375
50376 2009-01-25  Jim Meyering  <meyering@redhat.com>
50377
50378         c-strtod: avoid warnings
50379         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
50380         "assignment discards qualifiers from pointer target type" warnings.
50381
50382 2009-01-24  Bruno Haible  <bruno@clisp.org>
50383
50384         Add support for non-UTF-8 locales on MacOS X.
50385         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
50386         canonical encodings. For Darwin 7 and newer, don't map traditional
50387         encodings to UTF-8.
50388         Reported by Vincent Lefevre <vincent@vinc17.org>
50389         at <http://savannah.gnu.org/bugs/?25235>.
50390
50391 2009-01-24  Bruno Haible  <bruno@clisp.org>
50392
50393         * doc/gnulib.texi (Obsolete modules): New section.
50394         Reported by Mike Frysinger <vapier@gentoo.org>.
50395
50396 2009-01-24  Bruno Haible  <bruno@clisp.org>
50397
50398         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
50399         (%.dvi): New rule.
50400
50401 2009-01-24  Bruno Haible  <bruno@clisp.org>
50402
50403         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
50404         Reported by Eric Blake.
50405
50406 2009-01-24  Bruno Haible  <bruno@clisp.org>
50407
50408         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
50409         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
50410         Reported by Gary V. Vaughan <gary@gnu.org>.
50411
50412 2009-01-24  Bruno Haible  <bruno@clisp.org>
50413
50414         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
50415
50416 2009-01-23  Bruno Haible  <bruno@clisp.org>
50417
50418         Make c-strtod, c-strtold usable in libraries.
50419         * lib/c-strtod.c: Include string.h instead of xalloc.h.
50420         (C_STRTOD): Call strdup instead of xstrdup.
50421         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
50422         * modules/c-strtold (Depends-on): Likewise.
50423         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
50424         * NEWS: Mention the change.
50425         Reported by Michael Gold <mgold@ncf.ca>.
50426
50427 2009-01-23  Jim Meyering  <meyering@redhat.com>
50428
50429         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
50430         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
50431         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
50432
50433 2009-01-23  Simon Josefsson  <simon@josefsson.org>
50434
50435         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
50436         GNU CoreUtils.
50437         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
50438         * modules/version-etc (Description): Update.
50439
50440 2009-01-22  Bruno Haible  <bruno@clisp.org>
50441
50442         Cache the C locale object.
50443         * lib/c-strtod.c (c_locale_cache): New variable.
50444         (c_locale): New function.
50445         (C_STRTOD): Use it, and don't call freelocale.
50446         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
50447         Suggested by Paolo Bonzini.
50448
50449 2009-01-21  Bruno Haible  <bruno@clisp.org>
50450
50451         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
50452         conditions other than overflow.
50453
50454 2009-01-21  Bruno Haible  <bruno@clisp.org>
50455
50456         * lib/c-strtod.c: Include errno.h.
50457         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
50458         value from STRTOD_L and STRTOD.
50459
50460 2009-01-21  Bruno Haible  <bruno@clisp.org>
50461         and Jim Meyering  <meyering@redhat.com>
50462
50463         nanosleep: skip configure test (fail it) for apple universal builds
50464         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
50465         universal builds, assume that nanosleep does not work.
50466         * modules/nanosleep (Depends-on): Add multiarch.
50467
50468         mktime: skip configure test (fail it) for apple universal builds
50469         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
50470         universal builds, assume that mktime does not work.
50471         * modules/mktime (Depends-on): Add multiarch.
50472
50473 2009-01-21  Eric Blake  <ebb9@byu.net>
50474
50475         multiarch: avoid expand-before-require warning
50476         * modules/multiarch (configure.ac): Require, rather than expand,
50477         gl_MULTIARCH.
50478         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
50479         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
50480         enforce that all clients require it.  Partial reversion of
50481         2008-12-29 patch.
50482
50483         error: avoid expand-before-require warning
50484         * modules/errno (configure.ac): Require, rather than expand,
50485         gl_HEADER_ERRNO_H.
50486         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
50487         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
50488         enforce that all clients require it.
50489
50490         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
50491         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
50492         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
50493         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
50494
50495 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
50496
50497         Revert:
50498         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
50499
50500         regex: do not depend on obsolete modules.
50501         * modules/regex: Remove memcmp and memmove.
50502
50503 2009-01-20  Bruno Haible  <bruno@clisp.org>
50504
50505         Make the 'link' module link on Windows NT 4.
50506         * lib/link.c (_WIN32_WINNT): Don't define.
50507         (CreateHardLinkFuncType): New type.
50508         (CreateHardLinkFunc, initialized): New variables.
50509         (initialize): New function.
50510         (link): Invoke CreateHardLink indirectly through the function pointer.
50511
50512 2009-01-20  Bruno Haible  <bruno@clisp.org>
50513
50514         Fix compilation failure on mingw.
50515         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
50516
50517 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
50518
50519         * doc/c-strtod.texi: Mention a couple of restrictions.
50520
50521 2009-01-20  Jim Meyering  <meyering@redhat.com>
50522
50523         gettimeofday: move more declarations out of functions
50524         * lib/gettimeofday.c: Move extern declarations of tzset and
50525         gmtime out of containing functions.  Prompted by Bruno Haible.
50526
50527 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
50528
50529         regex: do not depend on obsolete modules.
50530         * modules/regex: Remove memcmp and memmove.
50531
50532 2009-01-19  Bruno Haible  <bruno@clisp.org>
50533
50534         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
50535         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
50536         gl_BIGENDIAN, not AC_C_BIGENDIAN.
50537         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
50538         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
50539
50540 2009-01-19  Bruno Haible  <bruno@clisp.org>
50541
50542         * tests/test-link.c: Include <errno.h>.
50543         (main): Exit with code 77 when a hard link cannot be created due to
50544         the file system.
50545         * tests/test-link.sh: Skip test when a hard link cannot be created due
50546         to the file system.
50547         Suggested by Eric Blake.
50548
50549 2009-01-19  Martin Lambers  <marlam@marlam.de>
50550
50551         * modules/link-tests: New file.
50552         * tests/test-link.sh: New file.
50553         * tests/test-link.c: New file.
50554
50555 2009-01-19  Eric Blake  <ebb9@byu.net>
50556
50557         doc: mention another function added in cygwin 1.7.0
50558         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
50559         Another new function in cygwin 1.7.
50560
50561 2009-01-19  Bruno Haible  <bruno@clisp.org>
50562
50563         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
50564         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
50565         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
50566         gl_BIGENDIAN, not AC_C_BIGENDIAN.
50567         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
50568         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
50569         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
50570         * m4/md4.m4 (gl_MD4): Likewise.
50571         * m4/md5.m4 (gl_MD5): Likewise.
50572         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
50573         * m4/sha1.m4 (gl_SHA1): Likewise.
50574         * m4/sha256.m4 (gl_SHA256): Likewise.
50575         * m4/sha512.m4 (gl_SHA512): Likewise.
50576
50577 2009-01-19  Bruno Haible  <bruno@clisp.org>
50578
50579         * modules/uniname/uniname-tests (Depends-on): Add progname.
50580         * tests/uniname/test-uninames.c: Include progname.h.
50581         (main): Call set_program_name.
50582
50583         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
50584         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
50585         (main): Call set_program_name.
50586
50587         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
50588         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
50589         (main): Call set_program_name.
50590
50591         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
50592         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
50593         (main): Call set_program_name.
50594
50595         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
50596         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
50597         (main): Call set_program_name.
50598
50599         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
50600         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
50601         (main): Call set_program_name.
50602
50603         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
50604         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
50605         (main): Call set_program_name.
50606
50607         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
50608         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
50609         (main): Call set_program_name.
50610
50611         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
50612         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
50613         (main): Call set_program_name.
50614
50615 2009-01-19  Eric Blake  <ebb9@byu.net>
50616
50617         test-unistd: test previous patch
50618         * tests/test-unistd.c: Test *_FILENO macros.
50619
50620         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
50621         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
50622         Guarantee a definition.
50623         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
50624         * modules/unistd-safer (Depends-on): Add dependency on unistd.
50625         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
50626         * lib/dup-safer.c (STDERR_FILENO): Likewise.
50627         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
50628         Likewise.
50629         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
50630         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
50631         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
50632         Likewise.
50633         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
50634         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
50635         (STDERR_FILENO): Likewise.
50636         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
50637         (STDERR_FILENO): Likewise.
50638         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
50639         (STDERR_FILENO): Likewise.
50640         Reported by Elbert Pol.
50641
50642 2009-01-19  Eric Blake  <ebb9@byu.net>
50643
50644         doc: mention more functions added in cygwin 1.7.0
50645         * doc/posix-functions/abort.texi (abort): Update wording related
50646         to cygwin.
50647         * doc/posix-functions/daylight.texi (daylight): Likewise.
50648         * doc/posix-functions/optarg.texi (optarg): Likewise.
50649         * doc/posix-functions/optarg.texi (opterr): Likewise.
50650         * doc/posix-functions/optarg.texi (optind): Likewise.
50651         * doc/posix-functions/optarg.texi (optopt): Likewise.
50652         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
50653         worked in 1.5.x, and was withdrawn in 1.7.
50654         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
50655         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
50656         cygwin versions.
50657         * doc/posix-functions/perror.texi (perror): Likewise.
50658         * doc/posix-functions/printf.texi (printf): Likewise.
50659         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
50660         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
50661         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
50662         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
50663         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
50664         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
50665         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
50666         Likewise.
50667         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
50668         Likewise.
50669         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
50670         this function.
50671         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
50672         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
50673         Likewise.
50674         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
50675         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
50676         * doc/posix-functions/confstr.texi (confstr): Likewise.
50677         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
50678         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
50679         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
50680         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
50681         * doc/posix-functions/fputws.texi (fputws): Likewise.
50682         * doc/posix-functions/fwide.texi (fwide): Likewise.
50683         * doc/posix-functions/getwc.texi (getwc): Likewise.
50684         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
50685         * doc/posix-functions/putwc.texi (putwc): Likewise.
50686         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
50687         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
50688         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
50689         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
50690         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
50691         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
50692         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
50693         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
50694         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
50695         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
50696         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
50697
50698 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
50699
50700         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
50701         * lib/ioctl.c: Include <sys/ioctl.h>.
50702
50703 2009-01-19  Simon Josefsson  <simon@josefsson.org>
50704
50705         * modules/getdate-tests (Depends-on): Add progname.
50706         * tests/test-getdate.c: Use progname module, to avoid link errors
50707         on non-glibc systems.
50708
50709 2009-01-18  Simon Josefsson  <simon@josefsson.org>
50710
50711         * modules/filenamecat-tests (Depends-on): Add progname.
50712         * modules/fstrcmp-tests (Depends-on): Likewise.
50713
50714         * tests/test-filenamecat.c: Use progname module, to avoid link
50715         errors on non-glibc systems.
50716         * tests/test-fstrcmp.c: Likewise.
50717
50718 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
50719
50720         gettimeofday: avoid warning: nested extern declaration of 'localtime'
50721         * lib/gettimeofday.c: Move extern declaration out of function.
50722
50723 2009-01-18  Bruno Haible  <bruno@clisp.org>
50724
50725         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
50726         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
50727         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
50728
50729 2009-01-18  Bruno Haible  <bruno@clisp.org>
50730
50731         * lib/strftime.c (MEMPCPY): Remove unused macro.
50732         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
50733
50734 2009-01-18  Martin Lambers  <marlam@marlam.de>
50735
50736         New module 'link'.
50737         * lib/unistd.in.h (link): New declaration.
50738         * lib/link.c: New file.
50739         * m4/link.m4: New file.
50740         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
50741         HAVE_LINK.
50742         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
50743         * modules/link: New file.
50744         * doc/posix-functions/link.texi: Mention the new module.
50745
50746 2009-01-18  Bruno Haible  <bruno@clisp.org>
50747
50748         * tests/test-avltree_list.c (main): Call set_program_name.
50749         * tests/test-avltree_oset.c (main): Likewise.
50750         * tests/test-obstack-printf.c: Include progname.h.
50751         (main): Call set_program_name.
50752         * tests/test-quotearg.c: Include progname.h.
50753         (main): Call set_program_name.
50754         * tests/test-xmemdup0.c: Include progname.h.
50755         (main): Call set_program_name.
50756
50757 2009-01-18  Bruno Haible  <bruno@clisp.org>
50758
50759         New module 'alphasort'.
50760         * lib/dirent.in.h (alphasort): New declaration.
50761         * lib/alphasort.c: New file, from glibc with modifications.
50762         * m4/alphasort.m4: New file.
50763         * modules/alphasort: New file.
50764         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
50765         HAVE_ALPHASORT.
50766         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
50767         HAVE_ALPHASORT.
50768         * doc/posix-functions/alphasort.texi: Mention the new module and the
50769         portability problems.
50770
50771 2009-01-18  Bruno Haible  <bruno@clisp.org>
50772
50773         New module 'scandir'.
50774         * lib/dirent.in.h (scandir): New declaration.
50775         * lib/scandir.c: New file, from glibc with modifications.
50776         * m4/scandir.m4: New file.
50777         * modules/scandir: New file.
50778         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
50779         HAVE_SCANDIR.
50780         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
50781         HAVE_SCANDIR.
50782         * doc/posix-functions/scandir.texi: Mention the new module and the
50783         portability problems.
50784
50785 2009-01-17  Bruno Haible  <bruno@clisp.org>
50786
50787         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
50788         Update documentation.
50789         (func_remove_suffix): Escape all dots in the suffix. Update
50790         documentation.
50791         (func_filter_filelist): Update documentation.
50792         Reported by Ralf Wildenhues.
50793
50794 2009-01-17  Bruno Haible  <bruno@clisp.org>
50795
50796         * modules/dprintf-posix-tests: New file.
50797         * tests/test-dprintf-posix.sh: New file.
50798         * tests/test-dprintf-posix.c: New file.
50799
50800         New modules 'dprintf', 'dprintf-posix'.
50801         * lib/stdio.in.h (dprintf): New declaration.
50802         * lib/dprintf.c: New file.
50803         * m4/dprintf.m4: New file.
50804         * m4/dprintf-posix.m4: New file.
50805         * modules/dprintf: New file.
50806         * modules/dprintf-posix: New file.
50807         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
50808         HAVE_DPRINTF, REPLACE_DPRINTF.
50809         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
50810         HAVE_DPRINTF, REPLACE_DPRINTF.
50811         * doc/posix-functions/dprintf.texi: Mention the new modules.
50812
50813 2009-01-17  Bruno Haible  <bruno@clisp.org>
50814
50815         * modules/vdprintf-posix-tests: New file.
50816         * tests/test-vdprintf-posix.sh: New file.
50817         * tests/test-vdprintf-posix.c: New file.
50818
50819         New modules 'vdprintf', 'vdprintf-posix'.
50820         * lib/stdio.in.h (vdprintf): New declaration.
50821         * lib/vdprintf.c: New file.
50822         * m4/vdprintf.m4: New file.
50823         * m4/vdprintf-posix.m4: New file.
50824         * modules/vdprintf: New file.
50825         * modules/vdprintf-posix: New file.
50826         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
50827         HAVE_VDPRINTF, REPLACE_VDPRINTF.
50828         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
50829         HAVE_VDPRINTF, REPLACE_VDPRINTF.
50830         * doc/posix-functions/vdprintf.texi: Mention the new modules.
50831
50832 2009-01-17  Bruno Haible  <bruno@clisp.org>
50833
50834         Fix replacement of fopen on mingw.
50835         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
50836         mingw.
50837
50838 2009-01-17  Bruno Haible  <bruno@clisp.org>
50839
50840         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
50841         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
50842
50843 2009-01-17  Bruno Haible  <bruno@clisp.org>
50844
50845         Avoid test-fflush2.sh failure on mingw.
50846         * tests/test-fflush2.c: Include binary-io.h.
50847         (main): Put standard input into binary mode.
50848         * modules/fflush-tests (Depends-on): Add binary-io.
50849
50850 2009-01-17  Bruno Haible  <bruno@clisp.org>
50851
50852         * lib/wchar.in.h: In another particular situation, include only the
50853         system's <wchar.h> file.
50854         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
50855         Reported by Albert Chin-A-Young <china@thewrittenword.com>
50856         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
50857
50858 2009-01-17  Bruno Haible  <bruno@clisp.org>
50859
50860         Support for stripping executables in --enable-relocatable.
50861         * build-aux/install-reloc: Expect one more argument, or an environment
50862         variable RELOC_STRIP_PROG. If set, strip the destination program and
50863         its wrapper.
50864         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
50865         RELOC_STRIP_PROG.
50866         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
50867         to set RELOCATABLE_STRIP.
50868         * NEWS: Mention the new Makefile requirement.
50869
50870 2009-01-17  Bruno Haible  <bruno@clisp.org>
50871
50872         * build-aux/install-reloc: Remove debugging information left over by
50873         C compiler on MacOS X.
50874
50875 2009-01-17  Bruno Haible  <bruno@clisp.org>
50876
50877         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
50878         * lib/progreloc.c (find_executable): Fix type of pointer passed to
50879         _NSGetExecutablePath.
50880
50881 2009-01-16  Jim Meyering  <meyering@redhat.com>
50882
50883         strerror: avoid warnings about discarding "const"
50884         * lib/strerror.c (rpl_strerror): Instead of returning a const
50885         string from each and every "case", use a variable, and add a single
50886         cast after the switch.
50887
50888 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
50889
50890         * lib/arpa_inet.in.h: Add extern "C" block for C++.
50891
50892 2009-01-16  Bruno Haible  <bruno@clisp.org>
50893
50894         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
50895         array initializer syntax that also works in C++ mode.
50896         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50897
50898 2009-01-16  Jim Meyering  <meyering@redhat.com>
50899
50900         poll: suppress a warning
50901         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
50902         to ignore "...unsigned expression < 0 is always false" warnings.
50903
50904 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
50905
50906         poll: remove declarations of unused variables
50907         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
50908         sockbuf and optlen.
50909
50910 2009-01-15  Bruno Haible  <bruno@clisp.org>
50911
50912         Make fflush-after-ungetc POSIX compliant on BSD systems.
50913         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
50914         (clear_ungetc_buffer): Implement also for other systems.
50915         (rpl_fflush): On glibc systems, invoke
50916         clear_ungetc_buffer_preserving_position. Otherwise, invoke
50917         clear_ungetc_buffer after fetching the stream's position, not before.
50918
50919 2009-01-15  Bruno Haible  <bruno@clisp.org>
50920
50921         Make fflush-after-ungetc POSIX compliant on glibc systems.
50922         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
50923         after ungetc.
50924         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
50925         (rpl_fflush): On glibc systems, simply call the system's fflush
50926         function after clearing the ungetc buffer.
50927         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
50928         Instead, lseek only to the end of file, then use the system's fseeko
50929         for the rest. On glibc systems, reset the EOF indicator bit.
50930
50931 2009-01-15  Jim Meyering  <meyering@redhat.com>
50932
50933         openmp.m4: revert quote-adding change, for portability to older autoconf
50934         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
50935         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
50936         Simon Josefsson noticed the problem when using autoconf-2.61.
50937
50938 2009-01-15  Bruno Haible  <bruno@clisp.org>
50939
50940         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
50941         * tests/test-fflush2.c (ASSERT): Always fail.
50942         (main): Add two tests for fflush() after ungetc(), taking into account
50943         the Austin Group's clarification.
50944         Suggested by Eric Blake.
50945
50946 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
50947
50948         mktime.m4: remove K&R-style function prototypes
50949         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
50950         for the Sun C++ compiler.
50951
50952 2009-01-14  Bruno Haible  <bruno@clisp.org>
50953
50954         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
50955         while including <wchar.h>.
50956         * lib/wchar.in.h: In two particular situations on HP-UX, include only
50957         the system's <wchar.h> file.
50958         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
50959
50960 2009-01-14  Bruno Haible  <bruno@clisp.org>
50961
50962         * m4/csharp.m4: Don't mention gettext on the serial number line.
50963         * m4/csharpexec.m4: Likewise.
50964         * m4/eaccess.m4: Likewise.
50965         * m4/javaexec.m4: Likewise.
50966         * m4/sig_atomic_t.m4: Likewise.
50967         * m4/tmpdir.m4: Likewise.
50968         * m4/intldir.m4: Bump gettext version.
50969         * m4/lib-ld.m4: Likewise.
50970
50971 2009-01-14  Bruno Haible  <bruno@clisp.org>
50972
50973         * lib/progname.c (set_program_name): Add more comments.
50974         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
50975
50976 2009-01-14  Simon Josefsson  <simon@josefsson.org>
50977
50978         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
50979         were sys/stat.h does not define it.
50980
50981 2009-01-14  Jim Meyering  <meyering@redhat.com>
50982
50983         many *.m4 files: improve m4 quoting
50984         99% of this change was performed by running the following commands:
50985         git ls-files | grep '\.m4$' | xargs perl -pi \
50986           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
50987           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
50988           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
50989           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
50990         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
50991         The remainder were to add Copyright dates, increment serial numbers,
50992         undo some changes in comments, exclude m4/intl.m4, and add quotes
50993         around the "1" in ",1" where the unusual spacing prohibited the
50994         above regexps from doing the job.  For more details, see
50995         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
50996         * m4/acl.m4: Modified.
50997         * m4/afs.m4: Likewise.
50998         * m4/alloca.m4: Likewise.
50999         * m4/argp.m4: Likewise.
51000         * m4/argz.m4: Likewise.
51001         * m4/atexit.m4: Likewise.
51002         * m4/bison-i18n.m4: Likewise.
51003         * m4/bison.m4: Likewise.
51004         * m4/byteswap.m4: Likewise.
51005         * m4/c-stack.m4: Likewise.
51006         * m4/c-strtod.m4: Likewise.
51007         * m4/calloc.m4: Likewise.
51008         * m4/canonicalize-lgpl.m4: Likewise.
51009         * m4/chown.m4: Likewise.
51010         * m4/clock_time.m4: Likewise.
51011         * m4/codeset.m4: Likewise.
51012         * m4/copy-file.m4: Likewise.
51013         * m4/csharp.m4: Likewise.
51014         * m4/csharpcomp.m4: Likewise.
51015         * m4/csharpexec.m4: Likewise.
51016         * m4/d-ino.m4: Likewise.
51017         * m4/d-type.m4: Likewise.
51018         * m4/dirfd.m4: Likewise.
51019         * m4/double-slash-root.m4: Likewise.
51020         * m4/eaccess.m4: Likewise.
51021         * m4/eealloc.m4: Likewise.
51022         * m4/environ.m4: Likewise.
51023         * m4/errno_h.m4: Likewise.
51024         * m4/euidaccess.m4: Likewise.
51025         * m4/execute.m4: Likewise.
51026         * m4/fatal-signal.m4: Likewise.
51027         * m4/fchdir.m4: Likewise.
51028         * m4/fcntl_h.m4: Likewise.
51029         * m4/fileblocks.m4: Likewise.
51030         * m4/filenamecat.m4: Likewise.
51031         * m4/findprog.m4: Likewise.
51032         * m4/flexmember.m4: Likewise.
51033         * m4/fnmatch.m4: Likewise.
51034         * m4/fopen.m4: Likewise.
51035         * m4/fpending.m4: Likewise.
51036         * m4/fprintf-posix.m4: Likewise.
51037         * m4/free.m4: Likewise.
51038         * m4/frexp.m4: Likewise.
51039         * m4/frexpl.m4: Likewise.
51040         * m4/fsusage.m4: Likewise.
51041         * m4/ftruncate.m4: Likewise.
51042         * m4/gc-camellia.m4: Likewise.
51043         * m4/gc-random.m4: Likewise.
51044         * m4/gc.m4: Likewise.
51045         * m4/getaddrinfo.m4: Likewise.
51046         * m4/getcwd-abort-bug.m4: Likewise.
51047         * m4/getcwd-path-max.m4: Likewise.
51048         * m4/getdate.m4: Likewise.
51049         * m4/getdomainname.m4: Likewise.
51050         * m4/getgroups.m4: Likewise.
51051         * m4/gethostname.m4: Likewise.
51052         * m4/gethrxtime.m4: Likewise.
51053         * m4/getline.m4: Likewise.
51054         * m4/getloadavg.m4: Likewise.
51055         * m4/getndelim2.m4: Likewise.
51056         * m4/getpass.m4: Likewise.
51057         * m4/gettext.m4: Likewise.
51058         * m4/gettime.m4: Likewise.
51059         * m4/gettimeofday.m4: Likewise.
51060         * m4/gnulib-common.m4: Likewise.
51061         * m4/group-member.m4: Likewise.
51062         * m4/host-os.m4: Likewise.
51063         * m4/iconv.m4: Likewise.
51064         * m4/iconv_open.m4: Likewise.
51065         * m4/inet_ntop.m4: Likewise.
51066         * m4/inet_pton.m4: Likewise.
51067         * m4/inline.m4: Likewise.
51068         * m4/intldir.m4: Likewise.
51069         * m4/intlmacosx.m4: Likewise.
51070         * m4/intmax.m4: Likewise.
51071         * m4/intmax_t.m4: Likewise.
51072         * m4/inttypes.m4: Likewise.
51073         * m4/inttypes_h.m4: Likewise.
51074         * m4/inttypes-pri.m4: Likewise.
51075         * m4/isapipe.m4: Likewise.
51076         * m4/isnand.m4: Likewise.
51077         * m4/isnanf.m4: Likewise.
51078         * m4/isnanl.m4: Likewise.
51079         * m4/javacomp.m4: Likewise.
51080         * m4/javaexec.m4: Likewise.
51081         * m4/jm-winsz1.m4: Likewise.
51082         * m4/jm-winsz2.m4: Likewise.
51083         * m4/lchown.m4: Likewise.
51084         * m4/lcmessage.m4: Likewise.
51085         * m4/ldexpl.m4: Likewise.
51086         * m4/lib-ld.m4: Likewise.
51087         * m4/lib-link.m4: Likewise.
51088         * m4/libsigsegv.m4: Likewise.
51089         * m4/link-follow.m4: Likewise.
51090         * m4/localcharset.m4: Likewise.
51091         * m4/locale-fr.m4: Likewise.
51092         * m4/locale-ja.m4: Likewise.
51093         * m4/locale-tr.m4: Likewise.
51094         * m4/locale-zh.m4: Likewise.
51095         * m4/lock.m4: Likewise.
51096         * m4/longlong.m4: Likewise.
51097         * m4/ls-mntd-fs.m4: Likewise.
51098         * m4/lstat.m4: Likewise.
51099         * m4/malloc.m4: Likewise.
51100         * m4/mathl.m4: Likewise.
51101         * m4/mbrtowc.m4: Likewise.
51102         * m4/mbstate_t.m4: Likewise.
51103         * m4/mbswidth.m4: Likewise.
51104         * m4/memchr.m4: Likewise.
51105         * m4/memcmp.m4: Likewise.
51106         * m4/memcpy.m4: Likewise.
51107         * m4/memmem.m4: Likewise.
51108         * m4/memmove.m4: Likewise.
51109         * m4/mempcpy.m4: Likewise.
51110         * m4/memrchr.m4: Likewise.
51111         * m4/memset.m4: Likewise.
51112         * m4/minmax.m4: Likewise.
51113         * m4/mkdir-slash.m4: Likewise.
51114         * m4/mkdtemp.m4: Likewise.
51115         * m4/mktime.m4: Likewise.
51116         * m4/mmap-anon.m4: Likewise.
51117         * m4/mountlist.m4: Likewise.
51118         * m4/nanosleep.m4: Likewise.
51119         * m4/nls.m4: Likewise.
51120         * m4/nocrash.m4: Likewise.
51121         * m4/open.m4: Likewise.
51122         * m4/openat.m4: Likewise.
51123         * m4/openmp.m4: Likewise.
51124         * m4/pathmax.m4: Likewise.
51125         * m4/perl.m4: Likewise.
51126         * m4/physmem.m4: Likewise.
51127         * m4/pipe.m4: Likewise.
51128         * m4/po.m4: Likewise.
51129         * m4/poll.m4: Likewise.
51130         * m4/posixtm.m4: Likewise.
51131         * m4/posixver.m4: Likewise.
51132         * m4/printf-frexp.m4: Likewise.
51133         * m4/printf-frexpl.m4: Likewise.
51134         * m4/printf-posix.m4: Likewise.
51135         * m4/printf-posix-rpl.m4: Likewise.
51136         * m4/printf.m4: Likewise.
51137         * m4/progtest.m4: Likewise.
51138         * m4/putenv.m4: Likewise.
51139         * m4/readline.m4: Likewise.
51140         * m4/readlink.m4: Likewise.
51141         * m4/readutmp.m4: Likewise.
51142         * m4/realloc.m4: Likewise.
51143         * m4/regex.m4: Likewise.
51144         * m4/relocatable.m4: Likewise.
51145         * m4/relocatable-lib.m4: Likewise.
51146         * m4/rename-dest-slash.m4: Likewise.
51147         * m4/rename.m4: Likewise.
51148         * m4/rmdir-errno.m4: Likewise.
51149         * m4/rmdir.m4: Likewise.
51150         * m4/roundf.m4: Likewise.
51151         * m4/roundl.m4: Likewise.
51152         * m4/rpmatch.m4: Likewise.
51153         * m4/save-cwd.m4: Likewise.
51154         * m4/selinux-selinux-h.m4: Likewise.
51155         * m4/setenv.m4: Likewise.
51156         * m4/settime.m4: Likewise.
51157         * m4/sig2str.m4: Likewise.
51158         * m4/sig_atomic_t.m4: Likewise.
51159         * m4/signalblocking.m4: Likewise.
51160         * m4/signbit.m4: Likewise.
51161         * m4/sigpipe.m4: Likewise.
51162         * m4/sockets.m4: Likewise.
51163         * m4/sockpfaf.m4: Likewise.
51164         * m4/st_dm_mode.m4: Likewise.
51165         * m4/stat-time.m4: Likewise.
51166         * m4/stdbool.m4: Likewise.
51167         * m4/stdint.m4: Likewise.
51168         * m4/stdint_h.m4: Likewise.
51169         * m4/stpcpy.m4: Likewise.
51170         * m4/stpncpy.m4: Likewise.
51171         * m4/strcase.m4: Likewise.
51172         * m4/strchrnul.m4: Likewise.
51173         * m4/strcspn.m4: Likewise.
51174         * m4/strdup.m4: Likewise.
51175         * m4/strftime.m4: Likewise.
51176         * m4/strndup.m4: Likewise.
51177         * m4/strnlen.m4: Likewise.
51178         * m4/strpbrk.m4: Likewise.
51179         * m4/strptime.m4: Likewise.
51180         * m4/strsep.m4: Likewise.
51181         * m4/strtod.m4: Likewise.
51182         * m4/strtoimax.m4: Likewise.
51183         * m4/strtok_r.m4: Likewise.
51184         * m4/strtol.m4: Likewise.
51185         * m4/strtoll.m4: Likewise.
51186         * m4/strtoul.m4: Likewise.
51187         * m4/strtoull.m4: Likewise.
51188         * m4/strtoumax.m4: Likewise.
51189         * m4/strverscmp.m4: Likewise.
51190         * m4/threadlib.m4: Likewise.
51191         * m4/timegm.m4: Likewise.
51192         * m4/tm_gmtoff.m4: Likewise.
51193         * m4/tmpdir.m4: Likewise.
51194         * m4/tmpfile.m4: Likewise.
51195         * m4/tzset.m4: Likewise.
51196         * m4/uintmax_t.m4: Likewise.
51197         * m4/unlinkdir.m4: Likewise.
51198         * m4/unlocked-io.m4: Likewise.
51199         * m4/uptime.m4: Likewise.
51200         * m4/userspec.m4: Likewise.
51201         * m4/utimbuf.m4: Likewise.
51202         * m4/utime.m4: Likewise.
51203         * m4/utimes-null.m4: Likewise.
51204         * m4/utimes.m4: Likewise.
51205         * m4/vararrays.m4: Likewise.
51206         * m4/vasnprintf.m4: Likewise.
51207         * m4/vfprintf-posix.m4: Likewise.
51208         * m4/vprintf-posix.m4: Likewise.
51209         * m4/wait-process.m4: Likewise.
51210         * m4/wchar_t.m4: Likewise.
51211         * m4/wint_t.m4: Likewise.
51212         * m4/write-any-file.m4: Likewise.
51213         * m4/yield.m4: Likewise.
51214
51215 2009-01-13  Bruno Haible  <bruno@clisp.org>
51216
51217         Avoid test-copy-file.sh failures when ACL support insufficient.
51218         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
51219         TESTS_ENVIRONMENT.
51220         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
51221         Reported by Jim Meyering.
51222
51223 2009-01-13  Bruno Haible  <bruno@clisp.org>
51224
51225         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
51226         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
51227         * modules/unistdio/u8-printf-parse (Files): Likewise.
51228         * modules/unistdio/u32-printf-parse (Files): Likewise.
51229         * modules/unistdio/ulc-printf-parse (Files): Likewise.
51230
51231 2009-01-13  Simon Josefsson  <simon@josefsson.org>
51232
51233         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
51234         and m4/inttypes_h.m4 too.
51235
51236 2009-01-12  Eric Blake  <ebb9@byu.net>
51237
51238         tests: IRIX 6.2 cc can't compile -0.0 into .data
51239         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
51240         rather than at compile-time.
51241         * tests/test-floorl.c (minus_zero): Likewise.
51242         * tests/test-frexpl.c (minus_zero): Likewise.
51243         * tests/test-isnan.c (minus_zerol): Likewise.
51244         * tests/test-isnanl.h (minus_zero): Likewise.
51245         * tests/test-ldexpl.c (minus_zero): Likewise.
51246         * tests/test-roundl.c (minus_zero): Likewise.
51247         * tests/test-signbit.c (minus_zerol): Likewise.
51248         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
51249         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
51250         * tests/test-truncl.c (minus_zero): Likewise.
51251         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
51252         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
51253         Reported by Tom G. Christensen and Nelson H. F. Beebe.
51254
51255 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
51256
51257         regex: fix glibc bug 9697
51258         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
51259         handling.
51260
51261 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
51262
51263         regex: fix glibc bug 697
51264         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
51265         being NULL also if there are no backreferences.
51266
51267 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
51268
51269         regex: merge glibc changes
51270         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
51271         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
51272         re_string_skip_chars, re_string_reconstruct): Likewise.
51273         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
51274
51275 2009-01-07  Jim Meyering  <meyering@redhat.com>
51276
51277         poll: filter through cppi
51278         * lib/poll.c: Indent cpp directives to reflect nesting.
51279
51280 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
51281
51282         poll: don't return uninitialized
51283         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
51284
51285 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
51286
51287         avoid compile failure on AIX 6.1
51288         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
51289         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
51290
51291 2009-01-04  Jim Meyering  <meyering@redhat.com>
51292
51293         remove duplicate inclusion of <stdio.h>
51294         * tests/test-fprintf-posix.c: Likewise.
51295         * tests/test-printf-posix.c: Likewise.
51296         * tests/test-snprintf-posix.c: Likewise.
51297         * tests/test-sprintf-posix.c: Likewise.
51298         * tests/test-vasprintf-posix.c: Likewise.
51299         * tests/test-vfprintf-posix.c: Likewise.
51300         * tests/test-vprintf-posix.c: Likewise.
51301         * tests/test-vsnprintf-posix.c: Likewise.
51302         * tests/test-vsprintf-posix.c: Likewise.
51303
51304 2009-01-03  Jim Meyering  <meyering@redhat.com>
51305
51306         gnulib-tool: fix sed-based filtering
51307         * gnulib-tool (func_filter_filelist): Remove extra backslash
51308         in sed_fff_filter definition.
51309
51310 2009-01-02  Jim Meyering  <meyering@redhat.com>
51311
51312         strftime: avoid compilation failure on Solaris 2.6
51313         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
51314         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
51315         Don't #define mbrlen or mbsinit, since now they're guaranteed to
51316         be available.  Reported by Tom G. Christensen.  Details in
51317         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
51318
51319 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51320             Bruno Haible  <bruno@clisp.org>
51321
51322         Speed up gnulib-tool by doing more string processing through shell
51323         built-ins.
51324         * gnulib-tool (fast_func_append): New variable.
51325         (func_remove_prefix, func_remove_suffix): New functions.
51326         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
51327         (func_filter_filelist): New function.
51328         (func_get_dependencies): Use func_remove_suffix instead of sed.
51329         (func_get_automake_snippet): Use func_filter_filelist instead of a
51330         subshell and sed invocation.
51331
51332 2009-01-01  Bruno Haible  <bruno@clisp.org>
51333
51334         Fix a security bug.
51335         * gnulib-tool (func_import, import, update): Don't allow the characters
51336         '"', '$', '`', '\' in macro arguments that become part of commands that
51337         are evaluated.
51338
51339 2009-01-01  Bruno Haible  <bruno@clisp.org>
51340
51341         * gnulib-tool (func_reset_sigpipe): Add more comments.
51342
51343 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51344
51345         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
51346         func_emit_tests_Makefile_am, func_import): Abort loops early if we
51347         already know the answer.
51348
51349 2009-01-01  Jim Meyering  <meyering@redhat.com>
51350
51351         * lib/version-etc.c (version_etc_va): Update copyright year.
51352
51353 2008-12-30  Bruno Haible  <bruno@clisp.org>
51354
51355         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
51356         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
51357         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
51358
51359 2008-12-29  Eric Blake  <ebb9@byu.net>
51360
51361         multiarch: avoid autoconf AC_REQUIRE bug
51362         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
51363         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
51364         2.63 and older.
51365         Reported by Bruno Haible, and analyzed in
51366         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
51367
51368 2008-12-29  Bruno Haible  <bruno@clisp.org>
51369
51370         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
51371         files in subdirectories correctly.
51372         Reported by Ralf Wildenhues.
51373
51374 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51375
51376         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
51377         rather than 'join FILE -', for Solaris join.
51378
51379 2008-12-29  Bruno Haible  <bruno@clisp.org>
51380
51381         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
51382         quoting.
51383         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
51384         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
51385         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
51386         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
51387         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
51388         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
51389         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
51390         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
51391         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
51392         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
51393         * m4/nls.m4 (AM_NLS): Likewise.
51394         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
51395         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
51396         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
51397         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
51398         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
51399         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
51400         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
51401         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
51402         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
51403         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
51404         * m4/xsize.m4 (gl_XSIZE): Likewise.
51405         Suggested by Jim Meyering.
51406
51407 2008-11-17  Bruce Korb  <bkorb@gnu.org>
51408
51409         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
51410         * lib/parse-duration.c: use a switch instead of cascading if's.
51411
51412 2008-12-29  Eric Blake  <ebb9@byu.net>
51413
51414         wchar.h: supply WEOF on Irix 5.3
51415         * lib/wchar.in.h (wint_t): Also supply WEOF.
51416         * lib/wctype.in.h (wint_t): Likewise.
51417         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
51418         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
51419         Reported by Tom G. Christensen.
51420
51421 2008-12-26  Bruno Haible  <bruno@clisp.org>
51422
51423         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
51424         i486, i586, i686.
51425
51426 2008-12-26  Bruno Haible  <bruno@clisp.org>
51427
51428         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
51429
51430 2008-12-26  Bruno Haible  <bruno@clisp.org>
51431
51432         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
51433         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
51434         not __STDC_CONSTANT_MACROS.
51435         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
51436
51437 2008-12-25  Bruno Haible  <bruno@clisp.org>
51438
51439         Add support for universal builds to vasnprintf.
51440         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
51441         universal builds, guess no.
51442         * modules/vasnprintf-posix (Depends-on): Add multiarch.
51443         * modules/vasprintf-posix (Depends-on): Likewise.
51444         * modules/fprintf-posix (Depends-on): Likewise.
51445         * modules/vfprintf-posix (Depends-on): Likewise.
51446         * modules/snprintf-posix (Depends-on): Likewise.
51447         * modules/vsnprintf-posix (Depends-on): Likewise.
51448         * modules/sprintf-posix (Depends-on): Likewise.
51449         * modules/vsprintf-posix (Depends-on): Likewise.
51450         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51451         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51452         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51453         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51454         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51455         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51456         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51457
51458         Add support for universal builds to <inttypes.h>.
51459         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
51460         _SCNu64_PREFIX): In Apple
51461         universal builds, define directly, using _LP64.
51462         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
51463         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
51464         * modules/inttypes (Depends-on): Add multiarch.
51465         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
51466
51467         Add support for universal builds to <stdint.h>.
51468         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
51469         universal builds, define directly, using _LP64.
51470         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
51471         Apple universal builds, don't test for the size and suffix of ptrdiff_t
51472         and size_t.
51473         * modules/stdint (Depends-on): Add multiarch.
51474         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
51475
51476         New module 'multiarch'.
51477         * modules/multiarch: New file.
51478         * m4/multiarch.m4: New file.
51479
51480 2008-12-25  Bruno Haible  <bruno@clisp.org>
51481
51482         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
51483
51484 2008-12-25  Bruno Haible  <bruno@clisp.org>
51485
51486         * modules/btowc (License): Relicense under LGPLv2+.
51487         * modules/mbsinit (License): Likewise.
51488         * modules/mbrtowc (License): Likewise.
51489         * modules/wcrtomb (License): Likewise.
51490         * modules/streq (License): Likewise.
51491         Reported by David Lutterkort <lutter@redhat.com>.
51492
51493 2008-12-23  Bruno Haible  <bruno@clisp.org>
51494
51495         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
51496
51497 2008-12-23  Bruno Haible  <bruno@clisp.org>
51498
51499         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
51500         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
51501         GETADDRINFO_LIB, not in LIBS.
51502         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
51503         * modules/canon-host (Link): Likewise.
51504         * NEWS: Mention the change.
51505         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
51506         GETADDRINFO_LIB.
51507
51508 2008-12-22  Bruno Haible  <bruno@clisp.org>
51509
51510         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
51511         * doc/posix-functions/iswalpha_l.texi: Likewise.
51512         * doc/posix-functions/iswblank_l.texi: Likewise.
51513         * doc/posix-functions/iswcntrl_l.texi: Likewise.
51514         * doc/posix-functions/iswctype_l.texi: Likewise.
51515         * doc/posix-functions/iswdigit_l.texi: Likewise.
51516         * doc/posix-functions/iswgraph_l.texi: Likewise.
51517         * doc/posix-functions/iswlower_l.texi: Likewise.
51518         * doc/posix-functions/iswprint_l.texi: Likewise.
51519         * doc/posix-functions/iswpunct_l.texi: Likewise.
51520         * doc/posix-functions/iswspace_l.texi: Likewise.
51521         * doc/posix-functions/iswupper_l.texi: Likewise.
51522         * doc/posix-functions/iswxdigit_l.texi: Likewise.
51523         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
51524         * doc/posix-functions/open_wmemstream.texi: Likewise.
51525         * doc/posix-functions/swscanf.texi: Likewise.
51526         * doc/posix-functions/towctrans_l.texi: Likewise.
51527         * doc/posix-functions/towlower.texi: Likewise.
51528         * doc/posix-functions/towlower_l.texi: Likewise.
51529         * doc/posix-functions/towupper.texi: Likewise.
51530         * doc/posix-functions/towupper_l.texi: Likewise.
51531         * doc/posix-functions/vfwprintf.texi: Likewise.
51532         * doc/posix-functions/vfwscanf.texi: Likewise.
51533         * doc/posix-functions/vswscanf.texi: Likewise.
51534         * doc/posix-functions/vwprintf.texi: Likewise.
51535         * doc/posix-functions/vwscanf.texi: Likewise.
51536         * doc/posix-functions/wcpcpy.texi: Likewise.
51537         * doc/posix-functions/wcpncpy.texi: Likewise.
51538         * doc/posix-functions/wcscasecmp.texi: Likewise.
51539         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
51540         * doc/posix-functions/wcscoll_l.texi: Likewise.
51541         * doc/posix-functions/wcsdup.texi: Likewise.
51542         * doc/posix-functions/wcsncasecmp.texi: Likewise.
51543         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
51544         * doc/posix-functions/wcsnlen.texi: Likewise.
51545         * doc/posix-functions/wcsnrtombs.texi: Likewise.
51546         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
51547         * doc/posix-functions/wctrans_l.texi: Likewise.
51548         * doc/posix-functions/wctype_l.texi: Likewise.
51549         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
51550         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
51551         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
51552         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
51553         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
51554         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
51555         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
51556         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
51557         * doc/glibc-functions/wcschrnul.texi: Likewise.
51558         * doc/glibc-functions/wcsftime_l.texi: Likewise.
51559         * doc/glibc-functions/wcstod_l.texi: Likewise.
51560         * doc/glibc-functions/wcstof_l.texi: Likewise.
51561         * doc/glibc-functions/wcstol_l.texi: Likewise.
51562         * doc/glibc-functions/wcstold_l.texi: Likewise.
51563         * doc/glibc-functions/wcstoll_l.texi: Likewise.
51564         * doc/glibc-functions/wcstoq.texi: Likewise.
51565         * doc/glibc-functions/wcstoul_l.texi: Likewise.
51566         * doc/glibc-functions/wcstoull_l.texi: Likewise.
51567         * doc/glibc-functions/wcstouq.texi: Likewise.
51568         * doc/glibc-functions/wmempcpy.texi: Likewise.
51569
51570 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
51571             Eric Blake  <ebb9@byu.net>
51572             Paolo Bonzini  <bonzini@gnu.org>
51573             Bruno Haible  <bruno@clisp.org>
51574
51575         Make c-stack work on Haiku.
51576         * lib/c-stack.c (SA_ONSTACK): Define fallback.
51577         (c_stack_action): Use SA_ONSTACK flag.
51578
51579 2008-12-22  Bruno Haible  <bruno@clisp.org>
51580
51581         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
51582
51583 2008-12-22  Bruno Haible  <bruno@clisp.org>
51584
51585         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
51586         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
51587         being overridden.
51588         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
51589         New macros.
51590         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
51591         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
51592         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
51593         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
51594
51595 2008-12-22  Bruno Haible  <bruno@clisp.org>
51596
51597         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
51598         from test code.
51599
51600 2008-12-22  Eric Blake  <ebb9@byu.net>
51601
51602         Avoid gcc warnings on cygwin.
51603         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
51604         Avoid unused variable.
51605         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
51606         Likewise.
51607
51608 2008-12-22  Bruno Haible  <bruno@clisp.org>
51609
51610         Remove HAVE_MBRTOWC conditionals.
51611         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
51612         (mbscasecmp): Assume mbrtowc function.
51613         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
51614         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
51615         * lib/mbschr.c: Include mbuiter.h unconditionally.
51616         (mbschr): Assume mbrtowc function.
51617         * lib/mbscspn.c: Include mbuiter.h unconditionally.
51618         (mbscspn): Assume mbrtowc function.
51619         * lib/mbslen.c: Include mbuiter.h unconditionally.
51620         (mbslen): Assume mbrtowc function.
51621         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
51622         (mbsncasecmp): Assume mbrtowc function.
51623         * lib/mbsnlen.c: Include mbiter.h unconditionally.
51624         (mbsnlen): Assume mbrtowc function.
51625         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
51626         (mbspbrk): Assume mbrtowc function.
51627         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
51628         (mbspcasecmp): Assume mbrtowc function.
51629         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
51630         (mbsrchr): Assume mbrtowc function.
51631         * lib/mbssep.c: Include mbuiter.h unconditionally.
51632         (mbssep): Assume mbrtowc function.
51633         * lib/mbsspn.c: Include mbuiter.h unconditionally.
51634         (mbsspn): Assume mbrtowc function.
51635         * lib/mbsstr.c: Include mbuiter.h unconditionally.
51636         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
51637         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
51638         (mbstok_r): Assume mbrtowc function.
51639         * lib/propername.c: Include mbuiter.h unconditionally.
51640         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
51641         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
51642         (trim2): Assume mbrtowc function.
51643         * lib/mbswidth.c (mbsinit): Remove fallback definition.
51644         (mbsnwidth): Assume mbrtowc function.
51645         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
51646         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
51647         fallback definitions.
51648         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
51649
51650 2008-12-22  Bruno Haible  <bruno@clisp.org>
51651
51652         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
51653
51654 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
51655
51656         * modules/regex: Request emulations for the mb*/wc* functions we need.
51657         * m4/regex.m4: Don't look for those functions here.
51658         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
51659
51660 2008-12-22  Bruno Haible  <bruno@clisp.org>
51661
51662         * modules/fnmatch (Depends-on): Remove duplicated dependency.
51663
51664 2008-12-21  Bruno Haible  <bruno@clisp.org>
51665
51666         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
51667         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
51668         (Include): Remove conditionalization.
51669         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
51670         (Include): Remove conditionalization.
51671         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
51672         (Include): Remove conditionalization.
51673         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
51674         * m4/mbfile.m4 (gl_MBFILE): Likewise.
51675         * NEWS: Mention the change.
51676         Reported by Alan Hourihane <alanh@fairlite.co.uk>
51677         via Sergey Poznyakoff <gray@gnu.org.ua>.
51678
51679 2008-12-21  Bruno Haible  <bruno@clisp.org>
51680
51681         * MODULES.html.sh (Extended multibyte and wide character utilities
51682         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
51683         wcrtomb, wcsrtombs.
51684         (Support for systems lacking POSIX:2008): Add accept, bind, close,
51685         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
51686         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
51687         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
51688
51689 2008-12-21  Bruno Haible  <bruno@clisp.org>
51690
51691         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
51692
51693 2008-12-21  Bruno Haible  <bruno@clisp.org>
51694
51695         * modules/wcsnrtombs-tests: New file.
51696         * tests/test-wcsnrtombs1.sh: New file.
51697         * tests/test-wcsnrtombs2.sh: New file.
51698         * tests/test-wcsnrtombs3.sh: New file.
51699         * tests/test-wcsnrtombs4.sh: New file.
51700         * tests/test-wcsnrtombs.c: New file.
51701
51702         New module 'wcsnrtombs'.
51703         * lib/wchar.in.h (wcsnrtombs): New declaration.
51704         * lib/wcsnrtombs.c: New file.
51705         * lib/wcsrtombs-state.c: New file.
51706         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
51707         (internal_state): Remove variable.
51708         * m4/wcsnrtombs.m4: New file.
51709         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
51710         compilation units.
51711         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
51712         HAVE_WCSNRTOMBS.
51713         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
51714         HAVE_WCSNRTOMBS.
51715         * modules/wcsnrtombs: New file.
51716         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
51717         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
51718
51719 2008-12-21  Bruno Haible  <bruno@clisp.org>
51720
51721         * modules/wcsrtombs-tests: New file.
51722         * tests/test-wcsrtombs1.sh: New file.
51723         * tests/test-wcsrtombs2.sh: New file.
51724         * tests/test-wcsrtombs3.sh: New file.
51725         * tests/test-wcsrtombs4.sh: New file.
51726         * tests/test-wcsrtombs.c: New file.
51727
51728         New module 'wcsrtombs'.
51729         * lib/wchar.in.h (wcsrtombs): New declaration.
51730         * lib/wcsrtombs.c: New file.
51731         * m4/wcsrtombs.m4: New file.
51732         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
51733         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
51734         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
51735         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
51736         * modules/wcsrtombs: New file.
51737         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
51738         bugs.
51739
51740 2008-12-21  Bruno Haible  <bruno@clisp.org>
51741
51742         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
51743         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
51744         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
51745         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
51746         if not correct.
51747         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
51748         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
51749         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
51750         m4/locale-zh.m4, m4/codeset.m4.
51751         * doc/posix-functions/wcrtomb.texi: Document the bug.
51752
51753 2008-12-21  Bruno Haible  <bruno@clisp.org>
51754
51755         Work around a btowc() bug on IRIX 6.5.
51756         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
51757         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
51758         REPLACE_WTOBC if not.
51759         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
51760         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
51761         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
51762
51763 2008-12-21  Bruno Haible  <bruno@clisp.org>
51764
51765         * modules/wcrtomb-tests: New file.
51766         * tests/test-wcrtomb.sh: New file.
51767         * tests/test-wcrtomb.c: New file.
51768
51769         New module 'wcrtomb'.
51770         * lib/wchar.in.h (wcrtomb): New declaration.
51771         * lib/wcrtomb.c: New file.
51772         * m4/wcrtomb.m4: New file.
51773         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
51774         HAVE_WCRTOMB.
51775         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
51776         HAVE_WCRTOMB.
51777         * modules/wcrtomb: New file.
51778         * doc/posix-functions/wcrtomb.texi: Mention the new module.
51779
51780 2008-12-21  Bruno Haible  <bruno@clisp.org>
51781
51782         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
51783         * modules/mbsrtowcs (Files): Likewise.
51784         * modules/wctob (Files): Likewise.
51785         * modules/c-strcase-tests (Files): Likewise.
51786         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
51787         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
51788         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
51789         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
51790         * modules/vasnprintf-posix-tests (Files): Likewise.
51791
51792 2008-12-21  William Pursell  <bill.pursell@gmail.com>
51793
51794         gitlog-to-changelog: pass all command-line arguments to git-log
51795         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
51796         it is sometimes convenient to filter the commits in various ways.
51797         gitlog-to-changelog only allows --since to specify a start date,
51798         but git-log itself supports many other filtering mechanisms.
51799         At the moment, I want to filter by branch name.  Rather than
51800         adding a --branch option to gitlog-to-changelog, it seems more
51801         flexible to simply pass all options directly to git-log and let
51802         git do the work.  Notice that this effectively makes --since a
51803         redundant option for gitlog-to-changelog, but removing it would
51804         require current usage to change since calls would then require
51805         an additional '--'.
51806
51807 2008-12-21  Bruno Haible  <bruno@clisp.org>
51808
51809         * modules/mbsnrtowcs-tests: New file.
51810         * tests/test-mbsnrtowcs1.sh: New file.
51811         * tests/test-mbsnrtowcs2.sh: New file.
51812         * tests/test-mbsnrtowcs3.sh: New file.
51813         * tests/test-mbsnrtowcs4.sh: New file.
51814         * tests/test-mbsnrtowcs.c: New file.
51815
51816         New module 'mbsnrtowcs'.
51817         * lib/wchar.in.h (mbsnrtowcs): New declaration.
51818         * lib/mbsnrtowcs.c: New file.
51819         * lib/mbsrtowcs-state.c: New file.
51820         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
51821         (internal_state): Remove variable.
51822         * m4/mbsnrtowcs.m4: New file.
51823         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
51824         compilation units.
51825         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
51826         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
51827         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
51828         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
51829         * modules/mbsnrtowcs: New file.
51830         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
51831         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
51832         portability problem.
51833
51834 2008-12-21  Bruno Haible  <bruno@clisp.org>
51835
51836         Work around mbsrtowcs bug.
51837         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
51838         (gl_FUNC_MBSRTOWCS): Invoke it.
51839         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
51840         m4/locale-zh.m4.
51841         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
51842
51843 2008-12-21  Bruno Haible  <bruno@clisp.org>
51844
51845         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
51846
51847 2008-12-21  Bruno Haible  <bruno@clisp.org>
51848
51849         Update doc for AIX.
51850         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
51851         16-bit wchar_t type.
51852         * doc/posix-functions/btowc.texi: Likewise.
51853         * doc/posix-functions/fgetwc.texi: Likewise.
51854         * doc/posix-functions/fgetws.texi: Likewise.
51855         * doc/posix-functions/fputwc.texi: Likewise.
51856         * doc/posix-functions/fputws.texi: Likewise.
51857         * doc/posix-functions/fwide.texi: Likewise.
51858         * doc/posix-functions/fwprintf.texi: Likewise.
51859         * doc/posix-functions/fwscanf.texi: Likewise.
51860         * doc/posix-functions/getwchar.texi: Likewise.
51861         * doc/posix-functions/getwc.texi: Likewise.
51862         * doc/posix-functions/iswalnum.texi: Likewise.
51863         * doc/posix-functions/iswalpha.texi: Likewise.
51864         * doc/posix-functions/iswblank.texi: Likewise.
51865         * doc/posix-functions/iswcntrl.texi: Likewise.
51866         * doc/posix-functions/iswctype.texi: Likewise.
51867         * doc/posix-functions/iswdigit.texi: Likewise.
51868         * doc/posix-functions/iswgraph.texi: Likewise.
51869         * doc/posix-functions/iswlower.texi: Likewise.
51870         * doc/posix-functions/iswprint.texi: Likewise.
51871         * doc/posix-functions/iswpunct.texi: Likewise.
51872         * doc/posix-functions/iswspace.texi: Likewise.
51873         * doc/posix-functions/iswupper.texi: Likewise.
51874         * doc/posix-functions/iswxdigit.texi: Likewise.
51875         * doc/posix-functions/mbrtowc.texi: Likewise.
51876         * doc/posix-functions/mbsrtowcs.texi: Likewise.
51877         * doc/posix-functions/mbstowcs.texi: Likewise.
51878         * doc/posix-functions/mbtowc.texi: Likewise.
51879         * doc/posix-functions/putwchar.texi: Likewise.
51880         * doc/posix-functions/putwc.texi: Likewise.
51881         * doc/posix-functions/swprintf.texi: Likewise.
51882         * doc/posix-functions/tolower.texi: Likewise.
51883         * doc/posix-functions/toupper.texi: Likewise.
51884         * doc/posix-functions/towctrans.texi: Likewise.
51885         * doc/posix-functions/ungetwc.texi: Likewise.
51886         * doc/posix-functions/vswprintf.texi: Likewise.
51887         * doc/posix-functions/wcrtomb.texi: Likewise.
51888         * doc/posix-functions/wcscat.texi: Likewise.
51889         * doc/posix-functions/wcschr.texi: Likewise.
51890         * doc/posix-functions/wcscmp.texi: Likewise.
51891         * doc/posix-functions/wcscoll.texi: Likewise.
51892         * doc/posix-functions/wcscpy.texi: Likewise.
51893         * doc/posix-functions/wcscspn.texi: Likewise.
51894         * doc/posix-functions/wcsftime.texi: Likewise.
51895         * doc/posix-functions/wcslen.texi: Likewise.
51896         * doc/posix-functions/wcsncat.texi: Likewise.
51897         * doc/posix-functions/wcsncmp.texi: Likewise.
51898         * doc/posix-functions/wcsncpy.texi: Likewise.
51899         * doc/posix-functions/wcspbrk.texi: Likewise.
51900         * doc/posix-functions/wcsrchr.texi: Likewise.
51901         * doc/posix-functions/wcsrtombs.texi: Likewise.
51902         * doc/posix-functions/wcsspn.texi: Likewise.
51903         * doc/posix-functions/wcsstr.texi: Likewise.
51904         * doc/posix-functions/wcstod.texi: Likewise.
51905         * doc/posix-functions/wcstof.texi: Likewise.
51906         * doc/posix-functions/wcstoimax.texi: Likewise.
51907         * doc/posix-functions/wcstok.texi: Likewise.
51908         * doc/posix-functions/wcstold.texi: Likewise.
51909         * doc/posix-functions/wcstoll.texi: Likewise.
51910         * doc/posix-functions/wcstol.texi: Likewise.
51911         * doc/posix-functions/wcstombs.texi: Likewise.
51912         * doc/posix-functions/wcstoull.texi: Likewise.
51913         * doc/posix-functions/wcstoul.texi: Likewise.
51914         * doc/posix-functions/wcstoumax.texi: Likewise.
51915         * doc/posix-functions/wcswidth.texi: Likewise.
51916         * doc/posix-functions/wcsxfrm.texi: Likewise.
51917         * doc/posix-functions/wctob.texi: Likewise.
51918         * doc/posix-functions/wctomb.texi: Likewise.
51919         * doc/posix-functions/wctrans.texi: Likewise.
51920         * doc/posix-functions/wctype.texi: Likewise.
51921         * doc/posix-functions/wcwidth.texi: Likewise.
51922         * doc/posix-functions/wmemchr.texi: Likewise.
51923         * doc/posix-functions/wmemcmp.texi: Likewise.
51924         * doc/posix-functions/wmemcpy.texi: Likewise.
51925         * doc/posix-functions/wmemmove.texi: Likewise.
51926         * doc/posix-functions/wmemset.texi: Likewise.
51927         * doc/posix-functions/wprintf.texi: Likewise.
51928         * doc/posix-functions/wscanf.texi: Likewise.
51929
51930 2008-12-21  Bruno Haible  <bruno@clisp.org>
51931
51932         Update doc for HP-UX 11.11.
51933         * doc/posix-functions/btowc.texi: Clarify that the function is missing
51934         in HP-UX version 11.00, not in all versions of HP-UX 11.
51935         * doc/posix-functions/fwide.texi: Likewise.
51936         * doc/posix-functions/fwprintf.texi: Likewise.
51937         * doc/posix-functions/fwscanf.texi: Likewise.
51938         * doc/posix-functions/inet_ntop.texi: Likewise.
51939         * doc/posix-functions/inet_pton.texi: Likewise.
51940         * doc/posix-functions/mbrlen.texi: Likewise.
51941         * doc/posix-functions/mbrtowc.texi: Likewise.
51942         * doc/posix-functions/mbsinit.texi: Likewise.
51943         * doc/posix-functions/mbsrtowcs.texi: Likewise.
51944         * doc/posix-functions/swprintf.texi: Likewise.
51945         * doc/posix-functions/swscanf.texi: Likewise.
51946         * doc/posix-functions/towctrans.texi: Likewise.
51947         * doc/posix-functions/vfwprintf.texi: Likewise.
51948         * doc/posix-functions/vswprintf.texi: Likewise.
51949         * doc/posix-functions/vwprintf.texi: Likewise.
51950         * doc/posix-functions/wcrtomb.texi: Likewise.
51951         * doc/posix-functions/wcsrtombs.texi: Likewise.
51952         * doc/posix-functions/wcsstr.texi: Likewise.
51953         * doc/posix-functions/wctob.texi: Likewise.
51954         * doc/posix-functions/wctrans.texi: Likewise.
51955         * doc/posix-functions/wmemchr.texi: Likewise.
51956         * doc/posix-functions/wmemcmp.texi: Likewise.
51957         * doc/posix-functions/wmemcpy.texi: Likewise.
51958         * doc/posix-functions/wmemmove.texi: Likewise.
51959         * doc/posix-functions/wmemset.texi: Likewise.
51960         * doc/posix-functions/wprintf.texi: Likewise.
51961         * doc/posix-functions/wscanf.texi: Likewise.
51962
51963 2008-12-21  Bruno Haible  <bruno@clisp.org>
51964
51965         Work around a portability problem.
51966         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
51967         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
51968
51969 2008-12-20  Bruno Haible  <bruno@clisp.org>
51970
51971         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
51972         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
51973         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
51974         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
51975         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
51976
51977         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
51978         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
51979         set.
51980         (GNULIB_defined_mbstate_t): New macro.
51981         (mbsinit): Redefine if REPLACE_MBSINIT is set.
51982         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
51983         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
51984         reuses the system's mbrtowc function but works around the bugs.
51985         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
51986         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
51987         macros.
51988         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
51989         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
51990         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
51991         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
51992         REPLACE_MBSINIT if mbsinit needs to be overridden.
51993         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
51994         REPLACE_MBSINIT, REPLACE_MBRTOWC.
51995         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
51996         REPLACE_MBSINIT, REPLACE_MBRTOWC.
51997         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
51998         m4/locale-zh.m4.
51999         (Depends): Add mbsinit.
52000         * modules/mbsinit (Depends): Add mbrtowc.
52001         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
52002
52003 2008-12-20  Bruno Haible  <bruno@clisp.org>
52004
52005         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
52006         so that there are no conversion errors on AIX.
52007         * tests/test-mbsrtowcs.c (main): LIkewise.
52008
52009 2008-12-20  Bruno Haible  <bruno@clisp.org>
52010
52011         Work around wctob bug on Solaris <= 9.
52012         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
52013         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
52014         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
52015         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
52016         * modules/wctob (Files): Add m4/locale-fr.m4.
52017         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
52018
52019 2008-12-20  Bruno Haible  <bruno@clisp.org>
52020
52021         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
52022         /dev/null.
52023         * tests/test-select-in.sh: Likewise.
52024         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
52025
52026 2008-12-20  Bruno Haible  <bruno@clisp.org>
52027
52028         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
52029         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
52030         Cygwin 1.5.x.
52031
52032 2008-12-20  Bruno Haible  <bruno@clisp.org>
52033
52034         Ensure mbstate_t is defined on HP-UX 11.11.
52035         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
52036         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
52037         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
52038         AC_USE_SYSTEM_EXTENSIONS.
52039         * modules/fnmatch (Depends-on): Add extensions.
52040         * modules/mbrlen (Depends-on): Likewise.
52041         * modules/mbrtowc (Depends-on): Likewise.
52042         * modules/mbsinit (Depends-on): Likewise.
52043         * modules/mbsrtowcs (Depends-on): Likewise.
52044         * modules/mbswidth (Depends-on): Likewise.
52045         * modules/quotearg (Depends-on): Likewise.
52046         * modules/strftime (Depends-on): Likewise.
52047
52048 2008-12-20  Bruno Haible  <bruno@clisp.org>
52049
52050         Ensure wctob is declared on IRIX 6.5.
52051         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
52052         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
52053         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
52054         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
52055         of HAVE_WCTOB.
52056         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
52057         HAVE_WCTOB.
52058         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
52059
52060 2008-12-19  Bruno Haible  <bruno@clisp.org>
52061
52062         * modules/mbsrtowcs-tests: New file.
52063         * tests/test-mbsrtowcs1.sh: New file.
52064         * tests/test-mbsrtowcs2.sh: New file.
52065         * tests/test-mbsrtowcs3.sh: New file.
52066         * tests/test-mbsrtowcs4.sh: New file.
52067         * tests/test-mbsrtowcs.c: New file.
52068
52069         New module 'mbsrtowcs'.
52070         * lib/wchar.in.h (mbsrtowcs): New declaration.
52071         * lib/mbsrtowcs.c: New file.
52072         * m4/mbsrtowcs.m4: New file.
52073         * modules/mbsrtowcs: New file.
52074         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
52075         HAVE_MBSRTOWCS.
52076         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
52077         HAVE_MBSRTOWCS.
52078         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
52079
52080 2008-12-19  Bruno Haible  <bruno@clisp.org>
52081
52082         New module 'mbrlen'.
52083         * lib/wchar.in.h (mbrlen): New declaration.
52084         * lib/mbrlen.c: New file.
52085         * m4/mbrlen.m4: New file.
52086         * modules/mbrlen: New file.
52087         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
52088         HAVE_MBRLEN.
52089         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
52090         HAVE_MBRLEN.
52091         * doc/posix-functions/mbrlen.texi: Document the new module.
52092
52093 2008-12-19  Bruno Haible  <bruno@clisp.org>
52094
52095         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
52096         * modules/mbrtowc (Depends-on): Add verify.
52097         Suggested by Paul Eggert.
52098
52099 2008-12-18  Bruno Haible  <bruno@clisp.org>
52100
52101         * modules/mbsinit-tests: New file.
52102         * tests/test-mbsinit.sh: New file.
52103         * tests/test-mbsinit.c: New file.
52104
52105 2008-12-18  Bruno Haible  <bruno@clisp.org>
52106
52107         * modules/mbrtowc-tests: New file.
52108         * tests/test-mbrtowc1.sh: New file.
52109         * tests/test-mbrtowc2.sh: New file.
52110         * tests/test-mbrtowc3.sh: New file.
52111         * tests/test-mbrtowc4.sh: New file.
52112         * tests/test-mbrtowc.c: New file.
52113
52114         New module 'mbrtowc'.
52115         * lib/wchar.in.h (mbstate_t): Override when the system does not have
52116         mbsinit and mbrtowc.
52117         (mbrtowc): New declaration.
52118         * lib/mbrtowc.c: New file.
52119         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
52120         * modules/mbrtowc: New file.
52121         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
52122         HAVE_MBRTOWC.
52123         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
52124         HAVE_MBRTOWC.
52125         * doc/posix-functions/mbrtowc.texi: Document the new module.
52126
52127 2008-12-18  Bruno Haible  <bruno@clisp.org>
52128
52129         New module 'wctob'.
52130         * lib/wchar.in.h (wctob): New declaration.
52131         * lib/wctob.c: New file.
52132         * m4/wctob.m4: New file.
52133         * modules/wctob: New file.
52134         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
52135         HAVE_WCTOB.
52136         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
52137         * doc/posix-functions/wctob.texi: Document the new module.
52138
52139 2008-12-18  Bruno Haible  <bruno@clisp.org>
52140
52141         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
52142         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
52143
52144 2008-12-18  Simon Josefsson  <simon@josefsson.org>
52145
52146         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
52147         G. Christensen" <tgc@jupiterrise.com>.
52148
52149         * lib/flock.c: Need to include errno.h.  Reported by "Tom
52150         G. Christensen" <tgc@jupiterrise.com>.
52151
52152         * lib/flock.c: Need to include string.h.  Reported by "Tom
52153         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
52154         <ebb9@byu.net>.
52155
52156 2008-12-18  Bruno Haible  <bruno@clisp.org>
52157
52158         * m4/locale-ja.m4: New file, from GNU gettext.
52159
52160 2008-12-17  Bruno Haible  <bruno@clisp.org>
52161
52162         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
52163         Suggested by Eric Blake.
52164
52165 2008-12-17  Bruno Haible  <bruno@clisp.org>
52166
52167         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
52168
52169 2008-12-17  Bruno Haible  <bruno@clisp.org>
52170
52171         * lib/mbsinit.c: Include verify.h. Verify an assumption.
52172         * modules/mbsinit (Depends-on): Add verify.
52173         Suggested by Paul Eggert.
52174
52175 2008-12-17  Bruno Haible  <bruno@clisp.org>
52176
52177         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
52178         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
52179         gl_FUNC_MBRTOWC.
52180         * m4/mbiter.m4 (gl_MBITER): LIkewise.
52181         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
52182         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
52183         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
52184         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
52185         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
52186         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
52187         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
52188         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
52189         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
52190         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
52191         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
52192         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
52193         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
52194         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
52195         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
52196         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
52197         * modules/trim (configure.ac): Likewise.
52198
52199 2008-12-17  Bruno Haible  <bruno@clisp.org>
52200
52201         * modules/btowc-tests: New file.
52202         * tests/test-btowc1.sh: New file.
52203         * tests/test-btowc2.sh: New file.
52204         * tests/test-btowc.c: New file.
52205
52206         New module 'btowc'.
52207         * lib/wchar.in.h (btowc): New declaration.
52208         * lib/btowc.c: New file.
52209         * m4/btowc.m4: New file.
52210         * modules/btowc: New file.
52211         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
52212         HAVE_BTOWC.
52213         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
52214         * doc/posix-functions/btowc.texi: Document the new module.
52215
52216 2008-12-17  Bruno Haible  <bruno@clisp.org>
52217
52218         New module 'mbsinit'.
52219         * lib/wchar.in.h (mbsinit): New declaration.
52220         * lib/mbsinit.c: New file.
52221         * m4/mbsinit.m4: New file.
52222         * modules/mbsinit: New file.
52223         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
52224         HAVE_MBSINIT.
52225         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
52226         HAVE_MBSINIT.
52227         * doc/posix-functions/mbsinit.texi: Document the new module.
52228
52229 2008-12-16  Bruno Haible  <bruno@clisp.org>
52230
52231         * lib/unistd.in.h: Add comment.
52232         * tests/test-environ.c: Don't include <stdlib.h>.
52233
52234 2008-12-16  Bruno Haible  <bruno@clisp.org>
52235
52236         * lib/parse-duration.h (parse_duration): Document return value
52237         convention.
52238         * lib/parse-duration.c: Include specification header first. Add
52239         comments.
52240         (_): Remove macro.
52241         (parse_year_month_day, parse_hour_minute_second): Move side effects
52242         outside of strchr call.
52243         (parse_non_iso8601): Move side effects outside of isspace call.
52244         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
52245         call.
52246
52247 2008-12-16  Bruno Haible  <bruno@clisp.org>
52248
52249         * tests/test-parse-duration.sh: Produce no output when the test
52250         succeeds.
52251
52252 2008-12-16  Bruno Haible  <bruno@clisp.org>
52253
52254         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
52255         expressions.
52256
52257 2008-12-15  Bruno Haible  <bruno@clisp.org>
52258
52259         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
52260         * doc/glibc-functions/flistxattr.texi: Likewise.
52261         * doc/glibc-functions/fopencookie.texi: Likewise.
52262         * doc/glibc-functions/fremovexattr.texi: Likewise.
52263         * doc/glibc-functions/fsetxattr.texi: Likewise.
52264         * doc/glibc-functions/getxattr.texi: Likewise.
52265         * doc/glibc-functions/lgetxattr.texi: Likewise.
52266         * doc/glibc-functions/listxattr.texi: Likewise.
52267         * doc/glibc-functions/llistxattr.texi: Likewise.
52268         * doc/glibc-functions/lremovexattr.texi: Likewise.
52269         * doc/glibc-functions/lsetxattr.texi: Likewise.
52270         * doc/glibc-functions/removexattr.texi: Likewise.
52271         * doc/glibc-functions/setxattr.texi: Likewise.
52272         * doc/posix-functions/open_memstream.texi: Likewise.
52273
52274 2008-12-15  Eric Blake  <ebb9@byu.net>
52275
52276         Update doc for cygwin 1.7.
52277         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
52278         functions.
52279         * doc/posix-functions/fchmodat.texi: Likewise.
52280         * doc/posix-functions/fchownat.texi: Likewise.
52281         * doc/posix-functions/fdopendir.texi: Likewise.
52282         * doc/posix-functions/fmemopen.texi: Likewise.
52283         * doc/posix-functions/freeaddrinfo.texi: Likewise.
52284         * doc/posix-functions/fstatat.texi: Likewise.
52285         * doc/posix-functions/futimens.texi: Likewise.
52286         * doc/posix-functions/gai_strerror.texi: Likewise.
52287         * doc/posix-functions/getaddrinfo.texi: Likewise.
52288         * doc/posix-functions/getnameinfo.texi: Likewise.
52289         * doc/posix-functions/if_freenameindex.texi: Likewise.
52290         * doc/posix-functions/if_indextoname.texi: Likewise.
52291         * doc/posix-functions/if_nameindex.texi: Likewise.
52292         * doc/posix-functions/if_nametoindex.texi: Likewise.
52293         * doc/posix-functions/insque.texi: Likewise.
52294         * doc/posix-functions/linkat.texi: Likewise.
52295         * doc/posix-functions/llrint.texi: Likewise.
52296         * doc/posix-functions/llrintf.texi: Likewise.
52297         * doc/posix-functions/llrintl.texi: Likewise.
52298         * doc/posix-functions/lockf.texi: Likewise.
52299         * doc/posix-functions/lrintl.texi: Likewise.
52300         * doc/posix-functions/mkdirat.texi: Likewise.
52301         * doc/posix-functions/mkfifoat.texi: Likewise.
52302         * doc/posix-functions/mknodat.texi: Likewise.
52303         * doc/posix-functions/mq_close.texi: Likewise.
52304         * doc/posix-functions/mq_getattr.texi: Likewise.
52305         * doc/posix-functions/mq_notify.texi: Likewise.
52306         * doc/posix-functions/mq_open.texi: Likewise.
52307         * doc/posix-functions/mq_receive.texi: Likewise.
52308         * doc/posix-functions/mq_send.texi: Likewise.
52309         * doc/posix-functions/mq_setattr.texi: Likewise.
52310         * doc/posix-functions/mq_timedreceive.texi: Likewise.
52311         * doc/posix-functions/mq_timedsend.texi: Likewise.
52312         * doc/posix-functions/mq_unlink.texi: Likewise.
52313         * doc/posix-functions/open_memstream.texi: Likewise.
52314         * doc/posix-functions/openat.texi: Likewise.
52315         * doc/posix-functions/posix_fadvise.texi: Likewise.
52316         * doc/posix-functions/posix_fallocate.texi: Likewise.
52317         * doc/posix-functions/posix_madvise.texi: Likewise.
52318         * doc/posix-functions/posix_memalign.texi: Likewise.
52319         * doc/posix-functions/posix_openpt.texi: Likewise.
52320         * doc/posix-functions/readlinkat.texi: Likewise.
52321         * doc/posix-functions/remque.texi: Likewise.
52322         * doc/posix-functions/renameat.texi: Likewise.
52323         * doc/posix-functions/rintl.texi: Likewise.
52324         * doc/posix-functions/sem_unlink.texi: Likewise.
52325         * doc/posix-functions/shm_open.texi: Likewise.
52326         * doc/posix-functions/shm_unlink.texi: Likewise.
52327         * doc/posix-functions/signgam.texi: Likewise.
52328         * doc/posix-functions/sigset.texi: Likewise.
52329         * doc/posix-functions/stpcpy.texi: Likewise.
52330         * doc/posix-functions/stpncpy.texi: Likewise.
52331         * doc/posix-functions/strerror.texi: Likewise.
52332         * doc/posix-functions/strtod.texi: Likewise.
52333         * doc/posix-functions/symlinkat.texi: Likewise.
52334         * doc/posix-functions/unlinkat.texi: Likewise.
52335         * doc/posix-functions/utimensat.texi: Likewise.
52336         * doc/glibc-functions/bindresvport.texi: Likewise.
52337         * doc/glibc-functions/dn_expand.texi: Likewise.
52338         * doc/glibc-functions/exp10.texi: Likewise.
52339         * doc/glibc-functions/exp10f.texi: Likewise.
52340         * doc/glibc-functions/fgetxattr.texi: Likewise.
52341         * doc/glibc-functions/flistxattr.texi: Likewise.
52342         * doc/glibc-functions/fopencookie.texi: Likewise.
52343         * doc/glibc-functions/freeifaddrs.texi: Likewise.
52344         * doc/glibc-functions/fremovexattr.texi: Likewise.
52345         * doc/glibc-functions/fsetxattr.texi: Likewise.
52346         * doc/glibc-functions/getifaddrs.texi: Likewise.
52347         * doc/glibc-functions/getxattr.texi: Likewise.
52348         * doc/glibc-functions/lgetxattr.texi: Likewise.
52349         * doc/glibc-functions/listxattr.texi: Likewise.
52350         * doc/glibc-functions/llistxattr.texi: Likewise.
52351         * doc/glibc-functions/lremovexattr.texi: Likewise.
52352         * doc/glibc-functions/lsetxattr.texi: Likewise.
52353         * doc/glibc-functions/pow10.texi: Likewise.
52354         * doc/glibc-functions/pow10f.texi: Likewise.
52355         * doc/glibc-functions/rcmd_af.texi: Likewise.
52356         * doc/glibc-functions/removexattr.texi: Likewise.
52357         * doc/glibc-functions/res_init.texi: Likewise.
52358         * doc/glibc-functions/res_mkquery.texi: Likewise.
52359         * doc/glibc-functions/res_query.texi: Likewise.
52360         * doc/glibc-functions/res_querydomain.texi: Likewise.
52361         * doc/glibc-functions/res_send.texi: Likewise.
52362         * doc/glibc-functions/rresvport_af.texi: Likewise.
52363         * doc/glibc-functions/setxattr.texi: Likewise.
52364         * doc/glibc-functions/strcasestr.texi: Likewise.
52365
52366 2008-12-15  Bruno Haible  <bruno@clisp.org>
52367
52368         Fix compilation error on OSF/1 4.0.
52369         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
52370         <sys/time.h>, simply delegate to the system header.
52371         Reported by Daniel Richard G. <oss@teragram.com>.
52372
52373 2008-12-15  Bruno Haible  <bruno@clisp.org>
52374
52375         * doc/posix-functions/openat.texi: Mention the 'openat' module.
52376         * doc/posix-functions/fchmodat.texi: Likewise.
52377         * doc/posix-functions/fchownat.texi: Likewise.
52378         * doc/posix-functions/fdopendir.texi: Likewise.
52379         * doc/posix-functions/fstatat.texi: Likewise.
52380         * doc/posix-functions/mkdirat.texi: Likewise.
52381         * doc/posix-functions/unlinkat.texi: Likewise.
52382
52383 2008-12-14  Bruno Haible  <bruno@clisp.org>
52384
52385         Update doc for POSIX:2008.
52386         * doc/posix-functions/faccessat.texi: New file.
52387         * doc/posix-functions/fchmodat.texi: New file.
52388         * doc/posix-functions/fchownat.texi: New file.
52389         * doc/posix-functions/fdopendir.texi: New file.
52390         * doc/posix-functions/fstatat.texi: New file.
52391         * doc/posix-functions/futimens.texi: New file.
52392         * doc/posix-functions/linkat.texi: New file.
52393         * doc/posix-functions/mkdirat.texi: New file.
52394         * doc/posix-functions/mkfifoat.texi: New file.
52395         * doc/posix-functions/mknodat.texi: New file.
52396         * doc/posix-functions/open_wmemstream.texi: New file.
52397         * doc/posix-functions/openat.texi: New file.
52398         * doc/posix-functions/psiginfo.texi: New file.
52399         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
52400         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
52401         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
52402         * doc/posix-functions/readlinkat.texi: New file.
52403         * doc/posix-functions/renameat.texi: New file.
52404         * doc/posix-functions/strerror_l.texi: New file.
52405         * doc/posix-functions/symlinkat.texi: New file.
52406         * doc/posix-functions/unlinkat.texi: New file.
52407         * doc/posix-functions/utimensat.texi: New file.
52408         * doc/gnulib.texi (Function Substitutes): Add these subsections.
52409
52410 2008-12-14  Bruno Haible  <bruno@clisp.org>
52411
52412         Update doc for POSIX:2008.
52413         * doc/posix-functions/alphasort.texi: Renamed from
52414         doc/glibc-functions/alphasort.texi.
52415         * doc/posix-functions/dirfd.texi: Renamed from
52416         doc/glibc-functions/dirfd.texi.
52417         * doc/posix-functions/dprintf.texi: Renamed from
52418         doc/glibc-functions/dprintf.texi.
52419         * doc/posix-functions/duplocale.texi: Renamed from
52420         doc/glibc-functions/duplocale.texi.
52421         * doc/posix-functions/fexecve.texi: Renamed from
52422         doc/glibc-functions/fexecve.texi.
52423         * doc/posix-functions/fmemopen.texi: Renamed from
52424         doc/glibc-functions/fmemopen.texi.
52425         * doc/posix-functions/freelocale.texi: Renamed from
52426         doc/glibc-functions/freelocale.texi.
52427         * doc/posix-functions/getdate_err.texi: Renamed from
52428         doc/glibc-functions/getdate_err.texi.
52429         * doc/posix-functions/isalnum_l.texi: Renamed from
52430         doc/glibc-functions/isalnum_l.texi.
52431         * doc/posix-functions/isalpha_l.texi: Renamed from
52432         doc/glibc-functions/isalpha_l.texi.
52433         * doc/posix-functions/isblank_l.texi: Renamed from
52434         doc/glibc-functions/isblank_l.texi.
52435         * doc/posix-functions/iscntrl_l.texi: Renamed from
52436         doc/glibc-functions/iscntrl_l.texi.
52437         * doc/posix-functions/isdigit_l.texi: Renamed from
52438         doc/glibc-functions/isdigit_l.texi.
52439         * doc/posix-functions/isgraph_l.texi: Renamed from
52440         doc/glibc-functions/isgraph_l.texi.
52441         * doc/posix-functions/islower_l.texi: Renamed from
52442         doc/glibc-functions/islower_l.texi.
52443         * doc/posix-functions/isprint_l.texi: Renamed from
52444         doc/glibc-functions/isprint_l.texi.
52445         * doc/posix-functions/ispunct_l.texi: Renamed from
52446         doc/glibc-functions/ispunct_l.texi.
52447         * doc/posix-functions/isspace_l.texi: Renamed from
52448         doc/glibc-functions/isspace_l.texi.
52449         * doc/posix-functions/isupper_l.texi: Renamed from
52450         doc/glibc-functions/isupper_l.texi.
52451         * doc/posix-functions/iswalnum_l.texi: Renamed from
52452         doc/glibc-functions/iswalnum_l.texi.
52453         * doc/posix-functions/iswalpha_l.texi: Renamed from
52454         doc/glibc-functions/iswalpha_l.texi.
52455         * doc/posix-functions/iswblank_l.texi: Renamed from
52456         doc/glibc-functions/iswblank_l.texi.
52457         * doc/posix-functions/iswcntrl_l.texi: Renamed from
52458         doc/glibc-functions/iswcntrl_l.texi.
52459         * doc/posix-functions/iswctype_l.texi: Renamed from
52460         doc/glibc-functions/iswctype_l.texi.
52461         * doc/posix-functions/iswdigit_l.texi: Renamed from
52462         doc/glibc-functions/iswdigit_l.texi.
52463         * doc/posix-functions/iswgraph_l.texi: Renamed from
52464         doc/glibc-functions/iswgraph_l.texi.
52465         * doc/posix-functions/iswlower_l.texi: Renamed from
52466         doc/glibc-functions/iswlower_l.texi.
52467         * doc/posix-functions/iswprint_l.texi: Renamed from
52468         doc/glibc-functions/iswprint_l.texi.
52469         * doc/posix-functions/iswpunct_l.texi: Renamed from
52470         doc/glibc-functions/iswpunct_l.texi.
52471         * doc/posix-functions/iswspace_l.texi: Renamed from
52472         doc/glibc-functions/iswspace_l.texi.
52473         * doc/posix-functions/iswupper_l.texi: Renamed from
52474         doc/glibc-functions/iswupper_l.texi.
52475         * doc/posix-functions/iswxdigit_l.texi: Renamed from
52476         doc/glibc-functions/iswxdigit_l.texi.
52477         * doc/posix-functions/isxdigit_l.texi: Renamed from
52478         doc/glibc-functions/isxdigit_l.texi.
52479         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
52480         doc/glibc-functions/mbsnrtowcs.texi.
52481         * doc/posix-functions/mkdtemp.texi: Renamed from
52482         doc/glibc-functions/mkdtemp.texi.
52483         * doc/posix-functions/newlocale.texi: Renamed from
52484         doc/glibc-functions/newlocale.texi.
52485         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
52486         doc/glibc-functions/nl_langinfo_l.texi.
52487         * doc/posix-functions/open_memstream.texi: Renamed from
52488         doc/glibc-functions/open_memstream.texi.
52489         * doc/posix-functions/opterr.texi: Renamed from
52490         doc/glibc-functions/opterr.texi.
52491         * doc/posix-functions/optind.texi: Renamed from
52492         doc/glibc-functions/optind.texi.
52493         * doc/posix-functions/optopt.texi: Renamed from
52494         doc/glibc-functions/optopt.texi.
52495         * doc/posix-functions/psignal.texi: Renamed from
52496         doc/glibc-functions/psignal.texi.
52497         * doc/posix-functions/scandir.texi: Renamed from
52498         doc/glibc-functions/scandir.texi.
52499         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
52500         doc/glibc-functions/sched_get_priority_min.texi.
52501         * doc/posix-functions/signgam.texi: Renamed from
52502         doc/glibc-functions/signgam.texi.
52503         * doc/posix-functions/stpcpy.texi: Renamed from
52504         doc/glibc-functions/stpcpy.texi.
52505         * doc/posix-functions/stpncpy.texi: Renamed from
52506         doc/glibc-functions/stpncpy.texi.
52507         * doc/posix-functions/strcasecmp_l.texi: Renamed from
52508         doc/glibc-functions/strcasecmp_l.texi.
52509         * doc/posix-functions/strcoll_l.texi: Renamed from
52510         doc/glibc-functions/strcoll_l.texi.
52511         * doc/posix-functions/strfmon_l.texi: Renamed from
52512         doc/glibc-functions/strfmon_l.texi.
52513         * doc/posix-functions/strftime_l.texi: Renamed from
52514         doc/glibc-functions/strftime_l.texi.
52515         * doc/posix-functions/strncasecmp_l.texi: Renamed from
52516         doc/glibc-functions/strncasecmp_l.texi.
52517         * doc/posix-functions/strndup.texi: Renamed from
52518         doc/glibc-functions/strndup.texi.
52519         * doc/posix-functions/strnlen.texi: Renamed from
52520         doc/glibc-functions/strnlen.texi.
52521         * doc/posix-functions/strsignal.texi: Renamed from
52522         doc/glibc-functions/strsignal.texi.
52523         * doc/posix-functions/strxfrm_l.texi: Renamed from
52524         doc/glibc-functions/strxfrm_l.texi.
52525         * doc/posix-functions/timer_gettime.texi: Renamed from
52526         doc/glibc-functions/timer_gettime.texi.
52527         * doc/posix-functions/tolower_l.texi: Renamed from
52528         doc/glibc-functions/tolower_l.texi.
52529         * doc/posix-functions/toupper_l.texi: Renamed from
52530         doc/glibc-functions/toupper_l.texi.
52531         * doc/posix-functions/towctrans_l.texi: Renamed from
52532         doc/glibc-functions/towctrans_l.texi.
52533         * doc/posix-functions/towlower_l.texi: Renamed from
52534         doc/glibc-functions/towlower_l.texi.
52535         * doc/posix-functions/towupper_l.texi: Renamed from
52536         doc/glibc-functions/towupper_l.texi.
52537         * doc/posix-functions/uselocale.texi: Renamed from
52538         doc/glibc-functions/uselocale.texi.
52539         * doc/posix-functions/vdprintf.texi: Renamed from
52540         doc/glibc-functions/vdprintf.texi.
52541         * doc/posix-functions/wcpcpy.texi:
52542         Renamed from doc/glibc-functions/wcpcpy.texi.
52543         * doc/posix-functions/wcpncpy.texi: Renamed from
52544         doc/glibc-functions/wcpncpy.texi.
52545         * doc/posix-functions/wcscasecmp.texi: Renamed from
52546         doc/glibc-functions/wcscasecmp.texi.
52547         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
52548         doc/glibc-functions/wcscasecmp_l.texi.
52549         * doc/posix-functions/wcscoll_l.texi: Renamed from
52550         doc/glibc-functions/wcscoll_l.texi.
52551         * doc/posix-functions/wcsdup.texi: Renamed from
52552         doc/glibc-functions/wcsdup.texi.
52553         * doc/posix-functions/wcsncasecmp.texi: Renamed from
52554         doc/glibc-functions/wcsncasecmp.texi.
52555         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
52556         doc/glibc-functions/wcsncasecmp_l.texi.
52557         * doc/posix-functions/wcsnlen.texi: Renamed from
52558         doc/glibc-functions/wcsnlen.texi.
52559         * doc/posix-functions/wcsnrtombs.texi: Renamed from
52560         doc/glibc-functions/wcsnrtombs.texi.
52561         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
52562         doc/glibc-functions/wcsxfrm_l.texi.
52563         * doc/posix-functions/wctrans_l.texi: Renamed from
52564         doc/glibc-functions/wctrans_l.texi.
52565         * doc/posix-functions/wctype_l.texi: Renamed from
52566         doc/glibc-functions/wctype_l.texi.
52567         * doc/gnulib.texi (Function Substitutes): Add these subsections.
52568         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
52569         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
52570         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
52571         these subsections.
52572         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
52573         Remove sections.
52574
52575 2008-12-14  Bruno Haible  <bruno@clisp.org>
52576
52577         Update doc for POSIX:2008.
52578         * doc/posix-functions/*.texi: Update URL of POSIX specification.
52579
52580 2008-12-14  Bruno Haible  <bruno@clisp.org>
52581
52582         Update doc for POSIX:2008.
52583         * doc/pastposix-functions/bcmp.texi: Renamed from
52584         doc/posix-functions/bcmp.texi.
52585         * doc/pastposix-functions/bcopy.texi: Renamed from
52586         doc/posix-functions/bcopy.texi.
52587         * doc/pastposix-functions/bsd_signal.texi: Renamed from
52588         doc/posix-functions/bsd_signal.texi.
52589         * doc/pastposix-functions/bzero.texi: Renamed from
52590         doc/posix-functions/bzero.texi.
52591         * doc/pastposix-functions/ecvt.texi: Renamed from
52592         doc/posix-functions/ecvt.texi.
52593         * doc/pastposix-functions/fcvt.texi: Renamed from
52594         doc/posix-functions/fcvt.texi.
52595         * doc/pastposix-functions/ftime.texi: Renamed from
52596         doc/posix-functions/ftime.texi.
52597         * doc/pastposix-functions/gcvt.texi: Renamed from
52598         doc/posix-functions/gcvt.texi.
52599         * doc/pastposix-functions/getcontext.texi: Renamed from
52600         doc/posix-functions/getcontext.texi.
52601         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
52602         doc/posix-functions/gethostbyaddr.texi.
52603         * doc/pastposix-functions/gethostbyname.texi: Renamed from
52604         doc/posix-functions/gethostbyname.texi.
52605         * doc/pastposix-functions/getwd.texi: Renamed from
52606         doc/posix-functions/getwd.texi.
52607         * doc/pastposix-functions/h_errno.texi: Renamed from
52608         doc/posix-functions/h_errno.texi.
52609         * doc/pastposix-functions/index.texi: Renamed from
52610         doc/posix-functions/index.texi.
52611         * doc/pastposix-functions/makecontext.texi: Renamed from
52612         doc/posix-functions/makecontext.texi.
52613         * doc/pastposix-functions/mktemp.texi: Renamed from
52614         doc/posix-functions/mktemp.texi.
52615         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
52616         doc/posix-functions/pthread_attr_getstackaddr.texi.
52617         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
52618         doc/posix-functions/pthread_attr_setstackaddr.texi.
52619         * doc/pastposix-functions/rindex.texi: Renamed from
52620         doc/posix-functions/rindex.texi.
52621         * doc/pastposix-functions/scalb.texi: Renamed from
52622         doc/posix-functions/scalb.texi.
52623         * doc/pastposix-functions/setcontext.texi: Renamed from
52624         doc/posix-functions/setcontext.texi.
52625         * doc/pastposix-functions/swapcontext.texi: Renamed from
52626         doc/posix-functions/swapcontext.texi.
52627         * doc/pastposix-functions/ualarm.texi: Renamed from
52628         doc/posix-functions/ualarm.texi.
52629         * doc/pastposix-functions/usleep.texi: Renamed from
52630         doc/posix-functions/usleep.texi.
52631         * doc/pastposix-functions/vfork.texi: Renamed from
52632         doc/posix-functions/vfork.texi.
52633         * doc/pastposix-functions/wcswcs.texi: Renamed from
52634         doc/posix-functions/wcswcs.texi.
52635         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
52636         (Function Substitutes): Update.
52637
52638 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52639
52640         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
52641         m4/strerror.m4.
52642
52643 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52644             Bruno Haible  <bruno@clisp.org>
52645
52646         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
52647
52648 2008-12-13  Bruno Haible  <bruno@clisp.org>
52649
52650         * modules/strtoull (Depends-on): Remove unistd.
52651
52652 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52653
52654         * modules/strtoull (Depends-on): Add stdlib.
52655
52656 2008-12-11  Simon Josefsson  <simon@josefsson.org>
52657
52658         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
52659
52660 2008-12-10  Jim Meyering  <meyering@redhat.com>
52661
52662         gl_ASSERT: don't say assertions are disabled when they're not
52663         * m4/assert.m4 (gl_ASSERT): Do not make configure report
52664         "checking whether to enable assertions... no", when they are in
52665         fact enabled.  This is solely a bug in the output of configure.
52666         In spite of saying "no", NDEBUG was not defined in that case.
52667         Also, as noted by Eric Blake, leave assertions enabled upon
52668         --enable-assert=INVALID.
52669
52670 2008-12-10  Bruno Haible  <bruno@clisp.org>
52671
52672         Change MODULES.html to refer to POSIX:2008 where possible.
52673         * MODULES.html.sh (POSIX2008_URL): New variable.
52674         (posix_headers): Remove sys/timeb, ucontext.
52675         (posix2001_headers): New variable.
52676         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
52677         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
52678         index, makecontext, mktemp, pthread_attr_getstackaddr,
52679         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
52680         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
52681         (posix2001_functions): New variable.
52682         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
52683         otherwise.
52684
52685 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52686
52687         add missing include to parse-duration.c
52688         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
52689         * modules/parse-duration (Depends-on): Add xalloc.
52690
52691         fix sed script reading maint.mk
52692         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
52693         (syntax-check-rules): Use it.
52694
52695 2008-12-09  Bruno Haible  <bruno@clisp.org>
52696
52697         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
52698         MacOS X 10.4/PowerPC.
52699         Reported by Simon Josefsson.
52700
52701 2008-12-08  Jim Meyering  <meyering@redhat.com>
52702
52703         work around mingw's lack of some S_IF definitions
52704         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
52705         Reported by Simon Josefsson.
52706
52707 2008-12-08  Bruno Haible  <bruno@clisp.org>
52708
52709         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
52710         applied to variables. Needed on MacOS X 10.4/PowerPC.
52711         Reported by Simon Josefsson.
52712
52713 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
52714         and Eric Blake  <ebb9@byu.net>
52715
52716         assert: honor --enable-assert
52717         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
52718         order to honor --enable-assert, rather than treating it as a
52719         synonym for --disable-assert.
52720
52721 2008-12-08  Jim Meyering  <meyering@redhat.com>
52722
52723         * lib/posixtm.c: Remove now-useless declaration of mktime.
52724
52725         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
52726
52727 2008-12-07  Bruno Haible  <bruno@clisp.org>
52728
52729         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
52730         test_once): Mark functions as static.
52731         * tests/test-tls.c (test_tls): Likewise.
52732
52733 2008-12-07  Bruno Haible  <bruno@clisp.org>
52734
52735         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
52736         iconv_register_autodetect.
52737
52738 2008-12-07  Jim Meyering  <meyering@redhat.com>
52739
52740         posixtm.c: avoid a warning
52741         * lib/posixtm.c (posixtime): Don't initialize tm0.
52742         It's no longer needed to placate gcc4's -Wuninitialized,
52743         and the attempt to placate would elicit a new warning.
52744
52745         unicodeio.c: mark unused parameters
52746         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
52747         (fallback_failure_callback): Likewise.
52748
52749 2008-12-07  Bruno Haible  <bruno@clisp.org>
52750
52751         * gnulib-tool (func_create_testdir): When building the tests
52752         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
52753         Reported by Simon Josefsson.
52754
52755 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52756
52757         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
52758
52759 2008-12-06  Bruno Haible  <bruno@clisp.org>
52760
52761         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
52762         Suggested by Eric Blake.
52763
52764 2008-12-06  Bruno Haible  <bruno@clisp.org>
52765
52766         Fix a c-stack test failure on MacOS X.
52767         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
52768         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
52769         handler for SIGBUS as well.
52770         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
52771         install a signal handler for SIGBUS as well.
52772         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
52773
52774 2008-12-06  Bruno Haible  <bruno@clisp.org>
52775
52776         Advocacy documentation.
52777         * doc/gnulib-intro.texi (Benefits): New section.
52778         * doc/gnulib.texi: Update.
52779
52780 2008-12-06  Bruno Haible  <bruno@clisp.org>
52781
52782         Document the 'manywarnings' module.
52783         * doc/manywarnings.texi: New file.
52784         * doc/gnulib.texi: Include it.
52785
52786 2008-12-05  Eric Blake  <ebb9@byu.net>
52787
52788         tests: silence some gcc warnings
52789         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
52790         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
52791         type mismatches.
52792
52793 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52794             Bruno Haible  <bruno@clisp.org>
52795
52796         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
52797
52798 2008-11-29  Jim Meyering  <meyering@redhat.com>
52799
52800         unicodeio.c: mark unused parameters
52801         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
52802         (fallback_failure_callback): Likewise.
52803
52804         fts: fix a thinko
52805         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
52806         (set_stat_type): Return S_IF*-valued "type" directly.
52807         Prompted by James Youngman's spotting a related bug.
52808         Confirmed by further testing through find.
52809
52810         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
52811         * lib/fts.c (D_TYPE): Define.
52812         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
52813         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
52814         (s_ifmt_shift_bits): New function.
52815         (set_stat_type): New function.
52816         (fts_build): When not calling fts_stat, call set_stat_type
52817         to propagate dirent.d_type info to fts_read caller.
52818         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
52819         fts_statp->st_mode type information may be valid.
52820
52821 2008-11-28  Simon Josefsson  <simon@josefsson.org>
52822
52823         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
52824         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
52825         <sds@gnu.org>.
52826
52827 2008-11-20  Bruno Haible  <bruno@clisp.org>
52828
52829         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
52830         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
52831         INCLUDE_NEXT.
52832         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
52833         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
52834         * modules/math (Makefile.am): Substitute
52835         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
52836         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52837
52838 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
52839             Bruno Haible  <bruno@clisp.org>
52840
52841         * lib/stdint.in.h: Define all type macros so that their expansion is
52842         a single typedef'ed token. Fixes a compilation failure in Boost which
52843         does "using ::int8_t;".
52844
52845 2008-11-18  Simon Josefsson  <simon@josefsson.org>
52846
52847         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
52848         gl_MANYWARN_ALL_GCC.
52849         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
52850         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
52851         * modules/manywarnings: New file.
52852         * MODULES.html.sh: Mention manywarnings module.
52853
52854 2008-11-18  Bruno Haible  <bruno@clisp.org>
52855
52856         * doc/gnulib-tool.texi (Unit tests): New section.
52857
52858 2008-11-18  Simon Josefsson  <simon@josefsson.org>
52859
52860         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
52861         paths like 'lib/po/foo.po'.
52862
52863 2008-11-17  Simon Josefsson  <simon@josefsson.org>
52864
52865         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
52866         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
52867
52868 2008-11-17  Simon Josefsson  <simon@josefsson.org>
52869
52870         * m4/warnings.m4: Use CPPFLAGS to really check whether the
52871         parameter works.
52872
52873 2008-11-17  Simon Josefsson  <simon@josefsson.org>
52874
52875         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
52876
52877 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52878
52879         * modules/parse-duration-tests: New file.
52880         * tests/test-parse-duration.sh: New file.
52881         * tests/test-parse-duration.c: New file.
52882
52883         New module 'parse-duration'.
52884         * lib/parse-duration.h: New file.
52885         * lib/parse-duration.c: New file.
52886         * modules/parse-duration: New file.
52887
52888 2008-11-17  Bruno Haible  <bruno@clisp.org>
52889
52890         * tests/test-select-out.sh: Comment out the first pipe test.
52891         Reported by Simon Josefsson.
52892
52893 2008-11-17  Bruno Haible  <bruno@clisp.org>
52894
52895         * modules/getaddrinfo (Depends-on): Add servent, hostent.
52896         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
52897         gl_HOSTENT.
52898
52899 2008-11-17  Bruno Haible  <bruno@clisp.org>
52900
52901         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
52902         -lnetwork and -lnet. Needed for Haiku and BeOS.
52903
52904 2008-11-16  Bruno Haible  <bruno@clisp.org>
52905
52906         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
52907
52908 2008-11-16  Bruno Haible  <bruno@clisp.org>
52909
52910         Avoid test failure on Haiku.
52911         * tests/test-fsync.c: Include <errno.h>.
52912         (main): Don't require that fsync (0) fails.
52913
52914 2008-11-15  Bruno Haible  <bruno@clisp.org>
52915
52916         New module 'hostent'.
52917         * modules/hostent: New file.
52918         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
52919
52920 2008-11-15  Bruno Haible  <bruno@clisp.org>
52921
52922         New module 'servent'.
52923         * modules/servent: New file.
52924         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
52925
52926 2008-11-15  Bruno Haible  <bruno@clisp.org>
52927
52928         Avoid generating same test program with two different rules.
52929         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
52930         test-frexp to test-frexp-nolibm.
52931         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
52932         test-frexpl to test-frexpl-nolibm.
52933
52934 2008-11-15  Bruno Haible  <bruno@clisp.org>
52935
52936         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
52937         $(FREXPL_LIBM).
52938
52939 2008-11-15  Bruno Haible  <bruno@clisp.org>
52940
52941         * lib/netdb.in.h: Activate the definitions also when the system's
52942         <netdb.h> has 'struct addrinfo'.
52943         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
52944         EAI_OVERFLOW or AI_NUMERICSERV.
52945         * doc/posix-headers/netdb.texi: Document the problem.
52946
52947 2008-11-15  Bruno Haible  <bruno@clisp.org>
52948
52949         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
52950
52951         Make the 'sched' module work on platforms where <sched.h> exists but
52952         is incomplete (such as Haiku).
52953         * lib/sched.in.h; Include the system's <sched.h> if it exists.
52954         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
52955         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
52956         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
52957         HAVE_STRUCT_SCHED_PARAM.
52958         * modules/sched (Depends-on): Add include_next.
52959         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
52960         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
52961         * doc/posix-headers/sched.texi: Document the issue.
52962
52963 2008-11-13  Jim Meyering  <meyering@redhat.com>
52964
52965         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
52966         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
52967         test would fail due to the difference in the Report bugs to ...
52968         line.  The expected address is empty, "<>", while the actual
52969         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
52970
52971 2008-11-12  Bruno Haible  <bruno@clisp.org>
52972
52973         lstat: don't compile lstat.c on systems lacking lstat
52974         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
52975         which don't have lstat; this is handled by lib/sys_stat.in.h already.
52976         Reported by Daniel P. Berrange via Jim Meyering.
52977
52978 2008-11-12  Jim Meyering  <meyering@redhat.com>
52979
52980         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
52981
52982 2008-11-12  Simon Josefsson  <simon@josefsson.org>
52983
52984         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
52985         instead.
52986
52987 2008-11-12  Bruno Haible  <bruno@clisp.org>
52988
52989         * lib/unicodeio.c: Include unistr.h.
52990         (utf8_wctomb): Remove function.
52991         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
52992
52993 2008-11-12  Simon Josefsson  <simon@josefsson.org>
52994
52995         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
52996         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
52997         <bruno@clisp.org>.
52998         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
52999
53000 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53001
53002         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
53003         * doc/gnulib.texi: Add section for warnings.
53004
53005 2008-11-11  Bruno Haible  <bruno@clisp.org>
53006
53007         * lib/sockets.h: Add a comment.
53008
53009 2008-11-11  Karl Berry  <karl@gnu.org>
53010
53011         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
53012
53013 2008-11-11  Eric Blake  <ebb9@byu.net>
53014
53015         fdl.texi: avoid git symlinks
53016         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
53017
53018 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53019
53020         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
53021
53022 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53023
53024         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
53025         (gl_WARN_ADD): Substitute $2 if literal.
53026
53027 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53028
53029         * m4/warning.m4: Remove.
53030
53031 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
53032
53033         * m4/warnings.m4: Almost complete rewrite. :-)
53034
53035 2008-11-10  Simon Josefsson  <simon@josefsson.org>
53036
53037         * modules/warnings: New module.
53038         * m4/warnings.m4: New file.
53039         * MODULES.html.sh: Mention warnings module.
53040         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
53041         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53042
53043 2008-11-10  Eric Blake  <ebb9@byu.net>
53044
53045         fdl.texi: make a symlink to the latest version
53046         * doc/standards.texi: Revert today's earlier change.
53047         * doc/fdl-1.2.texi: Rename from old fdl.texi...
53048         * doc/fdl.texi: ...and replace this with a symlink to the newer
53049         fdl-1.3.texi.
53050
53051 2008-11-10  Bruno Haible  <bruno@clisp.org>
53052
53053         * tests/test-select-fd.c (main): Accept the result file name as fourth
53054         argument.
53055         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
53056         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
53057
53058 2008-11-10  Bruno Haible  <bruno@clisp.org>
53059
53060         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
53061         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
53062         as autoconf-substituted macros.
53063         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
53064         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
53065         gl_NETDB_H_DEFAULTS. Set these variables.
53066         * modules/netdb (Makefile.am): Substitute these variables.
53067
53068 2008-11-10  Eric Blake  <ebb9@byu.net>
53069
53070         standards.texi: include correct file for FDL 1.3
53071         * doc/standards.texi (GNU Free Documentation License): Change
53072         include file to pull in FDL 1.3, not 1.2.
53073
53074         fdl.texi: revert accidental change to license
53075         * doc/fdl.texi: This is FDL 1.2, not 1.3.
53076
53077 2008-11-10  Bruno Haible  <bruno@clisp.org>
53078
53079         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
53080         cross-compiling guesses also when the native compile gives no result.
53081
53082 2008-11-10  Bruno Haible  <bruno@clisp.org>
53083
53084         * lib/spawni.c (__spawni): Force variable into the stack.
53085
53086 2008-11-10  Bruno Haible  <bruno@clisp.org>
53087
53088         Add support for Haiku.
53089         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
53090         glibc and BeOS, but also on Haiku.
53091         * lib/fpurge.c (fpurge): Likewise.
53092         * lib/freadable.c (freadable): Likewise.
53093         * lib/freadahead.c (freadahead): Likewise.
53094         * lib/freading.c (freading): Likewise.
53095         * lib/freadptr.c (freadptr): Likewise.
53096         * lib/freadseek.c (freadptrinc): Likewise.
53097         * lib/fseeko.c (rpl_fseeko): Likewise.
53098         * lib/fseterr.c (fseterr): Likewise.
53099         * lib/fwritable.c (fwritable): Likewise.
53100         * lib/fwriting.c (fwriting): Likewise.
53101         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
53102
53103 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
53104
53105         * lib/config.charset: Treat Haiku like BeOS.
53106
53107 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
53108
53109         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
53110         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
53111
53112 2008-11-08  Bruno Haible  <bruno@clisp.org>
53113
53114         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
53115         AC_CACHE_CHECK.
53116
53117 2008-11-08  Bruno Haible  <bruno@clisp.org>
53118
53119         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
53120
53121 2008-11-08  Bruno Haible  <bruno@clisp.org>
53122
53123         * tests/test-select-fd.c: New file.
53124         * tests/test-select-in.sh: New file.
53125         * tests/test-select-out.sh: New file.
53126         * tests/test-select-stdin.c: New file.
53127         * modules/select-tests (Files): Add the new files.
53128         (Depends-on): Add gettimeofday.
53129         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
53130         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
53131         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
53132
53133 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
53134             Bruno Haible  <bruno@clisp.org>
53135
53136         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
53137
53138 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
53139
53140         * build-aux/pmccabe2html: Added support for C++ source files.
53141
53142 2008-11-05  Ben Pfaff  <blp@gnu.org>
53143
53144         Fix lib/close.c build on Windows.
53145         * modules/close (Files): Add lib/w32sock.h.
53146
53147 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
53148
53149         Accept Bison's NEWS format.
53150         * build-aux/announce-gen (print_news_deltas): Tweak
53151         $re_prefix.
53152
53153 2008-11-04  Bruno Haible  <bruno@clisp.org>
53154
53155         * modules/random_r (Maintainer): Add glibc.
53156
53157 2008-11-04  Simon Josefsson  <simon@josefsson.org>
53158
53159         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
53160         by karl@freefriends.org (Karl Berry).
53161         * doc/alloca.texi: Likewise.
53162         * doc/c-ctype.texi: Likewise.
53163         * doc/c-strcase.texi: Likewise.
53164         * doc/c-strcaseeq.texi: Likewise.
53165         * doc/c-strcasestr.texi: Likewise.
53166         * doc/c-strstr.texi: Likewise.
53167         * doc/c-strtod.texi: Likewise.
53168         * doc/c-strtold.texi: Likewise.
53169         * doc/ctime.texi: Likewise.
53170         * doc/error.texi: Likewise.
53171         * doc/fdl.texi: Likewise.
53172         * doc/gcd.texi: Likewise.
53173         * doc/getdate.texi: Likewise.
53174         * doc/gnulib-intro.texi: Likewise.
53175         * doc/gnulib-tool.texi: Likewise.
53176         * doc/gnulib.texi: Likewise.
53177         * doc/inet_ntoa.texi: Likewise.
53178         * doc/maintain.texi: Likewise.
53179         * doc/make-stds.texi: Likewise.
53180         * doc/quote.texi: Likewise.
53181         * doc/regexprops-generic.texi: Likewise.
53182         * doc/standards.texi: Likewise.
53183         * doc/verify.texi: Likewise.
53184         * doc/visibility.texi: Likewise.
53185         * doc/gnulib.texi (GNU Free Documentation License): Include
53186         fdl-1.3.texi instead of fdl.texi.
53187
53188 2008-11-04  Simon Josefsson  <simon@josefsson.org>
53189
53190         * doc/fdl-1.3.texi: New file, from
53191         <http://www.gnu.org/licenses/fdl-1.3.texi>.
53192         * modules/fdl-1.3: Add.
53193         * MODULES.html.sh: Add fdl-1.3.
53194
53195 2008-11-03  Bruno Haible  <bruno@clisp.org>
53196
53197         Make determination of absolute name of header file work with AIX xlc.
53198         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
53199         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
53200         preprocessing.
53201         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
53202         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
53203
53204 2008-11-03  Simon Josefsson  <simon@josefsson.org>
53205
53206         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
53207         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
53208         <ludo@gnu.org>.
53209
53210 2008-11-02  Bruno Haible  <bruno@clisp.org>
53211
53212         Mark 'strpbrk' obsolete.
53213         * modules/strpbrk (Status, Notice): New sections.
53214         * modules/strtok_r (Depends-on): Add strpbrk.
53215
53216 2008-11-02  Bruno Haible  <bruno@clisp.org>
53217
53218         Mark 'strdup' obsolete.
53219         * modules/strdup (Status, Notice): New sections.
53220         * modules/findprog (Depends-on): Add strdup.
53221         * modules/getaddrinfo (Depends-on): Likewise.
53222         * modules/localename (Depends-on): Likewise.
53223         * modules/relocatable-lib (Depends-on): Likewise.
53224         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
53225         * modules/relocatable-prog (Depends-on): Likewise.
53226         * modules/trim (Depends-on): Likewise.
53227         * modules/unictype/gen-ctype (Depends-on): Likewise.
53228         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
53229
53230 2008-11-02  Bruno Haible  <bruno@clisp.org>
53231
53232         Mark 'strcspn' obsolete.
53233         * modules/strcspn (Status, Notice): New sections.
53234
53235 2008-11-02  Bruno Haible  <bruno@clisp.org>
53236
53237         Mark 'rmdir' obsolete.
53238         * modules/rmdir (Status, Notice): New sections.
53239         * modules/clean-temp (Depends-on): Add rmdir.
53240         * modules/openat (Depends-on): Likewise.
53241
53242 2008-11-02  Bruno Haible  <bruno@clisp.org>
53243
53244         Mark 'raise' obsolete.
53245         * modules/raise (Status, Notice): New sections.
53246         (Include): Specify <signal.h>.
53247         * modules/stdio (Depends-on): Add raise.
53248         * modules/write (Depends-on): Likewise.
53249
53250 2008-11-02  Bruno Haible  <bruno@clisp.org>
53251
53252         Mark 'memset' obsolete.
53253         * modules/memset (Status, Notice): New sections.
53254
53255 2008-11-02  Bruno Haible  <bruno@clisp.org>
53256
53257         Mark 'memmove' obsolete.
53258         * modules/memmove (Status, Notice): New sections.
53259         * modules/argp (Depends-on): Add memmove.
53260         * modules/argz (Depends-on): Likewise.
53261         * modules/canonicalize (Depends-on): Likewise.
53262         * modules/canonicalize-lgpl (Depends-on): Likewise.
53263         * modules/fts (Depends-on): Likewise.
53264         * modules/getcwd (Depends-on): Likewise.
53265         * modules/human (Depends-on): Likewise.
53266         * modules/regex (Depends-on): Likewise.
53267         * modules/striconveh (Depends-on): Likewise.
53268         * modules/trim (Depends-on): Likewise.
53269         * modules/unistr/u8-move (Depends-on): Likewise.
53270         * modules/unistr/u16-move (Depends-on): Likewise.
53271         * modules/unistr/u32-move (Depends-on): Likewise.
53272
53273 2008-11-02  Bruno Haible  <bruno@clisp.org>
53274
53275         Mark 'memcpy' obsolete.
53276         * modules/memcpy (Status, Notice): New sections.
53277
53278 2008-11-02  Bruno Haible  <bruno@clisp.org>
53279
53280         Mark 'memcmp' obsolete.
53281         * modules/memcmp (Status, Notice): New sections.
53282         * modules/argmatch (Depends-on): Add memchr.
53283         * modules/backupfile (Depends-on): Likewise.
53284         * modules/c-strcasestr (Depends-on): Likewise.
53285         * modules/crypto/des (Depends-on): Likewise.
53286         * modules/csharpcomp (Depends-on): Likewise.
53287         * modules/fnmatch (Depends-on): Likewise.
53288         * modules/git-merge-changelog (Depends-on): Likewise.
53289         * modules/isnand (Depends-on): Likewise.
53290         * modules/isnand-nolibm (Depends-on): Likewise.
53291         * modules/isnanf (Depends-on): Likewise.
53292         * modules/isnanf-nolibm (Depends-on): Likewise.
53293         * modules/isnanl (Depends-on): Likewise.
53294         * modules/isnanl-nolibm (Depends-on): Likewise.
53295         * modules/mbchar (Depends-on): Likewise.
53296         * modules/memcoll (Depends-on): Likewise.
53297         * modules/quotearg (Depends-on): Likewise.
53298         * modules/regex (Depends-on): Likewise.
53299         * modules/relocatable-prog (Depends-on): Likewise.
53300         * modules/same (Depends-on): Likewise.
53301         * modules/signbit (Depends-on): Likewise.
53302         * modules/strcasestr-simple (Depends-on): Likewise.
53303         * modules/unictype/gen-ctype (Depends-on): Likewise.
53304         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
53305         * modules/uniname/uniname (Depends-on): Likewise.
53306         * modules/unistr/u8-cmp (Depends-on): Likewise.
53307
53308 2008-11-02  Bruno Haible  <bruno@clisp.org>
53309
53310         Mark 'memchr' obsolete.
53311         * modules/memchr (Status, Notice): New sections.
53312         * modules/argp (Depends-on): Add memchr.
53313         * modules/base64 (Depends-on): Likewise.
53314         * modules/c-strcasestr (Depends-on): Likewise.
53315         * modules/chdir-long (Depends-on): Likewise.
53316         * modules/fnmatch (Depends-on): Likewise.
53317         * modules/getsubopt (Depends-on): Likewise.
53318         * modules/git-merge-changelog (Depends-on): Likewise.
53319         * modules/glob (Depends-on): Likewise.
53320         * modules/strcasestr-simple (Depends-on): Likewise.
53321         * modules/strnlen (Depends-on): Likewise.
53322
53323 2008-11-02  Bruno Haible  <bruno@clisp.org>
53324
53325         Mark 'atexit' obsolete.
53326         * modules/atexit (Status, Notice): New sections.
53327         * modules/chdir-long (Depends-on): Add atexit.
53328         * modules/wait-process (Depends-on): Likewise.
53329
53330 2008-11-02  Bruno Haible  <bruno@clisp.org>
53331
53332         * gnulib-tool: New option --with-obsolete.
53333         (func_usage): Document it.
53334         (func_modules_transitive_closure): Drop obsolete dependencies if
53335         incobsolete is not true.
53336         (func_import): Read and save the incobsolete variable to the cache.
53337
53338 2008-11-02  Bruno Haible  <bruno@clisp.org>
53339
53340         * modules/TEMPLATE-EXTENDED: New field 'Status'.
53341         * gnulib-tool: New option --extract-status.
53342         (func_usage): Document it.
53343         (sed_extract_prog): Recognize it.
53344         (func_get_status): New function.
53345
53346 2008-10-30  Simon Josefsson  <simon@josefsson.org>
53347
53348         * modules/sockets (License): Change from LGPL to LGPLv2+.
53349
53350 2008-10-28  Simon Josefsson  <simon@josefsson.org>
53351
53352         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
53353
53354 2008-10-28  Simon Josefsson  <simon@josefsson.org>
53355
53356         * MODULES.html.sh (Support for systems lacking POSIX:2001):
53357         Mention times and sys_times.
53358         * modules/sys_times, modules/sys_times-tests: New modules.
53359         * modules/times, modules/times-tests: Likewise
53360         * m4/sys_times_h.m4: New file.
53361         * lib/sys_times.in.h: Likewise
53362         * lib/times.c: Likewise.
53363         * tests/test-sys_times.c: Likewise.
53364         * tests/test-times.c: Likewise.
53365         * doc/posix-headers/sys_times.texi: Update.
53366         * doc/posix-functions/times.texi: Update.
53367
53368 2008-10-28  Jim Meyering  <meyering@redhat.com>
53369
53370         * modules/tempname (Depends-on): Add lstat.
53371
53372         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
53373
53374 2008-10-28  Simon Josefsson  <simon@josefsson.org>
53375
53376         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
53377         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
53378         using idiom used elsewhere in gnulib.
53379
53380 2008-10-27  Jim Meyering  <meyering@redhat.com>
53381
53382         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
53383
53384 2008-10-27  Simon Josefsson  <simon@josefsson.org>
53385
53386         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
53387         TESTS_ENVIRONMENT, for shell scripts that needs to call built
53388         programs.
53389         * tests/test-argp-2.sh: Use $EXEEXT when needed.
53390
53391 2008-10-27  Simon Josefsson  <simon@josefsson.org>
53392
53393         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
53394
53395 2008-10-27  Bruno Haible  <bruno@clisp.org>
53396
53397         * tests/test-lstat.c: Include <stdio.h>.
53398
53399 2008-10-27  Simon Josefsson  <simon@josefsson.org>
53400
53401         * modules/lstat-tests: New module.
53402         * tests/test-lstat.c: New file.
53403
53404 2008-10-26  Jim Meyering  <meyering@redhat.com>
53405
53406         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
53407
53408 2008-10-26  Simon Josefsson  <simon@josefsson.org>
53409             Bruno Haible  <bruno@clisp.org>
53410
53411         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
53412         * modules/configmake (Include): Add a note that the include must come
53413         after all system headers.
53414         * lib/javaversion.c: Include configmake.h after all other includes.
53415
53416 2008-10-26  Bruno Haible  <bruno@clisp.org>
53417
53418         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
53419         HAVE_STRUCT_RANDOM_DATA to 1.
53420         (gl_STDLIB_H): Simplify.
53421
53422 2008-10-26  Simon Josefsson  <simon@josefsson.org>
53423
53424         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
53425         substitute HAVE_STRUCT_RANDOM_DATA.
53426         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
53427         random_data.
53428         * modules/stdlib (Makefile.am): Substitute
53429         HAVE_STRUCT_RANDOM_DATA.
53430
53431 2008-10-26  Simon Josefsson  <simon@josefsson.org>
53432
53433         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
53434         * doc/gnulib-intro.texi (Copyright): Likewise.
53435
53436 2008-10-26  Simon Josefsson  <simon@josefsson.org>
53437
53438         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
53439         findings.
53440
53441 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
53442             Bruno Haible  <bruno@clisp.org>
53443
53444         * lib/unistd.in.h: Include <winsock2.h>.
53445         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
53446         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
53447         Provide dummy declarations.
53448         (gethostname): Override.
53449         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
53450         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
53451         gl_PREREQ_SYS_H_WINSOCK2.
53452         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
53453         * doc/posix-functions/gethostname.texi: More details.
53454
53455 2008-10-25  Bruno Haible  <bruno@clisp.org>
53456
53457         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
53458         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
53459         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
53460
53461         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
53462         here ...
53463         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
53464         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
53465         gl_UNISTD_H_DEFAULTS.
53466
53467 2008-10-25  Eric Blake  <ebb9@byu.net>
53468
53469         signbit: avoid spurious compiler failure
53470         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
53471         declarations inside function.
53472
53473 2008-10-24  Simon Josefsson  <simon@josefsson.org>
53474             Bruno Haible  <bruno@clisp.org>
53475
53476         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
53477         * modules/random_r (Depends-on): Add stdint.
53478
53479 2008-10-24  Bruno Haible  <bruno@clisp.org>
53480
53481         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
53482         Eggert.
53483         * modules/strerror (License): Likewise.
53484
53485 2008-10-24  Jim Meyering  <meyering@redhat.com>
53486
53487         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
53488         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
53489
53490 2008-10-24  Eric Blake  <ebb9@byu.net>
53491
53492         getgroups: fix compilation when getgroups is available
53493         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
53494         but with <config.h> override of getgroups disabled.
53495
53496 2008-10-24  Simon Josefsson  <simon@josefsson.org>
53497
53498         * doc/gnulib.texi (Header files): Add note about C++ problems.
53499         Explained by Bruno Haible <bruno@clisp.org>.
53500
53501 2008-10-23  Bruno Haible  <bruno@clisp.org>
53502
53503         Define a dummy SA_NODEFER macro on Interix.
53504         * lib/signal.in.h (SA_NODEFER): Define fallback.
53505         Reported by Aleksey Cheusov <cheusov@tut.by> via
53506         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
53507
53508 2008-10-23  Bruno Haible  <bruno@clisp.org>
53509
53510         * modules/freadahead (License): Change to LGPLv2+.
53511         Suggested by Simon Josefsson.
53512
53513 2008-10-23  Jim Meyering  <meyering@redhat.com>
53514
53515         random_r: new module
53516         * modules/random_r: New file.
53517         * m4/random_r.m4: New file.
53518         * lib/random_r.c: New file, from glibc.
53519         * modules/random_r-tests: New file.
53520         * tests/test-random_r.c: New file.
53521         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
53522          Declare.
53523         (RAND_MAX): Define.
53524         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
53525         * modules/stdlib: Substitute them, too.
53526         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
53527         * doc/glibc-functions/initstate_r.texi: Mention the new module.
53528         * doc/glibc-functions/random_r.texi: Likewise.
53529         * doc/glibc-functions/setstate_r.texi: Likewise.
53530         * doc/glibc-functions/srandom_r.texi: Likewise.
53531         * config/srclist.txt: Mention it.
53532
53533 2008-10-23  David Lutterkort  <lutter@redhat.com>
53534
53535         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
53536         link requirement
53537
53538 2008-10-23  Jim Meyering  <meyering@redhat.com>
53539
53540         selinux-h: mark parameters of stub functions as intentionally unused
53541         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
53542         * lib/se-context.in.h: Likewise.
53543
53544 2008-10-22  Simon Josefsson  <simon@josefsson.org>
53545
53546         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
53547
53548 2008-10-22  Simon Josefsson  <simon@josefsson.org>
53549
53550         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
53551
53552 2008-10-22  Eric Blake  <ebb9@byu.net>
53553
53554         glthread/thread: avoid compiler warning
53555         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
53556         Add unreachable abort to silence compiler.
53557
53558 2008-10-22  Eric Blake  <ebb9@byu.net>
53559
53560         netdb: also supply struct addrinfo for cygwin 1.5.x
53561         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
53562         older cygwin.
53563         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
53564         cygwin.
53565         * doc/posix-headers/netdb.texi (netdb.h): Document this.
53566
53567 2008-10-22  Bruno Haible  <bruno@clisp.org>
53568
53569         * users.txt: Update entry about pspp.
53570
53571 2008-10-21  Bruno Haible  <bruno@clisp.org>
53572
53573         Simplification.
53574         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
53575         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
53576
53577         Simplification.
53578         * lib/ioctl.c (ioctl): Don't undefine.
53579         * lib/socket.c (socket): Don't undefine.
53580
53581         Remove unused module indicator macros.
53582         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
53583         GNULIB_$1 as a C macro.
53584
53585         * doc/posix-functions/close.texi: Undo last change.
53586         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
53587         Windows platforms.
53588
53589 2008-10-21  Bruno Haible  <bruno@clisp.org>
53590
53591         Add gethostname() declaration to <unistd.h>.
53592         * lib/unistd.in.h (gethostname): New declaration.
53593         * lib/gethostname.c: Include <unistd.h>.
53594         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
53595         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
53596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
53597         and HAVE_GETHOSTNAME.
53598         * modules/gethostname (Depends-on): Add unistd.
53599         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53600         (Include): Specify <unistd.h>.
53601         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
53602         HAVE_GETHOSTNAME.
53603         * tests/test-gethostname.c: Include <unistd.h> first.
53604
53605 2008-10-21  Bruno Haible  <bruno@clisp.org>
53606
53607         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
53608         * modules/select-tests (Depends-on): Likewise.
53609         Reported by Simon Josefsson.
53610
53611 2008-10-21  Simon Josefsson  <simon@josefsson.org>
53612
53613         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
53614         * lib/accept.c: New file, based on winsock.c.
53615         * lib/bind.c: New file, based on winsock.c.
53616         * lib/connect.c: New file, based on winsock.c.
53617         * lib/getpeername.c: New file, based on winsock.c.
53618         * lib/getsockname.c: New file, based on winsock.c.
53619         * lib/getsockopt.c: New file, based on winsock.c.
53620         * lib/ioctl.c: New file, based on winsock.c.
53621         * lib/listen.c: New file, based on winsock.c.
53622         * lib/recv.c: New file, based on winsock.c.
53623         * lib/recvfrom.c: New file, based on winsock.c.
53624         * lib/send.c: New file, based on winsock.c.
53625         * lib/sendto.c: New file, based on winsock.c.
53626         * lib/setsockopt.c: New file, based on winsock.c.
53627         * lib/shutdown.c: New file, based on winsock.c.
53628         * lib/socket.c: New file, based on winsock.c.
53629         * lib/w32sock.h: New file, based on winsock.c.
53630         * lib/winsock.c: Remove file.
53631         * modules/accept: Likewise.
53632         * modules/bind: Likewise.
53633         * modules/connect: Likewise.
53634         * modules/getpeername: Likewise.
53635         * modules/getsockname: Likewise.
53636         * modules/getsockopt: Likewise.
53637         * modules/ioctl: Likewise.
53638         * modules/listen: Likewise.
53639         * modules/recv: Likewise.
53640         * modules/recvfrom: Likewise.
53641         * modules/send: Likewise.
53642         * modules/sendto: Likewise.
53643         * modules/setsockopt: Likewise.
53644         * modules/shutdown: Likewise.
53645         * modules/socket: Use socket.c instead of winsock.c.
53646         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
53647         * doc/posix-functions/accept.texi: Doc fix.
53648         * doc/posix-functions/bind.texi: Doc fix.
53649         * doc/posix-functions/close.texi: Doc fix.
53650         * doc/posix-functions/connect.texi: Doc fix.
53651         * doc/posix-functions/getpeername.texi: Doc fix.
53652         * doc/posix-functions/getsockname.texi: Doc fix.
53653         * doc/posix-functions/getsockopt.texi: Doc fix.
53654         * doc/posix-functions/ioctl.texi: Doc fix.
53655         * doc/posix-functions/listen.texi: Doc fix.
53656         * doc/posix-functions/recv.texi: Doc fix.
53657         * doc/posix-functions/recvfrom.texi: Doc fix.
53658         * doc/posix-functions/send.texi: Doc fix.
53659         * doc/posix-functions/sendto.texi: Doc fix.
53660         * doc/posix-functions/setsockopt.texi: Doc fix.
53661         * doc/posix-functions/shutdown.texi: Doc fix.
53662         * doc/posix-functions/socket.texi: Doc fix.
53663
53664 2008-10-20  Bruno Haible  <bruno@clisp.org>
53665
53666         Take into account the role of SIGABRT_COMPAT on Windows 2008.
53667         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
53668         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
53669         as an alias for SIGABRT.
53670         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
53671         (sigaction): Map it to SIGABRT.
53672         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
53673
53674 2008-10-20  Bruno Haible  <bruno@clisp.org>
53675
53676         * lib/fts.c: Don't include lstat.h.
53677         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
53678
53679         Move the lstat() declaration to <sys/stat.h>.
53680         * lib/lstat.h: Remove file.
53681         * lib/sys_stat.in.h: Add special invocation convention.
53682         (lstat): New declaration.
53683         * lib/lstat.c (orig_lstat): New function.
53684         (rpl_lstat): Use orig_lstat instead of lstat.
53685         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
53686         AC_C_INLINE. Set REPLACE_LSTAT.
53687         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
53688         and REPLACE_LSTAT.
53689         * modules/lstat (Files): Remove lib/lstat.h.
53690         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
53691         (Include): Specify <sys/stat.h> instead of lstat.h.
53692         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
53693         REPLACE_LSTAT.
53694         * NEWS: Mention the change.
53695
53696 2008-10-20  Bruno Haible  <bruno@clisp.org>
53697
53698         * modules/posix_spawn-tests: New file.
53699         * tests/test-posix_spawn3.c: New file.
53700
53701 2008-10-20  Bruno Haible  <bruno@clisp.org>
53702
53703         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
53704         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
53705         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
53706         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
53707         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
53708
53709 2008-10-20  Bruno Haible  <bruno@clisp.org>
53710
53711         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
53712         of posix_spawn on AIX 5.3.
53713
53714 2008-10-20  Bruno Haible  <bruno@clisp.org>
53715
53716         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
53717
53718 2008-10-20  Bruno Haible  <bruno@clisp.org>
53719
53720         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
53721         of AC_LANG_PROGRAM.
53722
53723 2008-10-20  Simon Josefsson  <simon@josefsson.org>
53724
53725         * lib/netdb.in.h: Don't define GNU specific constants until they
53726         are supported or needed.  Reported by Bruno Haible
53727         <bruno@clisp.org>.
53728
53729 2008-10-20  Simon Josefsson  <simon@josefsson.org>
53730
53731         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
53732
53733 2008-10-20  Simon Josefsson  <simon@josefsson.org>
53734
53735         * lib/getaddrinfo.h: Remove file.
53736         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
53737         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
53738         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
53739         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
53740         * modules/netdb: Substitute GNULIB_GETADDRINFO.
53741         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
53742         * tests/test-getaddrinfo.c: Likewise.
53743         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
53744         * NEWS: Mention change.
53745
53746 2008-10-19  Bruno Haible  <bruno@clisp.org>
53747
53748         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
53749
53750 2008-10-19  Bruno Haible  <bruno@clisp.org>
53751
53752         * lib/wait-process.c: Include simply <sys/wait.h>.
53753         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
53754         WIFSTOPPED): Remove fallback definitions.
53755         * modules/wait-process (Depends-on): Add sys_wait.
53756
53757         New module 'sys_wait'.
53758         * modules/sys_wait: New file.
53759         * lib/sys_wait.in.h: New file, partially copied from
53760         lib/wait-process.c.
53761         * m4/sys_wait_h.m4: New file.
53762         * doc/posix-headers/sys_wait.texi: Mention the new module.
53763
53764 2008-10-19  Bruno Haible  <bruno@clisp.org>
53765
53766         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
53767
53768 2008-10-19  Bruno Haible  <bruno@clisp.org>
53769
53770         Assume that waitpid() fills an 'int' status, not a 'union wait'.
53771         * lib/wait-process.c (WAIT_T): Remove type.
53772         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
53773         (wait_subprocess): Update.
53774
53775 2008-10-19  Bruno Haible  <bruno@clisp.org>
53776
53777         New module 'atoll'.
53778         * modules/atoll: New file.
53779         * lib/stdlib.in.h (atoll): New declaration.
53780         * lib/atoll.c: New file, from glibc with modifications.
53781         * m4/atoll.m4: New file.
53782         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
53783         HAVE_ATOLL.
53784         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
53785         * doc/posix-functions/atoll.texi: Mention the new module.
53786
53787 2008-10-19  Bruno Haible  <bruno@clisp.org>
53788
53789         Add strtoull() declaration to <stdlib.h>.
53790         * lib/stdlib.in.h (strtoull): New declaration.
53791         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
53792         Set HAVE_STRTOULL.
53793         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
53794         HAVE_STRTOULL.
53795         * modules/strtoull (Depends-on): Add stdlib.
53796         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53797         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
53798         HAVE_STRTOULL.
53799
53800 2008-10-19  Bruno Haible  <bruno@clisp.org>
53801
53802         Add strtoll() declaration to <stdlib.h>.
53803         * lib/stdlib.in.h (strtoll): New declaration.
53804         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
53805         Set HAVE_STRTOLL.
53806         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
53807         HAVE_STRTOLL.
53808         * modules/strtoll (Depends-on): Add stdlib.
53809         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53810         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
53811
53812 2008-10-19  Bruno Haible  <bruno@clisp.org>
53813
53814         * modules/bcopy (Depends-on): Add strings.
53815         (Include): Specify <strings.h>.
53816
53817 2008-10-19  Bruno Haible  <bruno@clisp.org>
53818
53819         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
53820
53821 2008-10-19  Bruno Haible  <bruno@clisp.org>
53822
53823         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
53824         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
53825         mingw.
53826
53827 2008-10-19  Bruno Haible  <bruno@clisp.org>
53828
53829         * lib/atanl.c: Don't include isnanl.h.
53830         * lib/cosl.c: Likewise.
53831         * lib/ldexpl.c: Likewise.
53832         * lib/logl.c: Likewise.
53833         * lib/sinl.c: Likewise.
53834         * lib/sqrtl.c: Likewise.
53835         * lib/tanl.c: Likewise.
53836
53837         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
53838         * lib/isnanf.h: Remove file.
53839         * lib/isnand.h: Remove file.
53840         * lib/isnanl.h: Remove file.
53841         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
53842         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
53843         macros.
53844         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
53845         HAVE_ISNANF, don't define it as a C macro.
53846         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
53847         HAVE_ISNAND, don't define it as a C macro.
53848         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
53849         HAVE_ISNANL, don't define it as a C macro.
53850         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
53851         HAVE_ISNAN[FDL].
53852         * modules/isnanf (Files): Remove lib/isnanf.h.
53853         (Depends-on): Add math.
53854         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53855         (Include): Specify <math.h> instead of isnanf.h.
53856         * modules/isnand (Files): Remove lib/isnand.h.
53857         (Depends-on): Add math.
53858         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53859         (Include): Specify <math.h> instead of isnand.h.
53860         * modules/isnanl (Files): Remove lib/isnanl.h.
53861         (Depends-on): Add math.
53862         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
53863         (Include): Specify <math.h> instead of isnanl.h.
53864         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
53865         HAVE_ISNAN[FDL].
53866         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
53867         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
53868         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
53869         * NEWS: Mention the change.
53870
53871 2008-10-18  Bruno Haible  <bruno@clisp.org>
53872
53873         Add getusershell(), setusershell(), endusershell() declarations to
53874         <unistd.h>.
53875         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
53876         declarations.
53877         * lib/getusershell.c: Include unistd.h.
53878         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
53879         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
53880         HAVE_GETUSERSHELL.
53881         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
53882         and HAVE_GETUSERSHELL.
53883         * modules/getusershell (Depends-on): Add unistd, extensions.
53884         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53885         (Include): Specify <unistd.h>.
53886         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
53887         HAVE_GETUSERSHELL.
53888
53889 2008-10-18  Bruno Haible  <bruno@clisp.org>
53890
53891         Add a getloadavg() declaration to <stdlib.h>.
53892         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
53893         getloadavg declaration.
53894         (getloadavg): New declaration.
53895         * lib/getloadavg.c: Include <stdlib.h> first.
53896         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
53897         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
53898         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
53899         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
53900         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
53901         * modules/getloadavg (Depends-on): Add stdlib, extensions.
53902         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53903         (Include): Specify <stdlib.h>.
53904         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
53905         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
53906
53907 2008-10-18  Bruno Haible  <bruno@clisp.org>
53908
53909         * lib/dirchownmod.c: Don't include lchmod.h.
53910
53911         Move the lchmod() declaration to <sys/stat.h>.
53912         * lib/lchmod.h: Remove file.
53913         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
53914         (lchmod): New declaration, moved here from lib/lchown.h.
53915         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
53916         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
53917         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
53918         and HAVE_LCHMOD.
53919         * modules/lchmod (Files): Remove lib/lchmod.h.
53920         (Depends-on): Add sys_stat, extensions.
53921         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
53922         (Include): Specify <sys/stat.h> instead of lchmod.h.
53923         * modules/sys_stat (Depends-on): Add link-warning.
53924         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
53925         definition of GL_LINK_WARNING.
53926         * NEWS: Mention the change.
53927
53928 2008-10-18  Bruno Haible  <bruno@clisp.org>
53929
53930         * lib/fchdir.c: Don't include dirfd.h.
53931         * lib/fts.c: Likewise.
53932         * lib/getcwd.c: Likewise.
53933         * lib/glob.c: Likewise.
53934
53935         Move the dirfd() declaration to <dirent.h>.
53936         * lib/dirfd.h: Remove file.
53937         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
53938         (dirfd): New declaration.
53939         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
53940         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
53941         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
53942         HAVE_DECL_DIRFD.
53943         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
53944         HAVE_DECL_DIRFD.
53945         * modules/dirfd (Files): Remove lib/dirfd.h.
53946         (Depends-on): Add dirent, extensions.
53947         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
53948         (Include): Specify <dirent.h> instead of dirfd.h.
53949         * modules/dirent (Depends-on): Add link-warning.
53950         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
53951         definition of GL_LINK_WARNING.
53952         * NEWS: Mention the change.
53953
53954 2008-10-18  Bruno Haible  <bruno@clisp.org>
53955
53956         Move the euidaccess() declaration to <unistd.h>.
53957         * lib/euidaccess.h: Remove file.
53958         * lib/unistd.in.h (euidaccess): New declaration.
53959         * lib/euidaccess.c: Don't include euidaccess.h.
53960         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
53961         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
53962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
53963         and HAVE_EUIDACCESS.
53964         * modules/euidaccess (Files): Remove lib/euidaccess.h.
53965         (Depends-on): Add unistd.
53966         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53967         (Include): Specify <unistd.h> instead of euidaccess.h.
53968         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
53969         HAVE_EUIDACCESS.
53970         * NEWS: Mention the change.
53971
53972 2008-10-18  Bruno Haible  <bruno@clisp.org>
53973
53974         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
53975
53976         Move the getdomainname() declaration to <unistd.h>.
53977         * lib/getdomainname.h: Remove file.
53978         * lib/unistd.in.h (getdomainname): New declaration.
53979         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
53980         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
53981         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
53982         HAVE_GETDOMAINNAME.
53983         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
53984         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
53985         * modules/getdomainname (Files): Remove lib/getdomainname.h.
53986         (Depends-on): Add unistd, extensions.
53987         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53988         (Includes): Specify <unistd.h> instead of getdomainname.h.
53989         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
53990         HAVE_GETDOMAINNAME.
53991         * NEWS: Mention the change.
53992
53993 2008-10-18  Bruno Haible  <bruno@clisp.org>
53994
53995         * modules/dirent: New file.
53996         * m4/dirent_h.m4: New file.
53997         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
53998         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
53999         * modules/fchdir (Files): Remove lib/dirent.in.h.
54000         (Depends-on): Add dirent.
54001         (Makefile.am): Move rules to modules/dirent.
54002         * doc/posix-headers/dirent.texi: Mention the new module.
54003
54004 2008-10-18  Bruno Haible  <bruno@clisp.org>
54005
54006         Avoid -Wunused-parameter warnings in public gnulib header files.
54007         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
54008         macro.
54009         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
54010
54011 2008-10-18  Bruno Haible  <bruno@clisp.org>
54012
54013         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
54014         * doc/glibc-functions/error.texi: Mention the module 'error'.
54015         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
54016         * doc/glibc-functions/getdomainname.texi: Mention the module
54017         'getdomainname'.
54018         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
54019         * doc/glibc-functions/getpagesize.texi: Mention the module
54020         'getpagesize'.
54021         * doc/glibc-functions/getusershell.texi: Mention the module
54022         'getusershell'.
54023         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
54024         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
54025         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
54026         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
54027         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
54028         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
54029         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
54030         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
54031         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
54032         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
54033         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
54034         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
54035         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
54036         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
54037
54038 2008-10-17  Bruno Haible  <bruno@clisp.org>
54039
54040         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
54041         HP-UX and IRIX, use -0.0L.
54042         * tests/test-ceill.c (minus_zero): Likewise.
54043         * tests/test-floorl.c (minus_zero): Likewise.
54044         * tests/test-frexpl.c (minus_zero): Likewise.
54045         * tests/test-isnan.c (minus_zerol): Likewise.
54046         * tests/test-isnanl.h (minus_zero): Likewise.
54047         * tests/test-ldexpl.c (minus_zero): Likewise.
54048         * tests/test-roundl.c (minus_zero): Likewise.
54049         * tests/test-signbit.c (minus_zerol): Likewise.
54050         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
54051         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
54052         * tests/test-truncl.c (minus_zero): Likewise.
54053         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
54054         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
54055         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
54056         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
54057
54058 2008-10-17  Bruno Haible  <bruno@clisp.org>
54059
54060         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
54061         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
54062         that it gets activated only for gcc >= 3.0.
54063         * lib/dirent.in.h: Likewise.
54064         * lib/errno.in.h: Likewise.
54065         * lib/fcntl.in.h: Likewise.
54066         * lib/float.in.h: Likewise.
54067         * lib/iconv.in.h: Likewise.
54068         * lib/inttypes.in.h: Likewise.
54069         * lib/locale.in.h: Likewise.
54070         * lib/math.in.h: Likewise.
54071         * lib/netdb.in.h: Likewise.
54072         * lib/netinet_in.in.h: Likewise.
54073         * lib/search.in.h: Likewise.
54074         * lib/signal.in.h: Likewise.
54075         * lib/spawn.in.h: Likewise.
54076         * lib/stdarg.in.h: Likewise.
54077         * lib/stdint.in.h: Likewise.
54078         * lib/stdio.in.h: Likewise.
54079         * lib/stdlib.in.h: Likewise.
54080         * lib/string.in.h: Likewise.
54081         * lib/strings.in.h: Likewise.
54082         * lib/sys_file.in.h: Likewise.
54083         * lib/sys_ioctl.in.h: Likewise.
54084         * lib/sys_select.in.h: Likewise.
54085         * lib/sys_socket.in.h: Likewise.
54086         * lib/sys_stat.in.h: Likewise.
54087         * lib/sys_time.in.h: Likewise.
54088         * lib/sysexits.in.h: Likewise.
54089         * lib/time.in.h: Likewise.
54090         * lib/unistd.in.h: Likewise.
54091         * lib/wchar.in.h: Likewise.
54092         * lib/wctype.in.h: Likewise.
54093         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
54094
54095 2008-10-17  Jim Meyering  <meyering@redhat.com>
54096
54097         ignore-value: don't depend on inline module
54098         * modules/ignore-value (Depends-on): Remove 'inline'.
54099         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
54100         Suggestion from Bruno Haible.
54101
54102 2008-10-17  Bruno Haible  <bruno@clisp.org>
54103
54104         New implementation of condition variables for Win32.
54105         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
54106         (gl_linked_waitqueue_t): New type.
54107         (gl_cond_t): Use it.
54108         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
54109         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
54110         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
54111         (glthread_cond_init_func, glthread_cond_wait_func,
54112         glthread_cond_timedwait_func, glthread_cond_signal_func,
54113         glthread_cond_broadcast_func, glthread_cond_destroy_func):
54114         Reimplemented on the basis of gl_linked_waitqueue_t.
54115         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
54116         gl_waitqueue_t.
54117         (gl_rwlock_t): Update.
54118         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
54119
54120 2008-10-17  Simon Josefsson  <simon@josefsson.org>
54121
54122         * modules/recvfrom (Depends-on): Add dependency on getpeername.
54123         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54124
54125 2008-10-17  Jim Meyering  <meyering@redhat.com>
54126
54127         ignore-value: new module
54128         * modules/ignore-value: New file.
54129         * lib/ignore-value.h: New file.
54130         * MODULES.html.sh (Compiler warning management): New section,
54131         just for this module.  More to come.
54132
54133 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
54134
54135         open-safer.c: avoid 'signed and unsigned in conditional...' warning
54136         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
54137         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
54138
54139 2008-10-16  Jim Meyering  <meyering@redhat.com>
54140
54141         openat-die.c: avoid 'no previous prototype' warning
54142         * lib/openat-die.c: Include "openat.h".
54143         Reported by Reuben Thomas <rrt@sc3d.org>.
54144
54145 2008-10-16  Simon Josefsson  <simon@josefsson.org>
54146
54147         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
54148         * lib/netdb.in.h: Fix typo.
54149         Reported by Bruno Haible  <bruno@clisp.org>
54150
54151         * lib/netdb.in.h: Include sys/socket.h for platforms without
54152         netdb.h, to get structures like hostent on MinGW.
54153         * modules/netdb (Depends-on): Add sys_socket.
54154
54155 2008-10-15  Simon Josefsson  <simon@josefsson.org>
54156
54157         * modules/netdb, modules/netdb-tests: New file.
54158         * m4/netdb_h.m4: New file.
54159         * lib/netdb.in.h: Add, currently just an empty file pending
54160         definitions.
54161         * tests/test-netdb.c: New file.
54162         * doc/posix-headers/netdb.texi: Mention that we replace it if
54163         needed.
54164         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54165         netdb.
54166
54167 2008-10-15  Simon Josefsson  <simon@josefsson.org>
54168
54169         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
54170         with code.
54171
54172 2008-10-13  Bruno Haible  <bruno@clisp.org>
54173
54174         * lib/glthread/cond.c (glthread_cond_wait_func,
54175         glthread_cond_timedwait_func): Add a comment.
54176
54177 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54178
54179         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
54180         * tests/test-select.c: Likewise,
54181
54182 2008-10-13  Bruno Haible  <bruno@clisp.org>
54183
54184         * lib/glthread/cond.c (glthread_cond_wait_func,
54185         glthread_cond_timedwait_func): Fix variable name.
54186         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
54187
54188 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
54189
54190         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
54191         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
54192         struct sockaddr.sa_len.
54193         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
54194
54195 2008-10-13  Simon Josefsson  <simon@josefsson.org>
54196
54197         * build-aux/pmccabe2html: Add css and css_url parameters.
54198
54199 2008-10-12  Bruno Haible  <bruno@clisp.org>
54200
54201         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
54202         calling aclx_get.
54203         Reported by Rainer Tammer <tammer@tammer.net>.
54204
54205 2008-10-12  Bruno Haible  <bruno@clisp.org>
54206
54207         Use msvcrt aware primitives for creation/termination of Win32 threads.
54208         * lib/glthread/thread.c: Include <process.h>.
54209         (glthread_create_func): Use _beginthreadex instead of CreateThread.
54210         (wrapper_func): Update signature.
54211         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
54212
54213 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54214             Bruno Haible  <bruno@clisp.org>
54215
54216         Provide a Win32 implementation of the 'cond' module.
54217         * lib/glthread/cond.h [USE_WIN32]: New implementation.
54218         * lib/glthread/cond.c (glthread_cond_init_func,
54219         glthread_cond_wait_func, glthread_cond_timedwait_func,
54220         glthread_cond_signal_func, glthread_cond_broadcast_func,
54221         glthread_cond_destroy_func) [USE_WIN32]: New functions.
54222         * modules/cond (Dependencies): Add gettimeofday.
54223
54224 2008-10-11  Bruno Haible  <bruno@clisp.org>
54225
54226         Make sleep work on older versions of mingw.
54227         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
54228         only whether it exists.
54229         * doc/posix-functions/sleep.texi: Mention the problem with older
54230         versions of mingw.
54231
54232 2008-10-11  Bruno Haible  <bruno@clisp.org>
54233
54234         New module 'shutdown'.
54235         * modules/shutdown: New file.
54236         * lib/sys_socket.in.h (shutdown): New declaration.
54237         * lib/winsock.c (shutdown): New function.
54238         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
54239         GNULIB_SHUTDOWN.
54240         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
54241         * doc/posix-functions/shutdown.texi: Document the new module.
54242
54243 2008-10-11  Jim Meyering  <meyering@redhat.com>
54244
54245         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
54246
54247 2008-10-11  Bruno Haible  <bruno@clisp.org>
54248
54249         New module 'fclose'.
54250         * modules/fclose: New file.
54251         * lib/stdio.in.h (fclose): New declaration.
54252         * lib/fclose.c: New file.
54253         * m4/fclose.m4: New file.
54254         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
54255         REPLACE_FCLOSE.
54256         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
54257         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
54258         REPLACE_FCLOSE.
54259         * modules/close (Depends-on): fclose.
54260         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
54261
54262 2008-10-11  Bruno Haible  <bruno@clisp.org>
54263
54264         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
54265         set errno and don't call _close.
54266
54267 2008-10-10  Bruno Haible  <bruno@clisp.org>
54268
54269         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
54270         ACL, not afterwards. Fixes test failure on Cygwin.
54271
54272 2008-10-09  Ben Pfaff  <blp@gnu.org>
54273
54274         * build-aux/announce-gen: Fix gnulib version related part of usage
54275         message.  Die with a useful error message if no tarballs are
54276         found.
54277
54278 2008-10-10  Jim Meyering  <meyering@redhat.com>
54279
54280         bootstrap: use git's --depth=N option only if it's supported
54281         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
54282         recognize the --depth option.  Reported by Pádraig Brady.
54283
54284 2008-10-09  Bruno Haible  <bruno@clisp.org>
54285
54286         New module 'ioctl'.
54287         * modules/ioctl: New file.
54288         * lib/sys_socket.in.h (ioctl): Remove declaration.
54289         * lib/winsock.c: Include <sys/ioctl.h>.
54290         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
54291         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54292         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
54293         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
54294         * doc/posix-functions/ioctl.texi: Mention the new module.
54295
54296 2008-10-09  Bruno Haible  <bruno@clisp.org>
54297
54298         New module 'sys_ioctl'.
54299         * lib/sys_ioctl.in.h: New file.
54300         * m4/sys_ioctl_h.m4: New file.
54301         * modules/sys_ioctl: New file.
54302         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
54303
54304 2008-10-09  Bruno Haible  <bruno@clisp.org>
54305
54306         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
54307         * lib/winsock.c: Include <stdarg.h>.
54308         (rpl_ioctl): Change to second argument 'int' and then varargs.
54309
54310 2008-10-09  Bruno Haible  <bruno@clisp.org>
54311
54312         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
54313         when the sys_socket module is present and the system has <winsock2.h>.
54314
54315 2008-10-09  Bruno Haible  <bruno@clisp.org>
54316
54317         * doc/posix-functions/close.texi: Mention module 'close' instead of
54318         module 'sys_socket'.
54319
54320 2008-10-09  Bruno Haible  <bruno@clisp.org>
54321
54322         * doc/glibc-headers/sys_ioctl.texi: New file.
54323         * doc/gnulib.texi: Include it.
54324
54325 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54326             Bruno Haible  <bruno@clisp.org>
54327
54328         Combine the two replacements of 'close'.
54329         * lib/sys_socket.in.h (close): Define to a reminder to include
54330         <unistd.h>.
54331         (_gl_close_fd_maybe_socket): New declaration.
54332         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
54333         * lib/winsock.c (close): Remove undefinition.
54334         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
54335         needed for the gnulib module 'close'.
54336         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
54337         define to an error symbol or to a warning, if suitable.
54338         * lib/close.c: Include <sys/socket.h>.
54339         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
54340         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
54341         UNISTD_H_HAVE_WINSOCK2_H.
54342         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
54343         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54344         UNISTD_H_HAVE_WINSOCK2_H.
54345         * modules/sys_socket (Files): Add m4/unistd_h.m4.
54346         (configure.ac): Set a module indicator.
54347         (Makefile.am): Substitute GNULIB_CLOSE.
54348         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
54349         * modules/poll-tests (Depends-on): Add close.
54350         * modules/select-tests (Depends-on): Likewise.
54351
54352 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54353             Bruno Haible  <bruno@clisp.org>
54354
54355         New module 'close'.
54356         * modules/close: New file.
54357         * lib/unistd.in.h (close): Move declaration out of the
54358         FCHDIR_REPLACEMENT scope.
54359         (_gl_unregister_fd): New declaration.
54360         * lib/close.c: New file.
54361         * lib/fchdir.c (rpl_close): Remove function.
54362         * m4/close.m4: New file.
54363         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
54364         close.
54365         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
54366         REPLACE_CLOSE.
54367         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
54368         REPLACE_CLOSE.
54369         * modules/fchdir (Depends-on): Add close.
54370
54371 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54372             Bruno Haible  <bruno@clisp.org>
54373
54374         * lib/fcntl.in.h (open): Simplify conditionals.
54375         (_gl_register_fd): New declaration.
54376         * lib/fchdir.c (rpl_open): Remove function.
54377         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
54378         also.
54379         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
54380         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
54381         open.
54382
54383 2008-10-09  Jim Meyering  <meyering@redhat.com>
54384
54385         GNUmakefile: use the more name-space-friendly "_version"
54386         * top/GNUmakefile (_dummy): Update.
54387         (_version): Rename from "version".
54388
54389 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54390             Bruno Haible  <bruno@clisp.org>
54391
54392         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
54393         rpl_close.
54394         (_gl_register_fd): New function, extracted from rpl_open.
54395         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
54396         (rpl_open, rpl_opendir): Use _gl_register_fd.
54397
54398 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
54399
54400         Fix organization of 'open' replacement.
54401         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
54402         (gl_FUNC_OPEN): Use it.
54403         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
54404
54405 2008-10-08  Bruno Haible  <bruno@clisp.org>
54406
54407         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
54408
54409 2008-10-08  Simon Josefsson  <simon@josefsson.org>
54410
54411         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
54412         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
54413         listen).
54414
54415 2008-10-08  Eric Blake  <ebb9@byu.net>
54416
54417         GNUmakefile: add 'make version' target
54418         * top/GNUmakefile (_curr-ver): Split version update rules...
54419         (version): ...into a target.
54420
54421 2008-10-07  Bruno Haible  <bruno@clisp.org>
54422
54423         Use a more portable replacement expression for -0.0L.
54424         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
54425         instead of -0.0L. Fix m4 quotation.
54426
54427         * tests/test-signbit.c: Include <float.h>.
54428         (minus_zero): New variable.
54429         (test_signbitl): Use minus_zero instead of -zero.
54430         * modules/signbit-tests (Depends-on): Add float.
54431
54432         * tests/test-ceill.c: Include <float.h>.
54433         (zero): Remove variable.
54434         (minus_zero): New variable.
54435         (main): Use minus_zero instead of -zero.
54436         * modules/ceill-tests (Depends-on): Add float.
54437
54438         * tests/test-floorl.c: Include <float.h>.
54439         (zero): Remove variable.
54440         (minus_zero): New variable.
54441         (main): Use minus_zero instead of -zero.
54442         * modules/floorl-tests (Depends-on): Add float.
54443
54444         * tests/test-roundl.c: Include <float.h>.
54445         (zero): Remove variable.
54446         (minus_zero): New variable.
54447         (main): Use minus_zero instead of -zero.
54448         * modules/roundl-tests (Depends-on): Add float.
54449
54450         * tests/test-truncl.c: Include <float.h>.
54451         (zero): Remove variable.
54452         (minus_zero): New variable.
54453         (main): Use minus_zero instead of -zero.
54454         * modules/truncl-tests (Depends-on): Add float.
54455
54456         * tests/test-frexpl.c (zero): Remove variable.
54457         (minus_zero): New variable.
54458         (main): Use minus_zero instead of -zero.
54459         * modules/frexpl-tests (Depends-on): Add float.
54460
54461         * tests/test-isnan.c (zerol): Remove variable.
54462         (minus_zerol): New variable.
54463         (test_long_double): Use minus_zerol instead of -zerol.
54464         * modules/isnan-tests (Depends-on): Add float.
54465
54466         * tests/test-isnanl.h (zero): Remove variable.
54467         (minus_zero): New variable.
54468         (main): Use minus_zero instead of -zero.
54469         * modules/isnanl-nolibm-tests (Depends-on): Add float.
54470         * modules/isnanl-tests (Depends-on): Add float.
54471
54472         * tests/test-ldexpl.c (zero): Remove variable.
54473         (minus_zero): New variable.
54474         (main): Use minus_zero instead of -zero.
54475         * modules/ldexpl-tests (Depends-on): Add float.
54476
54477         * tests/test-snprintf-posix.h (zerol): Remove variable.
54478         (minus_zerol): New variable.
54479         (test_function): Use minus_zerol instead of -zerol.
54480         * modules/snprintf-posix-tests (Depends-on): Add float.
54481         * modules/vsnprintf-posix-tests (Depends-on): Add float.
54482
54483         * tests/test-sprintf-posix.h (zerol): Remove variable.
54484         (minus_zerol): New variable.
54485         (test_function): Use minus_zerol instead of -zerol.
54486         * modules/sprintf-posix-tests (Depends-on): Add float.
54487         * modules/vsprintf-posix-tests (Depends-on): Add float.
54488
54489         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
54490         (minus_zerol): New variable.
54491         (test_function): Use minus_zerol instead of -zerol.
54492         * modules/vasnprintf-posix-tests (Depends-on): Add float.
54493
54494         * tests/test-vasprintf-posix.c (zerol): Remove variable.
54495         (minus_zerol): New variable.
54496         (test_function): Use minus_zerol instead of -zerol.
54497         * modules/vasprintf-posix-tests (Depends-on): Add float.
54498
54499 2008-10-07  Simon Josefsson  <simon@josefsson.org>
54500
54501         * MODULES.html.sh (Support for building documentation): Mention
54502         pmccabe2html.  Sort entries.
54503
54504         Add pmccabe2html module, from gnupdf.
54505         * build-aux/pmccabe.css: New file.
54506         * build-aux/pmccabe2html: New file.
54507         * m4/pmccabe2html.m4: New file.
54508         * modules/pmccabe2html: New file.
54509
54510 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
54511
54512         flock: new module
54513         * MODULES.html.sh: Add to list of modules.
54514         * lib/flock.c: flock implementation for Windows and Unix systems
54515         which have fcntl.
54516         * doc/glibc-functions/flock.texi: Update documentation.
54517         * lib/sys_file.in.h: <sys/file.h> header file.
54518         * m4/flock.m4: M4 macros.
54519         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
54520         * modules/flock: flock module.
54521         * modules/flock-tests: flock tests module.
54522         * modules/sys_file: sys/file.h module.
54523         * tests/test-flock.c: test suite for flock.
54524
54525 2008-10-06  Jim Meyering  <meyering@redhat.com>
54526
54527         bootstrap: check for LT_INIT more portably still ;-)
54528         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
54529         Spotted by Bruno Haible.
54530
54531 2008-10-06  Eric Blake  <ebb9@byu.net>
54532
54533         test-signbit: avoid tripping Irix cc bug on -0.0L
54534         * tests/test-signbit.c (minus_zerol): Delete, and replace with
54535         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
54536         entire testsuite consistent and avoids an Irix 6.2 bug.
54537
54538 2008-10-05  Bruno Haible  <bruno@clisp.org>
54539             Jim Meyering  <jim@meyering.net>
54540
54541         Add an option for ignoring EPIPE during close_stdout.
54542         * lib/closeout.h: Include <stdbool.h>.
54543         (close_stdout_set_ignore_EPIPE): New declaration.
54544         * lib/closeout.c: Include <stdbool.h>.
54545         (ignore_EPIPE): New variable.
54546         (close_stdout_set_ignore_EPIPE): New function.
54547         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
54548         * lib/close-stream.c (close_stream): Mention the possible EPIPE
54549         failure.
54550         * modules/closeout (Depends-on): Add stdbool.
54551
54552 2008-10-05  Bruno Haible  <bruno@clisp.org>
54553
54554         * modules/accept: New file.
54555         * modules/bind: New file.
54556         * modules/connect: New file.
54557         * modules/getpeername: New file.
54558         * modules/getsockname: New file.
54559         * modules/getsockopt: New file.
54560         * modules/listen: New file.
54561         * modules/recv: New file.
54562         * modules/recvfrom: New file.
54563         * modules/send: New file.
54564         * modules/sendto: New file.
54565         * modules/setsockopt: New file.
54566         * modules/socket: New file.
54567         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
54568         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
54569         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
54570         the particular module is requested. Add a link warning when the
54571         particular module is not requested.
54572         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
54573         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
54574         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
54575         the particular module is requested.
54576         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
54577         gl_SYS_SOCKET_H_DEFAULTS): New macros.
54578         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
54579         * modules/sys_socket (Depends-on): Add link-warning.
54580         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
54581         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
54582         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
54583         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
54584         GL_LINK_WARNING.
54585         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
54586         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
54587         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
54588         * doc/posix-functions/getpeername.texi: Mention the new module
54589         'getpeername'.
54590         * doc/posix-functions/getsockname.texi: Mention the new module
54591         'getsockname'.
54592         * doc/posix-functions/getsockopt.texi: Mention the new module
54593         'getsockopt'.
54594         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
54595         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
54596         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
54597         * doc/posix-functions/send.texi: Mention the new module 'send'.
54598         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
54599         * doc/posix-functions/setsockopt.texi: Mention the new module
54600         'setsockopt'.
54601         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
54602         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
54603         listen, connect, accept.
54604         * modules/select-tests (Depends-on): Likewise.
54605
54606 2008-10-05  Bruno Haible  <bruno@clisp.org>
54607
54608         * lib/winsock.c (strerror): Remove unused #undef.
54609         (rpl_close): Remove unused local variable.
54610
54611         * modules/sys_socket (Depends-on); Add errno.
54612
54613 2008-10-05  Bruno Haible  <bruno@clisp.org>
54614
54615         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
54616         (select): Add a link warning when the 'select' module is not used.
54617         * modules/sys_select (Depends-on): Add link-warning.
54618         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
54619         Suggested by Paolo Bonzini.
54620
54621 2008-10-05  Jim Meyering  <meyering@redhat.com>
54622
54623         bootstrap: check for LT_INIT more portably
54624         * build-aux/bootstrap: Avoid using grep -E, since it's not
54625         portable enough.  Suggestion from Bruno Haible.
54626
54627 2008-10-05  Bruno Haible  <bruno@clisp.org>
54628
54629         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
54630         as being fixed by gnulib.
54631
54632 2008-10-05  Bruno Haible  <bruno@clisp.org>
54633
54634         * modules/select-tests: New file, mostly copied from
54635         modules/sys_select-tests.
54636         * tests/test-select.c: New file, mostly copied from
54637         tests/test-sys_select.c.
54638         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
54639         * modules/sys_select-tests (Depends-on): Remove all dependencies.
54640         (Makefile.am): Remove test_sys_select_LDADD.
54641
54642         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
54643         to an undefined symbol, for an error message.
54644         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
54645         (gl_SYS_SELECT_H_DEFAULTS): New macro.
54646         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
54647         winsock-select.c here.
54648         * modules/sys_select (Files): Remove lib/winsock-select.c.
54649         (Depends-on): Remove alloca.
54650         (Makefile.am): Substitute GNULIB_SELECT.
54651         * modules/select: New file.
54652         * doc/posix-functions/select.texi: Update.
54653
54654 2008-10-05  Bruno Haible  <bruno@clisp.org>
54655
54656         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
54657         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
54658         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
54659         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
54660         getdtablesize.
54661         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
54662         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
54663
54664 2008-10-05  Bruno Haible  <bruno@clisp.org>
54665
54666         * modules/getdtablesize-tests: New file.
54667         * tests/test-getdtablesize.c: New file.
54668
54669         New module 'getdtablesize'.
54670         * lib/unistd.in.h (getdtablesize): New declaration.
54671         * lib/getdtablesize.c: New file.
54672         * m4/getdtablesize.m4: New file.
54673         * modules/getdtablesize: New file.
54674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54675         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
54676         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
54677         HAVE_GETDTABLESIZE.
54678         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
54679
54680 2008-10-05  Bruno Haible  <bruno@clisp.org>
54681
54682         * modules/sched (Makefile.am): Fix typo.
54683         Reported by Simon Josefsson.
54684
54685 2008-10-05  Jim Meyering  <meyering@redhat.com>
54686
54687         bootstrap: check for LT_INIT, too
54688         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
54689         are deprecated.  Suggestion from Ralf Wildenhues.
54690
54691 2008-10-05  Bruno Haible  <bruno@clisp.org>
54692
54693         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
54694         overriding them by ours.
54695         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
54696
54697 2008-10-05  Jim Meyering  <meyering@redhat.com>
54698
54699         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
54700         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
54701         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
54702
54703 2008-10-04  Bruno Haible  <bruno@clisp.org>
54704
54705         * modules/dup2 (License): Change to LGPLv2+.
54706         * modules/sleep (License): Likewise.
54707         * modules/perror (License): Likewise.
54708         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
54709         Blake.
54710         * modules/signal (License): Likewise.
54711         * modules/sigprocmask (License): Likewise.
54712         * modules/raise (License): Change to LGPLv2+, with approval by Jim
54713         Meyering.
54714
54715 2008-10-04  Bruno Haible  <bruno@clisp.org>
54716
54717         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
54718         Reported by Rainer Tammer <tammer@tammer.net>.
54719
54720 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
54721             Bruno Haible  <bruno@clisp.org>
54722
54723         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
54724         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
54725         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
54726
54727 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
54728
54729         filevercmp: new module
54730         * lib/filevercmp.h: New function filevercmp comparing version strings.
54731         * lib/filevercmp.c: Implementation of filevercmp function.
54732         * modules/filevercmp: Module metadata.
54733         * tests/test-filevercmp.c: Unit test for new module.
54734         * modules/filevercmp-tests: Unit test metadata.
54735         * MODULES.html.sh: Add filevercmp module.
54736
54737 2008-10-03  Bruno Haible  <bruno@clisp.org>
54738
54739         * lib/c-ctype.h: Add comment.
54740         Reported by Jim Meyering.
54741
54742 2008-10-02  Bruno Haible  <bruno@clisp.org>
54743
54744         * modules/posix_spawn-internal (Depends-on): Add 'open'.
54745
54746 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
54747
54748         * build-aux/bootstrap: Allow renaming bootstrap, and change the
54749         name of bootstrap.conf accordingly.
54750
54751 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
54752
54753         * build-aux/bootstrap: Install git-merge-changelog configuration
54754         items into .gitconfig if needed.
54755
54756 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
54757
54758         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
54759         git repository, and initialize/update it accordingly.
54760
54761 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
54762
54763         * modules/fsync-tests: New file.
54764         * tests/test-fsync.c: New file.
54765
54766         New module 'fsync'.
54767         * lib/fsync.c: New file.
54768         * m4/fsync.m4: New file.
54769         * modules/fsync: New file.
54770         * lib/unistd.in.h (fsync): New declaration.
54771         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
54772         GNULIB_FSYNC and HAVE_FSYNC.
54773         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
54774         * MODULES.html.sh (posix_functions): Add fsync.
54775         * doc/posix-functions/fsync.texi: Mention the new module.
54776
54777 2008-10-02  Jim Meyering  <meyering@redhat.com>
54778
54779         fts.c: sync with similar code from coreutils' remove.c
54780         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
54781         Guard also with "#if defined __linux__", since for now at least,
54782         this code is Linux-kernel-specific.
54783
54784 2008-10-02  Jim Meyering  <meyering@redhat.com>
54785
54786         fts: bug fixes
54787         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
54788         Include <sys/vfs.h>, not <sys/statfs.h>.
54789
54790         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
54791         Include <sys/vfs.h>, not <sys/statfs.h>.
54792
54793 2008-10-01  Bruno Haible  <bruno@clisp.org>
54794
54795         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
54796         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
54797         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
54798         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
54799         * doc/posix-functions/posix_spawnp.texi: Likewise.
54800         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
54801         whether posix_spawn actually works.
54802         * m4/pipe.m4 (gl_PIPE): Likewise.
54803         * modules/execute (Files): Add m4/posix_spawn.m4.
54804         * modules/pipe (Files): Add m4/posix_spawn.m4.
54805         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
54806
54807 2008-10-01  Jim Meyering  <meyering@redhat.com>
54808
54809         remove trailing spaces
54810         * NEWS: Likewise.
54811         * lib/poll.c (poll): Likewise.
54812         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
54813         * lib/winsock.c (rpl_close): Likewise.
54814         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
54815         * modules/yield: Likewise.
54816         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
54817         * tests/test-sys_select.c (connect_to_socket): Likewise.
54818
54819         fts.c: adjust a new interface to be more generally useful
54820         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
54821         (fts_build): Adjust caller.
54822
54823 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54824
54825         * modules/cond-tests: New file.
54826         * tests/test-cond.c: New file.
54827
54828 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54829             Bruno Haible  <bruno@clisp.org>
54830
54831         * modules/cond (Dependencies): Add errno, time.
54832         * lib/glthread/cond.h: Include <time.h>.
54833         (gl_cond_define, gl_cond_define_initialized): Use the same definition
54834         across platforms.
54835
54836 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54837             Bruno Haible  <bruno@clisp.org>
54838
54839         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
54840
54841 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54842             Bruno Haible  <bruno@clisp.org>
54843
54844         * modules/tls-tests (Depends-on): Add thread, yield.
54845         (configure.ac): Remove all checks.
54846         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
54847         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
54848         gl_thread_self): Remove definitions. Include glthread/thread.h and
54849         glthread/yield.h instead.
54850         (test_tls): Pass an additional NULL argument to gl_thread_join.
54851
54852 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54853             Bruno Haible  <bruno@clisp.org>
54854
54855         * modules/lock-tests (Depends-on): Add thread, yield.
54856         (configure.ac): Remove all checks.
54857         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
54858         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
54859         gl_thread_self): Remove definitions. Include glthread/thread.h and
54860         glthread/yield.h instead.
54861         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
54862         additional NULL argument to gl_thread_join.
54863
54864 2008-09-30  Bruno Haible  <bruno@clisp.org>
54865
54866         Fix the Win32 implementation of the 'thread' module.
54867         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
54868         pointer type.
54869         (gl_thread_self): Invoke gl_thread_self_func.
54870         (gl_thread_self_func): New declaration.
54871         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
54872         (do_init_self_key, init_self_key): New functions.
54873         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
54874         Remove some fields.
54875         (running_threads, running_lock): Remove variables.
54876         (get_current_thread_handle): New function.
54877         (gl_thread_self_func, wrapper_func, glthread_create_func,
54878         glthread_join_func, gl_thread_exit_func): Largely rewritten and
54879         simplified.
54880
54881 2008-09-30  Bruno Haible  <bruno@clisp.org>
54882
54883         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
54884         files.
54885
54886 2008-09-30  Jim Meyering  <meyering@redhat.com>
54887
54888         fts.m4: correct the test for statfs.f_type
54889         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
54890         when checking for statfs.f_type.
54891
54892 2008-09-15  Simon Josefsson  <simon@josefsson.org>
54893
54894         tests: avoid some compiler warnings
54895         * tests/test-memchr.c (main): Pass NULL indirectly.
54896         * tests/test-getdate.c (main): Remove unused variable 'ret'.
54897
54898 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
54899
54900         getdate.y: disallow countable dayshifts like "4 yesterday ago"
54901         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
54902         exactly specified dayshifts.
54903         (dayshift): New rule.
54904         (rel): Add dayshift.
54905         (relative_time_table) [tomorrow, yesterday, today, now]:
54906         Use tDAY_SHIFT in place of tDAY_UNIT.
54907         * tests/test-getdate.c: Add tests for now-disallowed countable
54908         dayshifts, e.g., "4 yesterday ago".
54909
54910 2008-09-29  Bruno Haible  <bruno@clisp.org>
54911
54912         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
54913         * tests/test-posix_spawn1.in.sh: Renamed from
54914         tests/test-posix_spawn.in.sh.
54915         * tests/test-posix_spawn2.c: New file.
54916         * tests/test-posix_spawn2.in.sh: New file.
54917         * modules/posix_spawnp-tests (Files): Update.
54918         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
54919
54920 2008-09-29  Bruno Haible  <bruno@clisp.org>
54921
54922         Propagate effects of putenv/setenv/unsetenv to child processes.
54923         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
54924         * lib/pipe.c (create_pipe): Likewise.
54925
54926 2008-09-29  Bruno Haible  <bruno@clisp.org>
54927
54928         Enable use of shell scripts as executables in mingw.
54929         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
54930         run the program as a shell script.
54931         * lib/pipe.c (create_pipe): Likewise.
54932         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
54933         resulting array.
54934
54935 2008-09-29  Eric Blake  <ebb9@byu.net>
54936
54937         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
54938
54939 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
54940
54941         * doc/posix-functions/accept.texi: Update mingw problems.
54942         * doc/posix-functions/bind.texi: Update mingw problems.
54943         * doc/posix-functions/close.texi: Update mingw problems.
54944         * doc/posix-functions/connect.texi: Update mingw problems.
54945         * doc/posix-functions/getpeername.texi: Update mingw problems.
54946         * doc/posix-functions/getsockname.texi: Update mingw problems.
54947         * doc/posix-functions/getsockopt.texi: Update mingw problems.
54948         * doc/posix-functions/ioctl.texi: Update mingw problems.
54949         * doc/posix-functions/listen.texi: Update mingw problems.
54950         * doc/posix-functions/recv.texi: Update mingw problems.
54951         * doc/posix-functions/recvfrom.texi: Update mingw problems.
54952         * doc/posix-functions/select.texi: Update mingw problems.
54953         * doc/posix-functions/send.texi: Update mingw problems.
54954         * doc/posix-functions/sendto.texi: Update mingw problems.
54955         * doc/posix-functions/setsockopt.texi: Update mingw problems.
54956         * doc/posix-functions/socket.texi: Update mingw problems.
54957
54958 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
54959             Bruno Haible  <bruno@clisp.org>
54960
54961         * lib/sys_select.in.h: Include sys/time.h.
54962         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
54963         * modules/sys_select: Depend on sys_time.
54964         * tests/test-sys_select.c: Test that sys/select.h defines struct
54965         timeval fully.
54966
54967 2008-09-29  Bruno Haible  <bruno@clisp.org>
54968
54969         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
54970         * lib/sys_select.in.h: Likewise.
54971
54972 2008-09-29  Bruno Haible  <bruno@clisp.org>
54973
54974         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
54975
54976 2008-09-29  Bruno Haible  <bruno@clisp.org>
54977
54978         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
54979         Set LIBSOCKET instead of augmenting LIBS.
54980         * modules/sockets (Link): New section.
54981         * modules/sockets-tests (test_sockets_LDADD): New variable.
54982         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
54983         * modules/poll-tests (test_poll_LDADD): New variable.
54984         * NEWS: Document the change.
54985
54986 2008-09-29  Bruno Haible  <bruno@clisp.org>
54987
54988         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
54989         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
54990         ARPA_INET_H directly.
54991         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
54992
54993 2008-09-28  Bruno Haible  <bruno@clisp.org>
54994
54995         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
54996         from gl_HEADER_SYS_SOCKET.
54997         (gl_HEADER_SYS_SOCKET): Invoke it.
54998         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54999
55000 2008-09-28  Bruno Haible  <bruno@clisp.org>
55001
55002         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
55003         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
55004         Needed on OSF/1 4.0.
55005
55006 2008-09-28  Bruno Haible  <bruno@clisp.org>
55007
55008         Override open more carefully.
55009         * lib/open.c (orig_open): New function.
55010         (rpl_open): Use orig_open instead of open.
55011         * lib/fcntl.in.h: Add special invocation convention.
55012         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
55013         (gl_FUNC_OPEN): Invoke it.
55014
55015         Override freopen more carefully.
55016         * lib/freopen.c (orig_freopen): New function.
55017         (rpl_freopen): Use orig_freopen instead of freopen.
55018         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
55019         (gl_FUNC_FREOPEN): Invoke it.
55020
55021         Override fopen more carefully.
55022         * lib/fopen.c (orig_fopen): New function.
55023         (rpl_fopen): Use orig_fopen instead of fopen.
55024         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
55025         (gl_FUNC_FOPEN): Invoke it.
55026         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
55027
55028 2008-09-28  Bruno Haible  <bruno@clisp.org>
55029
55030         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
55031         SIGPIPE.
55032
55033 2008-09-28  Bruno Haible  <bruno@clisp.org>
55034
55035         * tests/test-sigaction.c (handler, main): Disable the check whether
55036         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
55037         glibc systems with LinuxThreads.
55038
55039 2008-09-28  Bruno Haible  <bruno@clisp.org>
55040
55041         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
55042
55043         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
55044         with AIX xlc.
55045         * lib/fcntl.in.h (open): Likewise.
55046         Reported by Rainer Tammer <tammer@tammer.net>.
55047
55048 2008-09-28  Bruno Haible  <bruno@clisp.org>
55049
55050         * modules/posix_spawnp-tests: New file.
55051         * tests/test-posix_spawn.c: New file.
55052         * tests/test-posix_spawn.in.sh: New file.
55053
55054         New module 'posix_spawnp'.
55055         * modules/posix_spawnp: New file.
55056         * lib/spawnp.c: New file, from GNU libc with modifications.
55057         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
55058
55059         New module 'posix_spawn'.
55060         * modules/posix_spawn: New file.
55061         * lib/spawn.c: New file, from GNU libc with modifications.
55062         * doc/posix-functions/posix_spawn.texi: Mention the new module.
55063
55064         New module 'posix_spawnattr_destroy'.
55065         * modules/posix_spawnattr_destroy: New file.
55066         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
55067         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
55068         module.
55069
55070         New module 'posix_spawnattr_setsigmask'.
55071         * modules/posix_spawnattr_setsigmask: New file.
55072         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
55073         modifications.
55074         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
55075         new module.
55076
55077         New module 'posix_spawnattr_getsigmask'.
55078         * modules/posix_spawnattr_getsigmask: New file.
55079         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
55080         modifications.
55081         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
55082         new module.
55083
55084         New module 'posix_spawnattr_setsigdefault'.
55085         * modules/posix_spawnattr_setsigdefault: New file.
55086         * lib/spawnattr_setdefault.c: New file, from GNU libc with
55087         modifications.
55088         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
55089         new module.
55090
55091         New module 'posix_spawnattr_getsigdefault'.
55092         * modules/posix_spawnattr_getsigdefault: New file.
55093         * lib/spawnattr_getdefault.c: New file, from GNU libc with
55094         modifications.
55095         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
55096         new module.
55097
55098         New module 'posix_spawnattr_setschedpolicy'.
55099         * modules/posix_spawnattr_setschedpolicy: New file.
55100         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
55101         modifications.
55102         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
55103         new module.
55104
55105         New module 'posix_spawnattr_getschedpolicy'.
55106         * modules/posix_spawnattr_getschedpolicy: New file.
55107         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
55108         modifications.
55109         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
55110         new module.
55111
55112         New module 'posix_spawnattr_setschedparam'.
55113         * modules/posix_spawnattr_setschedparam: New file.
55114         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
55115         modifications.
55116         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
55117         new module.
55118
55119         New module 'posix_spawnattr_getschedparam'.
55120         * modules/posix_spawnattr_getschedparam: New file.
55121         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
55122         modifications.
55123         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
55124         new module.
55125
55126         New module 'posix_spawnattr_setpgroup'.
55127         * modules/posix_spawnattr_setpgroup: New file.
55128         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
55129         modifications.
55130         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
55131         module.
55132
55133         New module 'posix_spawnattr_getpgroup'.
55134         * modules/posix_spawnattr_getpgroup: New file.
55135         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
55136         modifications.
55137         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
55138         module.
55139
55140         New module 'posix_spawnattr_setflags'.
55141         * modules/posix_spawnattr_setflags: New file.
55142         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
55143         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
55144         module.
55145
55146         New module 'posix_spawnattr_getflags'.
55147         * modules/posix_spawnattr_getflags: New file.
55148         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
55149         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
55150         module.
55151
55152         New module 'posix_spawnattr_init'.
55153         * modules/posix_spawnattr_init: New file.
55154         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
55155         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
55156         module.
55157
55158         New module 'posix_spawn_file_actions_destroy'.
55159         * modules/posix_spawn_file_actions_destroy: New file.
55160         * lib/spawn_faction_destroy.c: New file, from GNU libc with
55161         modifications.
55162         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
55163         the new module.
55164
55165         New module 'posix_spawn_file_actions_addopen'.
55166         * modules/posix_spawn_file_actions_addopen: New file.
55167         * lib/spawn_faction_addopen.c: New file, from GNU libc with
55168         modifications.
55169         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
55170         the new module.
55171
55172         New module 'posix_spawn_file_actions_adddup2'.
55173         * modules/posix_spawn_file_actions_adddup2: New file.
55174         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
55175         modifications.
55176         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
55177         the new module.
55178
55179         New module 'posix_spawn_file_actions_addclose'.
55180         * modules/posix_spawn_file_actions_addclose: New file.
55181         * lib/spawn_faction_addclose.c: New file, from GNU libc with
55182         modifications.
55183         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
55184         the new module.
55185
55186         New module 'posix_spawn_file_actions_init'.
55187         * modules/posix_spawn_file_actions_init: New file.
55188         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
55189         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
55190         new module.
55191
55192         New module 'posix_spawn-internal'.
55193         * modules/posix_spawn-internal: New file.
55194         * lib/spawn_int.h: New file, from GNU libc with modifications.
55195         * lib/spawni.c: New file, from GNU libc with modifications.
55196         * m4/posix_spawn.m4: New file.
55197
55198         New module 'spawn'.
55199         * modules/spawn: New file.
55200         * lib/spawn.in.h: New file, from GNU libc with modifications.
55201         * m4/spawn_h.m4: New file.
55202         * doc/posix-headers/spawn.texi: Mention the new module.
55203
55204 2008-09-28  Bruno Haible  <bruno@clisp.org>
55205
55206         * modules/sched-tests: New file.
55207         * tests/test-sched.c: New file.
55208
55209         New module 'sched'.
55210         * modules/sched: New file.
55211         * lib/sched.in.h: New file.
55212         * m4/sched_h.m4: New file.
55213         * doc/posix-headers/sched.texi: Mention the new module.
55214
55215 2008-09-27  Eric Blake  <ebb9@byu.net>
55216
55217         Fix previous patch, and tweak references to $0.
55218         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
55219         (func_version, func_gnulib_dir): Don't call this program
55220         gnulib-tool.
55221         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
55222         with using $0 in function.
55223         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
55224         (func_fatal_error): Reuse the name the user invoked us with.
55225
55226 2008-09-27  Bruno Haible  <bruno@clisp.org>
55227
55228         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
55229         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
55230         (gl_ICONV_H): Not here.
55231         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
55232         instead of assigning ICONV_H directly.
55233
55234         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
55235         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
55236         WCHAR_H directly.
55237
55238 2008-09-27  Bruno Haible  <bruno@clisp.org>
55239
55240         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
55241         * modules/arpa_inet (Depends-on): Add link-warning.
55242         (Makefile.am): Insert the definition of GL_LINK-WARNING.
55243         * modules/unistd (Makefile.am): Likewise.
55244
55245 2008-09-26  Bruno Haible  <bruno@clisp.org>
55246
55247         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
55248         variables.
55249         (func_version): Essentially copied from gnulib-tool.
55250         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
55251         func_readlink): Copied from gnulib-tool.
55252
55253 2008-09-26  Bruno Haible  <bruno@clisp.org>
55254
55255         * gnulib-tool (func_version): Change directory to $gnulib_dir before
55256         invoking git-version-gen.
55257
55258 2008-09-26  Bruno Haible  <bruno@clisp.org>
55259
55260         * posix-modules: Update to directory names changed on 2008-01-19.
55261         Remove commas in output before splitting into words. No more need to
55262         avoid 'ftruncate' since 2007-02-19.
55263
55264 2008-09-26  Bruno Haible  <bruno@clisp.org>
55265
55266         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
55267
55268 2008-09-26  Bruno Haible  <bruno@clisp.org>
55269
55270         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
55271         * modules/fwriteerror (Depends-on): Add errno.
55272
55273 2008-09-26  Bruno Haible  <bruno@clisp.org>
55274
55275         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
55276         * tests/test-vc-list-files-cvs.sh: Likewise.
55277
55278 2008-09-26  Bruno Haible  <bruno@clisp.org>
55279
55280         * doc/posix-headers/sys_resource.texi: Reorder items.
55281
55282 2008-09-26  Jim Meyering  <meyering@redhat.com>
55283
55284         fts: tweak inode comparison function
55285         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
55286         inode numbers, as documented.
55287
55288         fts: sort dirent entries on inode number before traversing
55289         This avoids a quadratic, seek-related performance penalty when
55290         operating on a directory containing many entries (measurable at 10k;
55291         3.5 hours at 2 million entries with a cold cache) on certain types
55292         of file systems, including ext3 and ext4, but not tmpfs.
55293         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
55294         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
55295         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
55296         (fs_handles_readdir_ordered_dirents_efficiently): New function.
55297         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
55298         (fts_build): Set the stat.st_ino member from D_INO.
55299         If it is likely to be useful, sort dirent entries on inode number.
55300
55301         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
55302         and the struct statfs.f_type member.
55303         * modules/fts (Depends-on): Add d-ino.
55304
55305 2008-09-26  Bruno Haible  <bruno@clisp.org>
55306
55307         * modules/sigpipe-die (Depends-on): Add sigpipe.
55308
55309         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
55310         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
55311         and GNULIB_STDIO_H_SIGPIPE are set.
55312         * lib/stdio-write.c: New file.
55313         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
55314         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
55315         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
55316         REPLACE_STDIO_WRITE_FUNCS.
55317         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
55318         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
55319         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
55320         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
55321         * modules/stdio (Files): Add lib/stdio-write.c.
55322         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
55323         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
55324         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
55325         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
55326         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
55327         REPLACE_FPRINTF_POSIX.
55328         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
55329         REPLACE_PRINTF_POSIX.
55330         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
55331         REPLACE_VFPRINTF_POSIX.
55332         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
55333         REPLACE_VPRINTF_POSIX.
55334         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
55335         SIGPIPE issue.
55336         * doc/posix-functions/fputc.texi: Likewise.
55337         * doc/posix-functions/fputs.texi: Likewise.
55338         * doc/posix-functions/fwrite.texi: Likewise.
55339         * doc/posix-functions/printf.texi: Likewise.
55340         * doc/posix-functions/putc.texi: Likewise.
55341         * doc/posix-functions/putchar.texi: Likewise.
55342         * doc/posix-functions/puts.texi: Likewise.
55343         * doc/posix-functions/vfprintf.texi: Likewise.
55344         * doc/posix-functions/vprintf.texi: Likewise.
55345
55346         * modules/safe-write (Depends-on): Add write.
55347
55348         * modules/sigpipe-tests: New file.
55349         * tests/test-sigpipe.c: New file.
55350         * tests/test-sigpipe.sh: New file.
55351
55352         * modules/write: New file.
55353         * lib/unistd.in.h: Include <sys/types.h>.
55354         (write): New declaration.
55355         * lib/write.c: New file.
55356         * m4/write.m4: New file.
55357         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55358         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
55359         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
55360         GNULIB_WRITE, REPLACE_WRITE.
55361         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
55362         and the SIGPIPE issue.
55363
55364         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
55365         (raise): New declaration.
55366         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
55367         (ext_signal): New function.
55368         (rpl_raise): New function.
55369         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
55370         GNULIB_SIGNAL_H_SIGPIPE.
55371         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
55372         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
55373
55374         * modules/sigpipe: New file.
55375         * m4/sigpipe.m4: New file.
55376
55377 2008-09-25  Derek Price  <derek@ximbiot.com>
55378             Bruno Haible  <bruno@clisp.org>
55379
55380         * gnulib-tool (func_import): Report all license incompatibilities, not
55381         just the first one.
55382
55383 2008-09-25  Bruno Haible  <bruno@clisp.org>
55384
55385         * gnulib-tool (func_import): When computing the edits, consider not
55386         only the Makefile.ams that exist but also those that will be generated.
55387
55388 2008-09-25  Simon Josefsson  <simon@josefsson.org>
55389
55390         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
55391         fixes gnulib-tool --test warning about duplicate dependency.
55392
55393 2008-09-25  Bruno Haible  <bruno@clisp.org>
55394
55395         * gnulib-tool: Don't ask the user to perform edits in the generated
55396         Makefile.ams.
55397         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
55398         apply to the Makefile.am being generated.
55399         (func_emit_tests_Makefile_am): Execute edits that apply to the
55400         Makefile.am being generated.
55401         (func_import): Setup list of Makefile.am edits before emitting the
55402         Makefile.ams, not at the end.
55403         (func_create_testdir): Update.
55404         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55405
55406 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55407
55408         * gnulib-tool (func_import): Store the --tests-base option in the
55409         comment in gnulib-cache.m4.
55410
55411 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
55412
55413         * NEWS: Document increased portability that sys_select now provides.
55414
55415         * lib/sys_select.in.h: Install select wrapper.
55416         * lib/sys_socket.in.h: Use more descriptive name when there is no
55417         select wrapper.
55418         * lib/winsock-select.c: New.
55419         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
55420         Require gl_HEADER_SYS_SOCKET.
55421         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
55422         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
55423         * tests/test-sys_select.c: Add functional tests.
55424
55425 2008-09-24  Eric Blake  <ebb9@byu.net>
55426
55427         open, fopen: close fd leak in last patch
55428         * lib/open.c (rpl_open): Close fd before returning error.
55429         * lib/fopen.c (rpl_fopen): Close fd before returning error.
55430         * doc/posix-functions/open.texi (open): Document that Irix also
55431         has the bug.
55432         * doc/posix-functions/fopen.texi (fopen): Likewise.
55433         Reported by Paolo Bonzini.
55434
55435 2008-09-24  Bruno Haible  <bruno@clisp.org>
55436
55437         Ensure that a filename ending in a slash cannot be used to access a
55438         non-directory.
55439         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
55440         to check whether it's really a directory.
55441         * lib/fopen.c: Include fcntl.h, unistd.h.
55442         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
55443         and fdopen().
55444         * modules/fopen (Depends-on): Add unistd.
55445         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
55446         * tests/test-fopen.c (main): Likewise.
55447         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
55448         * doc/posix-functions/fopen.texi: Likewise.
55449         Reported by Eric Blake.
55450
55451 2008-09-23  Eric Blake  <ebb9@byu.net>
55452
55453         c-stack: avoid compiler optimizations when provoking overflow
55454         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
55455         recursion harder to optimize, to ensure a stack overflow occurs.
55456         * tests/test-c-stack.c (recurse): Likewise.
55457         Borrowed from libsigsegv.
55458
55459         c-stack: work around Irix sigaltstack bug
55460         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
55461         whether sigaltstack uses wrong end of stack_t (copied in part from
55462         libsigsegv).
55463         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
55464         Irix bug, without requiring an over-allocation.
55465         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
55466         bug.
55467
55468         fopen: document mingw bug on directories
55469         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
55470         not allowing a stream visiting a directory, even though reading
55471         from such a stream is not portable.
55472
55473 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
55474
55475         * lib/poll.c: Rewrite.
55476         * modules/poll: Depend on alloca.
55477
55478 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
55479
55480         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
55481         instead define prototypes for a full set of wrappers.  Ensure
55482         that Cygwin does not use the compatibility code, which is only
55483         for MinGW.
55484         * lib/winsock.c: New.
55485         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
55486         * modules/sys_socket: Add lib/winsock.c.
55487
55488         * modules/poll-tests: Add errno and perror.
55489         * tests/test-poll.c: Use ioctl, not ioctlsocket.
55490
55491 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
55492
55493         * tests/test-poll.c: Downgrade minimum needed Winsock version.
55494
55495 2008-09-23  Bruno Haible  <bruno@clisp.org>
55496
55497         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
55498         * doc/glibc-functions/*: Likewise.
55499
55500 2008-09-23  Simon Josefsson  <simon@josefsson.org>
55501
55502         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
55503         success.
55504
55505 2008-09-22  Eric Blake  <ebb9@byu.net>
55506             Bruno Haible  <bruno@clisp.org>
55507
55508         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
55509         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
55510         supply %A but mishandle pseudo-NaN.
55511         Reported by Simon Josefsson.
55512
55513 2008-09-21  Bruno Haible  <bruno@clisp.org>
55514
55515         * tests/test-lock.c (main): Tweak skip message.
55516         * tests/test-tls.c (main): Likewise.
55517
55518 2008-09-21  Bruno Haible  <bruno@clisp.org>
55519
55520         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
55521         whether 'struct sigaction' has sa_sigaction here...
55522         (gl_PREREQ_SIG_HANDLER_H): ... not here.
55523         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
55524
55525 2008-09-21  Bruno Haible  <bruno@clisp.org>
55526
55527         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
55528         section.
55529         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
55530         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
55531         the new section.
55532         (Support for obsolete systems lacking POSIX:2001): New section.
55533         (String handling <string.h>): Move strdup to the new section.
55534         Suggested by Simon Josefsson and Paolo Bonzini.
55535
55536 2008-09-21  Bruno Haible  <bruno@clisp.org>
55537
55538         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
55539         exponents in %e and %g results on 'long double'. Needed for mingw's
55540         improved *printf functions.
55541         * tests/test-vasprintf-posix.c (test_function): Likewise.
55542         * tests/test-snprintf-posix.h (test_function): Likewise.
55543         * tests/test-sprintf-posix.h (test_function): Likewise.
55544         Reported by Eric Blake.
55545
55546 2008-09-21  Bruno Haible  <bruno@clisp.org>
55547
55548         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
55549         * tests/test-sprintf-posix.h (test_function): Likewise.
55550
55551 2008-09-21  Bruno Haible  <bruno@clisp.org>
55552
55553         * modules/getpass (Depends-on): Add strdup-posix.
55554
55555         New module 'strdup-posix'.
55556         * modules/strdup-posix: New file.
55557         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
55558         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
55559         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
55560         REPLACE_STRDUP.
55561         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
55562         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
55563         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55564         strdup-posix.
55565
55566         * modules/strdup (Depends-on): Remove malloc-posix.
55567
55568 2008-09-20  Bruno Haible  <bruno@clisp.org>
55569
55570         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
55571         Wildenhues.
55572
55573 2008-09-20  Bruno Haible  <bruno@clisp.org>
55574
55575         Ensure that wint_t gets defined on IRIX 5.3.
55576         * lib/wchar.in.h (wint_t): Define if not defined by the system.
55577         * lib/wctype.in.h (wint_t): Likewise.
55578         (__wctype_wint_t): Remove type.
55579         (isw*): Use wint_t instead of __wctype_wint_t.
55580         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
55581         * modules/wchar (Files): Add m4/wint_t.m4.
55582         (Makefile.am): Substitute HAVE_WINT_T.
55583         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
55584         * tests/test-wctype.c: Check that wint_t is defined.
55585         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
55586         * doc/posix-headers/wctype.texi: Likewise.
55587         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
55588
55589 2008-09-18  Bruno Haible  <bruno@clisp.org>
55590
55591         * gnulib-tool (func_exit): Update comment.
55592
55593 2008-09-18  Simon Josefsson  <simon@josefsson.org>
55594
55595         * modules/getaddrinfo (Depends-on): Remove strdup, this module
55596         assumes strdup exists and does not depend on strdup to return
55597         ENOMEM on out of memory conditions.
55598
55599 2008-09-18  Bruno Haible  <bruno@clisp.org>
55600
55601         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
55602         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
55603         digits for the exponent.
55604
55605 2008-09-18  Jim Meyering  <meyering@redhat.com>
55606             Bruno Haible  <bruno@clisp.org>
55607
55608         * lib/vasnprintf.c (decimal_point_char): Define also if
55609         NEED_PRINTF_INFINITE_LONG_DOUBLE.
55610
55611 2008-09-16  Bruno Haible  <bruno@clisp.org>
55612         and Eric Blake  <ebb9@byu.net>
55613
55614         vasnprintf: support Irix 5.3
55615         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
55616         that mishandle long double infinity.
55617         Reported by Tom G. Christensen.
55618
55619 2008-09-16  Bruno Haible  <bruno@clisp.org>
55620
55621         * doc/glibc-functions/scandir.texi: Mention the function is missing on
55622         Solaris 9.
55623         * doc/glibc-functions/alphasort.texi: Likewise.
55624         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
55625
55626 2008-09-16  Jim Meyering  <meyering@redhat.com>
55627
55628         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
55629         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
55630         a umask modification leak out of a subshell.  Otherwise, the
55631         opensolaris /bin/sh would be accepted and thus cause unwarranted
55632         failures in the coreutils test suite.
55633
55634 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
55635
55636         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
55637         to succeed.
55638
55639 2008-09-16  Jim Meyering  <meyering@redhat.com>
55640
55641         avoid spurious test failure when library is built without ACL support
55642         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
55643         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
55644         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
55645         * tests/test-copy-acl.sh: Likewise.
55646
55647 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55648
55649         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
55650         based on character occurrence counts.
55651
55652 2008-09-15  Eric Blake  <ebb9@byu.net>
55653
55654         tests: avoid some compiler warnings
55655         * tests/test-memchr.c (main): Pass NULL indirectly.
55656         * tests/test-closein.c (main): Avoid unused variable.
55657
55658 2008-09-15  Bruno Haible  <bruno@clisp.org>
55659
55660         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
55661         are missing on OpenBSD 4.0 individually.
55662         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55663
55664 2008-09-15  Bruno Haible  <bruno@clisp.org>
55665
55666         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
55667         * doc/posix-functions/strerror.texi: Mention also Cygwin.
55668         * doc/posix-functions/perror.texi: Likewise.
55669         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
55670         is missing.
55671         Reported by Eric Blake.
55672
55673         * lib/errno.in.h: Use replacement values >= 2000.
55674         Reported by Eric Blake.
55675
55676 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55677
55678         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
55679         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
55680         limit.
55681         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
55682         compareseq was aborted.
55683
55684 2008-09-14  Bruno Haible  <bruno@clisp.org>
55685
55686         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
55687         yvec_edit_count.
55688         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
55689         (fstrcmp_bounded): Simplify result computation accordingly.
55690
55691 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55692
55693         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
55694         (fstrcmp): Define in terms of fstrcmp_bounded.
55695         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
55696         lower_bound argument.
55697         Return quickly if the result is certainly < lower_bound.
55698         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
55699
55700 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55701
55702         * lib/diffseq.h (EARLY_ABORT): New macro.
55703         (compareseq): Change return type to bool. Return true when EARLY_ABORT
55704         evaluates to true.
55705
55706 2008-09-14  Bruno Haible  <bruno@clisp.org>
55707
55708         * modules/perror-tests: New file.
55709         * tests/test-perror.sh: New file.
55710         * tests/test-perror.c: New file.
55711
55712         New module 'perror'.
55713         * lib/stdio.in.h (perror): New declaration.
55714         * lib/perror.c: New file.
55715         * m4/perror.m4: New file.
55716         * modules/perror: New file.
55717         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
55718         * doc/posix-functions/perror.texi: Mention the perror module.
55719         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
55720         REPLACE_PERROR.
55721         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
55722         REPLACE_PERROR.
55723
55724 2008-09-14  Bruno Haible  <bruno@clisp.org>
55725
55726         * modules/stdio (Makefile.am): Reorder to match the order in
55727         lib/stdio.in.h.
55728         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
55729
55730 2008-09-13  Bruno Haible  <bruno@clisp.org>
55731
55732         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
55733
55734 2008-09-13  Bruno Haible  <bruno@clisp.org>
55735
55736         Extend strerror to cover the added errno values.
55737         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
55738         (rpl_strerror): Provide error messages for the added errno values and
55739         for the WSA* values.
55740         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
55741         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
55742         strerror.
55743         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
55744         * modules/strerror (Depends-on): Add errno.
55745         * doc/posix-functions/strerror.texi: Document the change.
55746         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
55747         and EOVERFLOW.
55748
55749 2008-09-13  Bruno Haible  <bruno@clisp.org>
55750
55751         * modules/EOVERFLOW: Remove file.
55752         * m4/eoverflow.m4: Remove file.
55753         * modules/EOVERFLOW-tests: Remove file.
55754         * tests/test-EOVERFLOW.c: Remove file.
55755         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
55756         * modules/ftell (Depends-on): Likewise.
55757         * modules/getdelim (Depends-on): Likewise.
55758         * modules/getugroups (Depends-on): Likewise.
55759         * modules/poll (Depends-on): Likewise.
55760         * modules/snprintf (Depends-on): Likewise.
55761         * modules/sprintf-posix (Depends-on): Likewise.
55762         * modules/vasnprintf (Depends-on): Likewise.
55763         * modules/vasprintf (Depends-on): Likewise.
55764         * modules/vfprintf-posix (Depends-on): Likewise.
55765         * modules/vsnprintf (Depends-on): Likewise.
55766         * modules/vsprintf-posix (Depends-on): Likewise.
55767         * modules/xvasprintf (Depends-on): Likewise.
55768         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
55769         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
55770         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
55771         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
55772         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
55773         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
55774         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
55775         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
55776         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
55777         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
55778         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
55779         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
55780         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
55781         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
55782         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
55783         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
55784         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
55785         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
55786         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
55787         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
55788         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
55789         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
55790         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
55791         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
55792         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
55793         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
55794         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
55795         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
55796         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
55797         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
55798         * MODULES.html.sh: Remove EOVERFLOW.
55799         * NEWS: Mention the change.
55800
55801 2008-09-13  Bruno Haible  <bruno@clisp.org>
55802
55803         * modules/errno-tests: New file.
55804         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
55805
55806         * lib/errno.in.h: New file.
55807         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
55808         * modules/errno: New file.
55809         * doc/posix-headers/errno.texi: Update documentation.
55810         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
55811
55812 2008-09-13  Bruno Haible  <bruno@clisp.org>
55813
55814         * tests/test-poll.c: Use #if for native Windows, rather than testing
55815         __MSVCRT__.
55816
55817 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55818             Bruno Haible  <bruno@clisp.org>
55819
55820         * lib/glob.c: Don't include <pwd.h> on native Windows.
55821         (WINDOWS32): New macro.
55822         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
55823
55824 2008-09-13  Bruno Haible  <bruno@clisp.org>
55825
55826         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
55827         (ETIMEDOUT): Remove macro.
55828         (glthread_cond_timedwait_multithreaded): New declaration.
55829         (glthread_cond_timedwait): Use it.
55830         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
55831         (glthread_cond_timedwait_multithreaded): New function.
55832
55833 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
55834
55835         * modules/poll-tests: Do not check for io.h.
55836         * tests/test-poll.c: Check for __MSVCRT__ instead.
55837
55838 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
55839
55840         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
55841         * modules/poll-tests: Add inet_pton, stdbool, sockets.
55842         * tests/test-poll.c: Use them.  Use _pipe on Windows.
55843
55844 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
55845
55846         * modules/poll-tests: New.
55847         * tests/test-poll.c: New.
55848
55849 2008-09-12  Eric Blake  <ebb9@byu.net>
55850
55851         frexp: test for NetBSD failure on -0.0
55852         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
55853         not all, bugs from NetBSD 3.0 have been fixed.
55854         * doc/posix-functions/frexp.texi (frexp): Document bug.
55855         Reported by Thomas Klausner.
55856
55857         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
55858         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
55859         literal -0.0.
55860         Reported by Jonathan C. Patschke <jp@centtech.com>.
55861
55862 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55863
55864         * lib/glthread/cond.h: Use dummy implementation also if
55865         USE_WIN32_THREADS.
55866
55867 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55868
55869         * modules/fnmatch-posix (License): Change to LGPLv2+.
55870         * modules/fnmatch-gnu (License): Likewise.
55871
55872 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55873
55874         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
55875
55876 2008-09-11  Jim Meyering  <meyering@redhat.com>
55877
55878         * users.txt: Add gtk-vnc.
55879
55880 2008-09-08  Simon Josefsson  <simon@josefsson.org>
55881
55882         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
55883         rotate amounts.
55884
55885         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
55886         required for 16-bit and 8-bit rotates.
55887         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
55888         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
55889         UINT8_MAX instead of hard-coded constants.
55890         Suggested by Paul Eggert.
55891
55892 2008-09-07  Bruno Haible  <bruno@clisp.org>
55893
55894         * tests/test-striconveh.c (main): Check behaviour when converting from
55895         UTF-7.
55896
55897         Make striconveh work better with stateful encodings.
55898         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
55899         that iconv does not increment the inptr when returning -1/EINVAL.
55900
55901 2008-09-07  Bruno Haible  <bruno@clisp.org>
55902
55903         * build-aux/config.rpath: Update according to libtool-2.2.6.
55904         * build-aux/config.libpath: Likewise.
55905
55906 2008-09-06  Bruno Haible  <bruno@clisp.org>
55907
55908         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
55909         * lib/freadptr.c (freadptr): Likewise.
55910         * lib/freadseek.c (freadptrinc): Likewise.
55911         Reported by Simon Josefsson.
55912
55913 2008-09-06  Bruno Haible  <bruno@clisp.org>
55914
55915         * modules/freadptr (License): Change to LGPLv2+.
55916         * modules/freadseek (License): Likewise.
55917         Suggested by Eric Blake.
55918
55919         * modules/memchr2 (License): Change to LGPLv2+.
55920         Approved by Eric Blake.
55921
55922 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55923             Bruno Haible  <bruno@clisp.org>
55924
55925         Make gnulib-tool work with native 'sed' on AIX.
55926         * gnulib-tool (sed_noop): New variable.
55927         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
55928         func_add_or_update, func_create_testdir): Use it to initialize sed
55929         script variables.
55930         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
55931
55932 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
55933             Bruno Haible  <bruno@clisp.org>
55934
55935         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
55936         also works after #include directives.
55937
55938 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
55939
55940         getdate.y: reject an out-of-range timezone value
55941         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
55942         the range [-24...+24].  When specified with only one or two digits,
55943         * tests/test-getdate.c: Tests for the fix.
55944         * doc/getdate.texi: Document this change.
55945
55946 2008-09-03  Bruno Haible  <bruno@clisp.org>
55947
55948         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
55949
55950 2008-09-02  Simon Josefsson  <simon@josefsson.org>
55951
55952         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
55953         <bruce.korb@gmail.com> with ideas from Ben Pfaff
55954         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
55955         Blake <ebb9@byu.net>.
55956
55957         * tests/test-bitrotate.c: Add more test vectors.
55958
55959 2008-09-02  Eric Blake  <ebb9@byu.net>
55960
55961         vasnprintf-posix: handle large precision via %.*d
55962         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
55963         when handling it ourselves.
55964         * tests/test-vasnprintf-posix.c (test_function): Add test.
55965         * tests/test-snprintf-posix.h (test_function): Likewise.
55966         * tests/test-sprintf-posix.h (test_function): Likewise.
55967         * tests/test-vasprintf-posix.c (test_function): Likewise.
55968         Reported by Alain Guibert.
55969
55970 2008-09-01  Eric Blake  <ebb9@byu.net>
55971
55972         c-stack: make configure-time check more robust
55973         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
55974         successful sigaction call.
55975         Reported by Tom G. Christensen.
55976
55977 2008-09-01  Bruno Haible  <bruno@clisp.org>
55978
55979         New module 'findprog-lgpl'.
55980         * modules/findprog-lgpl: New file.
55981         * lib/findprog-lgpl.c: New file.
55982         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
55983         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
55984         to decide whether to use strdup or xstrdup, concatenated_filename or
55985         xconcatenated_filename.
55986
55987 2008-09-01  Bruno Haible  <bruno@clisp.org>
55988
55989         Split module 'concat-filename' into 'concat-filename' (LGPL) and
55990         'xconcat-filename' (GPL).
55991         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
55992         (License): Change to LGPLv2+.
55993         * modules/xconcat-filename: New file.
55994         * lib/concat-filename.h (concatenated_filename): Change specification.
55995         (xconcatenated_filename): New declaration.
55996         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
55997         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
55998         memory situations.
55999         * lib/xconcat-filename.c: New file.
56000         * NEWS: Mention the change.
56001         * lib/findprog.c: Include concat-filename.h, not filename.h.
56002         (find_in_path): Use xconcatenated_filename instead of
56003         concatenated_filename.
56004         * lib/javacomp.c: Include concat-filename.h, not filename.h.
56005         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
56006         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
56007         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
56008         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
56009         instead of concatenated_filename.
56010         * lib/javaexec.c: Include concat-filename.h, not filename.h.
56011         (execute_java_class): Use xconcatenated_filename instead of
56012         concatenated_filename.
56013         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
56014         * modules/javacomp (Depends-on): Likewise.
56015         * modules/javaexec (Depends-on): Likewise.
56016
56017 2008-09-01  Bruno Haible  <bruno@clisp.org>
56018
56019         Split module 'filename' into 'filename' and 'concat-filename'.
56020         * modules/filename: Keep only lib/filename.h.
56021         (License): Change to LGPLv2+.
56022         * modules/concat-filename: New file, extracted from modules/filename.
56023         * lib/filename.h (concatenated_filename): Remove declaration.
56024         * lib/concat-filename.h: New file, extracted from lib/filename.h.
56025         * lib/concat-filename.c: Include concat-filename.h.
56026         * NEWS: Mention the change.
56027
56028 2008-09-01  Simon Josefsson  <simon@josefsson.org>
56029
56030         * lib/bitrotate.h (rotl8, rotr8): Add.
56031
56032         * modules/bitrotate (configure.ac): Need
56033         AC_REQUIRE([AC_C_INLINE]).
56034         (Description): Mention stdint.h.  Reported by Bruno Haible
56035         <bruno@clisp.org>.
56036
56037         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
56038         Paolo Bonzini <bonzini@gnu.org>.
56039
56040 2008-08-31  Bruno Haible  <bruno@clisp.org>
56041
56042         Assume Solaris specific bi-arch conventions on Solaris systems.
56043         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
56044         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
56045         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
56046         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
56047         like acl_libdirstem.
56048         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
56049         acl_libdirstem.
56050         * NEWS: Mention the change.
56051         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
56052
56053 2008-08-31  Jim Meyering  <meyering@redhat.com>
56054
56055         * lib/strftime.h: Add comments describing the two added arguments.
56056
56057         remove duplicate #include directives
56058         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
56059         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
56060
56061 2008-08-31  Bruno Haible  <bruno@clisp.org>
56062
56063         New module 'sigpipe-die'.
56064         * modules/sigpipe-die: New file.
56065         * lib/sigpipe-die.h: New file.
56066         * lib/sigpipe-die.c: New file.
56067         * MODULES.html.sh (Signal handling): Add sigpipe-die.
56068
56069 2008-08-31  Bruno Haible  <bruno@clisp.org>
56070
56071         Don't override previously installed signal handlers.
56072         * lib/fatal-signal.c (saved_sigactions): New variable.
56073         (uninstall_handlers): Reset the signal to the saved handler, not
56074         to SIG_DFL (except when ignored).
56075         (install_handlers): Save the previous handlers.
56076
56077 2008-08-30  Bruno Haible  <bruno@clisp.org>
56078
56079         * gnulib-tool (func_reset_sigpipe): New function.
56080         (func_get_automake_snippet, func_modules_transitive_closure,
56081         func_import): Invoke it before a join command that reads from stdin,
56082         to avoid "echo: write error: Broken pipe" error messages on stderr.
56083         Reported by Sam Steingold <sds@gnu.org>.
56084
56085 2008-08-30  Bruno Haible  <bruno@clisp.org>
56086
56087         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
56088         Code copied from m4/open.m4.
56089         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
56090         access and the filename ends in a slash. Code copied from lib/open.c.
56091         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
56092         * tests/test-fopen.c (main): Check against bug with trailing slash.
56093
56094 2008-08-29  Bruno Haible  <bruno@clisp.org>
56095
56096         Avoid some "gcc -pedantic" warnings.
56097         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
56098         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
56099         * lib/dirent.in.h: Likewise.
56100         * lib/fcntl.in.h: Likewise.
56101         * lib/float.in.h: Likewise.
56102         * lib/iconv.in.h: Likewise.
56103         * lib/inttypes.in.h: Likewise.
56104         * lib/locale.in.h: Likewise.
56105         * lib/math.in.h: Likewise.
56106         * lib/netinet_in.in.h: Likewise.
56107         * lib/search.in.h: Likewise.
56108         * lib/signal.in.h: Likewise.
56109         * lib/stdarg.in.h: Likewise.
56110         * lib/stdint.in.h: Likewise.
56111         * lib/stdio.in.h: Likewise.
56112         * lib/stdlib.in.h: Likewise.
56113         * lib/string.in.h: Likewise.
56114         * lib/strings.in.h: Likewise.
56115         * lib/sys_select.in.h: Likewise.
56116         * lib/sys_socket.in.h: Likewise.
56117         * lib/sys_stat.in.h: Likewise.
56118         * lib/sys_time.in.h: Likewise.
56119         * lib/sysexits.in.h: Likewise.
56120         * lib/time.in.h: Likewise.
56121         * lib/unistd.in.h: Likewise.
56122         * lib/wchar.in.h: Likewise.
56123         * lib/wctype.in.h: Likewise.
56124         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
56125         * modules/fchdir (Makefile.am): Likewise.
56126         * modules/fcntl (Makefile.am): Likewise.
56127         * modules/float (Makefile.am): Likewise.
56128         * modules/iconv_open (Makefile.am): Likewise.
56129         * modules/inttypes (Makefile.am): Likewise.
56130         * modules/locale (Makefile.am): Likewise.
56131         * modules/math (Makefile.am): Likewise.
56132         * modules/netinet_in (Makefile.am): Likewise.
56133         * modules/search (Makefile.am): Likewise.
56134         * modules/signal (Makefile.am): Likewise.
56135         * modules/stdarg (Makefile.am): Likewise.
56136         * modules/stdint (Makefile.am): Likewise.
56137         * modules/stdio (Makefile.am): Likewise.
56138         * modules/stdlib (Makefile.am): Likewise.
56139         * modules/string (Makefile.am): Likewise.
56140         * modules/strings (Makefile.am): Likewise.
56141         * modules/sys_select (Makefile.am): Likewise.
56142         * modules/sys_socket (Makefile.am): Likewise.
56143         * modules/sys_stat (Makefile.am): Likewise.
56144         * modules/sys_time (Makefile.am): Likewise.
56145         * modules/sysexits (Makefile.am): Likewise.
56146         * modules/time (Makefile.am): Likewise.
56147         * modules/unistd (Makefile.am): Likewise.
56148         * modules/wchar (Makefile.am): Likewise.
56149         * modules/wctype (Makefile.am): Likewise.
56150         Reported by Reuben Thomas <rrt@sc3d.org>.
56151
56152 2008-08-29  Bruno Haible  <bruno@clisp.org>
56153
56154         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
56155         any more.
56156
56157 2008-08-29  Simon Josefsson  <simon@josefsson.org>
56158
56159         * MODULES.html.sh (Misc): Add bitrotate.
56160
56161         * modules/bitrotate: New file.
56162
56163         * lib/bitrotate.h: New file.
56164
56165         * modules/bitrotate-tests: New file.
56166
56167         * tests/test-bitrotate.c: New file.
56168
56169         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
56170         on the bitrotate module.
56171
56172         * lib/arctwo.c: Use new bitrotate module.
56173
56174 2008-08-29  Jim Meyering  <meyering@redhat.com>
56175
56176         bootstrap: merge changes from coreutils
56177         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
56178         of copied files.  Remove a kludge, now that this is fixed.
56179         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
56180         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
56181         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
56182
56183 2008-08-29  Bruno Haible  <bruno@clisp.org>
56184
56185         * MODULES.html.sh: Remove --cvs-urls option.
56186
56187 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
56188
56189         maint.mk: adjust to file name change
56190         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
56191
56192 2008-08-28  Jim Meyering  <meyering@redhat.com>
56193
56194         * modules/getndelim2 (License): Relicense to LGPLv2+.
56195         Approved by Richard Stallman for the version of 1995, and by
56196         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
56197
56198 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
56199
56200         * lib/getdelim.c (flockfile, funlockfile): Make all of them
56201         dummy if one is not available.  Do not touch them if
56202         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
56203         (getc_maybe_unlocked): New.
56204         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
56205
56206 2008-08-26  Eric Blake  <ebb9@byu.net>
56207
56208         doc/INSTALL: resync from autoconf
56209         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
56210         (INSTALL_PRELUDE): Delete; this is done more efficiently by
56211         moving...
56212         * install.texi [!autoconf]: ...here.  Resync from autoconf.
56213         * INSTALL: Regenerate.
56214         * INSTALL.ISO: New file.
56215         * INSTALL.UTF-8: Likewise.
56216
56217 2008-08-26  Jim Meyering  <meyering@redhat.com>
56218
56219         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
56220         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
56221         these definitions conditional, so that they may be overridden, too.
56222
56223 2008-08-26  Bruno Haible  <bruno@clisp.org>
56224
56225         Generate INSTALL file variants with prettier quotes.
56226         * doc/Makefile (INSTALL_PRELUDE): New macro.
56227         (INSTALL): Use it.
56228         (INSTALL.ISO, INSTALL.UTF-8): New rules.
56229
56230 2008-08-26  Bruno Haible  <bruno@clisp.org>
56231
56232         Run makeinfo in an English locale.
56233         * doc/Makefile (MAKEINFO): New variable.
56234
56235 2008-08-26  Bruno Haible  <bruno@clisp.org>
56236
56237         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
56238         Suggested by Eric Blake.
56239
56240 2008-08-25  Bruno Haible  <bruno@clisp.org>
56241
56242         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
56243
56244 2008-08-25  Eric Blake  <ebb9@byu.net>
56245
56246         c-stack: test that stack overflow can be caught
56247         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
56248         that platform allows handling stack overflow; at least OS/2 EMX
56249         has sigaltstack, but crashes before transferring control to
56250         handler on stack overflow.
56251         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
56252         check for HAVE_STACK_OVERFLOW_HANDLING.
56253         Reported by Elbert Pol.
56254
56255 2008-08-25  Bruno Haible  <bruno@clisp.org>
56256
56257         * doc/posix-functions/strftime.texi: Fix description of strftime
56258         module.
56259
56260 2008-08-24  Bruno Haible  <bruno@clisp.org>
56261
56262         * tests/uniwidth/test-uc_width2.c: New file.
56263         * tests/uniwidth/test-uc_width2.sh: New file.
56264         * modules/uniwidth/width-tests (Files): Add the new files.
56265         (TESTS): Add uniwidth/test-uc_width2.sh.
56266         (TESTS_ENVIRONMENT): New variable.
56267         (check_PROGRAMS): Add test-uc_width2.
56268         (test_uc_width2_SOURCES): New variable.
56269
56270         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
56271         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
56272         not 0x00AB.
56273         Reported by Alexander V. Lukyanov <lav@netis.ru>.
56274
56275 2008-08-22  Eric Blake  <ebb9@byu.net>
56276
56277         test-lock, test-tls: mention why a test is skipped
56278         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
56279         skipped.
56280         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
56281
56282         count-one-bits: relax license
56283         * modules/count-one-bits (License): Relicense to LGPLv2+.
56284         Suggested by Ludovic Courtès, approved by Ben Pfaff.
56285
56286 2008-08-22  Andreas Schwab  <schwab@suse.de>
56287
56288         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
56289         Remove spurious space in assignment.
56290
56291 2008-08-21  Simon Josefsson  <simon@josefsson.org>
56292
56293         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
56294         Paul Eggert <eggert@CS.UCLA.EDU>.
56295
56296 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
56297
56298         * modules/gettext: Add m4/threadlib.m4.
56299
56300 2008-08-19  Eric Blake  <ebb9@byu.net>
56301
56302         test-c-stack: fix compilation failure on FreeBSD 5.0
56303         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
56304         headers before <sys/resource.h>.
56305         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
56306         the bug.
56307         Reported by Nelson H. F. Beebe.
56308
56309         strverscmp: migrate from "strverscmp.h" to <string.h>
56310         * modules/string (Makefile.am): Add new hooks.
56311         * modules/strverscmp (Files): Remove strverscmp.h.
56312         (Depends-on): Add string.
56313         (configure.ac): Add indicator.
56314         (Include): Mention new header.
56315         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
56316         defaults.
56317         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
56318         results.
56319         * lib/strverscmp.h: Delete.
56320         * lib/string.in.h (strverscmp): Provide declaration, when needed.
56321         * tests/test-strverscmp.c (includes): Adjust client.
56322         * lib/check-version.c (includes): Likewise.
56323         * NEWS: Document the change.
56324
56325         strverscmp: add unit test
56326         * modules/strverscmp-tests: New file.
56327         * tests/test-strverscmp.c: Likewise.
56328
56329 2008-08-19  Simon Josefsson  <simon@josefsson.org>
56330
56331         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
56332         regarding Windows crypto stuff, from Mono.
56333
56334 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
56335
56336         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
56337         if present, for intel RND.  Return error on failures.
56338
56339 2008-08-18  Ben Pfaff  <blp@gnu.org>
56340
56341         gitlog-to-changelog: give better diagnostic for failed pipe-open
56342         * build-aux/gitlog-to-changelog: Improve error message: suggest
56343         that the version of Git may be too old.
56344
56345 2008-08-18  Simon Josefsson  <simon@josefsson.org>
56346
56347         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
56348         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
56349
56350 2008-08-18  Bruno Haible  <bruno@clisp.org>
56351
56352         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
56353         pthread_in_use().
56354
56355 2008-08-18  Bruno Haible  <bruno@clisp.org>
56356
56357         * lib/glthread/threadlib.c: Include <pthread.h>.
56358
56359 2008-08-18  Bruno Haible  <bruno@clisp.org>
56360
56361         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
56362         glthread_recursive_lock_* macros.
56363         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
56364         Fix syntax error.
56365
56366 2008-08-18  Bruno Haible  <bruno@clisp.org>
56367
56368         * lib/glthread/thread.c: Avoid forcing a context switch right after
56369         thread creation.
56370
56371 2008-08-17  Bruno Haible  <bruno@clisp.org>
56372
56373         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
56374         * lib/glthread/thread.h: Provide Win32 specific implementation.
56375         * modules/thread (Files): Add lib/glthread/thread.c.
56376         (Depends-on): Add lock.
56377         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
56378
56379 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56380
56381         New module 'yield'.
56382         * modules/yield: New file.
56383         * lib/glthread/yield.h: New file.
56384         * m4/yield.m4: New file.
56385         * MODULES.html.sh (Multithreading): Add yield.
56386
56387 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56388
56389         New module 'thread'.
56390         * modules/thread: New file.
56391         * lib/glthread/thread.h: New file.
56392         * m4/thread.m4: New file.
56393         * MODULES.html.sh (Multithreading): Add thread.
56394
56395 2008-08-17  Bruno Haible  <bruno@clisp.org>
56396
56397         * lib/glthread/lock.h: Include <stdlib.h> always.
56398         * lib/glthread/tls.h: Likewise.
56399         * lib/glthread/cond.h: Likewise.
56400
56401 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56402
56403         New module 'cond'.
56404         * modules/cond: New file.
56405         * lib/glthread/cond.h: New file.
56406         * lib/glthread/cond.c: New file.
56407         * m4/cond.m4: New file.
56408         * MODULES.html.sh (Multithreading): Add cond.
56409
56410 2008-08-16  Eric Blake  <ebb9@byu.net>
56411
56412         c-stack: fix regression on Irix 5.3 from 2008-06-21
56413         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
56414         sa_sigaction...
56415         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
56416         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
56417         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
56418         * modules/signal (Makefile.am): Use the value.
56419         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
56420         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
56421         * doc/posix-headers/signal.texi (signal.h): Document this
56422         portability issue.
56423         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
56424         Reported by Tom G. Christensen.
56425
56426 2008-08-17  Bruno Haible  <bruno@clisp.org>
56427
56428         New module 'threadlib'.
56429         * modules/threadlib: New file.
56430         * lib/glthread/threadlib.c: New file, extracted from
56431         lib/glthread/lock.c.
56432         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
56433         functions.
56434         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
56435         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
56436         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
56437         macros.
56438         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
56439         (gl_DISABLE_THREADS): Remove macro.
56440         * modules/lock (Files): Remove build-aux/config.rpath.
56441         (Depends-on): Remove havelib. Add threadlib.
56442         (configure.ac-early): Remove section.
56443         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
56444         * modules/tls (Depends-on): Remove lock. Add threadlib.
56445         (Link): New section, copied from threadlib.
56446         * MODULES.html.sh (Multithreading): Add threadlib.
56447
56448 2008-08-14  Bruno Haible  <bruno@clisp.org>
56449
56450         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
56451         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
56452         glthread_rwlock_unlock, glthread_rwlock_destroy,
56453         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
56454         glthread_recursive_lock_destroy): Define as macros always.
56455         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
56456         glthread_lock_lock.
56457         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
56458         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
56459         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
56460         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
56461         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
56462         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
56463         (glthread_recursive_lock_lock_func): Renamed from
56464         glthread_recursive_lock_lock.
56465         (glthread_recursive_lock_unlock_func): Renamed from
56466         glthread_recursive_lock_unlock.
56467         (glthread_recursive_lock_destroy_func): Renamed from
56468         glthread_recursive_lock_destroy.
56469
56470 2008-08-14  Bruno Haible  <bruno@clisp.org>
56471
56472         * lib/glthread/lock.h: Renamed from lib/lock.h.
56473         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
56474         * lib/glthread/tls.h: Renamed from lib/tls.h.
56475         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
56476         * lib/fstrcmp.c: Update includes.
56477         * lib/strsignal.c: Update includes.
56478         * modules/lock (Files, Makefile.am): Update.
56479         (Include): Change to "glthread/lock.h".
56480         * modules/tls (Files, Makefile.am): Update.
56481         (Include): Change to "glthread/tls.h".
56482         * tests/test-lock.c: Update includes.
56483         * tests/test-tls.c: Update includes.
56484         * NEWS: Mention the renamed header files.
56485
56486 2008-08-11  Jim Meyering  <meyering@redhat.com>
56487
56488         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
56489
56490 2008-08-11  Eric Blake  <ebb9@byu.net>
56491
56492         test-c-stack: avoid C99-ism
56493         * tests/test-c-stack.c (main): Fix whitespace, move declaration
56494         before statement.
56495         Reported by Alain Guibert.
56496
56497 2008-08-10  Jim Meyering  <meyering@redhat.com>
56498
56499         ensure that return value of uinttostr et al are not ignored
56500         * lib/inttostr.h (__GNUC_PREREQ): Define.
56501         (__attribute_warn_unused_result__): Define.
56502         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
56503
56504 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
56505
56506         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
56507         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
56508
56509 2008-08-07  Jim Meyering  <meyering@redhat.com>
56510
56511         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
56512
56513         * modules/mkstemp (License): Relicense under LGPLv2+.
56514         * modules/tempname (License): Likewise.
56515
56516 2008-08-06  Bruno Haible  <bruno@clisp.org>
56517
56518         * lib/poll.c (poll): Further micro-optimization.
56519
56520 2008-08-06  Jim Meyering  <meyering@redhat.com>
56521
56522         inet_pton.c: use locale-independent tolower
56523         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
56524         (inet_pton6): Use c_tolower rather than tolower.
56525         * modules/inet_pton (Depends-on): Add c-ctype.
56526
56527 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
56528
56529         * lib/poll.c (poll): Avoid division when timeout is 0, cache
56530         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
56531
56532 2008-08-06  Jim Meyering  <meyering@redhat.com>
56533
56534         * modules/inet_pton (License): Relicense under LGPLv2+.
56535
56536 2008-08-03  Bruno Haible  <bruno@clisp.org>
56537
56538         Additional non-aborting API for lock and tls.
56539         * lib/lock.h: Include <errno.h>.
56540         (glthread_lock_init): New macro/function.
56541         (gl_lock_init): Define as wrapper around glthread_lock_init.
56542         (glthread_lock_lock): New macro/function.
56543         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
56544         (glthread_lock_unlock): New macro/function.
56545         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
56546         (glthread_lock_destroy): New macro/function.
56547         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
56548         (glthread_rwlock_init): New macro/function.
56549         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
56550         (glthread_rwlock_rdlock): New macro/function.
56551         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
56552         (glthread_rwlock_wrlock): New macro/function.
56553         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
56554         (glthread_rwlock_unlock): New macro/function.
56555         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
56556         (glthread_rwlock_destroy): New macro/function.
56557         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
56558         (glthread_recursive_lock_init): New macro/function.
56559         (gl_recursive_lock_init): Define as wrapper around
56560         glthread_recursive_lock_init.
56561         (glthread_recursive_lock_lock): New macro/function.
56562         (gl_recursive_lock_lock): Define as wrapper around
56563         glthread_recursive_lock_lock.
56564         (glthread_recursive_lock_unlock): New macro/function.
56565         (gl_recursive_lock_unlock): Define as wrapper around
56566         glthread_recursive_lock_unlock.
56567         (glthread_recursive_lock_destroy): New macro/function.
56568         (gl_recursive_lock_destroy): Define as wrapper around
56569         glthread_recursive_lock_destroy.
56570         (glthread_once): New macro/function.
56571         (gl_once): Define as wrapper around glthread_once.
56572         Update function declarations.
56573         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
56574         glthread_rwlock_init. Return error code.
56575         (glthread_rwlock_rdlock_multithreaded): Renamed from
56576         glthread_rwlock_rdlock. Return error code.
56577         (glthread_rwlock_wrlock_multithreaded): Renamed from
56578         glthread_rwlock_wrlock. Return error code.
56579         (glthread_rwlock_unlock_multithreaded): Renamed from
56580         glthread_rwlock_unlock. Return error code.
56581         (glthread_rwlock_destroy_multithreaded): Renamed from
56582         glthread_rwlock_destroy. Return error code.
56583         (glthread_recursive_lock_init_multithreaded): Renamed from
56584         glthread_recursive_lock_init. Return error code.
56585         (glthread_recursive_lock_lock_multithreaded): Renamed from
56586         glthread_recursive_lock_lock. Return error code.
56587         (glthread_recursive_lock_unlock_multithreaded): Renamed from
56588         glthread_recursive_lock_unlock. Return error code.
56589         (glthread_recursive_lock_destroy_multithreaded): Renamed from
56590         glthread_recursive_lock_destroy. Return error code.
56591         (glthread_once_call): Make static.
56592         (glthread_once_multithreaded): Renamed from glthread_once.
56593         * lib/tls.h: Include <errno.h>.
56594         (glthread_tls_key_init): New macro/function.
56595         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
56596         (glthread_tls_set): New macro/function.
56597         (gl_tls_set): Define as wrapper around glthread_tls_set.
56598         (glthread_tls_key_destroy): New macro/function.
56599         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
56600         Update function declarations.
56601         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
56602         glthread_tls_get.
56603         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
56604
56605 2008-08-04  Eric Blake  <ebb9@byu.net>
56606
56607         gnumakefile: use space, not TAB, outside of targets
56608         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
56609
56610 2008-08-02  Jim Meyering  <meyering@redhat.com>
56611
56612         getdate.y: avoid locale-dependent date parsing failure
56613         In Turkish locales, getdate would fail to recognize keywords
56614         containing a lowercase "i".  The solution is not to rely on
56615         locale-sensitive case-conversion.
56616         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
56617         (lookup_word): Use c_toupper in place of toupper.
56618         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
56619         Reported by Vefa Bicakci <bicave@superonline.com> in
56620         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
56621         * modules/getdate (Depends-on): Add c-ctype.
56622
56623 2008-08-02  Bruno Haible  <bruno@clisp.org>
56624
56625         * gnulib-tool (func_import): When updating or creating a .gitignore
56626         file, prepend each added line with a slash, and ignore leading slashes
56627         from the existing lines.
56628         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
56629
56630 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56631
56632         Portability fix for GNU make 3.79.1.
56633         * top/GNUmakefile: Avoid 'else COND', which older GNU make
56634         versions do not understand.
56635
56636 2008-08-01  Bruno Haible  <bruno@clisp.org>
56637
56638         Work around bug of HP-UX 10.20 cc with -0.0 literal.
56639         * tests/test-isnanf.h (zero): New variable.
56640         (main): Avoid literal -0.0f.
56641         * tests/test-isnand.h (zero): New variable.
56642         (main): Avoid literal -0.0.
56643         * tests/test-isnanl.h (zero): New variable.
56644         (main): Avoid literal -0.0L.
56645         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
56646         (test_float, test_double, test_long_double): Avoid literals -0.0f,
56647         -0.0, -0.0L.
56648         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
56649         (test_signbitd): Avoid literal -0.0.
56650         (test_signbitl): Avoid literal -0.0L.
56651         * tests/test-ceilf1.c (zero): New variable.
56652         (main): Avoid literal -0.0f.
56653         * tests/test-ceill.c (zero): New variable.
56654         (main): Avoid literal -0.0L.
56655         * tests/test-floorf1.c (zero): New variable.
56656         (main): Avoid literal -0.0f.
56657         * tests/test-floorl.c (zero): New variable.
56658         (main): Avoid literal -0.0L.
56659         * tests/test-roundf1.c (zero): New variable.
56660         (main): Avoid literal -0.0f.
56661         * tests/test-round1.c (zero): New variable.
56662         (main): Avoid literal -0.0.
56663         * tests/test-roundl.c (zero): New variable.
56664         (main): Avoid literal -0.0L.
56665         * tests/test-truncf1.c (zero): New variable.
56666         (main): Avoid literal -0.0f.
56667         * tests/test-trunc1.c (zero): New variable.
56668         (main): Avoid literal -0.0.
56669         * tests/test-truncl.c (zero): New variable.
56670         (main): Avoid literal -0.0L.
56671         * tests/test-frexp.c (zero): New variable.
56672         (main): Avoid literal -0.0.
56673         * tests/test-frexpl.c (zero): New variable.
56674         (main): Avoid literal -0.0L.
56675         * tests/test-ldexpl.c (zero): New variable.
56676         (main): Avoid literal -0.0L.
56677         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
56678         (zerod, zerol): New variables.
56679         (test_function): Avoid literals -0.0, -0.0L.
56680         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
56681         (zerod, zerol): New variables.
56682         (test_function): Avoid literals -0.0, -0.0L.
56683         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
56684         (zerod, zerol): New variables.
56685         (test_function): Avoid literals -0.0, -0.0L.
56686         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
56687         (zerod, zerol): New variables.
56688         (test_function): Avoid literals -0.0, -0.0L.
56689         * tests/test-strtod.c (zero): New variable.
56690         (main): Avoid literal -0.0.
56691         Reported by Jonathan C. Patschke <jp@centtech.com>.
56692
56693 2008-07-31  Jim Meyering  <meyering@redhat.com>
56694
56695         sha256.h: correct definition of SHA224_DIGEST_SIZE
56696         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
56697         Reported by Paulie Pena IV <paulie4@gmail.com>.
56698         Define as 224 / 8, rather than as a literal.
56699         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
56700         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
56701         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
56702
56703 2008-07-31  Bruno Haible  <bruno@clisp.org>
56704
56705         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
56706         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
56707         Reported by Jonathan Patschke <jp@centtech.com>.
56708
56709 2008-07-31  Bruno Haible  <bruno@clisp.org>
56710
56711         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
56712         Reported by Paolo Bonzini <bonzini@gnu.org>.
56713
56714 2008-07-30  Eric Blake  <ebb9@byu.net>
56715
56716         test-strtod: allow compilation without -lm
56717         * tests/test-strtod.c (main): Avoid link dependence on fabs.
56718         Reported by Dennis Clarke <blastwave@gmail.com>.
56719
56720 2008-07-28  Jim Meyering  <meyering@redhat.com>
56721
56722         bootstrap: work also when there are no .po files in po/
56723         * build-aux/bootstrap (update_po_files): Complete the change
56724         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
56725
56726 2008-07-27  Jim Meyering  <meyering@redhat.com>
56727
56728         * users.txt: Add zile.
56729
56730 2008-07-26  Ben Pfaff  <blp@gnu.org>
56731
56732         Add missing dependencies on new m4/exponent[fdl].m4 files.
56733         * modules/isnanf-nolibm: Add m4/exponentf.m4.
56734         * modules/isnand-nolibm: Add m4/exponentd.m4.
56735         * modules/isnanl-nolibm: Add m4/exponentl.m4.
56736         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
56737         m4/isnan[fdl].m4, because the macros actually used moved.
56738         Reported by Jim Meyering.
56739
56740 2008-07-14  Ben Pfaff  <blp@gnu.org>
56741
56742         Add isinf module.
56743         * lib/isinf.c: New file.
56744         * lib/math.in.h: Define isinf macro if we have decided to replace
56745         it.
56746         * m4/isinf.m4: New file.
56747         * m4/math_h.m4: Initialize and substitute variables for isinf
56748         module.
56749         * modules/isinf: New file.
56750         * modules/isinf-tests: New file.
56751         * modules/math: Add substitutions for new module.
56752         * tests/test-isinf.c: New file.
56753         * doc/posix-functions/isinf.texi: Mention new module.
56754         * MODULES.html.sh: Mention new module.
56755
56756 2008-07-14  Ben Pfaff  <blp@gnu.org>
56757
56758         Factor out some macros for use by additional modules.
56759         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
56760         exponentf.m4.
56761         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
56762         exponentd.m4.
56763         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
56764         file exponentl.m4.
56765         * m4/exponentf.m4: New file.
56766         * m4/exponentd.m4: New file.
56767         * m4/exponentl.m4: New file.
56768         * modules/isnanf: Use new file m4/exponentf.m4.
56769         * modules/isnand: Use new file m4/exponentd.m4.
56770         * modules/isnanl: Use new file m4/exponentl.m4.
56771
56772 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
56773
56774         mktime.c: normalize tp->tm_isdst value to -1/0/1.
56775         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
56776         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
56777         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
56778
56779         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
56780         readlink on platforms without PATH_MAX.
56781
56782 2008-07-21  Eric Blake  <ebb9@byu.net>
56783
56784         Warn, not fail, on stale version.
56785         * top/GNUmakefile (_curr-ver): Tone down previous patch.
56786
56787         Don't allow installation with stale devel version number.
56788         * top/GNUmakefile (_is-install-target): New macro.
56789         (_curr-ver): Forbid installation with stale version number.
56790
56791 2008-07-20  Bruno Haible  <bruno@clisp.org>
56792
56793         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
56794         TESTS_ENVIRONMENT.
56795         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
56796
56797 2008-07-20  Bruno Haible  <bruno@clisp.org>
56798
56799         * lib/c-stack.h (c_stack_action): Add documentation.
56800         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
56801
56802 2008-07-20  Bruno Haible  <bruno@clisp.org>
56803
56804         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
56805         * modules/readlink (License): Likewise.
56806
56807 2008-07-17  Eric Blake  <ebb9@byu.net>
56808
56809         * modules/c-stack (Link): Fix typo.
56810
56811         Make c-stack use libsigsegv, when available.
56812         * modules/c-stack (Depends-on): Add libsigsegv.
56813         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
56814         needed.
56815         * lib/c-stack.c (SIGSTKSZ): Define fallback.
56816         (segv_handler, overflow_handler, c_stack_action)
56817         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
56818         implementation when libsigsegv is available, but only when using
56819         the library is necessary.
56820         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
56821         comment, explaining why XSI check fails on Linux.
56822         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
56823         * tests/test-c-stack2.sh: Tweak skip message.
56824         * NEWS: Document new link-time requirements.
56825
56826 2008-07-16  Eric Blake  <ebb9@byu.net>
56827
56828         c-stack: Expose false positives when not using libsigsegv.
56829         * modules/c-stack-tests (Files): Expand test.
56830         * tests/test-c-stack.c (main): Add means to conditionally trigger
56831         non-overflow SIGSEGV.
56832         * tests/test-c-stack2.sh: New file.
56833
56834 2008-07-14  Bruno Haible  <bruno@clisp.org>
56835
56836         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
56837         Reported by Eric Blake.
56838
56839 2008-07-14  Sam Steingold  <sds@gnu.org>
56840             Bruno Haible  <bruno@clisp.org>
56841
56842         New module libsigsegv.
56843         * modules/libsigsegv: New file.
56844         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
56845         modifications.
56846         * MODULES.html.sh (Signal handling): New section.
56847
56848 2008-07-14  Bruno Haible  <bruno@clisp.org>
56849
56850         * modules/unictype/ctype-* (Description): Add the word "function".
56851         Improves the resulting doc in MODULES.html.
56852
56853 2008-07-12  Ben Pfaff  <blp@gnu.org>
56854
56855         Add longlong module.
56856         * modules/longlong: New file.
56857
56858 2008-07-12  Bruno Haible  <bruno@clisp.org>
56859
56860         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
56861         to empty.
56862
56863 2008-07-10  Ben Pfaff  <blp@gnu.org>
56864
56865         Add isnan module.
56866         * doc/posix-functions/isnan.texi: Mention new module.
56867         * lib/math.in.h: Define isnan macro if we have decided to replace
56868         it.
56869         * m4/isnan.m4: New file.
56870         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
56871         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
56872         also.
56873         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
56874         redundancy.
56875         * m4/math_h.m4: Initialize and substitute variables for isnan
56876         module.
56877         * modules/isnan: New file.
56878         * modules/isnan-tests: New file.
56879         * modules/math: Add substitutions for new module.
56880         * tests/test-isnan.c: New file.
56881         * MODULES.html.sh: Mention new module.
56882
56883 2008-07-10  Ben Pfaff  <blp@gnu.org>
56884
56885         Add isnanf module.
56886         * lib/isnanf.m4: New file.
56887         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
56888         (gl_HAVE_ISNANF_IN_LIBM): New macro.
56889         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
56890         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
56891         * modules/isnanf: New file.
56892         * modules/isnanf-tests: New file.
56893         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
56894         files.
56895         * tests/test-isnanf-nolibm.c: factored most of its contents into
56896         new file tests/test-isnanf.h.
56897         * tests/test-isnanf.h: New file.
56898         * tests/test-isnanf.c: New file.
56899         * MODULES.html.sh: Mention new module.
56900         * doc/glibc-functions/isnanf.texi: Mention new module.
56901
56902 2008-07-10  Ben Pfaff  <blp@gnu.org>
56903
56904         Add isnand module.
56905         * lib/isnand.h: New file.
56906         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
56907         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
56908         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
56909         functionality also.
56910         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
56911         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
56912         (gl_HAVE_ISNAND_IN_LIBM): New macro.
56913         * modules/isnand: New file.
56914         * modules/isnand-tests: New file.
56915         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
56916         files.
56917         * tests/test-isnand-nolibm.c: factored most of its contents into
56918         new file tests/test-isnand.h.
56919         * tests/test-isnand.h: New file.
56920         * tests/test-isnand.c: New file.
56921         * MODULES.html.sh: Mention new module.
56922
56923 2008-07-10  Ben Pfaff  <blp@gnu.org>
56924
56925         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
56926         * lib/isnand.h: Rename lib/isnand-nolibm.h.
56927         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
56928         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
56929         * modules/isnanf-nolibm: Update references to renamed files.
56930         * modules/isnand-nolibm: Likewise.
56931         * modules/isnanf-nolibm-tests: Likewise.
56932         * modules/isnand-nolibm-tests: Likewise.
56933         * lib/frexp.c: Likewise.
56934         * lib/isfinite.c: Likewise.
56935         * lib/signbitd.c: Likewise.
56936         * lib/signbitf.c: Likewise.
56937         * lib/vasnprintf.c: Likewise.
56938         * tests/test-ceilf1.c: Likewise.
56939         * tests/test-ceilf2.c: Likewise.
56940         * tests/test-floorf1.c: Likewise.
56941         * tests/test-floorf2.c: Likewise.
56942         * tests/test-frexp.c: Likewise.
56943         * tests/test-round1.c: Likewise.
56944         * tests/test-round2.c: Likewise.
56945         * tests/test-roundf1.c: Likewise.
56946         * tests/test-strtod.c: Likewise.
56947         * tests/test-trunc1.c: Likewise.
56948         * tests/test-trunc2.c: Likewise.
56949         * tests/test-truncf1.c: Likewise.
56950         * tests/test-truncf2.c: Likewise.
56951         * NEWS: Mention the renamed header files.
56952
56953 2008-07-11  Jim Meyering  <meyering@redhat.com>
56954
56955         vc-list-files: make the last-resort awk code more portable
56956         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
56957         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
56958         does not support it.
56959
56960 2008-07-10  Eric Blake  <ebb9@byu.net>
56961
56962         Work with tar's bootstrap.
56963         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
56964         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
56965         an m4 comment.
56966
56967 2008-07-09  Jim Meyering  <meyering@redhat.com>
56968
56969         posix-shell.m4: fix typo that made this test malfunction
56970         * m4/posix-shell.m4: Remove capitalization in variable name.
56971
56972 2008-07-08  Bruno Haible  <bruno@clisp.org>
56973
56974         * m4/onceonly.m4: Update comments.
56975         Reported by Ben Pfaff <blp@cs.stanford.edu>.
56976
56977 2008-07-04  Jim Meyering  <meyering@redhat.com>
56978
56979         * users.txt: Add vc-dwim.
56980         (bison, coreutils): Use the gitweb URL.
56981
56982 2008-07-03  Jim Meyering  <meyering@redhat.com>
56983
56984         * users.txt: Add libffcall.  From Sam Steingold.
56985
56986 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
56987
56988         getdate.y: do not ignore TZ with relative day, month or year offset
56989         * lib/getdate.y (get_date): Move the tz-handling block to follow the
56990         relative-date-handling, since otherwise, the latter would clobber the
56991         sole output (an updated Start value) of the tz-handling block.
56992         * tests/test-getdate.c: Tests for the fix
56993
56994 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56995
56996         Recognize 'foo_LIBRARIES += libgnu.a'.
56997         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
56998         makefile snippet has already specified an installation location,
56999         also using '+='.
57000
57001 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
57002
57003         getdate.y: factor out common actions
57004         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
57005         Use them in place of open-coded actions.
57006
57007 2008-07-01  Simon Josefsson  <simon@josefsson.org>
57008
57009         Add self-test for getdate module.
57010         * modules/getdate-tests: New file.
57011         * tests/test-getdate.c: New file.
57012
57013 2008-06-29  Bruno Haible  <bruno@clisp.org>
57014
57015         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
57016         .gitignore.
57017         Reported by Sylvain Beucler <beuc@beuc.net>.
57018
57019 2008-06-29  Bruno Haible  <bruno@clisp.org>
57020
57021         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
57022         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
57023
57024 2008-06-29  Bruno Haible  <bruno@clisp.org>
57025
57026         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
57027         EXTRA_DIST.
57028         Reported by Sylvain Beucler <beuc@beuc.net>.
57029
57030 2008-06-26  Jim Meyering  <meyering@redhat.com>
57031
57032         make several modules depend on the "open" module
57033         This provides slightly increased consistency when opening-for-write
57034         the name of a non-directory spelled with a trailing slash.
57035         * modules/chdir-safer: Likewise.
57036         * modules/chown: Likewise.
57037         * modules/clean-temp: Likewise.
57038         * modules/copy-file: Likewise.
57039         * modules/fchdir: Likewise.
57040         * modules/fcntl-safer: Likewise.
57041         * modules/pipe: Likewise.
57042         * modules/utime: Likewise.
57043         Prompted by Eric Blake and Bruno Haible.
57044
57045 2008-06-24  Andreas Schwab  <schwab@suse.de>
57046
57047         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
57048         literals can be used as initializers for global variables.
57049
57050 2008-06-23  Eric Blake  <ebb9@byu.net>
57051
57052         Make gnulib-cache.m4 easier to diff.
57053         * gnulib-tool (func_import): Allow newlines when reading cached
57054         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
57055
57056 2008-06-23  Bruno Haible  <bruno@clisp.org>
57057
57058         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
57059         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
57060         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
57061         m4/signalblocking.m4.
57062         (gl_PREREQ_SIGACTION): Don't invoke it.
57063         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
57064         gl_PREREQ_SIG_HANDLER_H.
57065         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57066         Don't check for sigaction here.
57067
57068 2008-06-23  Bruno Haible  <bruno@clisp.org>
57069
57070         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
57071         (install_handlers): Don't set the SA_RESETHAND flag.
57072
57073 2008-06-23  Bruno Haible  <bruno@clisp.org>
57074
57075         * m4/sigaction.m4: Comment fixes.
57076         * lib/signal.in.h: Likewise.
57077
57078 2008-06-23  Eric Blake  <ebb9@byu.net>
57079
57080         Fix typo.
57081         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
57082
57083         Avoid SA_ namespace.
57084         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
57085         Reported by Ralf Wildenhues.
57086
57087         Avoid test failure due to SA_RESTORER.
57088         * tests/test-sigaction.c (SA_MASK): New macro.
57089         (main): Avoid failing due to extension flags being set.
57090         Reported by Jim Meyering.
57091
57092         Revert use of sig-handler.h in sigprocmask.c.
57093         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
57094         it requires the existence of struct sigaction.
57095         * lib/sigprocmask.c (handler_t): Restore typedef.
57096         (rpl_signal, old_handlers): Use local type.
57097
57098 2008-06-22  Bruno Haible  <bruno@clisp.org>
57099
57100         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
57101         conditionally.
57102         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57103
57104 2008-06-22  Bruno Haible  <bruno@clisp.org>
57105
57106         * doc/posix-functions/siginterrupt.texi: Move note.
57107
57108         * lib/signal.in.h (SA_RESTART): New macro.
57109         * lib/sigaction.c: Update comment.
57110
57111         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
57112
57113         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
57114         (gl_PREREQ_SIGPROCMASK): Invoke it.
57115         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
57116
57117         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
57118
57119         * lib/sigprocmask.c: Update a comment.
57120
57121 2008-06-21  Eric Blake  <ebb9@byu.net>
57122
57123         Use sigaction module rather than signal().
57124         * modules/c-stack (Depends-on): Add sigaction.
57125         * modules/fatal-signal (Depends-on): Likewise.
57126         * modules/nanosleep (Depends-on): Likewise.
57127         * modules/sigprocmask (Files): Add sig-handler.h.
57128         * modules/sigaction (Files): Likewise.
57129         * lib/sig-handler.h (get_handler): New file, suggested by Paul
57130         Eggert.
57131         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
57132         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
57133         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
57134         (init_fatal_signals): Likewise.
57135         * lib/nanosleep.c (rpl_nanosleep): Likewise.
57136         (siginterrupt): Delete fallback.
57137         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
57138         instead.
57139         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
57140         siginterrupt.
57141
57142         New module sigaction, for mingw.
57143         * modules/sigaction: New module...
57144         * modules/sigaction-tests: ...and its test.
57145         * m4/sigaction.m4: New file.
57146         * lib/sigaction.c: Likewise.
57147         * tests/test-sigaction.c: Likewise.
57148         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
57149         * modules/signal (Makefile.am): Likewise.
57150         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
57151         needed.
57152         * doc/posix-headers/signal.texi (signal.h): Mention provided
57153         types.
57154         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
57155         that sigaction is preferable.
57156         * doc/posix-functions/sigaction.texi (sigaction): Mention new
57157         module.
57158         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57159         sigaction.
57160
57161         Improve robustness of sigprocmask by overriding signal.
57162         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
57163         is in use.
57164         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
57165         (SIGKILL, SIGSTOP): Provide fallbacks.
57166         (rpl_signal): Implement.
57167         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
57168         signal can be called inside handlers.
57169
57170         Fix nanosleep module on mingw.
57171         * modules/nanosleep (Depends-on): Add sys_select.
57172         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
57173
57174         Fix licensing of sigprocmask.
57175         * modules/raise (License): Relicense as LGPL.
57176
57177 2008-06-21  Bruno Haible  <bruno@clisp.org>
57178
57179         * lib/propername.c (proper_name_utf8): Don't use the transliterated
57180         result if it contains question marks.
57181         Reported by Michael Geng <linux@michaelgeng.de>.
57182
57183 2008-06-19  Bruno Haible  <bruno@clisp.org>
57184
57185         Fix CVS-ism.
57186         * doc/gnulib.texi: Include updated-stamp.texi.
57187         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
57188         (updated-stamp.texi): New rule.
57189         (gnulib.info): Depend on it.
57190         * doc/.gitignore: Add updated-stamp.texi.
57191         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
57192
57193 2008-06-19  Bruno Haible  <bruno@clisp.org>
57194
57195         * doc/Makefile (gnulib.info): Update and simplify dependencies.
57196         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
57197
57198 2008-06-19  Eric Blake  <ebb9@byu.net>
57199
57200         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
57201         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
57202         Reported by Stepan Kasal.
57203
57204 2008-06-18  Bruno Haible  <bruno@clisp.org>
57205
57206         * lib/fatal-signal.c (init_fatal_signals): Add comment.
57207         Reported by Eric Blake.
57208
57209 2008-06-18  Eric Blake  <ebb9@byu.net>
57210
57211         Work around cygwin 1.5.25 strsignal bug.
57212         * tests/test-strsignal.c: Allow for const char *.
57213         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
57214
57215 2008-06-18  Simon Josefsson  <simon@josefsson.org>
57216
57217         * users.txt: Update URL to article and add author/date
57218         information.
57219
57220 2008-06-17  Bruno Haible  <bruno@clisp.org>
57221
57222         New macro gl_DISABLE_THREADS.
57223         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
57224         if the user did not pass --enable-threads or --disable-threads option.
57225         (gl_DISABLE_THREADS): New macro.
57226         Reported by Eric Blake <ebb9@byu.net>.
57227
57228 2008-06-17  Bruno Haible  <bruno@clisp.org>
57229
57230         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
57231         when the macro ignores it.
57232         Based on a patch by Eric Blake <ebb9@byu.net>.
57233
57234 2008-06-17  Bruno Haible  <bruno@clisp.org>
57235
57236         * modules/tls (License): Change to LGPLv2+.
57237         Reported by Eric Blake.
57238
57239 2008-06-17  Eric Blake  <ebb9@byu.net>
57240
57241         Simplify c-stack prerequisites.
57242         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
57243         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
57244         no longer requires <ucontext.h> to exist.  Optimize setrlimit
57245         check.
57246         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
57247         <sys/resource.h>.
57248
57249         Move c-stack test into testsuite.
57250         * modules/c-stack-tests: New file.
57251         * lib/c-stack.c [DEBUG]: Move test program...
57252         * tests/test-c-stack.c: ...into this new file.  Skip rather than
57253         fail test if sigaltstack is lacking.
57254         * tests/test-c-stack.sh: New driver file.
57255
57256 2008-06-16  Eric Blake  <ebb9@byu.net>
57257
57258         Use raise module consistently.
57259         * modules/fatal-signal (Depends-on): Add raise.
57260         * modules/sigprocmask (Depends-on): Likewise.
57261         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
57262         * lib/sigprocmask.c (sigprocmask): Likewise.
57263         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
57264         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
57265
57266         Fix compliance bug in sigpending.
57267         * lib/sigprocmask.c (sigpending): Return pending array via
57268         parameter, not return value.
57269
57270 2008-06-14  Eric Blake  <ebb9@byu.net>
57271
57272         Improve obstack-printf test code.
57273         * tests/test-obstack-printf.c (test_function): Fix comment, and
57274         simplify usage of obstack_* in macros.  Add a test for coverage.
57275         Reported by Bruno Haible.
57276
57277 2008-06-14  Bruno Haible  <bruno@clisp.org>
57278
57279         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
57280         array size as a constant, not as a const variable.
57281         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
57282         AC_USE_SYSTEM_EXTENSIONS.
57283         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
57284         Test whether the obstack_printf function actually exists.
57285         * modules/obstack-printf (Depends-on): Add extensions.
57286         (Include): Remove obstack.h.
57287         * modules/obstack-printf-posix (Depends-on): Add extensions.
57288         (Include): Remove obstack.h.
57289
57290 2008-06-13  Eric Blake  <ebb9@byu.net>
57291
57292         Add obstack-printf and obstack-printf-posix modules.
57293         * modules/obstack-printf: New file.
57294         * modules/obstack-printf-posix: Likewise.
57295         * MODULES.html.sh (Misc): Mention them.
57296         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
57297         Likewise.
57298         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
57299         Likewise.
57300         * modules/stdio (Makefile.am): Accomodate new modules.
57301         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57302         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
57303         Declare.
57304         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
57305         functions.
57306         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
57307         (gl_REPLACE_OBSTACK_PRINTF): New macros
57308         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
57309         * tests/test-obstack-printf.c: New file.
57310         * modules/obstack-printf-tests: Likewise.
57311         * modules/obstack-printf-posix-tests: Likewise.
57312
57313 2008-06-11  Bruno Haible  <bruno@clisp.org>
57314
57315         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
57316         * lib/open.c: Include errno.h.
57317         (open): Fail when attempting to write to a file that has a trailing
57318         slash.
57319         * tests/test-open.c (main): Test against trailing slash bug.
57320         * doc/posix-functions/open.texi: Mention the trailing slash bug.
57321
57322 2008-06-10  Bruno Haible  <bruno@clisp.org>
57323
57324         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
57325         for $? to work inside the trap command, with various /bin/sh-s.
57326         * tests/test-vc-list-files-cvs.sh: Likewise.
57327
57328 2008-06-10  Bruno Haible  <bruno@clisp.org>
57329
57330         * lib/acl-internal.h: Don't include gettext.h here.
57331         * lib/set-mode-acl.c: Include gettext.h here.
57332         * lib/copy-acl.c: Likewise.
57333
57334 2008-06-10  Bruno Haible  <bruno@clisp.org>
57335
57336         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
57337         * lib/wait-process.c (wait_subprocess): Likewise.
57338         * lib/execute.h (execute): Add termsigp argument.
57339         * lib/execute.c (execute): Likewise.
57340         * lib/csharpcomp.c (compile_csharp_using_pnet,
57341         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
57342         * lib/csharpexec.c (execute_csharp_using_pnet,
57343         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
57344         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
57345         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
57346         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
57347         is_jikes_present): Update.
57348         * lib/javaexec.c (execute_java_class): Update.
57349         * lib/javaversion.c (execute_and_read_line): Update.
57350         * NEWS: Document the changes.
57351         Reported by Eric Blake.
57352
57353 2008-06-10  Eric Blake  <ebb9@byu.net>
57354
57355         Add missing include.
57356         * tests/test-strstr.c (includes): Add <signal.h>.
57357         * tests/test-strcasestr.c (includes): Likewise.
57358         * tests/test-memmem.c (includes): Likewise.
57359
57360 2008-06-10  Bruno Haible  <bruno@clisp.org>
57361
57362         * lib/wait-process.c (wait_subprocess): Add an assertion.
57363
57364 2008-06-10  Bruno Haible  <bruno@clisp.org>
57365
57366         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
57367
57368 2008-06-10  Bruno Haible  <bruno@clisp.org>
57369
57370         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
57371         using alarm().
57372         * tests/test-strcasestr.c (main): Likewise.
57373         * tests/test-strstr.c (main): Likewise.
57374
57375 2008-06-09  Bruno Haible  <bruno@clisp.org>
57376
57377         Work around the Solaris 10 ACE ACLs ABI change.
57378         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
57379         declare if ACL_NO_TRIVIAL is present.
57380         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
57381         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
57382         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
57383         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
57384         define if ACL_NO_TRIVIAL is present.
57385         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
57386         and use the current ABI.
57387         (file_has_acl): Use same #if condition as elsewhere.
57388         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
57389         in use, and use the current ABI.
57390         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
57391         Reported by Jim Meyering.
57392
57393 2008-06-09  Eric Blake  <ebb9@byu.net>
57394
57395         Work around environments that (stupidly) ignore SIGALRM.
57396         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
57397         before using alarm().
57398         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57399         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
57400         Reported by Ian Beckwith <ianb@erislabs.net>.
57401
57402         Produce autobuild blurb earlier in log.
57403         * modules/autobuild (configure.ac-early): Move AB_INIT here.
57404
57405 2008-06-09  Jim Meyering  <meyering@redhat.com>
57406         and OndÅ™ej Vašík  <ovasik@redhat.com>
57407
57408         utimens.c: correct kernel bug work-around
57409         OndÅ™ej Vašík found that the invalid return value of 280 indicates
57410         failure, not success, and the kernel bug we're trying to work
57411         around affects not just the utimensat call, but also the fallback
57412         futimens call.
57413         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
57414         not success.
57415         [HAVE_FUTIMENS]: Use the same work-around, here.
57416
57417 2008-06-09  Jim Meyering  <meyering@redhat.com>
57418
57419         add more guards around definition of ACE_-related code
57420         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
57421         ALLOW and ACE_OWNER are also defined.
57422
57423 2008-06-08  Bruno Haible  <bruno@clisp.org>
57424
57425         * lib/acl-internal.h: Add me as co-author.
57426         * lib/file-has-acl.c: Likewise.
57427         * lib/set-mode-acl.c: Likewise.
57428         * lib/copy-acl.c: Likewise.
57429
57430 2008-06-08  Bruno Haible  <bruno@clisp.org>
57431
57432         Add support for AIX ACLs.
57433         * lib/acl-internal.h (acl_nontrivial): New declaration.
57434         * lib/file-has-acl.c (acl_nontrivial): New function.
57435         (file_has_acl): Add implementation using AIX 4 ACL API.
57436         * lib/set-mode-acl.c (qset_acl): Likewise.
57437         * lib/copy-acl.c (qcopy_acl): Likewise.
57438
57439 2008-06-08  Bruno Haible  <bruno@clisp.org>
57440
57441         Add support for HP-UX ACLs.
57442         * lib/acl-internal.h (acl_nontrivial): New declaration.
57443         * lib/file-has-acl.c (acl_nontrivial): New function.
57444         (file_has_acl): Add implementation using HP-UX 11 ACL API.
57445         * lib/set-mode-acl.c (qset_acl): Likewise.
57446         * lib/copy-acl.c (qcopy_acl): Likewise.
57447
57448 2008-06-08  Bruno Haible  <bruno@clisp.org>
57449
57450         Add support for Cygwin ACLs.
57451         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
57452         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
57453         the chmod_or_fchmod call.
57454         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
57455
57456 2008-06-08  Bruno Haible  <bruno@clisp.org>
57457
57458         Fix bug with setuid modes in Solaris 10+ code.
57459         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
57460         succeeded, when the mode contains some special bits.
57461
57462 2008-06-08  Bruno Haible  <bruno@clisp.org>
57463
57464         Add support for Solaris 7..10 ACLs.
57465         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
57466         declarations.
57467         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
57468         functions.
57469         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
57470         * lib/set-mode-acl.c (qset_acl): Likewise.
57471         * lib/copy-acl.c (qcopy_acl): Likewise.
57472
57473 2008-06-08  Bruno Haible  <bruno@clisp.org>
57474
57475         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
57476         declaration.
57477         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
57478         (acl_access_nontrivial): Remove MacOS X case.
57479         (file_has_acl): Use acl_extended_nontrivial.
57480         * lib/copy-acl.c (qcopy_acl): Likewise.
57481
57482 2008-06-08  Bruno Haible  <bruno@clisp.org>
57483
57484         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
57485
57486 2008-06-08  Jim Meyering  <meyering@redhat.com>
57487
57488         * modules/acl (Maintainer): Add Bruno Haible.
57489
57490 2008-06-07  Bruno Haible  <bruno@clisp.org>
57491
57492         Improve support for Tru64 ACLs.
57493         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
57494         ACL on OSF/1.
57495
57496 2008-06-07  Bruno Haible  <bruno@clisp.org>
57497
57498         Add support for MacOS X ACLs.
57499         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
57500         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
57501         * lib/set-mode-acl.c (qset_acl): Likewise.
57502         * lib/copy-acl.c (qcopy_acl): Likewise.
57503
57504 2008-06-07  Bruno Haible  <bruno@clisp.org>
57505
57506         Fix memory leak introduced on 2008-05-22.
57507         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
57508         use.
57509
57510 2008-06-07  Bruno Haible  <bruno@clisp.org>
57511
57512         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
57513         to construct an empty ACL.
57514
57515 2008-06-07  Bruno Haible  <bruno@clisp.org>
57516
57517         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
57518         precisely.
57519         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
57520
57521 2008-06-07  Bruno Haible  <bruno@clisp.org>
57522
57523         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
57524         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
57525
57526 2008-06-07  Bruno Haible  <bruno@clisp.org>
57527
57528         * doc/posix-functions/_setjmp.texi: Explain the use of this function
57529         regardless of POSIX.
57530         * doc/posix-functions/_longjmp.texi: Likewise.
57531         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
57532         SystemV platform in this case.
57533
57534 2008-06-06  Eric Blake  <ebb9@byu.net>
57535
57536         Document abort() bugs.
57537         * doc/posix-functions/abort.texi (abort): Mention anomalies.
57538
57539         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
57540         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
57541         sigsetjmp.
57542         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
57543         siglongjmp, but only as a macro.
57544         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
57545         is obsolete.
57546         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
57547
57548         Tweak documentation to cover cygwin argz bugs.
57549         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
57550         argz bug fix; no code change needed since no cygwin releases
57551         occurred between the last fix and the bug being tested.
57552         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
57553         module and recently fixed cygwin bugs.
57554         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
57555         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
57556         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
57557         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
57558         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
57559         Likewise.
57560         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
57561         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
57562         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
57563         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
57564         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
57565         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
57566         Likewise.
57567
57568         Avoid gcc warning on cygwin.
57569         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
57570         !ACL_NO_TRIVIAL]: Avoid unused variable.
57571
57572 2008-06-05  Eric Blake  <ebb9@byu.net>
57573
57574         Be tolerant of UNKNOWN version in gnulib-tool test dir.
57575         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
57576         git-version-gen fails to come up with a version.
57577         Reported by Simon Josefsson.
57578
57579 2008-06-05  Jim Meyering  <meyering@redhat.com>
57580             Paul Eggert  <eggert@cs.ucla.edu>
57581
57582         utimens.c: work around a probable Linux kernel bug
57583         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
57584         appears to be a kernel bug that causes utimensat to return 280
57585         instead of 0, indicating success.
57586
57587 2008-06-04  Bruno Haible  <bruno@clisp.org>
57588
57589         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
57590         2008-06-01 commit.
57591
57592 2008-06-04  Bruno Haible  <bruno@clisp.org>
57593
57594         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
57595         * lib/file-has-acl.c (acl_access_nontrivial): New function.
57596         (file_has_acl): Use it. Save errno afterwards.
57597         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
57598
57599 2008-06-03  Bruno Haible  <bruno@clisp.org>
57600
57601         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
57602         draft code. Simplify #ifs.
57603         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
57604         Put Solaris code after POSIX-draft code. Fix comments regarding
57605         Solaris 10, HP-UX. Mention Cygwin.
57606         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
57607
57608 2008-06-03  Eric Blake  <ebb9@byu.net>
57609
57610         Provide fallback for older kernels.
57611         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
57612         Provide runtime fallback if kernel lacks support.
57613         Reported by Mike Frysinger.
57614
57615 2008-06-02  Bruno Haible  <bruno@clisp.org>
57616
57617         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
57618         it exists.
57619
57620 2008-06-02  Bruno Haible  <bruno@clisp.org>
57621
57622         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
57623         * lib/copy-acl.c (qcopy_acl): Update comment.
57624
57625 2008-06-02  Bruno Haible  <bruno@clisp.org>
57626
57627         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
57628         like ACL APIs.
57629
57630 2008-06-02  Bruno Haible  <bruno@clisp.org>
57631
57632         * tests/test-file-has-acl.sh: Use different code for Cygwin.
57633         * tests/test-set-mode-acl.sh: Likewise.
57634         * tests/test-copy-acl.sh: Likewise.
57635         * tests/test-copy-file.sh: Likewise.
57636
57637 2008-06-02  Bruno Haible  <bruno@clisp.org>
57638
57639         * tests/test-file-has-acl.sh: Remove unused code.
57640
57641 2008-06-01  Bruno Haible  <bruno@clisp.org>
57642
57643         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
57644         (copy_acl): Just a wrapper around qcopy_acl that emits the error
57645         messages.
57646         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
57647
57648 2008-06-01  Bruno Haible  <bruno@clisp.org>
57649
57650         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
57651         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
57652         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
57653         APIs.
57654         * modules/acl-tests (configure.ac): Remove tests now contained in
57655         m4/acl.m4.
57656
57657 2008-06-02  Jim Meyering  <meyering@redhat.com>
57658
57659         announce-gen: use a better key-server host name
57660         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
57661         it may be more consistently reliable.  Suggested by Werner Koch
57662         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
57663
57664 2008-06-01  Bruno Haible  <bruno@clisp.org>
57665
57666         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
57667         Reported by Voroskoi Andras <voroskoi@gmail.com>.
57668
57669 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
57670
57671         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
57672
57673 2008-06-01  Bruno Haible  <bruno@clisp.org>
57674
57675         New ACL tests.
57676         * tests/test-file-has-acl.sh: New file.
57677         * tests/test-file-has-acl.c: New file.
57678         * tests/test-set-mode-acl.sh: New file.
57679         * tests/test-set-mode-acl.c: New file.
57680         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
57681         * tests/test-copy-acl.c: New file.
57682         * modules/acl-tests: New file, based on modules/copy-file-tests.
57683         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
57684         (Depends-on): Add acl-tests.
57685         (configure.ac): Remove checks.
57686         (Makefile.am): Don't create test-sameacls program here any more.
57687
57688 2008-06-01  Bruno Haible  <bruno@clisp.org>
57689
57690         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
57691         * tests/test-sameacls.c: Include progname.h.
57692         (main): Invoke set_program_name. Portability fixes for MacOS X,
57693         Solaris, HP-UX.
57694
57695 2008-06-01  Bruno Haible  <bruno@clisp.org>
57696
57697         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
57698         function.
57699         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
57700
57701 2008-06-01  Bruno Haible  <bruno@clisp.org>
57702
57703         * modules/rpmatch (Depends-on): Add strdup.
57704
57705 2008-06-01  Bruno Haible  <bruno@clisp.org>
57706
57707         * lib/pipe.c: Include unistd-safer.h.
57708         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
57709         * modules/pipe (Depends-on): Add unistd-safer.
57710
57711 2008-05-30  Simon Josefsson  <simon@josefsson.org>
57712
57713         * modules/autobuild (configure.ac): Call AB_INIT.
57714
57715 2008-05-30  Simon Josefsson  <simon@josefsson.org>
57716
57717         * tests/test-getaddrinfo.c: Don't print debug messages by default.
57718         Suggested by Bruno Haible <bruno@clisp.org>.
57719
57720 2008-05-30  Simon Josefsson  <simon@josefsson.org>
57721
57722         * tests/test-base64.c: Cast size_t to unsigned long when invoking
57723         printf.  Use %lu instead of %d.  Reported by Bruno Haible
57724         <bruno@clisp.org>.
57725
57726 2008-05-29  Eric Blake  <ebb9@byu.net>
57727
57728         Prefer new POSIX 200x interfaces over futimesat.
57729         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
57730         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
57731         when available.
57732         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
57733
57734 2008-05-28  Bruno Haible  <bruno@clisp.org>
57735
57736         * modules/stpcpy (License): Change to LGPLv2+.
57737         Requested by David Lutterkort <dlutter@redhat.com>.
57738
57739 2008-05-27  Bruno Haible  <bruno@clisp.org>
57740
57741         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
57742         current mingw.
57743         Reported by Jose E. Marchesi <jemarch@gnu.org>.
57744
57745 2008-05-27  Bruno Haible  <bruno@clisp.org>
57746
57747         * modules/iconv_open (Link): New section, from module 'iconv'.
57748         * modules/striconv (Link): Likewise.
57749         * modules/striconveh (Link): Likewise.
57750         * modules/xstriconv (Link): Likewise.
57751         * modules/unicodeio (Link): Likewise.
57752         * modules/propername (Link): Likewise.
57753         Reported by Jim Meyering.
57754
57755 2008-05-26  Jim Meyering  <meyering@redhat.com>
57756
57757         sha256: do not artificially restrict buffer length to be < 2^32
57758         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
57759         uint32_t to size_t.
57760         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
57761         to match.
57762
57763         avoid unaligned access errors, e.g., on sparc
57764         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
57765         direct access through a possibly-unaligned uint64* pointer.
57766         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
57767         direct access through a possibly-unaligned uint32* pointer.
57768         Prompted by this patch from Tom "spot" Callaway:
57769         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
57770
57771         sha512.c: fix typo in comment
57772         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
57773
57774 2008-05-25  Bruno Haible  <bruno@clisp.org>
57775
57776         * lib/set-mode-acl.c: Renamed from lib/acl.c.
57777         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
57778         (Makefile.am): Update lib_SOURCES.
57779
57780 2008-05-25  Bruno Haible  <bruno@clisp.org>
57781
57782         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
57783
57784 2008-05-25  Jim Meyering  <meyering@redhat.com>
57785
57786         useless-if-before-free: freed expr may have white-space differences
57787         * build-aux/useless-if-before-free: Recognize cases in which the
57788         freed expression differs from the tested one in embedded white
57789         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
57790         $1 was used, so we can't make any regexp shy.  Improved tests now
57791         detect this.
57792
57793         useless-if-before-free: accept white space in the expression.
57794         * build-aux/useless-if-before-free: For now, any white space
57795         in the expression must be identical in the free argument.
57796
57797         useless-if-before-free: efficiency tweak
57798         * build-aux/useless-if-before-free: Make the expression-matching
57799         regexp "shy".
57800         Make the *outer* regexp shy, not the expr-matching one.
57801
57802         update code-in-comment to accept cast of free arg
57803         * build-aux/useless-if-before-free: Update regexp.
57804
57805 2008-05-25  Bruno Haible  <bruno@clisp.org>
57806
57807         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
57808         * modules/copy-file-tests (Files, Makefile.am): Update.
57809         * tests/test-copy-file.c (func_test_copy): Update.
57810
57811 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
57812
57813         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
57814
57815 2008-05-23  Bruno Haible  <bruno@clisp.org>
57816
57817         Improve support for ACLs on OSF/1.
57818         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
57819         Remove fallback for unknown flavors of ACLs.
57820
57821 2008-05-22  Bruno Haible  <bruno@clisp.org>
57822
57823         Add support for ACLs on OSF/1.
57824         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
57825         replacements.
57826         (acl_free_text): New macro fallback.
57827         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
57828         acl_free.
57829         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
57830         acl_free_text function. Require AC_C_INLINE.
57831
57832 2008-05-22  Bruno Haible  <bruno@clisp.org>
57833
57834         Make copy_acl work on MacOS X 10.5.
57835         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
57836         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
57837         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
57838         If MODE_INSIDE_ACL, don't assume that every system has the same text
57839         representation for ACLs as FreeBSD.
57840         * lib/copy-acl.c (copy_acl): Add support for platforms with
57841         !MODE_INSIDE_ACL.
57842         * lib/file-has-acl.c (file_has_acl): Likewise.
57843         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
57844         FreeBSD, MacOS X, or IRIX, respectively.
57845
57846 2008-05-22  Bruno Haible  <bruno@clisp.org>
57847
57848         * lib/acl.h: Don't include <sys/acl.h>.
57849         (GETACLCNT): Move fallback to lib/acl-internal.h.
57850         * lib/acl-internal.h: Include <sys/acl.h> here.
57851         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
57852
57853 2008-05-22  Bruno Haible  <bruno@clisp.org>
57854
57855         Split off copy_acl function to separate file.
57856         * lib/copy-acl.c: New file, extracted from lib/acl.c.
57857         * lib/acl.c (copy_acl): Moved function to separate file.
57858         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
57859         * modules/acl (Files): Add lib/copy-acl.c.
57860         (Makefiles.am): Augment lib_SOURCES.
57861
57862 2008-05-22  Bruno Haible  <bruno@clisp.org>
57863
57864         * modules/copy-file-tests: New file.
57865         * tests/test-copy-file.sh: New file.
57866         * tests/test-copy-file.c: New file.
57867         * tests/test-copy-file-sameacls.c: New file.
57868
57869 2008-05-22  Eric Blake  <ebb9@byu.net>
57870
57871         Avoid gcc warning.
57872         * tests/test-memcmp.c (main): Pass NULL indirectly.
57873
57874 2008-05-21  Bruno Haible  <bruno@clisp.org>
57875
57876         Add reference doc about ACLs.
57877         * doc/acl-resources.txt: New file.
57878         * doc/acl-cygwin.txt: New file.
57879
57880 2008-05-21  Bruno Haible  <bruno@clisp.org>
57881
57882         Avoid one more warning from gcc.
57883         * lib/vasnprintf.c (IF_LINT): Update comments.
57884         (VASNPRINTF): Use it also for the 'prefix' array initializer.
57885
57886 2008-05-21  Jim Meyering  <meyering@redhat.com>
57887
57888         avoid a warning from gcc
57889         * lib/vasnprintf.c (IF_LINT): Define.
57890         (scale10_round_decimal_long_double):
57891         Use it to avoid a "may be used uninitialized" warning.
57892         (scale10_round_decimal_double): Likewise.
57893
57894 2008-05-21  Simon Josefsson  <simon@josefsson.org>
57895
57896         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
57897         declared.
57898
57899 2008-05-20  Bruno Haible  <bruno@clisp.org>
57900
57901         * tests/test-memcmp.c (main): Test also the sign of the result. Test
57902         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
57903
57904 2008-05-20  Simon Josefsson  <simon@josefsson.org>
57905
57906         * modules/memcmp-tests: New file.
57907         * tests/test-memcmp.c: New file.
57908
57909 2008-05-19  Bruno Haible  <bruno@clisp.org>
57910
57911         * modules/propername (Notice, configure.ac): Put quoted "..." into
57912         --keyword option.
57913         * lib/propername.h: Update comments accordingly.
57914         Reported by Eric Blake.
57915
57916 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
57917
57918         * modules/getpass-gnu (Depends-on): Add fseeko.
57919
57920 2008-05-19  Simon Josefsson  <simon@josefsson.org>
57921
57922         * modules/base64-tests: New file.
57923
57924 2008-05-19  Bo Borgerson <gigabo@gmail.com>
57925
57926         * lib/base64.c (base64_decode_ctx): If a decode context structure
57927         was passed in use it to ignore newlines.  If a context structure
57928         was _not_ passed in, continue to treat newlines as garbage (this
57929         is the historical behavior).  Formerly base64_decode.
57930         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
57931         takes a decode context structure.
57932         * lib/base64.h (base64_decode): Macro for four-argument calls.
57933         (base64_decode_alloc): Likewise.
57934         * lib/base64.c (base64_decode_ctx): If a decode context structure
57935         was passed in use it to ignore newlines.  If a context structure
57936         was _not_ passed in, continue to treat newlines as garbage (this
57937         is the historical behavior).  Formerly base64_decode.
57938         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
57939         takes a decode context structure.
57940         * lib/base64.h (base64_decode): Macro for four-argument calls.
57941         (base64_decode_alloc): Likewise.
57942
57943 2008-05-19  Jim Meyering  <meyering@redhat.com>
57944
57945         avoid a warning from gcc
57946         * lib/trim.c (IF_LINT): Define.
57947         (trim2): Use it to avoid a "may be used uninitialized" warning.
57948
57949         Fix doc typo.
57950         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
57951
57952 2008-05-19  Bruno Haible  <bruno@clisp.org>
57953
57954         * doc/glibc-functions/getpass.texi: Document limits of other
57955         implementations.
57956
57957 2008-05-19  Simon Josefsson  <simon@josefsson.org>
57958             Bruno Haible <bruno@clisp.org>
57959
57960         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
57961
57962 2008-05-18  Bruno Haible  <bruno@clisp.org>
57963
57964         * modules/propername: New file, from GNU gettext.
57965         * lib/propername.h: New file, from GNU gettext.
57966         * lib/propername.c: New file, from GNU gettext.
57967         * MODULES.html.sh (Internationalization functions): Add propername.
57968
57969 2008-05-16  Jim Meyering  <meyering@redhat.com>
57970             Bruno Haible  <bruno@clisp.org>
57971
57972         Avoid some warnings from "gcc -Wshadow".
57973         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
57974
57975 2008-05-15  Eric Blake  <ebb9@byu.net>
57976
57977         Extend previous patch to cygwin 1.7.0.
57978         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
57979         fast implementation in cygwin >= 1.7.0.
57980         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57981         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57982
57983 2008-05-15  Bruno Haible  <bruno@clisp.org>
57984
57985         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
57986         implementation in glibc >= 2.9.
57987         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
57988         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
57989
57990 2008-05-15  Bruno Haible  <bruno@clisp.org>
57991
57992         * MODULES.html.sh (Internationalization functions): Remove linebreak.
57993         (Unicode string functions): Add unilbrk/*.
57994         Reported by Karl Berry.
57995
57996 2008-05-15  Eric Blake  <ebb9@byu.net>
57997
57998         Fix violation of <stdbool.h> replacement in regex.
57999         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
58000         * lib/regexec.c (re_search_internal): Likewise.
58001         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
58002
58003 2008-05-15  Jim Meyering  <meyering@redhat.com>
58004
58005         avoid distracting test output when git or cvs is not found
58006         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
58007         * tests/test-vc-list-files-git.sh: Likewise.
58008
58009 2008-05-15  Eric Blake  <ebb9@byu.net>
58010
58011         Glibc finally accepted the memmem speedup code, bugzilla #5514.
58012         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
58013         glibc version.
58014         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
58015         * doc/posix-functions/strstr.texi (strstr): Likewise.
58016         * lib/str-two-way.h (MAX): Sychronize with glibc.
58017
58018 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
58019
58020         * lib/regcomp.c (optimize_utf8): Add a note on why we test
58021         opr.ctx_type.
58022         (calc_first): Initialize constraint field.
58023         (duplicate_node_closure): Use it instead of special casing ANCHORS.
58024         Fix grammar.
58025         (duplicate_node): Merge constraint field for all node types.
58026         (calc_eclosure_iter): Look at constraint field for all node types.
58027         * lib/regex_internal.c (create_cd_newstate): Don't look at
58028         opr.ctx_type.
58029
58030 2008-05-14  Bruno Haible  <bruno@clisp.org>
58031
58032         Help GCC to do better code generation.
58033         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
58034         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
58035         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
58036         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
58037         Declare with attribute 'malloc' if supported.
58038
58039 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
58040
58041         use "echo STR|wc -c" rather than unportable "expr length STR"
58042         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
58043         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
58044
58045 2008-05-14  Jim Meyering  <meyering@redhat.com>
58046
58047         use dd ibs=$n count=1 ... rather than less-portable head -c$n
58048         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
58049         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
58050         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
58051         via Collin Lasse.
58052
58053 2008-05-14  Eric Blake  <ebb9@byu.net>
58054
58055         Avoid quadratic growth in gl_LIBSOURCES.
58056         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
58057         Suggested by Bruno Haible.
58058
58059         Test xmemdup0.
58060         * modules/xmemdup0-tests: New file.
58061         * tests/test-xmemdup0.c: Likewise.
58062
58063 2008-05-13  Eric Blake  <ebb9@byu.net>
58064
58065         Split xmemdup0 into its own module.
58066         * modules/xmemdup0: New file.
58067         * lib/xmemdup0.h: Likewise.
58068         * lib/xmemdup0.c: Likewise.
58069         * MODULES.html.sh (Memory management functions): Add xmemdup0.
58070         * lib/xalloc.h (xmemdup0): Remove.
58071         * lib/xmalloc.c (xmemdup0): Likewise.
58072
58073 2008-05-13  Eric Blake  <ebb9@byu.net>
58074             Bruno Haible  <bruno@clisp.org>
58075
58076         Reduce number of forks required during autoconf.
58077         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
58078         and gl_LIBSOURCES_DIR.
58079         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
58080         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
58081         m4_syscmd per file.
58082         <m4_foreach_w>: Move...
58083         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
58084
58085 2008-05-13  Eric Blake  <ebb9@byu.net>
58086
58087         * gnulib-tool: Fix various comment typos.
58088
58089 2008-05-12  Bruno Haible  <bruno@clisp.org>
58090
58091         Tailor the linebreaking algorithm.
58092         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
58093
58094 2008-05-12  Bruno Haible  <bruno@clisp.org>
58095
58096         Update to Unicode 5.0.0.
58097         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
58098         LBP_JV, LBP_JT. Redistribute values.
58099         (unilbrk_table): Change size.
58100         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
58101         Unicode TR#14 rev. 22.
58102         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
58103         LBP_JV, LBP_JT. Redistribute values.
58104         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
58105         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
58106         Update.
58107         * lib/unilbrk/lbrkprop1.h: Regenerated.
58108         * lib/unilbrk/lbrkprop2.h: Regenerated.
58109         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
58110         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
58111         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
58112         Likewise.
58113         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
58114         Likewise.
58115         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
58116         result.
58117         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
58118         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
58119         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
58120         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
58121         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
58122         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
58123
58124 2008-05-11  Bruno Haible  <bruno@clisp.org>
58125
58126         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
58127
58128 2008-05-11  Bruno Haible  <bruno@clisp.org>
58129
58130         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
58131         * modules/unilbrk/gen-lbrk: New file.
58132
58133 2008-05-11  Bruno Haible  <bruno@clisp.org>
58134
58135         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
58136         * m4/sha512.m4 (gl_SHA512): Likewise.
58137
58138 2008-05-11  Jim Meyering  <meyering@redhat.com>
58139
58140         New modules: crypto/sha256, crypto/sha512 (from coreutils)
58141         * modules/crypto/sha256: New file.
58142         * modules/crypto/sha512: Likewise.
58143         * lib/sha256.c: Likewise.
58144         * lib/sha256.h: Likewise.
58145         * lib/sha512.c: Likewise.
58146         * lib/sha512.h: Likewise.
58147         * lib/u64.h: Likewise.
58148         * m4/sha256.m4: Likewise.
58149         * m4/sha512.m4: Likewise.
58150         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
58151
58152 2008-05-10  Bruno Haible  <bruno@clisp.org>
58153
58154         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
58155         (Input/Output <stdio.h>): Add xprintf.
58156         (Signal handling <signal.h>): Add strsignal.
58157         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
58158         (Core language properties): Add func.
58159         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
58160         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
58161         strings.
58162         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
58163         (Input/output): New section.
58164         (File system functions): Add openat-die, stat-macros.
58165         (Networking functions): Add sockets.
58166         (Unicode string functions): Add unictype/*.
58167         (Support for building libraries and executables): Add gperf.
58168         (Support for building documentation): Add agpl-3.0.
58169         (Misc): Add nocrash.
58170
58171 2008-05-10  Bruno Haible  <bruno@clisp.org>
58172
58173         * modules/unictype/gen-ctype: New file.
58174
58175 2008-05-10  Jim Meyering  <meyering@redhat.com>
58176
58177         Make chdir-safer.c more efficient on a system with no symlinks.
58178         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
58179         also if ELOOP is zero.  Suggested by Bruno Haible.
58180
58181         Make chdir-safer.c slightly safer.
58182         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
58183         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
58184
58185         Avoid compile failure on systems without ELOOP (like mingw).
58186         * lib/chdir-safer.c (ELOOP): Define if not already defined.
58187         Reported by Bruno Haible.
58188
58189 2008-05-10  Bruno Haible  <bruno@clisp.org>
58190
58191         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
58192         (is_utf8_encoding): Use a case-insensitive comparison.
58193         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
58194         streq.
58195
58196 2008-05-10  Bruno Haible  <bruno@clisp.org>
58197
58198         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
58199         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
58200         * lib/unilbrk/ulc-common.h (iconv_string_length,
58201         iconv_string_keeping_offsets): Remove declarations.
58202         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
58203         Don't include <iconv.h>, streq.h, xsize.h.
58204         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
58205         conversion.
58206         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
58207         <iconv.h>, streq.h, xsize.h.
58208         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
58209         conversion.
58210         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
58211         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
58212         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
58213         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
58214
58215 2008-05-10  Bruno Haible  <bruno@clisp.org>
58216
58217         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
58218         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
58219
58220         * modules/unilbrk/u32-width-linebreaks-tests: New file.
58221         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
58222
58223         * modules/unilbrk/u16-width-linebreaks-tests: New file.
58224         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
58225
58226         * modules/unilbrk/u8-width-linebreaks-tests: New file.
58227         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
58228
58229         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
58230         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
58231
58232         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
58233         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
58234
58235         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
58236         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
58237
58238         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
58239         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
58240
58241 2008-05-10  Bruno Haible  <bruno@clisp.org>
58242
58243         Split up 'linebreak' module.
58244         * lib/unilbrk.h: New file, based on lib/linebreak.h.
58245         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
58246         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
58247         modifications.
58248         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
58249         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
58250         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
58251         lib/linebreak.c.
58252         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
58253         lib/linebreak.c.
58254         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
58255         lib/linebreak.c.
58256         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
58257         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
58258         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
58259         lib/linebreak.c.
58260         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
58261         lib/linebreak.c.
58262         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
58263         lib/linebreak.c.
58264         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
58265         lib/linebreak.c.
58266         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
58267         lib/linebreak.c.
58268         * modules/unilbrk/base: New file.
58269         * modules/unilbrk/tables: New file.
58270         * modules/unilbrk/u8-possible-linebreaks: New file.
58271         * modules/unilbrk/u16-possible-linebreaks: New file.
58272         * modules/unilbrk/u32-possible-linebreaks: New file.
58273         * modules/unilbrk/ulc-common: New file.
58274         * modules/unilbrk/ulc-possible-linebreaks: New file.
58275         * modules/unilbrk/u8-width-linebreaks: New file.
58276         * modules/unilbrk/u16-width-linebreaks: New file.
58277         * modules/unilbrk/u32-width-linebreaks: New file.
58278         * modules/unilbrk/ulc-width-linebreaks: New file.
58279         * lib/linebreak.h: Remove file.
58280         * lib/linebreak.c: Remove file.
58281         * m4/linebreak.m4: Remove file.
58282         * modules/linebreak: Remove file.
58283         * NEWS: Mention the changes.
58284
58285 2008-05-09  Eric Blake  <ebb9@byu.net>
58286
58287         Add xmemdup0.
58288         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
58289         implementation.
58290         * lib/xmalloc.c (xmemdup0): New C implementation.
58291
58292 2008-05-08  Bruno Haible  <bruno@clisp.org>
58293
58294         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
58295
58296 2008-05-07  Eric Blake  <ebb9@byu.net>
58297
58298         Support cross-compilation of <wctype.h>.
58299         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
58300         AC_CACHE_CHECK.
58301
58302 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
58303
58304         * build-aux/vc-list-files: Add support for bzr.
58305
58306 2008-05-03  Jim Meyering  <meyering@redhat.com>
58307
58308         avoid failed assertion with tight malloc
58309         * tests/test-getndelim2.c: Correct an off-by-one assertion.
58310
58311 2008-05-03  Simon Josefsson  <simon@josefsson.org>
58312
58313         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
58314         are needed from arpa/inet.h.
58315         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
58316         Reported by Bruno Haible.
58317
58318 2008-05-02  Jim Meyering  <meyering@redhat.com>
58319
58320         avoid compilation error on FreeBSD 6
58321         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
58322
58323 2008-05-01  Jim Meyering  <meyering@redhat.com>
58324
58325         useless-if-before-free: correct --help's exit status description
58326         * build-aux/useless-if-before-free (usage): Like grep, exit 0
58327         for one or more matches, etc.  Reported by Bruno Haible.
58328
58329         vc-list-files: make the stand-alone gnulib test work
58330         * modules/vc-list-files-tests (configure.ac):
58331         Define and AC_SUBST abs_aux_dir.
58332         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
58333         $(abs_top_srcdir) to each script and having each of them
58334         duplicate the work of setting PATH, set PATH here, using
58335         the new variable, abs_aux_dir instead.
58336         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
58337         * tests/test-vc-list-files-git.sh: Likewise.
58338         Reported by Bruno Haible.
58339
58340 2008-05-01  Bruno Haible  <bruno@clisp.org>
58341
58342         * lib/getndelim2.c (getndelim2): Fix newsize computation during
58343         reallocation. Rename 'done' to 'found_delimiter'.
58344
58345 2008-05-01  Jim Meyering  <meyering@redhat.com>
58346
58347         vc-list-files: accommodate /bin/sh like the one from Solaris 10
58348         * build-aux/vc-list-files: Use `...`, not $(...).
58349
58350 2008-04-30  Jim Meyering  <meyering@redhat.com>
58351
58352         add tests for vc-list-files
58353         * modules/vc-list-files-tests: New module.
58354         * tests/test-vc-list-files-cvs.sh: New file.
58355         * tests/test-vc-list-files-git.sh: New file.
58356
58357         avoid a warning from gcc
58358         * lib/getndelim2.c (IF_LINT): Define.
58359         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
58360
58361         vc-list-files: work properly with build-aux/cvsu, too
58362         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
58363         to all cvs-based clauses.
58364
58365         vc-list-files: work properly in the CVS+awk case, too
58366         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
58367
58368         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
58369         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
58370         take more than one file argument, so .  Add quotes, just in case $dir
58371         ever contains a shell meta-character.  Prompted by Soren Hansen in
58372         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
58373
58374 2008-04-29  Eric Blake  <ebb9@byu.net>
58375
58376         Optimize getndelim2 to use block operations when possible.
58377         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
58378         freadseek, and memchr2.
58379         * lib/getndelim2.c (getndelim2): Use them for block reads.
58380
58381 2008-04-29  Bruno Haible  <bruno@clisp.org>
58382
58383         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
58384         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
58385         * modules/inet_ntop (Depends-on): Add extensions.
58386         * modules/inet_pton (Depends-on): Likewise.
58387         Reported by Simon Josefsson.
58388
58389 2008-04-29  Jim Meyering  <meyering@redhat.com>
58390
58391         When the is more than one match in a block, match all of them.
58392         * build-aux/useless-if-before-free: Iterate through each block
58393         until there are no more matches.
58394
58395         Fix broken useless-if-before-free script.
58396         * build-aux/useless-if-before-free: Fix typo: missing "?" after
58397         the expression to match cast of argument to free-like function.
58398
58399 2008-04-29  Eric Blake  <ebb9@byu.net>
58400
58401         Use new header.
58402         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
58403
58404 2008-04-29  Jim Meyering  <meyering@redhat.com>
58405
58406         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
58407         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
58408         by gnulib to exist and to declare e.g., inet_ntop.
58409         Don't include "inet_ntop.h", now removed.
58410
58411         * m4/arpa_inet_h.m4: Remove trailing blanks.
58412
58413 2008-04-29  Eric Blake  <ebb9@byu.net>
58414
58415         Silence valgrind on safe reads beyond potential array bounds.
58416         * lib/rawmemchr.valgrind: New file.
58417         * lib/strchrnul.valgrind: Likewise.
58418         * modules/rawmemchr (Files): Distribute new file.
58419         * modules/strchrnul (Files): Likewise.
58420         Suggested by Bruno Haible.
58421
58422 2008-04-29  Bruno Haible  <bruno@clisp.org>
58423
58424         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
58425         (inet_ntop, inet_pton): Change portability warning's wording.
58426         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
58427         Invoke gl_CHECK_NEXT_HEADERS.
58428         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
58429         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
58430         set ARPA_INET_H.
58431         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
58432         * modules/arpa_inet (Description): No longer only for systems that
58433         lack it.
58434         (Depends-on): Add include_next.
58435         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
58436         HAVE_ARPA_INET_H.
58437
58438 2008-04-29  Jim Meyering  <meyering@redhat.com>
58439
58440         * modules/mkdir (License): Re-license as LGPLv2+.
58441
58442 2008-04-29  Bruno Haible  <bruno@clisp.org>
58443
58444         * modules/rawmemchr (Maintainer): Set to Eric.
58445         * modules/strchrnul (Maintainer): Likewise.
58446
58447 2008-04-29  Simon Josefsson  <simon@josefsson.org>
58448
58449         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
58450         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
58451
58452         * modules/arpa_inet (arpa/inet.h): Use them.
58453
58454 2008-04-28  Eric Blake  <ebb9@byu.net>
58455
58456         Test getndelim2.
58457         * modules/getndelim2-tests: New file.
58458         * tests/test-getndelim2.c: Likewise.
58459         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
58460         stream.
58461         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
58462
58463         * MODULES.html.sh: Document new module.
58464
58465 2008-04-20  Bruno Haible  <bruno@clisp.org>
58466
58467         * lib/c-stack.c (die): Use raise.
58468         * modules/c-stack (Depends-on): Add raise.
58469
58470 2008-04-28  Bruno Haible  <bruno@clisp.org>
58471
58472         Expect rpmatch to be declared.
58473         * lib/yesno.c (rpmatch): Remove declaration.
58474
58475         Declare rpmatch.
58476         * lib/stdlib.in.h (rpmatch): New declaration.
58477         * lib/rpmatch.c: Include <stdlib.h> first.
58478         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
58479         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
58480         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
58481         HAVE_RPMATCH.
58482         * modules/rpmatch (Depends-on): Add stdlib, extensions.
58483         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58484         (Include): Set to <stdlib.h>.
58485         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
58486         HAVE_RPMATCH.
58487         * NEWS: Document the change.
58488
58489 2008-04-28  Bruno Haible  <bruno@clisp.org>
58490
58491         Change rpmatch to use nl_langinfo when appropriate.
58492         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
58493         (N_): New macro.
58494         (localized_pattern): New function/macro.
58495         (try): Remove match, nomatch arguments. Copy the pattern into safe
58496         memory before caching it.
58497         (rpmatch): Use localized_pattern. Add translator comments.
58498         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
58499         Suggested by Eric Blake.
58500         * modules/rpmatch (Depends-on): Add stdbool.
58501
58502 2008-04-28  Eric Blake  <ebb9@byu.net>
58503
58504         Add rawmemchr module, matching glibc.
58505         * modules/string (Makefile.am): New indicator.
58506         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
58507         * lib/string.in.h (rawmemchr): Declare when appropriate.
58508         * modules/rawmemchr: New file.
58509         * m4/rawmemchr.m4: Likewise.
58510         * lib/rawmemchr.c: Likewise.
58511         * modules/rawmemchr-tests: Likewise.
58512         * tests/test-rawmemchr.c: Likewise.
58513         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
58514         module.
58515         * modules/strchrnul (Depends-on): Add rawmemchr.
58516         * lib/strchrnul.c (strchrnul): Optimize a corner case.
58517
58518         Whitespace cleanup.
58519         * tests/test-strchrnul.c: Reindent.
58520         * lib/strchrnul.c: Likewise.
58521
58522         Optimize and test strchrnul.
58523         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
58524         * modules/strchrnul-tests: New file.
58525         * tests/test-strchrnul.c: Likewise.
58526
58527         Remove intprops dependency.
58528         * modules/memchr (Depends-on): Remove intprops.
58529         * modules/memrchr (Depends-on): Likewise.
58530         * modules/memchr2 (Depends-on): Likewise.
58531         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
58532         * lib/memrchr.c (__memrchr): Likewise.
58533         * lib/memrchr2.c (memchr2): Likewise.
58534         Reported by Simon Josefsson.
58535
58536 2008-04-28  Simon Josefsson  <simon@josefsson.org>
58537
58538         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
58539         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58540
58541 2008-04-28  Simon Josefsson  <simon@josefsson.org>
58542
58543         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
58544
58545         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
58546
58547         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
58548
58549         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
58550         declarations.
58551         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
58552
58553         * m4/inet_pton.m4: Don't check for header files.
58554
58555         * m4/inet_ntop.m4: Don't check for header files.
58556
58557 2008-04-28  Simon Josefsson  <simon@josefsson.org>
58558
58559         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
58560         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
58561         trigger for cygwin).
58562         Reported by Bruno Haible  <bruno@clisp.org>.
58563
58564 2008-04-28  Bruno Haible  <bruno@clisp.org>
58565
58566         * doc/posix-functions/strdup.texi: Mention mingw problem.
58567
58568 2008-04-27  Bruno Haible  <bruno@clisp.org>
58569
58570         * modules/stat-time-tests (Depends-on): Add sleep.
58571         * tests/test-stat-time.c (force_unlink): New function.
58572         (cleanup): Use it.
58573         (test_mtime): Remove the ctime related tests.
58574         (test_ctime): New function, containing the ctime related tests.
58575         (main): Call test_ctime, except on native Windows platforms.
58576
58577 2008-04-27  Bruno Haible  <bruno@clisp.org>
58578
58579         * lib/rpmatch.c (rpmatch): Add some comments.
58580         Reported by James Youngman <jay@gnu.org>.
58581
58582 2008-04-27  Bruno Haible  <bruno@clisp.org>
58583
58584         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
58585         quiet NaNs.
58586
58587 2008-04-27  Bruno Haible  <bruno@clisp.org>
58588
58589         Make test-yesno.sh work on mingw.
58590         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
58591         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
58592         (main): Set stdin to binary mode.
58593         * modules/yesno-tests (Depends-on): Add binary-io.
58594
58595 2008-04-27  Bruno Haible  <bruno@clisp.org>
58596
58597         Fix 'isfinite' on x86, x86_64, ia64 platforms.
58598         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
58599         argument that lie outside the IEEE 854 domain.
58600         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
58601         (gl_ISFINITE): Use it.
58602         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
58603
58604 2008-04-27  Bruno Haible  <bruno@clisp.org>
58605
58606         Allow local renaming in config.h.
58607         * lib/memrchr.c (memrchr): Don't undefine outside libc.
58608
58609 2008-04-27  Bruno Haible  <bruno@clisp.org>
58610
58611         * lib/memchr.c (__memchr): Change type of 'i'.
58612         * lib/memchr2.c (memchr2): Likewise.
58613
58614 2008-04-26  Eric Blake  <ebb9@byu.net>
58615         and Bruno Haible  <bruno@clisp.org>
58616
58617         Optimize and test memrchr.
58618         * modules/memrchr (Depends-on): Add intprops.
58619         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
58620         * modules/memrchr-tests: New file.
58621         * tests/test-memrchr.c: New file.
58622
58623 2008-04-26  Bruno Haible  <bruno@clisp.org>
58624
58625         Add tentative support for DragonFly BSD.
58626         * lib/stdio-impl.h: Add macros for DragonFly BSD.
58627         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
58628         fp.
58629         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
58630         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
58631         * lib/fpurge.c (fpurge): Likewise.
58632         * lib/freadable.c (freaadable): Likewise.
58633         * lib/freadahead.c (freadahead): Likewise.
58634         * lib/freading.c (freading): Likewise.
58635         * lib/freadptr.c (freadptr): Likewise.
58636         * lib/freadseek.c (freadptrinc): Likewise.
58637         * lib/fseeko.c (fseeko): Likewise.
58638         * lib/fseterr.c (fseterr): Likewise.
58639         * lib/fwritable.c (fwritable): Likewise.
58640         * lib/fwriting.c (fwriting): Likewise.
58641
58642 2008-04-26  Bruno Haible  <bruno@clisp.org>
58643
58644         * lib/stdio-impl.h: New file.
58645         * lib/fbufmode.c: Include stdio-impl.h.
58646         (fbufmode): Use fp_, remove redundant #defines.
58647         * lib/fflush.c: Include stdio-impl.h.
58648         (clear_ungetc_buffer): Remove redundant #defines.
58649         * lib/fpurge.c: Include stdio-impl.h.
58650         (fpurge): Remove redundant #defines.
58651         * lib/freadable.c: Include stdio-impl.h.
58652         (freadable): Remove redundant #defines.
58653         * lib/freadahead.c: Include stdio-impl.h.
58654         (freadahead): Remove redundant #defines.
58655         * lib/freading.c: Include stdio-impl.h.
58656         (freading): Remove redundant #defines.
58657         * lib/freadptr.c: Include stdio-impl.h.
58658         (freadptr): Remove redundant #defines.
58659         * lib/freadseek.c: Include stdio-impl.h.
58660         (freadptrinc): Remove redundant #defines.
58661         * lib/fseeko.c: Include stdio-impl.h.
58662         (rpl_fseeko): Remove redundant #defines.
58663         * lib/fseterr.c: Include stdio-impl.h.
58664         (fseterr): Remove redundant #defines.
58665         * lib/fwritable.c: Include stdio-impl.h.
58666         (fwritable: Remove redundant #defines.
58667         * lib/fwriting.c: Include stdio-impl.h.
58668         (fwriting): Remove redundant #defines.
58669         * modules/fbufmode (Files): Add lib/stdio-impl.h.
58670         * modules/fflush (Files): Likewise.
58671         * modules/fpurge (Files): Likewise.
58672         * modules/freadable (Files): Likewise.
58673         * modules/freadahead (Files): Likewise.
58674         * modules/freading (Files): Likewise.
58675         * modules/freadptr (Files): Likewise.
58676         * modules/freadseek (Files): Likewise.
58677         * modules/fseeko (Files): Likewise.
58678         * modules/fseterr (Files): Likewise.
58679         * modules/fwritable (Files): Likewise.
58680         * modules/fwriting (Files): Likewise.
58681
58682 2008-04-26  Bruno Haible  <bruno@clisp.org>
58683
58684         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
58685         restore_seek_optimization, update_fpos_cache): New functions, extracted
58686         from rpl_fflush.
58687         (rpl_fflush): Use them.
58688         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
58689         (gl_REPLACE_FFLUSH): Use it.
58690
58691 2008-04-26  Bruno Haible  <bruno@clisp.org>
58692
58693         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
58694         on Solaris.
58695         * tests/test-xstrtoimax.sh: Likewise.
58696         * tests/test-xstrtoumax.sh: Likewise.
58697         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58698
58699 2008-04-26  Bruno Haible  <bruno@clisp.org>
58700
58701         * modules/memchr-tests: New file.
58702         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
58703
58704 2008-04-26  Eric Blake  <ebb9@byu.net>
58705             Bruno Haible  <bruno@clisp.org>
58706
58707         * lib/memchr.c: Include intprops.h.
58708         (__memchr): Optimize parallel detection of matching bytes. Rename local
58709         variables. Add explanatory comments.
58710
58711 2008-04-26  Bruno Haible  <bruno@clisp.org>
58712
58713         Fix module 'memchr', broken since 2000-10-28.
58714         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
58715
58716 2008-04-26  Bruno Haible  <bruno@clisp.org>
58717
58718         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
58719         comments.
58720
58721 2008-04-25  Eric Blake  <ebb9@byu.net>
58722
58723         Use native fstatat on cygwin 1.7.0.
58724         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
58725         first.
58726
58727 2008-04-23  Eric Blake  <ebb9@byu.net>
58728
58729         Improve memchr2 performance.
58730         * lib/memchr2.c (memchr2): Further optimize parallel detection of
58731         NUL bytes.
58732         * modules/memchr2 (Depends-on): Use intprops.h.
58733
58734 2008-04-23  Simon Josefsson  <simon@josefsson.org>
58735
58736         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
58737         an inline function instead of a CPP macro.  Patch by Ben Pfaff
58738         <blp@cs.stanford.edu>.
58739
58740 2008-04-23  Simon Josefsson  <simon@josefsson.org>
58741
58742         * lib/arpa_inet.in.h: New file.
58743
58744         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
58745         (Makefile.am): Sed in substitute header file.
58746
58747         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
58748         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
58749
58750         * modules/inet_ntop (configure.ac): Use
58751         gl_ARPA_INET_MODULE_INDICATOR.
58752
58753         * modules/inet_pton (configure.ac): Use
58754         gl_ARPA_INET_MODULE_INDICATOR.
58755
58756 2008-04-22  Jim Meyering  <meyering@redhat.com>
58757
58758         * modules/verify (License): Re-license as LGPLv2+.
58759
58760 2008-04-22  Simon Josefsson  <simon@josefsson.org>
58761
58762         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
58763         parameter to void* as per POSIX standard (MinGW uses char*).
58764
58765 2008-04-21  Bruno Haible  <bruno@clisp.org>
58766
58767         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
58768         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
58769         Define to replacements if REPLACE_ISWCNTRL is 1.
58770         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
58771         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
58772         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
58773         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
58774         what it fixes.
58775         * doc/posix-functions/iswalpha.texi: Likewise.
58776         * doc/posix-functions/iswblank.texi: Likewise.
58777         * doc/posix-functions/iswcntrl.texi: Likewise.
58778         * doc/posix-functions/iswdigit.texi: Likewise.
58779         * doc/posix-functions/iswgraph.texi: Likewise.
58780         * doc/posix-functions/iswlower.texi: Likewise.
58781         * doc/posix-functions/iswprint.texi: Likewise.
58782         * doc/posix-functions/iswpunct.texi: Likewise.
58783         * doc/posix-functions/iswspace.texi: Likewise.
58784         * doc/posix-functions/iswupper.texi: Likewise.
58785         * doc/posix-functions/iswxdigit.texi: Likewise.
58786         Reported by Alain Guibert.
58787
58788 2008-04-21  Bruno Haible  <bruno@clisp.org>
58789
58790         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
58791         Patch by Alain Guibert.
58792
58793 2008-04-21  Bruno Haible  <bruno@clisp.org>
58794
58795         Fix test failures on mingw.
58796         * tests/test-xstrtol.c (print_no_progname): New function.
58797         (main): Install it in error_print_progname hook.
58798         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
58799         * tests/test-xstrtoimax.sh: Likewise.
58800         * tests/test-xstrtoumax.sh: Likewise.
58801
58802 2008-04-21  Bruno Haible  <bruno@clisp.org>
58803
58804         Fix test failure on mingw.
58805         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
58806
58807 2008-04-21  Bruno Haible  <bruno@clisp.org>
58808
58809         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
58810         Actually assign a value.
58811
58812 2008-04-20  Bruno Haible  <bruno@clisp.org>
58813
58814         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
58815         take 2.
58816         * lib/canonicalize.c (canonicalize_file_name): Elide if the
58817         'canonicalize-lgpl' module is also used.
58818         * lib/canonicalize-lgpl.c: Undo last change.
58819         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
58820
58821 2008-04-20  Bruno Haible  <bruno@clisp.org>
58822
58823         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
58824         config.h. Provide _mkdir based fallback for mingw.
58825         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
58826         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
58827         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
58828         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
58829         rather than defining mkdir in config.h.
58830         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
58831         (gl_SYS_STAT_H_DEFAULTS): New macro.
58832         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
58833         HAVE_IO_H any more.
58834         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
58835         HAVE_DECL_MKDIR and HAVE_IO_H.
58836
58837 2008-04-20  Bruno Haible  <bruno@clisp.org>
58838
58839         * lib/isapipe.c: Port to native Windows platforms.
58840
58841 2008-04-20  Bruno Haible  <bruno@clisp.org>
58842
58843         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
58844
58845 2008-04-21  Eric Blake  <ebb9@byu.net>
58846
58847         Work around preprocessors that don't handle UINTMAX_MAX.
58848         * lib/memchr2.c (memchr2): Avoid embedded #if.
58849         Reported by Alain Guibert, fix suggested by Bruno Haible.
58850
58851 2008-04-21  Simon Josefsson  <simon@josefsson.org>
58852
58853         * doc/posix-functions/strftime.texi (strftime): Explain better
58854         Windows incompatibility.  Suggested by Micah Cowan
58855         <micah@cowan.name>.
58856
58857 2008-04-20  Bruno Haible  <bruno@clisp.org>
58858
58859         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
58860         unistr/u8-mblen.
58861
58862 2008-04-20  Bruno Haible  <bruno@clisp.org>
58863
58864         Fix test failure on platforms with non-GNU iconv.
58865         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
58866         (U_TO_U8): Use it, rather than u16_to_u8.
58867         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
58868         units at the end of the input string.
58869         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
58870
58871 2008-04-20  Bruno Haible  <bruno@clisp.org>
58872
58873         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
58874         when the resulting length is 0.
58875         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
58876
58877 2008-04-20  Bruno Haible  <bruno@clisp.org>
58878
58879         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
58880         works.
58881         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
58882
58883 2008-04-20  Bruno Haible  <bruno@clisp.org>
58884
58885         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
58886         * modules/tsearch-tests (configure.ac): Test for initstate function.
58887
58888 2008-04-20  Bruno Haible  <bruno@clisp.org>
58889
58890         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
58891         for nlink_t if missing.
58892         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
58893
58894 2008-04-19  Bruno Haible  <bruno@clisp.org>
58895
58896         Work around snprintf bug on Linux libc5.
58897         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
58898         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
58899         gl_SNPRINTF_SIZE1.
58900         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58901         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
58902         that test failed.
58903         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
58904         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
58905         * modules/snprintf (Files): Add m4/printf.m4.
58906         * modules/vsnprintf (Files): Likewise.
58907         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
58908         * doc/posix-functions/vsnprintf.texi: Likewise.
58909
58910 2008-04-19  Bruno Haible  <bruno@clisp.org>
58911
58912         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
58913         from 0.0058 to less than 10^-7.
58914
58915 2008-04-19  Bruno Haible  <bruno@clisp.org>
58916
58917         Fix rounding when a precision is given.
58918         * lib/vasnprintf.c (is_borderline): New function.
58919         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
58920         9...9x.
58921         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
58922         %e, %g.
58923         * tests/test-vasprintf-posix.c (test_function): Likewise.
58924         * tests/test-snprintf-posix.h (test_function): Likewise.
58925         * tests/test-sprintf-posix.h (test_function): Likewise.
58926         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
58927         * tests/test-printf-posix.h (test_function): Likewise.
58928         * tests/test-printf-posix.output: Update.
58929         Reported by John Darrington <john@darrington.wattle.id.au> via
58930         Ben Pfaff <blp@cs.stanford.edu>.
58931
58932 2008-04-18  Simon Josefsson  <simon@josefsson.org>
58933
58934         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
58935         Suggested by Bruno Haible <bruno@clisp.org>.
58936
58937 2008-04-17  Bruno Haible  <bruno@clisp.org>
58938
58939         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
58940         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
58941         implementation.
58942         Patch by Bruce Merry <bmerry@gmail.com>.
58943
58944 2008-04-17  Simon Josefsson  <simon@josefsson.org>
58945
58946         * doc/posix-functions/strftime.texi (strftime): Mention that %e
58947         doesn't work under Windows.
58948
58949 2008-04-16  Bruno Haible  <bruno@clisp.org>
58950
58951         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
58952         New macros.
58953         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
58954         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
58955         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
58956         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
58957         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
58958         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
58959         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
58960         macros.
58961         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
58962         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
58963         Northern Sotho, Uighur.
58964
58965 2008-04-16  Bruno Haible  <bruno@clisp.org>
58966
58967         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
58968         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
58969         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
58970         Reported by Daniel Bergström <daniel@octocode.com>.
58971
58972 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
58973             Bruno Haible  <bruno@clisp.org>
58974
58975         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
58976         function.
58977         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
58978         New functions, mostly extracted from gl_locale_name_default.
58979         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
58980
58981 2008-04-16  Eric Blake  <ebb9@byu.net>
58982
58983         Adjust strtod detection to catch glibc 2.7 bug.
58984         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
58985         Reported by John Gatewood Ham.
58986
58987 2008-04-16  Bruno Haible  <bruno@clisp.org>
58988
58989         Add tentative support for Linux libc5.
58990         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
58991         * lib/fpurge.c (fpurge): Likewise.
58992         * lib/freadable.c (freadable): Likewise.
58993         * lib/freadahead.c (freadahead): Likewise.
58994         * lib/freading.c (freading): Likewise.
58995         * lib/freadptr.c (freadptr): Likewise.
58996         * lib/freadseek.c (freadptrinc): Likewise.
58997         * lib/fseeko.c (rpl_fseeko): Likewise.
58998         * lib/fseterr.c (fseterr): Likewise.
58999         * lib/fwritable.c (fwritable): Likewise.
59000         * lib/fwriting.c (fwriting): Likewise.
59001         Reported by Alain Guibert <alguibert+bts@free.fr>.
59002
59003 2008-04-15  Bruno Haible  <bruno@clisp.org>
59004
59005         * modules/mathl (configure.ac): Define module indicator.
59006
59007 2008-04-15  Bruno Haible  <bruno@clisp.org>
59008
59009         * lib/logl.c (logl): Remove unused variables.
59010
59011 2008-04-15  Bruno Haible  <bruno@clisp.org>
59012
59013         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
59014         fails.
59015
59016 2008-04-15  Bruno Haible  <bruno@clisp.org>
59017
59018         * lib/trim.c (trim2): Fix argument of isspace() macro.
59019
59020 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
59021
59022         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
59023         to 0.
59024         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
59025
59026 2008-04-14  Bruno Haible  <bruno@clisp.org>
59027
59028         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
59029         AC_LANG_PROGRAM argument.
59030         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
59031         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
59032         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
59033         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
59034         * m4/math_h.m4 (gl_MATH_H): Likewise.
59035         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
59036         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
59037         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
59038         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
59039         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
59040         * m4/regex.m4 (gl_REGEX): Likewise.
59041         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
59042         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
59043         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59044         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
59045         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
59046         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59047         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
59048         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
59049
59050 2008-04-14  Jim Meyering  <meyering@redhat.com>
59051
59052         test-strtod: fix typos: s/abs/fabs/
59053         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
59054
59055 2008-04-13  Bruno Haible  <bruno@clisp.org>
59056
59057         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
59058         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
59059         module is also used and while not building the reloc-wrapper.
59060
59061 2008-04-13  Bruno Haible  <bruno@clisp.org>
59062
59063         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
59064
59065 2008-04-13  Bruno Haible  <bruno@clisp.org>
59066
59067         Fix AIX compilation failure introduced on 2008-04-02.
59068         * tests/test-frexp.c (exp): Undefine before redefining.
59069         * tests/test-frexpl.c (exp): Likewise.
59070
59071 2008-04-13  Bruno Haible  <bruno@clisp.org>
59072
59073         Work around a HP-UX stdio bug.
59074         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
59075         * tests/test-ftello.c (main): Likewise.
59076         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
59077         * doc/posix-functions/ftello.texi: Likewise.
59078
59079 2008-04-13  Bruno Haible  <bruno@clisp.org>
59080
59081         Make test-signbit pass on HP-UX/hppa.
59082         * tests/test-signbit.c (minus_zerol): New variable.
59083         (test_signbitl): Use it.
59084
59085 2008-04-13  Bruno Haible  <bruno@clisp.org>
59086
59087         Make truncl work on OSF/1 4.0.
59088         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
59089         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
59090         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
59091         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
59092         HAVE_DECL_TRUNCL.
59093         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
59094         HAVE_DECL_TRUNCL.
59095         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
59096
59097 2008-04-13  Bruno Haible  <bruno@clisp.org>
59098
59099         * lib/unictype.h: Remove trailing comma from enumeration definitions.
59100
59101 2008-04-13  Bruno Haible  <bruno@clisp.org>
59102
59103         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
59104         expression, so as to avoid HP-UX 11 cc compiler bug.
59105
59106 2008-04-13  Bruno Haible  <bruno@clisp.org>
59107
59108         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
59109
59110 2008-04-13  Bruno Haible  <bruno@clisp.org>
59111
59112         * lib/git-merge-changelog.c: Remove empty declaration outside of
59113         functions.
59114
59115 2008-04-13  Bruno Haible  <bruno@clisp.org>
59116
59117         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
59118
59119 2008-04-13  Bruno Haible  <bruno@clisp.org>
59120
59121         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
59122         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
59123         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
59124         also if it exists but lacks definitions of the SHUT_* macros.
59125         * modules/sys_socket (Description): Update.
59126         Reported by Elbert Pol <e.pol@chello.nl>.
59127
59128 2008-04-13  Bruno Haible  <bruno@clisp.org>
59129
59130         * lib/localcharset.c (OS2): Don't redefine if already defined.
59131         Reported by Elbert Pol <e.pol@chello.nl>.
59132
59133 2008-04-13  Bruno Haible  <bruno@clisp.org>
59134
59135         * lib/binary-io.h [__EMX__]: Include <io.h>.
59136         Reported by Elbert Pol <e.pol@chello.nl>.
59137
59138 2008-04-12  Bruno Haible  <bruno@clisp.org>
59139
59140         * lib/fpucw.h: Enable the definitions also for x86_64.
59141         Needed for NetBSD/x86_64.
59142         Reported by Thomas Klausner <tk@giga.or.at>.
59143
59144 2008-04-12  Bruno Haible  <bruno@clisp.org>
59145
59146         * tests/test-strtod.c: Include isnand.h.
59147         (main): Use isnand instead of isnan.
59148         Reported by Jim Meyering.
59149
59150 2008-04-12  Bruno Haible  <bruno@clisp.org>
59151
59152         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
59153         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
59154
59155 2008-04-12  Jim Meyering  <meyering@redhat.com>
59156
59157         * m4/math_h.m4 (gl_MATH_H): Fix typos.
59158
59159 2008-04-12  Bruno Haible  <bruno@clisp.org>
59160
59161         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
59162         Reported by Elbert Pol <e.pol@chello.nl>.
59163
59164 2008-04-12  Eric Blake  <ebb9@byu.net>
59165
59166         Work around Solaris 10 math.h bug.
59167         * m4/math_h.m4 (gl_MATH_H): Check for bug.
59168         (gl_MATH_H_DEFAULTS): Set up default.
59169         * modules/math (Makefile.am): Replace new indicators.
59170         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
59171         * tests/test-math.c (main): Test this.
59172         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
59173         * doc/posix-headers/math.texi (math.h): Mention bug.
59174         Reported by Nelson H. F. Beebe and Jim Meyering.
59175
59176 2008-04-11  Bruno Haible  <bruno@clisp.org>
59177
59178         Adapt to future versions of Apple GCC.
59179         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
59180         Reported by Peter O'Gorman <peter@pogma.com>.
59181
59182 2008-04-11  Bruno Haible  <bruno@clisp.org>
59183
59184         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
59185
59186 2008-04-11  Bruno Haible  <bruno@clisp.org>
59187
59188         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
59189
59190         * modules/getaddrinfo-tests (Makefile.am): Define
59191         test_getaddrinfo_LDADD.
59192
59193 2008-04-11  Bruno Haible  <bruno@clisp.org>
59194
59195         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
59196         (init): Fix syntax error.
59197         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
59198         is declared.
59199
59200 2008-04-11  Bruno Haible  <bruno@clisp.org>
59201
59202         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
59203         * modules/glob (Depends-on): Add stdbool.
59204
59205 2008-04-11  Bruno Haible  <bruno@clisp.org>
59206
59207         * lib/trim.c: Include <string.h>.
59208
59209 2008-04-11  Eric Blake  <ebb9@byu.net>
59210
59211         Avoid compile failure on OS/2.
59212         * lib/regex_internal.h (internal_function): Disable optimization
59213         on OS/2 (__EMX__), where it caused compiler error.
59214         Reported by Elbert Pol.
59215
59216 2008-04-11  Bruno Haible  <bruno@clisp.org>
59217
59218         Flush the standard error stream before aborting. Needed on mingw.
59219         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
59220         * tests/test-array_list.c (ASSERT): Likewise.
59221         * tests/test-array_oset.c (ASSERT): Likewise.
59222         * tests/test-avltree_list.c (ASSERT): Likewise.
59223         * tests/test-avltree_oset.c (ASSERT): Likewise.
59224         * tests/test-avltreehash_list.c (ASSERT): Likewise.
59225         * tests/test-binary-io.c (ASSERT): Likewise.
59226         * tests/test-byteswap.c (ASSERT): Likewise.
59227         * tests/test-c-ctype.c (ASSERT): Likewise.
59228         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
59229         * tests/test-c-strcasestr.c (ASSERT): Likewise.
59230         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
59231         * tests/test-c-strstr.c (ASSERT): Likewise.
59232         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
59233         * tests/test-canonicalize.c (ASSERT): Likewise.
59234         * tests/test-carray_list.c (ASSERT): Likewise.
59235         * tests/test-ceilf1.c (ASSERT): Likewise.
59236         * tests/test-ceilf2.c (ASSERT): Likewise.
59237         * tests/test-ceill.c (ASSERT): Likewise.
59238         * tests/test-count-one-bits.c (ASSERT): Likewise.
59239         * tests/test-fbufmode.c (ASSERT): Likewise.
59240         * tests/test-fflush2.c (ASSERT): Likewise.
59241         * tests/test-floorf1.c (ASSERT): Likewise.
59242         * tests/test-floorf2.c (ASSERT): Likewise.
59243         * tests/test-floorl.c (ASSERT): Likewise.
59244         * tests/test-fopen.c (ASSERT): Likewise.
59245         * tests/test-fpending.c (ASSERT): Likewise.
59246         * tests/test-fprintf-posix.c (ASSERT): Likewise.
59247         * tests/test-fpurge.c (ASSERT): Likewise.
59248         * tests/test-freadable.c (ASSERT): Likewise.
59249         * tests/test-freadahead.c (ASSERT): Likewise.
59250         * tests/test-freading.c (ASSERT): Likewise.
59251         * tests/test-freadptr.c (ASSERT): Likewise.
59252         * tests/test-freadptr2.c (ASSERT): Likewise.
59253         * tests/test-freadseek.c (ASSERT): Likewise.
59254         * tests/test-freopen.c (ASSERT): Likewise.
59255         * tests/test-frexp.c (ASSERT): Likewise.
59256         * tests/test-frexpl.c (ASSERT): Likewise.
59257         * tests/test-fseek.c (ASSERT): Likewise.
59258         * tests/test-fseeko.c (ASSERT): Likewise.
59259         * tests/test-fstrcmp.c (ASSERT): Likewise.
59260         * tests/test-ftell.c (ASSERT): Likewise.
59261         * tests/test-ftello.c (ASSERT): Likewise.
59262         * tests/test-func.c (ASSERT): Likewise.
59263         * tests/test-fwritable.c (ASSERT): Likewise.
59264         * tests/test-fwriting.c (ASSERT): Likewise.
59265         * tests/test-getdelim.c (ASSERT): Likewise.
59266         * tests/test-getline.c (ASSERT): Likewise.
59267         * tests/test-i-ring.c (ASSERT): Likewise.
59268         * tests/test-iconv-utf.c (ASSERT): Likewise.
59269         * tests/test-iconv.c (ASSERT): Likewise.
59270         * tests/test-isfinite.c (ASSERT): Likewise.
59271         * tests/test-isnand.c (ASSERT): Likewise.
59272         * tests/test-isnanf.c (ASSERT): Likewise.
59273         * tests/test-isnanl.h (ASSERT): Likewise.
59274         * tests/test-ldexpl.c (ASSERT): Likewise.
59275         * tests/test-linked_list.c (ASSERT): Likewise.
59276         * tests/test-linkedhash_list.c (ASSERT): Likewise.
59277         * tests/test-localename.c (ASSERT): Likewise.
59278         * tests/test-lseek.c (ASSERT): Likewise.
59279         * tests/test-mbscasecmp.c (ASSERT): Likewise.
59280         * tests/test-mbscasestr1.c (ASSERT): Likewise.
59281         * tests/test-mbscasestr2.c (ASSERT): Likewise.
59282         * tests/test-mbscasestr3.c (ASSERT): Likewise.
59283         * tests/test-mbscasestr4.c (ASSERT): Likewise.
59284         * tests/test-mbschr.c (ASSERT): Likewise.
59285         * tests/test-mbscspn.c (ASSERT): Likewise.
59286         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
59287         * tests/test-mbspbrk.c (ASSERT): Likewise.
59288         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
59289         * tests/test-mbsrchr.c (ASSERT): Likewise.
59290         * tests/test-mbsspn.c (ASSERT): Likewise.
59291         * tests/test-mbsstr1.c (ASSERT): Likewise.
59292         * tests/test-mbsstr2.c (ASSERT): Likewise.
59293         * tests/test-mbsstr3.c (ASSERT): Likewise.
59294         * tests/test-memchr2.c (ASSERT): Likewise.
59295         * tests/test-memmem.c (ASSERT): Likewise.
59296         * tests/test-open.c (ASSERT): Likewise.
59297         * tests/test-printf-frexp.c (ASSERT): Likewise.
59298         * tests/test-printf-frexpl.c (ASSERT): Likewise.
59299         * tests/test-printf-posix.c (ASSERT): Likewise.
59300         * tests/test-quotearg.c (ASSERT): Likewise.
59301         * tests/test-rbtree_list.c (ASSERT): Likewise.
59302         * tests/test-rbtree_oset.c (ASSERT): Likewise.
59303         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
59304         * tests/test-round1.c (ASSERT): Likewise.
59305         * tests/test-roundf1.c (ASSERT): Likewise.
59306         * tests/test-roundl.c (ASSERT): Likewise.
59307         * tests/test-signbit.c (ASSERT): Likewise.
59308         * tests/test-sleep.c (ASSERT): Likewise.
59309         * tests/test-snprintf-posix.c (ASSERT): Likewise.
59310         * tests/test-snprintf.c (ASSERT): Likewise.
59311         * tests/test-sprintf-posix.c (ASSERT): Likewise.
59312         * tests/test-stat-time.c (ASSERT): Likewise.
59313         * tests/test-strcasestr.c (ASSERT): Likewise.
59314         * tests/test-strerror.c (ASSERT): Likewise.
59315         * tests/test-striconv.c (ASSERT): Likewise.
59316         * tests/test-striconveh.c (ASSERT): Likewise.
59317         * tests/test-striconveha.c (ASSERT): Likewise.
59318         * tests/test-strsignal.c (ASSERT): Likewise.
59319         * tests/test-strstr.c (ASSERT): Likewise.
59320         * tests/test-strtod.c (ASSERT): Likewise.
59321         * tests/test-trunc1.c (ASSERT): Likewise.
59322         * tests/test-trunc2.c (ASSERT): Likewise.
59323         * tests/test-truncf1.c (ASSERT): Likewise.
59324         * tests/test-truncf2.c (ASSERT): Likewise.
59325         * tests/test-truncl.c (ASSERT): Likewise.
59326         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
59327         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
59328         * tests/test-vasnprintf.c (ASSERT): Likewise.
59329         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
59330         * tests/test-vasprintf.c (ASSERT): Likewise.
59331         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
59332         * tests/test-vprintf-posix.c (ASSERT): Likewise.
59333         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
59334         * tests/test-vsnprintf.c (ASSERT): Likewise.
59335         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
59336         * tests/test-wcwidth.c (ASSERT): Likewise.
59337         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
59338         * tests/test-xprintf-posix.c (ASSERT): Likewise.
59339         * tests/test-xvasprintf.c (ASSERT): Likewise.
59340         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
59341         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
59342         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
59343         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
59344         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
59345         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
59346         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
59347         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
59348         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
59349         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
59350         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
59351         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
59352         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
59353         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
59354         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
59355         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
59356         * tests/unictype/test-block_list.c (ASSERT): Likewise.
59357         * tests/unictype/test-block_of.c (ASSERT): Likewise.
59358         * tests/unictype/test-block_test.c (ASSERT): Likewise.
59359         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
59360         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
59361         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
59362         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
59363         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
59364         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
59365         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
59366         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
59367         * tests/unictype/test-combining.c (ASSERT): Likewise.
59368         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
59369         * tests/unictype/test-digit.c (ASSERT): Likewise.
59370         * tests/unictype/test-mirror.c (ASSERT): Likewise.
59371         * tests/unictype/test-numeric.c (ASSERT): Likewise.
59372         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
59373         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
59374         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
59375         * tests/unictype/test-scripts.c (ASSERT): Likewise.
59376         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
59377         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
59378         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
59379         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
59380         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
59381         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
59382         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
59383         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
59384         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
59385         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
59386         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
59387         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
59388         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
59389         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
59390         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
59391         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
59392         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
59393         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
59394         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
59395         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
59396         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
59397         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
59398         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
59399         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
59400         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
59401         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
59402         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
59403         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
59404         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
59405         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
59406         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
59407         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
59408         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
59409         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
59410         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
59411         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
59412         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
59413         Reported by Eric Blake.
59414
59415 2008-04-11  Bruno Haible  <bruno@clisp.org>
59416
59417         * lib/wchar.in.h: Tweak comment.
59418
59419 2008-04-11  Bruno Haible  <bruno@clisp.org>
59420
59421         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
59422         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
59423         gl_COMMON.
59424         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
59425
59426 2008-04-11  Bruno Haible  <bruno@clisp.org>
59427
59428         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
59429
59430 2008-04-11  Simon Josefsson  <simon@josefsson.org>
59431
59432         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
59433         of attempting to use non-existing /dev/*random.  Based on patch
59434         from Adam Strzelecki <ono@java.pl> in
59435         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
59436
59437 2008-04-08  Bruno Haible  <bruno@clisp.org>
59438
59439         Add tentative support for emx+gcc.
59440         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
59441         * lib/fpurge.c (fpurge): Likewise.
59442         * lib/freadable.c (freadable): Likewise.
59443         * lib/freadahead.c (freadahead): Likewise.
59444         * lib/freading.c (freading): Likewise.
59445         * lib/freadptr.c (freadptr): Likewise.
59446         * lib/freadseek.c (freadptrinc): Likewise.
59447         * lib/fseeko.c (rpl_fseeko): Likewise.
59448         * lib/fseterr.c (fseterr): Likewise.
59449         * lib/fwritable.c (fwritable): Likewise.
59450         * lib/fwriting.c (fwriting): Likewise.
59451         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
59452
59453 2008-04-09  Eric Blake  <ebb9@byu.net>
59454
59455         Avoid some autoconf warnings.
59456         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
59457         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
59458         * m4/afs.m4 (gl_AFS): Likewise.
59459         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
59460         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
59461         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
59462         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
59463         (gl_INTEGER_TYPE_SUFFIX): Likewise.
59464         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
59465         (AC_CHECK_DECLS_ONCE): Likewise.
59466         Rename file...
59467         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
59468         gnulib-tool requires autoconf 2.59 or better.
59469         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
59470
59471 2008-04-08  Eric Blake  <ebb9@byu.net>
59472
59473         Use 'git describe --match' if present (added in git 1.5.5).
59474         * build-aux/git-version-gen: Limit result to tags that match 'v*'
59475         if possible.
59476
59477 2008-04-08  Bruno Haible  <bruno@clisp.org>
59478
59479         Add tentative support for OpenServer.
59480         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
59481         _ptr, _cnt.
59482         * lib/fpurge.c (fpurge): Likewise.
59483         * lib/freadable.c (freadable): Likewise.
59484         * lib/freadahead.c (freadahead): Likewise.
59485         * lib/freading.c (freading): Likewise.
59486         * lib/freadptr.c (freadptr): Likewise.
59487         * lib/freadseek.c (freadptrinc): Likewise.
59488         * lib/fseeko.c (rpl_fseeko): Likewise.
59489         * lib/fseterr.c (fseterr): Likewise.
59490         * lib/fwritable.c (fwritable): Likewise.
59491         * lib/fwriting.c (fwriting): Likewise.
59492         Reported by Roger Cornelius <rac@tenzing.org> and
59493         Brian K. White <brian@aljex.com>.
59494
59495 2008-04-06  Jim Meyering  <meyering@redhat.com>
59496
59497         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
59498
59499 2008-04-06  Bruno Haible  <bruno@clisp.org>
59500
59501         Avoid possible error with non-ASCII bytes in UTF-8 locales.
59502         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
59503         * tests/test-printf-posix.sh: Likewise.
59504         * tests/test-vfprintf-posix.sh: Likewise.
59505         * tests/test-vprintf-posix.sh: Likewise.
59506         * tests/test-xprintf-posix.sh: Likewise.
59507
59508 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59509
59510         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
59511         hide error from 'ls', needed on OS/2.
59512         Report by Elbert Pol <elbert.pol@gmail.com>.
59513
59514 2008-04-04  Eric Blake  <ebb9@byu.net>
59515
59516         Make test-fseeko.c failures meaningful.
59517         * tests/test-fseeko.c: Print line number on failure.
59518         * tests/test-fseek.c: Likewise.
59519         Reported by Nelson H. F. Beebe.
59520
59521         Improve strtod bug detection check.
59522         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
59523         required for Solaris 10.
59524         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
59525
59526 2008-04-04  Bruno Haible  <bruno@clisp.org>
59527
59528         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
59529         by m4/setenv.m4.
59530
59531 2008-04-03  Eric Blake  <ebb9@byu.net>
59532
59533         Ensure sane .version contents.
59534         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
59535         version string.
59536         * build-aux/git-version-gen: Improve documentation.
59537
59538         Make GNU make output nicer.
59539         * top/GNUmakefile [!_have-Makefile]: Add dependency on
59540         MAKECMDGOALS to enforce message for all command line targets.  Set
59541         srcdir for use in maint.mk.
59542
59543         Another maintainer tweak.
59544         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
59545         a target that regenerates version.
59546
59547 2008-04-03  Jim Meyering  <meyering@redhat.com>
59548
59549         vc-list-files: don't cause coreutils "make po-check" failure
59550         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
59551
59552 2008-04-03  Eric Blake  <ebb9@byu.net>
59553
59554         Allow VPATH usage of vc-list-files.
59555         * build-aux/vc-list-files (scriptversion): Add timestamp.
59556         (options): Add --help, --version, -C.
59557         (CVS): Support installed cvsu.
59558
59559 2008-04-02  Bruno Haible  <bruno@clisp.org>
59560
59561         Avoid some "statement with no effect" warnings from gcc.
59562         * tests/test-wctype.c (main): Explicitly ignore unused values.
59563         Reported by Jim Meyering.
59564
59565 2008-04-02  Jim Meyering  <meyering@redhat.com>
59566
59567         Avoid some warnings from "gcc -Wshadow".
59568         * tests/test-frexp.c (exp): Define to a different identifier.
59569         * tests/test-frexpl.c (exp): Likewise.
59570
59571 2008-04-03  Jim Meyering  <meyering@redhat.com>
59572
59573         bootstrap: remove dangling *.[ch] symlinks from lib
59574         * build-aux/bootstrap [dangling symlink removal]: Move find's
59575         -depth option to precede all others, to avoid a warning.
59576         Remove *.[ch] files too, and from "$source_base" (usually lib/).
59577
59578 2008-04-02  Bruno Haible  <bruno@clisp.org>
59579
59580         Avoid some warnings from "gcc -Wshadow".
59581         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
59582         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
59583         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
59584         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
59585         Reported by Jim Meyering.
59586
59587 2008-04-01  Bruno Haible  <bruno@clisp.org>
59588
59589         Fix test to work on IRIX 6.5 with cc.
59590         * tests/test-math.c (numeric_equal): New function.
59591         (main): Use it.
59592
59593 2008-04-01  Bruno Haible  <bruno@clisp.org>
59594
59595         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
59596
59597 2008-04-01  Bruno Haible  <bruno@clisp.org>
59598
59599         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
59600         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
59601         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
59602         (Depends-on): Remove math.
59603
59604         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
59605         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
59606         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
59607         (Depends-on): Remove math.
59608
59609         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
59610         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
59611         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
59612         (Depends-on): Remove math.
59613         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
59614         (Depends-on): Remove math.
59615
59616         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
59617         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
59618         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
59619         (Depends-on): Remove math.
59620         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
59621         (Depends-on): Remove math.
59622
59623         * tests/test-round1.c: Include nan.h.
59624         (main): Use NaNd instead of NAN.
59625         * modules/round-tests (Files): Add tests/nan.h.
59626
59627         * tests/test-trunc1.c: Include nan.h.
59628         (main): Use NaNd instead of NAN.
59629         * modules/trunc-tests (Files): Add tests/nan.h.
59630
59631         * tests/test-roundf1.c: Include nan.h.
59632         (main): Use NaNf instead of NAN.
59633         * modules/roundf-tests (Files): Add tests/nan.h.
59634
59635         * tests/test-truncf1.c: Include nan.h.
59636         (main): Use NaNf instead of NAN.
59637         * modules/truncf-tests (Files): Add tests/nan.h.
59638
59639         * tests/test-ceilf1.c: Include nan.h.
59640         (main): Use NaNf instead of NAN.
59641         * modules/ceilf-tests (Files): Add tests/nan.h.
59642
59643         * tests/test-floorf1.c: Include nan.h.
59644         (main): Use NaNf instead of NAN.
59645         * modules/floorf-tests (Files): Add tests/nan.h.
59646
59647         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
59648         (main): Use NaNf instead of NAN.
59649         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
59650
59651         * tests/test-isnand.c: Include nan.h instead of <math.h>.
59652         (main): Use NaNd instead of NAN.
59653         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
59654
59655         * tests/test-frexp.c: Include nan.h.
59656         (main): Use NaNd instead of NAN.
59657         * modules/frexp-tests (Files): Add tests/nan.h.
59658
59659         * lib/isnan.c: Don't include <math.h>.
59660         (FUNC): Don't use NAN macro.
59661         * modules/isnand-nolibm (Depends-on): Remove math.
59662         * modules/isnanf-nolibm (Depends-on): Remove math.
59663         * modules/isnanl (Depends-on): Remove math.
59664         * modules/isnanl-nolibm (Depends-on): Remove math.
59665
59666         * tests/nan.h: New file.
59667
59668 2008-04-01  Eric Blake  <ebb9@byu.net>
59669
59670         Fix typos.
59671         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
59672         values to be the right type.
59673
59674         For now, cater to gnulib strtod inaccuracies.
59675         * tests/test-strtod.c (main): Allow 1-ulp error on expected
59676         fractional results.  While not as nice from a QoI perspective, it
59677         is a quicker patch than correctly implementing decimal to binary
59678         rounding.
59679
59680 2008-03-31  Eric Blake  <ebb9@byu.net>
59681
59682         Guarantee a definition of NAN.
59683         * lib/math.in.h (NAN): Define if missing.
59684         * tests/test-math.c (main): Test it.
59685         * doc/posix-headers/math.texi (math.h): Document this.
59686         * lib/isnan.c (rpl_isnand): Use it.
59687         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
59688         * tests/test-floorf1.c (NaN): Likewise.
59689         * tests/test-frexp.c (NaN): Likewise.
59690         * tests/test-isnand.c (NaN): Likewise.
59691         * tests/test-isnanf.c (NaN): Likewise.
59692         * tests/test-round1.c (NaN): Likewise.
59693         * tests/test-roundf1.c (NaN): Likewise.
59694         * tests/test-snprintf-posix.h (NaN): Likewise.
59695         * tests/test-sprintf-posix.h (NaN): Likewise.
59696         * tests/test-trunc1.c (NaN): Likewise.
59697         * tests/test-truncf1.c (NaN): Likewise.
59698         * tests/test-vasnprintf-posix.c (NaN): Likewise.
59699         * tests/test-vasprintf-posix.c (NaN): Likewise.
59700         * modules/isnand-nolibm (Depends-on): Add math.
59701         * modules/isnanf-nolibm (Depends-on): Likewise.
59702         * modules/isnanl (Depends-on): Likewise.
59703         * modules/isnanl-nolibm (Depends-on): Likewise.
59704         * modules/snprintf-posix-tests (Depends-on): Likewise.
59705         * modules/sprintf-posix-tests (Depends-on): Likewise.
59706         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
59707         * modules/vsprintf-posix-tests (Depends-on): Likewise.
59708         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
59709         * modules/vasprintf-posix-tests (Depends-on): Likewise.
59710
59711 2008-03-31  Bruno Haible  <bruno@clisp.org>
59712
59713         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
59714         * doc/posix-functions/strtod.texi: Likewise.
59715
59716 2008-03-31  Bruno Haible  <bruno@clisp.org>
59717
59718         * tests/test-strtod.c (main): Don't use C99 syntax.
59719
59720 2008-03-31  Bruno Haible  <bruno@clisp.org>
59721
59722         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
59723         Reported by Eric Blake.
59724
59725 2008-03-31  Jim Meyering  <meyering@redhat.com>
59726
59727         Don't compare actual signbit return values.
59728         * tests/test-strtod.c (main): Rather, compare only their
59729         zero/non-zero nature.
59730
59731 2008-03-31  Eric Blake  <ebb9@byu.net>
59732
59733         More strtod documentation.
59734         * doc/posix-functions/strtod.texi (strtod): Interpret more test
59735         failures as distinct bugs.
59736
59737 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
59738
59739         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
59740         Problem reported by Erik Benada in
59741         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
59742
59743 2008-03-30  Bruno Haible  <bruno@clisp.org>
59744
59745         * tests/test-strtod.c: Add comments about which assertion fails on which
59746         platform.
59747         * doc/posix-functions/strtod.texi: Add info about many more platforms.
59748
59749 2008-03-30  Eric Blake  <ebb9@byu.net>
59750
59751         Test signbit behavior on zeros.
59752         * tests/test-signbit.c (test_signbitf): Add tests for zero.
59753         (test_signbitd, test_signbitl): Likewise.
59754
59755         More strtod touchups.
59756         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
59757         sign of negative underflow, for now.  Use .5, not .1.
59758         * doc/posix-functions/strtod.texi (strtod): Mention these
59759         limitations.
59760         Reported by Jim Meyering.
59761
59762 2008-03-30  Bruno Haible  <bruno@clisp.org>
59763
59764         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
59765         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
59766
59767 2008-03-30  Bruno Haible  <bruno@clisp.org>
59768
59769         Avoid failure when attempting to return empty iconv results on some
59770         platforms.
59771         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
59772         allocation, don't report ENOMEM when the resulting string is empty.
59773
59774 2008-03-30  Bruno Haible  <bruno@clisp.org>
59775
59776         Fix buffer overrun.
59777         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
59778         Don't consider the width for tmp_length. Check count against tmp_length
59779         before doing the padding. Ensure enough allocation during padding.
59780
59781 2008-03-30  Eric Blake  <ebb9@byu.net>
59782
59783         strtod touchups.
59784         * lib/strtod.c (strtod): Avoid compiler warnings.
59785         Reported by Jim Meyering.
59786
59787 2008-03-30  Bruno Haible  <bruno@clisp.org>
59788
59789         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
59790         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
59791         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
59792         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
59793         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
59794         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
59795         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
59796         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
59797
59798         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
59799         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
59800         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
59801         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
59802         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
59803         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
59804         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
59805         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
59806
59807         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
59808         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
59809         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
59810         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
59811         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
59812         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
59813         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
59814         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
59815
59816         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
59817         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
59818
59819         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
59820         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
59821
59822         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
59823         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
59824
59825         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
59826         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
59827         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
59828
59829         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
59830         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
59831         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
59832
59833         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
59834         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
59835         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
59836
59837         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
59838         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
59839         * modules/vasprintf (Depends-on): Add EOVERFLOW.
59840
59841         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
59842         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
59843         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
59844         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
59845         (Depends-on): Add EOVERFLOW.
59846         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
59847         (Depends-on): Add EOVERFLOW.
59848         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
59849         (Depends-on): Add EOVERFLOW.
59850         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
59851         (Depends-on): Add EOVERFLOW.
59852         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
59853         (Depends-on): Add EOVERFLOW.
59854         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
59855         (Depends-on): Add EOVERFLOW.
59856         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
59857         (Depends-on): Add EOVERFLOW.
59858         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
59859         (Depends-on): Add EOVERFLOW.
59860
59861         * lib/sprintf.c (EOVERFLOW): Remove fallback.
59862         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
59863         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
59864
59865         * lib/snprintf.c (EOVERFLOW): Remove fallback.
59866         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
59867         * modules/snprintf (Depends-on): Add EOVERFLOW.
59868
59869         * lib/poll.c (EOVERFLOW): Remove fallback.
59870         * modules/poll (Depends-on): Add EOVERFLOW.
59871
59872         * lib/getugroups.c (EOVERFLOW): Remove fallback.
59873         * modules/getugroups (Depends-on): Add EOVERFLOW.
59874
59875         * lib/getdelim.c (EOVERFLOW): Remove fallback.
59876         * modules/getdelim (Depends-on): Add EOVERFLOW.
59877
59878         * lib/ftell.c (EOVERFLOW): Remove fallback.
59879         * modules/ftell (Depends-on): Add EOVERFLOW.
59880
59881         * lib/fprintf.c (EOVERFLOW): Remove fallback.
59882         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
59883         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
59884
59885         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
59886
59887         * modules/EOVERFLOW-tests: New file.
59888         * tests/test-EOVERFLOW.c: New file.
59889
59890         * modules/EOVERFLOW: New file.
59891         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
59892
59893 2008-03-30  Bruno Haible  <bruno@clisp.org>
59894
59895         Fix bug introduced on 2007-06-10.
59896         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
59897         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
59898
59899 2008-03-30  Bruno Haible  <bruno@clisp.org>
59900
59901         Improve freadseek's efficiency after ungetc.
59902         * lib/freadseek.c: Include freadahead.h.
59903         (freadptrinc): New function, extracted from freadseek.
59904         (freadseek): Use it in a loop. Use freadahead to determine the number
59905         of loop iterations.
59906         * modules/freadseek (Depends-on): Add freadahead.
59907         (configure.ac): Require AC_C_INLINE.
59908
59909 2008-03-30  Bruno Haible  <bruno@clisp.org>
59910
59911         * lib/freadseek.c (freadseek): Don't ignore the return value of
59912         freadptr.
59913
59914 2008-03-29  Eric Blake  <ebb9@byu.net>
59915
59916         Add hex float support.
59917         * modules/strtod (Depends-on): Add c-ctype.
59918         (Link): Mention POW_LIB.
59919         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
59920         whitespace between 'e' and exponent.
59921         * tests/test-strtod.c (main): Enable hex float tests.
59922         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
59923         now provides.
59924
59925         Document various strtod bugs, with some fixes.
59926         * doc/posix-functions/strtod.texi (strtod): Document bugs with
59927         "-0x", "inf", "nan", and hex constants.
59928         * doc/posix-functions/atof.texi (atof): Likewise.
59929         * modules/stdlib (Makefile.am): Support strtod.
59930         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
59931         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
59932         detect additional strtod bugs.
59933         * lib/stdlib.in.h (rpl_strtod): Add declarations.
59934         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
59935         bool where appropriate.  Parse 'inf' and 'nan'.
59936         * tests/test-strtod.c: New file.
59937         * modules/strtod (Depends-on): Add stdbool, stdlib.
59938         (configure.ac): Turn on module indicator.
59939         * modules/strtod-tests: New module.
59940
59941 2008-03-29  Eric Blake  <ebb9@byu.net>
59942
59943         Fix ftell on mingw.
59944         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
59945         * modules/ftell-tests (Depends-on): Add binary-io.
59946         * modules/ftello-tests (Depends-on): Likewise.
59947         * tests/test-ftell.c (main): Enhance test to cover behavior after
59948         ungetc.  Enforce binary mode.
59949         * tests/test-ftello.c (main): Likewise.
59950
59951         Pass test-freadseek on cygwin.
59952         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
59953         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
59954         ungetc buffer.
59955
59956         * tests/test-fflush2.c (main): Fix typo.
59957
59958 2008-03-29  Bruno Haible  <bruno@clisp.org>
59959
59960         * tests/test-fflush2.c (main): Temporarily disable the contents of
59961         this test.
59962         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
59963         Reported by Eric Blake.
59964
59965 2008-03-28  Simon Josefsson  <simon@josefsson.org>
59966
59967         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
59968         (GC_SHA224_DIGEST_SIZE): Add.
59969
59970         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
59971         (gc_hash_digest_length): Likewise.
59972         (gc_hash_buffer): Likewise.
59973
59974 2008-03-25  Bruno Haible  <bruno@clisp.org>
59975
59976         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
59977         detail which gettext release to use.
59978         Reported by Simon Josefsson.
59979
59980 2008-03-26  Jim Meyering  <meyering@redhat.com>
59981
59982         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
59983         * modules/gnumakefile (clean-GNUmakefile): Also, use
59984         test ... && ... || : syntax rather than if-then ... fi.
59985
59986         gnumakefile: Don't double-quote-expand $(VPATH) value.
59987         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
59988
59989 2008-03-24  Eric Blake  <ebb9@byu.net>
59990
59991         Alter GNUmakefile to install into top directory.
59992         * modules/maintainer-makefile: Split, and add dependency...
59993         * modules/gnumakefile: to this new module.
59994         * build-aux/GNUmakefile: Move...
59995         * top/GNUmakefile: ...here.
59996         * build-aux/maint.mk: Move...
59997         * top/maint.mk: ...here.
59998         * MODULES.html.sh (Support for maintaining...): Document new
59999         module.
60000
60001 2008-03-23  Bruno Haible  <bruno@clisp.org>
60002
60003         * gnulib-tool: New options --vc-files, --no-vc-files.
60004         (func_usage): Document them.
60005         (vc_files): New variable.
60006         (func_import): Consider vc_files.
60007         (func_create_testdir): Set vc_files to empty.
60008         Suggested by Jim Meyering and Karl Berry.
60009
60010 2008-03-23  Bruno Haible  <bruno@clisp.org>
60011
60012         Fix regex compilation error on HP-UX 11.
60013         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
60014         * modules/regex (Files): Add m4/mbstate_t.m4.
60015         Reported by Ton Voon <ton.voon@altinity.com>.
60016
60017 2008-03-23  Bruno Haible  <bruno@clisp.org>
60018
60019         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
60020
60021 2008-03-23  Eric Blake  <ebb9@byu.net>
60022             Bruno Haible  <bruno@clisp.org>
60023
60024         Install files from top/ in the destination directory.
60025         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60026         augmentation also for the files from top/.
60027         (func_import, func_create_testdir): Rewrite file names:
60028         top/filename -> filename.
60029
60030 2008-03-23  Bruno Haible  <bruno@clisp.org>
60031
60032         Tweak "gnulib --version" output.
60033         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
60034
60035 2008-03-23  Bruno Haible  <bruno@clisp.org>
60036
60037         Tweak "gnulib --version" output.
60038         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
60039         rather than contents of ChangeLog, when possible.
60040
60041 2008-03-21  Eric Blake  <ebb9@byu.net>
60042
60043         More --version tweaks.
60044         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
60045         date of last ChangeLog entry.
60046
60047 2008-03-21  Jim Meyering  <meyering@redhat.com>
60048
60049         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
60050
60051 2008-03-20  Eric Blake  <ebb9@byu.net>
60052
60053         VPATH fix.
60054         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
60055
60056 2008-03-20  Simon Josefsson  <simon@josefsson.org>
60057
60058         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
60059         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
60060
60061 2008-03-20  Eric Blake  <ebb9@byu.net>
60062
60063         Sync GNUmakefile with coreutils.
60064         * build-aux/GNUmakefile (have-Makefile): Rename...
60065         (_have-Makefile): ...to this, for namespace consideration.
60066         (GNUmakefile.cfg): Include, if present.
60067         (_autoreconf): Define a default.
60068         (_is-dist-target): New rule for rebuilds to pick up intra-release
60069         version.
60070         (maint-cfg.mk): Rename...
60071         (cfg.mk): ...to this.
60072
60073 2008-03-18  Jim Meyering  <meyering@redhat.com>
60074
60075         New script and module: mktempd
60076         * MODULES.html.sh (maint+release support): Add mktempd.
60077         * build-aux/mktempd: New file.
60078         * modules/mktempd: New file.
60079
60080 2008-03-15  Jim Meyering  <meyering@redhat.com>
60081
60082         Undo last change.
60083         * lib/sha1.c, lib/md5.c: 63 != ~63.
60084         Reported by Andreas Schwab.
60085
60086         sha1.c, md5.c: Hoist a redundant expression.
60087         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
60088         "ctx->buflen" only once, before calling *_process_block.
60089         * lib/md5.c (md5_process_bytes): Likewise.
60090
60091 2008-03-14  Eric Blake  <ebb9@byu.net>
60092
60093         Bump copyright year in files generated by gnulib-tool.
60094         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
60095         gnulib-tool, rather than hard-coding it.
60096
60097         Fix 'gnulib-tool --version' output to work with git.
60098         * gnulib-tool (func_gnulib_dir): New function, extracted from...
60099         (startup): ...here.
60100         (func_version): Use it to invoke git-version-gen, rather than
60101         relying on CVS keyword expansion.  Modernize wording.
60102         (cvsdatestamp, last_checkin_date, version): Kill unused
60103         variables.
60104
60105 2008-03-12  Jim Meyering  <meyering@redhat.com>
60106
60107         Recognize optional cast of the argument to free.
60108         * build-aux/useless-if-before-free: Update regexps.
60109
60110         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
60111
60112 2008-03-11  Bruno Haible  <bruno@clisp.org>
60113
60114         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
60115         by a single package.
60116         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
60117         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
60118         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
60119         Reported by Sam Steingold <sds@gnu.org>.
60120
60121 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
60122
60123         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
60124         repositories.
60125
60126 2008-03-11  Bruno Haible  <bruno@clisp.org>
60127
60128         Avoid conflicts between local macro definitions.
60129         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
60130         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
60131
60132 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
60133             Bruno Haible  <bruno@clisp.org>
60134
60135         Make va_copy work with some version of xlc on AIX 5.1.
60136         * lib/stdarg.in.h: New file.
60137         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
60138         On AIX, use a <stdarg.h> file substitute.
60139         * modules/stdarg (Files): Add lib/stdarg.in.h.
60140         (Depends-on): Add include_next.
60141         (Makefile.am): Build a stdarg.h substitute if requested.
60142         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
60143
60144 2008-03-10  Bruno Haible  <bruno@clisp.org>
60145
60146         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
60147         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60148         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
60149
60150 2008-03-10  Bruno Haible  <bruno@clisp.org>
60151
60152         * modules/stdlib (Depends-on): Add include_next, remove
60153         absolute-header.
60154
60155 2008-03-09  Bruno Haible  <bruno@clisp.org>
60156
60157         * lib/freadahead.h (freadahead): Document more precisely.
60158         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
60159         the sum of both buffer sizes.
60160         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
60161         * NEWS: Document the change.
60162
60163 2008-03-09  Bruno Haible  <bruno@clisp.org>
60164
60165         Extend freadptr to return also the buffer size.
60166         * lib/freadptr.h (freadptr): Add sizep argument.
60167         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
60168         (freadptr): Add sizep argument. Determine buffer size like freadahead
60169         does.
60170         * tests/test-freadptr.c: Don't include freadahead.h.
60171         (main): Adapt for new calling convention of freadptr.
60172         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
60173         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
60174         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
60175         tests/test-freadptr2.sh.
60176         (Depends): Remove freadahead.
60177         (TESTS): Add test-freadptr2.sh.
60178         (check_PROGRAMS): Add test-freadptr2.
60179
60180 2008-03-09  Bruno Haible  <bruno@clisp.org>
60181
60182         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
60183         Report and solution by Simon Josefsson.
60184
60185 2008-03-06  Bruno Haible  <bruno@clisp.org>
60186
60187         Make fflush after ungetc work on BSD platforms.
60188         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
60189         * tests/test-fflush2.c: New file.
60190         * tests/test-fflush2.sh: New file.
60191         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
60192         tests/test-fflush2.c.
60193         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
60194         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
60195
60196 2008-03-06  Eric Blake  <ebb9@byu.net>
60197
60198         Likewise for ftello.
60199         * modules/ftello (Dependencies): Add extensions.
60200         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
60201
60202 2008-03-06  Bruno Haible  <bruno@clisp.org>
60203
60204         * modules/fseeko (Dependencies): Add extensions.
60205         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
60206         Needed on glibc systems.
60207
60208 2008-03-06  Bruno Haible  <bruno@clisp.org>
60209
60210         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
60211         email address.
60212         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
60213
60214 2008-03-06  Bruno Haible  <bruno@clisp.org>
60215
60216         * users.txt: Add libgnupdf.
60217
60218 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
60219
60220         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
60221         (Header File Substitutes, Function Substitutes,
60222         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
60223         (Build robot for gnulib): Fix typo.
60224
60225 2008-03-06  Bruno Haible  <bruno@clisp.org>
60226
60227         * doc/gnulib-tool.texi (VCS Issues): Small updates.
60228         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
60229
60230 2008-03-06  Bruno Haible  <bruno@clisp.org>
60231
60232         * doc/func.texi: New file, extracted from doc/gnulib.texi.
60233         * doc/gnulib.texi: Include it.
60234
60235 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60236
60237         * modules/func (License): Change license to unlimited; there was
60238         no LGPL parts in the module anyway.
60239
60240 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60241
60242         * modules/__func__: Renamed to modules/func.
60243         * modules/__func__-tests: Renamed to modules/func-tests.
60244         * tests/test-__func__.c: Renamed to tests/test-func.c.
60245         * m4/__func__.m4: Renamed to m4/func.m4.
60246         * doc/gnulib.texi (__func__): Section renamed to func.
60247         Suggested by Eric Blake <ebb9@byu.net>.
60248
60249 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60250
60251         * doc/gnulib.texi (__func__): Use C99 terminology when talking
60252         about __func__.  Make example self-contained.  Suggested by Eric
60253         Blake <ebb9@byu.net>.
60254
60255         * tests/test-__func__.c (main): Avoid extraneous () around __func.
60256         Suggested by Eric Blake <ebb9@byu.net>.
60257
60258 2008-03-06  Simon Josefsson  <simon@josefsson.org>
60259
60260         * modules/__func__: New file.
60261         * modules/__func__-tests: New file.
60262         * tests/test-__func__.c: New file.
60263         * m4/__func__.m4: New file.
60264         * doc/gnulib.texi (__func__): Document __func__ module.
60265
60266 2008-03-05  Simon Josefsson  <simon@josefsson.org>
60267
60268         * modules/byteswap (License): Re-license as LGPLv2+.
60269
60270 2008-03-05  Simon Josefsson  <simon@josefsson.org>
60271
60272         * doc/Makefile: Add pdf target.
60273
60274 2008-03-05  Simon Josefsson  <simon@josefsson.org>
60275
60276         * modules/inline (License): Use 'unlimited', since there are only
60277         *.m4 files in this module.
60278
60279 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
60280             Bruno Haible  <bruno@clisp.org>
60281
60282         Add support for HP C 7.1 on OpenVMS 8.3.
60283         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
60284
60285 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
60286
60287         Update VMS specifics.
60288         * lib/getopt.c [VMS]: Remove include of unixlib.h.
60289
60290 2008-03-02  Jim Meyering  <meyering@redhat.com>
60291
60292         Remove the last dependency on the "free" module.
60293         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
60294         Reported by Bob Proulx.
60295
60296         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
60297
60298         Remove useless "if" tests before free.  Deprecate "free" module.
60299         * doc/posix-functions/free.texi: Mention that this
60300         module is no longer useful.
60301         * modules/free (Notice): Say this module is obsolete.
60302         * modules/readutmp (Depends-on): Remove free.
60303         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
60304         * lib/putenv.c (putenv): Likewise.
60305         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
60306         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
60307         * tests/test-c-strcasestr.c (main): Likewise.
60308         * tests/test-c-strstr.c (main): Likewise.
60309         * tests/test-mbscasestr1.c (main): Likewise.
60310         * tests/test-mbscasestr2.c (main): Likewise.
60311         * tests/test-mbsstr1.c (main): Likewise.
60312         * tests/test-mbsstr2.c (main): Likewise.
60313         * tests/test-memmem.c (main): Likewise.
60314         * tests/test-strcasestr.c (main): Likewise.
60315         * tests/test-striconv.c (main): Likewise.
60316         * tests/test-striconveh.c (main): Likewise.
60317         * tests/test-striconveha.c (main): Likewise.
60318         * tests/test-strstr.c (main): Likewise.
60319
60320         * build-aux/git-version-gen: Adjust a comment and the Usage string.
60321
60322         bootstrap: sync from coreutils again
60323         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
60324
60325 2008-03-01  Jim Meyering  <meyering@redhat.com>
60326
60327         bootstrap: sync from coreutils
60328         * build-aux/bootstrap (update_po_files): Copy a .po file into place
60329         also when the target doesn't exist.
60330
60331 2008-03-01  Eric Blake  <ebb9@byu.net>
60332
60333         Fix bugs in last patch.
60334         * lib/memchr2.c (memchr2): Fix typo.
60335         * tests/test-memchr2.c: Test previous bug, and don't use GNU
60336         extension.
60337         Reported by Bruce Korb.
60338
60339         New module 'memchr2'.
60340         * modules/memchr2: New file.
60341         * modules/memchr2-tests: Likewise.
60342         * lib/memchr2.h: Likewise.
60343         * lib/memchr2.c: Likewise, based on memchr.c.
60344         * tests/test-memchr2.c: New test.
60345         * MODULES.html.sh (String handling): Add memchr2.
60346
60347 2008-02-29  Bruno Haible  <bruno@clisp.org>
60348
60349         * modules/freadseek-tests: New file.
60350         * tests/test-freadseek.sh: New file.
60351         * tests/test-freadseek.c: New file.
60352
60353         New module 'freadseek'.
60354         * modules/freadseek: New file.
60355         * lib/freadseek.h: New file.
60356         * lib/freadseek.c: New file.
60357         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
60358
60359 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
60360
60361         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
60362         wydawca.
60363
60364         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
60365         program_invocation_name and program_invocation_short_name are
60366         present.
60367
60368 2008-02-28  Bruno Haible  <bruno@clisp.org>
60369
60370         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
60371         * tests/test-freadptr.sh: Also test non-seekable stdin.
60372
60373 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
60374
60375         * build-aux/bootstrap (source_base, m4_base)
60376         (doc_base, tests_base): New variables.
60377         (gnulib_tool_options): Do not hardcode base directories, use
60378         the above variables instead.
60379
60380 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
60381
60382         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
60383
60384 2008-02-28  Bruno Haible  <bruno@clisp.org>
60385
60386         * modules/freadptr-tests: New file.
60387         * tests/test-freadptr.sh: New file.
60388         * tests/test-freadptr.c: New file.
60389
60390         New module 'freadptr'.
60391         * modules/freadptr: New file.
60392         * lib/freadptr.h: New file.
60393         * lib/freadptr.c: New file.
60394         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
60395
60396 2008-02-26  Karl Berry  <karl@freefriends.org>
60397
60398         Sync from Libtool:
60399         * libltdl/argz.c (argz_add, argz_count): New functions.
60400         * libltdl/argz.in.h: Declare them.
60401         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
60402
60403 2008-02-22  Bruno Haible  <bruno@clisp.org>
60404
60405         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
60406         is a pointer type.  Needed for HP-UX 10.
60407         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
60408         * doc/posix-functions/gmtime_r.texi: Likewise.
60409         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
60410
60411 2008-02-24  Bruno Haible  <bruno@clisp.org>
60412
60413         * modules/environ-tests: New file.
60414         * tests/test-environ.c: New file.
60415
60416         New module 'environ'.
60417         * modules/environ: New file.
60418         * lib/unistd.in.h (environ): New declaration.
60419         * m4/environ.m4: New file.
60420         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
60421         after use.
60422         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
60423         HAVE_DECL_ENVIRON.
60424         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
60425         HAVE_DECL_ENVIRON.
60426         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
60427         wrong claim that 'environ' is missing on some systems.
60428         * modules/execute (Depends-on): Add environ.
60429         * lib/execute.c (environ): Remove fallback declaration.
60430         * modules/pipe (Depends-on): Add environ.
60431         * lib/pipe.c (environ): Remove fallback declaration.
60432         * modules/setenv (Depends-on): Add environ.
60433         * lib/setenv.c (environ): Remove fallback declaration.
60434         * modules/unsetenv (Depends-on): Add environ.
60435         * lib/unsetenv.c (environ): Remove fallback declaration.
60436         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
60437         m4/environ.m4.
60438         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
60439         (gl_PREREQ_UNSETENV): Likewise.
60440
60441 2008-02-24  Bruno Haible  <bruno@clisp.org>
60442
60443         * doc/posix-functions/environ.texi: Document the MacOS X problem.
60444
60445 2008-02-20  Bob Proulx  <bob@proulx.com>
60446
60447         Enable use of older two part flavor 'git describe'.
60448         * build-aux/git-version-gen: If using the older two part flavor of
60449         git version then recreate the third part now present in the
60450         newer three part flavor of git describe.
60451
60452 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
60453
60454         * lib/fts.c (fts_build): Typo correction to comment.
60455
60456 2008-02-17  Bruno Haible  <bruno@clisp.org>
60457
60458         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
60459         generating no-op conflicts.
60460
60461 2008-02-17  Bruno Haible  <bruno@clisp.org>
60462
60463         Speed up by 10%.
60464         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
60465         result_entries, rather than an index-based loop.
60466
60467 2008-02-17  Bruno Haible  <bruno@clisp.org>
60468
60469         Speed up by 25%.
60470         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
60471         'hashcode_cached'.
60472         (entry_create): New function.
60473         (entry_hashcode): Use the cached hashcode if possible.
60474         (read_changelog_file, try_split_merged_entry): Use entry_create.
60475
60476 2008-02-17  Bruno Haible  <bruno@clisp.org>
60477
60478         Speed up from O(n^2) to O(n) for long ChangeLog files.
60479         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
60480         (read_changelog_file): Change implementation of entries_reversed list
60481         to rbtreehash.
60482         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
60483
60484 2008-02-17  Bruno Haible  <bruno@clisp.org>
60485
60486         New option --split-merged-entry.
60487         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
60488         (find_paragraph_end, try_split_merged_entry): New functions.
60489         (long_options): Add option --split-merged-entry.
60490         (usage): Document option --split-merged-entry.
60491         (main): Implement option --split-merged-entry.
60492         Reported by Eric Blake.
60493
60494 2008-02-17  Bruno Haible  <bruno@clisp.org>
60495
60496         * lib/git-merge-changelog.c: Include c-strstr.h.
60497         (main): Support the "git pull --rebase" situation.
60498         * modules/git-merge-changelog (Depends-on): Add c-strstr.
60499         Reported by Eric Blake.
60500
60501 2008-02-16  Eric Blake  <ebb9@byu.net>
60502
60503         Avoid doubling \ in common case of "c-maybe" quoting style.
60504         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
60505         eliding outer quotes.
60506         * lib/quotearg.h: Document this.
60507         * tests/test-quotearg.c (result_strings, inputs, results_g)
60508         (flag_results, locale_results): Test it by adding a new string to
60509         each test group.
60510         (compare_strings): Test new string.
60511
60512 2008-02-13  Eric Blake  <ebb9@byu.net>
60513
60514         Avoid trigraph quoting in default output.
60515         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
60516         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
60517         unless explicitly requested.
60518         * tests/test-quotearg.c (flag_results, main): Add additional tests.
60519
60520 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
60521
60522         Don't rely on signed integer overflowing to negative value.
60523         * lib/getugroups.c (getugroups): Include <limits.h>.
60524         Instead, compare against INT_MAX, and increment only if the test passes.
60525
60526 2008-02-13  Jim Meyering  <meyering@redhat.com>
60527         and Eric Blake  <ebb9@byu.net>
60528
60529         Avoid shadowing warning and compile errors on Linux.
60530         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
60531         forwarding macros on Linux.
60532         (dcgettext): Define a stub, for Linux.
60533         (results_g, main): Avoid warnings.
60534
60535 2008-02-12  Eric Blake  <ebb9@byu.net>
60536
60537         Silence warning in last patch.
60538         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
60539
60540         Quotearg part 4: add tests, fix c-maybe colon quoting.
60541         * lib/quotearg.h: Improve documentation.
60542         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
60543         escapes when adding outer quotes.  When quoting trigraphs, use
60544         valid C notation.  When quoting NUL, omit extra characters if next
60545         character is not digit.  Alter prototype.
60546         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
60547         callers.
60548         * modules/quotearg-tests: New module.
60549         * tests/test-quotearg.c: New test.
60550
60551 2008-02-07  Eric Blake  <ebb9@byu.net>
60552
60553         Quotearg part 3: add flag to control outer quote elision.
60554         * lib/quotearg.h (c_maybe_quoting_style): New style.
60555         (enum quoting_flags): Better documentation of flags.
60556         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
60557         c-maybe style.
60558         (quotearg_buffer_restyled): Handle new flag to elide outer
60559         quotes.
60560
60561         Quotearg part 2: add flag that can control NUL elision.
60562         * lib/quotearg.h (set_quoting_flags): New prototype.
60563         * lib/quotearg.c (struct quoting_options): Add flag field.
60564         (set_quoting_flags): New function.
60565         (quotearg_buffer_restyled): Add flags parameter.
60566         (quotearg_alloc_mem): Set the flag if length cannot be returned.
60567         (quotearg_n_options): Set the flag, since length cannot be
60568         returned.
60569         (quoting_options_from_style): Default flags correctly.
60570
60571         Quotearg part 1: more wrappers, restore quotearg_char state.
60572         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
60573         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
60574         (quotearg_colon_mem): New wrappers.
60575         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
60576         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
60577         functions.
60578         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
60579         (quotearg_colon_mem): New functions.
60580
60581 2008-02-11  Bruno Haible  <bruno@clisp.org>
60582
60583         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
60584         library in the current directory: it does not work with parallel make.
60585         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60586
60587 2008-02-11  Bruno Haible  <bruno@clisp.org>
60588
60589         * .gitattributes: New file.
60590
60591 2008-02-11  Jim Meyering  <meyering@redhat.com>
60592
60593         useless-if-before-free: Fix reversed exit values.
60594         * build-aux/useless-if-before-free: Use correct values
60595         for EXIT_MATCH and EXIT_NO_MATCH.
60596
60597         * build-aux/useless-if-before-free: Close stdout carefully.
60598
60599 2008-02-10  Bruno Haible  <bruno@clisp.org>
60600
60601         New module 'git-merge-changelog'.
60602         * modules/git-merge-changelog: New file.
60603         * lib/git-merge-changelog.c: New file.
60604
60605 2008-02-10  Jim Meyering  <meyering@redhat.com>
60606
60607         useless-if-before-free: New option: --list (-l).
60608
60609         useless-if-before-free: Don't exit immediately upon open failure.
60610         * build-aux/useless-if-before-free: Exit 2 for errors.
60611         Upon failure to open a file, don't exit immediately.
60612         Rather, just warn and continue with any remaining files.
60613
60614 2008-02-10  Bruno Haible  <bruno@clisp.org>
60615
60616         New abstract list operation 'node_set_value'.
60617         * lib/gl_list.h (gl_list_node_set_value): New function.
60618         (struct gl_list_implementation): New field node_set_value.
60619         * lib/gl_list.c (gl_list_node_set_value): New function.
60620         * lib/gl_array_list.c (gl_array_node_set_value): New function.
60621         (gl_array_list_implementation): Update.
60622         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
60623         (gl_carray_list_implementation): Update.
60624         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
60625         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
60626         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
60627         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
60628         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
60629         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
60630         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
60631         Update.
60632         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
60633         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
60634         (gl_sublist_list_implementation): Update.
60635
60636 2008-02-10  Bruno Haible  <bruno@clisp.org>
60637
60638         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
60639         Needed when ELEMENT is #defined to 'some_type *'.
60640
60641 2008-02-10  Jim Meyering  <meyering@redhat.com>
60642
60643         New script and module: useless-if-before-free
60644         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
60645         * build-aux/useless-if-before-free: New file.
60646         * modules/useless-if-before-free: New file.
60647
60648         * build-aux/gitlog-to-changelog: Use committer date, not author date.
60649
60650         xstrtol_error: Fix typo.
60651         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
60652         s/exit_failure/exit_status/.
60653
60654 2008-02-09  Jim Meyering  <meyering@redhat.com>
60655
60656         New script and module: gitlog-to-changelog
60657         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
60658         * modules/gitlog-to-changelog: New file.
60659         * build-aux/gitlog-to-changelog: New file.
60660
60661 2008-02-08  Jim Meyering  <meyering@redhat.com>
60662
60663         Avoid two "parameter unused" warnings.
60664         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
60665         Mark "st" as used.
60666
60667         Use "git COMMAND", not "git-COMMAND".
60668         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
60669         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
60670         * build-aux/git-version-gen: Use "git status", not "git-status".
60671
60672 2008-02-07  Bruno Haible  <bruno@clisp.org>
60673
60674         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
60675         Avoids a crash on Windows Vista.
60676         Reported by Adam Strzelecki <ono@java.pl> via
60677         Simon Josefsson <simon@josefsson.org>.
60678
60679 2008-02-06  Bruno Haible  <bruno@clisp.org>
60680
60681         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
60682         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
60683         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
60684         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
60685         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
60686         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
60687         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
60688         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
60689         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
60690         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
60691         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
60692         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
60693         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
60694         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60695         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
60696         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
60697         left-adjust flag.
60698         * tests/test-snprintf-posix.h (test_function): Likewise.
60699         * tests/test-sprintf-posix.h (test_function): Likewise.
60700         * tests/test-vasprintf-posix.c (test_function): Likewise.
60701         * doc/posix-functions/fprintf.texi: Update.
60702         * doc/posix-functions/printf.texi: Update.
60703         * doc/posix-functions/snprintf.texi: Update.
60704         * doc/posix-functions/sprintf.texi: Update.
60705         * doc/posix-functions/vfprintf.texi: Update.
60706         * doc/posix-functions/vprintf.texi: Update.
60707         * doc/posix-functions/vsnprintf.texi: Update.
60708         * doc/posix-functions/vsprintf.texi: Update.
60709         Reported by Peter Fales <psfales@alcatel-lucent.com>.
60710
60711 2008-02-06  Bruno Haible  <bruno@clisp.org>
60712
60713         Fix bug introduced on 2008-01-26.
60714         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
60715
60716 2008-02-06  Bruno Haible  <bruno@clisp.org>
60717
60718         Fix bug introduced on 2007-06-10.
60719         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
60720         !NEED_PRINTF_FLAG_ZERO.
60721
60722 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
60723
60724         getloadavg: use libperfstat on AIX5
60725         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
60726
60727 2008-02-03  Bruno Haible  <bruno@clisp.org>
60728
60729         * lib/diffseq.h: Add comments about required #includes.
60730         Reported by Michael Biggs <gnulib@doubleplum.net>.
60731
60732 2008-02-01  Bruno Haible  <bruno@clisp.org>
60733
60734         * users.txt: Add gnuit.
60735
60736 2008-01-31  Bruno Haible  <bruno@clisp.org>
60737
60738         * lib/md4.c (set_uint32): Mark as inline.
60739         * lib/md5.c (set_uint32): Likewise.
60740         * lib/sha1.c (set_uint32): Likewise.
60741         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
60742         * m4/md5.m4 (gl_MD5): Likewise.
60743         * m4/sha1.m4 (gl_SHA1): Likewise.
60744
60745 2008-01-31  Jim Meyering  <meyering@redhat.com>
60746
60747         Use "sizeof VAR", rather than a literal "4".
60748         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
60749         * lib/md4.c (md4_read_ctx): Likewise.
60750         * lib/sha1.c (sha1_read_ctx): Likewise.
60751
60752 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60753
60754         * tests/test-sha1.c: New file, based on test-md5.c.
60755
60756         * modules/crypto/sha1-tests: New file.
60757
60758 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60759
60760         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
60761
60762 2008-01-31  Jim Meyering  <meyering@redhat.com>
60763
60764         Prefer "sizeof v" over the equivalent "4".
60765         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
60766         * lib/md5.c (set_uint32): Likewise.
60767         * lib/sha1.c (set_uint32): Likewise.
60768
60769 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60770
60771         * lib/sha1.c (set_uint32): Mark function as static.
60772
60773 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60774
60775         md2: clarify comments to say that alignment is not required.
60776         * lib/md2.h: Remove warning about alignment in comment.
60777         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
60778         never been required.
60779
60780 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60781
60782         md4: adapt alignment constraint fix from sha1.
60783         * lib/md4.c (set_uint32): New function, from sha1.c
60784         (md4_read_ctx): Use it.
60785         (md4_finish_ctx): Doc fix.
60786         * lib/md4.h: Doc fix.
60787
60788 2008-01-31  Simon Josefsson  <simon@josefsson.org>
60789
60790         md5: adapt alignment constraint fix from sha1.
60791         * lib/md5.c (set_uint32): New function, from sha1.c
60792         (md5_read_ctx): Use it.
60793         (md5_finish_ctx): Doc fix.
60794         * lib/md5.h: Doc fix.
60795
60796 2008-01-30  Peter Palfrader  <weasel@debian.org>
60797
60798         sha1: remove the result buffer alignment constraint
60799         * lib/sha1.c (set_uint32): New function.
60800         (sha1_read_ctx): Rewrite to remove the result buffer alignment
60801         constraint.
60802         (sha1_finish_ctx): Remove comment warning about alignment constraint.
60803         * lib/sha1.h: Likewise.
60804
60805 2008-01-30  Andreas Schwab  <schwab@suse.de>
60806             Bruno Haible  <bruno@clisp.org>
60807
60808         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
60809         correct definition of LDBL_MIN_EXP.
60810
60811 2008-01-30  Karl Berry  <karl@gnu.org>
60812
60813         * config/srclist-update: try to preserve x bit on updates.
60814         * config/srclistvars.sh: update for karl.
60815
60816 2008-01-29  Jim Meyering  <meyering@redhat.com>
60817
60818         vasnprintf.c: Avoid warning about unused label
60819         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
60820         "overflow" label definition and associated code with the
60821         same cpp condition that guards the sole use of that label.
60822
60823 2008-01-26  Bruno Haible  <bruno@clisp.org>
60824
60825         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
60826         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
60827         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
60828         * lib/isnanl-nolibm.h (isnanl): Likewise.
60829         Reported by Paul Eggert <eggert@cs.ucla.edu>.
60830
60831 2008-01-26  Bruno Haible  <bruno@clisp.org>
60832
60833         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
60834         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
60835
60836 2008-01-26  Bruno Haible  <bruno@clisp.org>
60837
60838         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
60839         GCC >= 4.0 built-in.
60840         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
60841
60842 2008-01-26  Bruno Haible  <bruno@clisp.org>
60843
60844         Rename isnan, applicable to 'double' only, to isnand.
60845         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
60846         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
60847         (configure.ac): Update.
60848         (Include): Replace "isnan.h" with "isnand.h".
60849         * m4/isnand.m4: Renamed from m4/isnan.m4.
60850         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
60851         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
60852         instead of isnan.c.
60853         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
60854         instead of HAVE_ISNAN_IN_LIBC.
60855         (isnand): Renamed from isnan.
60856         * lib/isnand.c: New file.
60857         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
60858         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
60859         (Makefile.am): Update.
60860         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
60861         Include isnand.h instead of isnan.h.
60862         (main): Test isnand instead of isnan.
60863         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
60864         isnan-nolibm.
60865         * modules/frexp (Depends-on): Likewise.
60866         * modules/frexp-tests (Depends-on): Likewise.
60867         * modules/frexp-nolibm (Depends-on): Likewise.
60868         * modules/frexp-nolibm-tests (Depends-on): Likewise.
60869         * modules/isfinite (Depends-on): Likewise.
60870         * modules/round-tests (Depends-on): Likewise.
60871         * modules/signbit (Depends-on): Likewise.
60872         * modules/signbit-tests (Depends-on): Likewise.
60873         * modules/snprintf-posix (Depends-on): Likewise.
60874         * modules/sprintf-posix (Depends-on): Likewise.
60875         * modules/trunc-tests (Depends-on): Likewise.
60876         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
60877         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
60878         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
60879         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
60880         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
60881         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
60882         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
60883         * modules/vasnprintf-posix (Depends-on): Likewise.
60884         * modules/vasprintf-posix (Depends-on): Likewise.
60885         * modules/vfprintf-posix (Depends-on): Likewise.
60886         * modules/vsnprintf-posix (Depends-on): Likewise.
60887         * modules/vsprintf-posix (Depends-on): Likewise.
60888         * lib/frexp.c: Include isnand.h instead of isnan.h.
60889         (ISNAN): Set to isnand instead of isnan.
60890         * lib/isfinite.c: Include isnand.h instead of isnan.h.
60891         (gl_isfinited): Use isnand instead of isnan.
60892         * lib/signbitd.c: Include isnand.h instead of isnan.h.
60893         (gl_signbitd): Use isnand instead of isnan.
60894         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
60895         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
60896         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
60897         (main): Use isnand instead of isnan.
60898         * tests/test-round1.c: Include isnand.h.
60899         (main): Use isnand instead of isnan.
60900         * tests/test-round2.c: Include isnand.h instead of isnan.h.
60901         (ISNAN): Set to isnand instead of isnan.
60902         * tests/test-trunc1.c: Include isnand.h.
60903         (main): Use isnand instead of isnan.
60904         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
60905         (equal): Use isnand instead of isnan.
60906         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
60907         isnand-nolibm.
60908         * NEWS: Mention the change.
60909
60910 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
60911             Bruno Haible  <bruno@clisp.org>
60912
60913         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
60914         the GCC builtins for signbits are present and set
60915         REPLACE_SIGNBIT_USING_GCC if so.
60916         * lib/math.in.h (signbit): Define using GCC builtins if
60917         REPLACE_SIGNBIT_USING_GCC is set.
60918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
60919         REPLACE_SIGNBIT_USING_GCC.
60920         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
60921
60922 2008-01-25  Jim Meyering  <meyering@redhat.com>
60923
60924         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
60925         * lib/poll.c: Include <config.h>, not "config.h".
60926         * tests/test-getaddrinfo.c: Likewise.
60927
60928 2008-01-25  Simon Josefsson  <simon@josefsson.org>
60929
60930         * modules/sockets-tests: New file.
60931
60932 2008-01-24  Simon Josefsson  <simon@josefsson.org>
60933
60934         * modules/sockets: New module, can be used to call WSA_Startup and
60935         WSA_Cleanup when needed.
60936
60937         * lib/sockets.h, lib/sockets.c: New files.
60938
60939         * m4/sockets.m4: New file.
60940
60941         * tests/test-sockets.c: New file.
60942
60943 2008-01-19  Bruno Haible  <bruno@clisp.org>
60944
60945         * doc/posix-headers: Renamed from doc/headers.
60946         * doc/posix-functions: Renamed from doc/functions.
60947         * doc/gnulib.texi: Update.
60948
60949 2008-01-19  Bruno Haible  <bruno@clisp.org>
60950
60951         * doc/glibc-functions/strcasestr.texi: Include contents of
60952         doc/functions/strcasestr.texi, fixing the list of platforms.
60953         * doc/functions/strcasestr.texi: Remove file.
60954
60955 2008-01-19  Bruno Haible  <bruno@clisp.org>
60956
60957         * doc/glibc-functions/memmem.texi: Include contents of
60958         doc/functions/memmem.texi.
60959         * doc/functions/memmem.texi: Remove file.
60960
60961 2008-01-18  Bruno Haible  <bruno@clisp.org>
60962
60963         * doc/glibc-functions/*.texi: New files.
60964         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
60965         to use the new files.
60966
60967 2008-01-17  Bruno Haible  <bruno@clisp.org>
60968
60969         * tests/test-gethostname.c (main): Fix printf statement.
60970
60971 2008-01-17  Simon Josefsson  <simon@josefsson.org>
60972
60973         * modules/gethostname-tests: New file.
60974
60975         * tests/test-gethostname.c: New file.
60976
60977 2008-01-17  Simon Josefsson  <simon@josefsson.org>
60978
60979         * lib/gethostname.c: Include string.h unconditionally, strncpy is
60980         used by the UNAME case.  Reported by Bruno Haible
60981         <bruno@clisp.org>.
60982
60983 2008-01-17  Eric Blake  <ebb9@byu.net>
60984
60985         Convert c-strcasestr to be more efficient.
60986         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
60987         (Depends-on): Add c-strcase, remove malloca, strnlen.
60988         * tests/test-c-strcasestr.c (main): Enhance test.
60989         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
60990
60991 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
60992
60993         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
60994         Use it in creating po/Makevars.
60995
60996 2008-01-15  Simon Josefsson  <simon@josefsson.org>
60997
60998         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
60999         Applications that requires it should initialize libgcrypt
61000         manually.
61001
61002 2008-01-16  Simon Josefsson  <simon@josefsson.org>
61003
61004         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
61005
61006 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
61007
61008         Fix problem with getdate on mingw32 reported by Simon Josefsson
61009         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
61010         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
61011         tzname", when deciding whether to declare tzname.
61012         * lib/strftime.c (tzname): Likewise.
61013
61014 2008-01-15  Bruno Haible  <bruno@clisp.org>
61015
61016         Work around a MacOS X 10.5 bug in frexpl().
61017         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
61018         * doc/functions/frexpl.texi: Document the bug.
61019         Reported by Elias Pipping <pipping@gentoo.org>.
61020
61021 2008-01-14  Eric Blake  <ebb9@byu.net>
61022
61023         Touch up previous patch.
61024         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
61025         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
61026
61027         Convert strcasestr module to use Two-Way algorithm.
61028         * modules/strcasestr-simple: New module, based on the old
61029         strcasestr, but with Two-Way rather than KMP.
61030         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
61031         * lib/string.in.h (rpl_strcasestr): Declare.
61032         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
61033         performance.
61034         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
61035         * modules/string (Makefile.am): Support strcasestr.
61036         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
61037         * modules/strcasestr-tests (Depends-on): Check for alarm.
61038         * tests/test-strcasestr.c: Augment test.
61039         * lib/str-two-way.h: Clean up stray macro.
61040         * NEWS: Document new module.
61041         * MODULES.html.sh (string handling): Likewise.
61042         * doc/functions/strcasestr.texi: New file.
61043         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
61044         here, since it is not a POSIX function.
61045
61046 2008-01-14  Colin Watson  <cjwatson@debian.org>
61047             Bruno Haible  <bruno@clisp.org>
61048
61049         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
61050         works fine; if not, set REPLACE_STRSIGNAL.
61051         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
61052         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61053         REPLACE_STRSIGNAL.
61054         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
61055         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
61056         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
61057
61058 2008-01-14  Bruno Haible  <bruno@clisp.org>
61059
61060         * modules/strsignal (Include): Change to <string.h>.
61061
61062 2008-01-14  Colin Watson  <cjwatson@debian.org>
61063
61064         * modules/argp (Notice): Add a notice recommending to change
61065         XGETTEXT_OPTIONS.
61066         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
61067
61068 2008-01-13  Colin Watson  <cjwatson@debian.org>
61069
61070         * modules/strsignal-tests: New file.
61071         * tests/test-strsignal.c: New file.
61072
61073         * lib/strsignal.c: New file, from glibc with modifications.
61074         * lib/siglist.h: New file, from glibc with modifications.
61075         * lib/string.in.h (strsignal): New declaration.
61076         * m4/strsignal.m4: New file.
61077         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
61078         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
61079         * modules/strsignal: New file.
61080         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
61081         HAVE_DECL_STRSIGNAL.
61082
61083 2008-01-13  Bruno Haible  <bruno@clisp.org>
61084
61085         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
61086         locale encoding is not ASCII. Needed for OpenBSD 4.0.
61087         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
61088         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
61089
61090 2008-01-13  Bruno Haible  <bruno@clisp.org>
61091
61092         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
61093         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
61094         * lib/argp.h (__attribute__): Likewise.
61095         * lib/c-stack.c (__attribute__): Likewise.
61096         * lib/error.h (__attribute__): Likewise.
61097         * lib/fts.c (__attribute__): Likewise.
61098         * lib/openat.h (__attribute__): Likewise.
61099         * lib/stdio.in.h (__attribute__): Likewise.
61100         * lib/string.in.h (__attribute__): Likewise.
61101         * lib/utimens.c (__attribute__): Likewise.
61102         * lib/vasnprintf.h (__attribute__): Likewise.
61103         * lib/xalloc.h (__attribute__): Likewise.
61104         * lib/xprintf.h (__attribute__): Likewise.
61105         * lib/xstrtol.h (__attribute__): Likewise.
61106         * lib/xvasprintf.h (__attribute__): Likewise.
61107
61108 2008-01-12  Bruno Haible  <bruno@clisp.org>
61109
61110         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
61111         * doc/glibc-headers/a.out.texi: New file.
61112         * doc/glibc-headers/aliases.texi: New file.
61113         * doc/glibc-headers/alloca.texi: New file.
61114         * doc/glibc-headers/ar.texi: New file.
61115         * doc/glibc-headers/argp.texi: New file.
61116         * doc/glibc-headers/argz.texi: New file.
61117         * doc/glibc-headers/byteswap.texi: New file.
61118         * doc/glibc-headers/crypt.texi: New file.
61119         * doc/glibc-headers/endian.texi: New file.
61120         * doc/glibc-headers/envz.texi: New file.
61121         * doc/glibc-headers/err.texi: New file.
61122         * doc/glibc-headers/error.texi: New file.
61123         * doc/glibc-headers/execinfo.texi: New file.
61124         * doc/glibc-headers/fpu_control.texi: New file.
61125         * doc/glibc-headers/fstab.texi: New file.
61126         * doc/glibc-headers/fts.texi: New file.
61127         * doc/glibc-headers/getopt.texi: New file.
61128         * doc/glibc-headers/ieee754.texi: New file.
61129         * doc/glibc-headers/ifaddrs.texi: New file.
61130         * doc/glibc-headers/libintl.texi: New file.
61131         * doc/glibc-headers/mcheck.texi: New file.
61132         * doc/glibc-headers/mntent.texi: New file.
61133         * doc/glibc-headers/obstack.texi: New file.
61134         * doc/glibc-headers/paths.texi: New file.
61135         * doc/glibc-headers/printf.texi: New file.
61136         * doc/glibc-headers/pty.texi: New file.
61137         * doc/glibc-headers/resolv.texi: New file.
61138         * doc/glibc-headers/shadow.texi: New file.
61139         * doc/glibc-headers/sysexits.texi: New file.
61140         * doc/glibc-headers/ttyent.texi: New file.
61141
61142 2008-01-12  Jim Meyering  <meyering@redhat.com>
61143
61144         announce-gen: emit Gnulib's git-based version string.
61145         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
61146         New option --gnulib-version=V, where V is expected to be
61147         the output of running git describe in the gnulib directory.
61148         (get_tool_versions): Request feedback on xdelta.  I suspect it's
61149         not useful, and plan to stop publishing an xdelta file with each
61150         coreutils release.
61151
61152         * build-aux/announce-gen: Also check for lzma-compressed files.
61153
61154 2008-01-11  Bruno Haible  <bruno@clisp.org>
61155
61156         * tests/test-memmem.c (main): Increase maximum allowed time.
61157         * tests/test-strstr.c (main): Likewise.
61158
61159 2008-01-11  Bruno Haible  <bruno@clisp.org>
61160
61161         * doc/functions/memmem.texi: Add more precisions about platforms.
61162         * doc/functions/strstr.texi: Likewise.
61163
61164 2008-01-10  Eric Blake  <ebb9@byu.net>
61165
61166         * m4/strstr.m4: Delete cruft from copy-n-paste.
61167         Reported by Bruno Haible.
61168
61169 2008-01-10  Bruno Haible  <bruno@clisp.org>
61170
61171         Make c-strstr rely on strstr.
61172         * lib/c-strstr.c: Don't include str-kmp.h.
61173         (c_strstr): Define in terms of strstr.
61174         * modules/c-strstr (Files): Remove lib/str-kmp.h.
61175         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
61176
61177 2008-01-10  Bruno Haible  <bruno@clisp.org>
61178
61179         * doc/gnulib.texi (String Functions in C Locale): New section.
61180         * doc/c-ctype.texi: New file.
61181         * doc/c-strcase.texi: New file.
61182         * doc/c-strcaseeq.texi: New file.
61183         * doc/c-strcasestr.texi: New file.
61184         * doc/c-strstr.texi: New file.
61185         * doc/c-strtod.texi: New file.
61186         * doc/c-strtold.texi: New file.
61187
61188 2008-01-10  Eric Blake  <ebb9@byu.net>
61189
61190         * lib/relocatable.h: Fix a comment.
61191
61192 2008-01-10  Eric Blake  <ebb9@byu.net>
61193
61194         Share two-way algorithm.
61195         * lib/str-two-way.h: New file, merged from...
61196         * lib/memmem.c: ...here...
61197         * lib/strstr.c: ...and here.
61198         * modules/memmem (Files): Use it.
61199         * modules/strstr (Files): Likewise.
61200
61201         Avoid quadratic strstr implementations.
61202         * lib/strstr.c: New file.
61203         * m4/strstr.m4: Likewise.
61204         * modules/strstr: Likewise.
61205         * modules/strstr-tests: Likewise.
61206         * tests/test-strstr.c: Likewise.
61207         * lib/string.in.h (rpl_strstr): Declare.
61208         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
61209         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
61210         * modules/string (Makefile.am): Likewise.
61211         * MODULES.html.sh (string handling): Mention new module.
61212         * doc/functions/strstr.texi (strstr): Document the bug.
61213
61214 2008-01-10  Bruno Haible  <bruno@clisp.org>
61215
61216         * lib/relocatable.h (relocate): State whether result is freshly
61217         allocated or not.
61218         * lib/relocatable.c (relocate): Return a freshly allocated string
61219         instead of a pointer to a privately held string.
61220         Reported by Sylvain Beucler <beuc@gnu.org>.
61221
61222 2008-01-10  Colin Watson  <cjwatson@debian.org>
61223
61224         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
61225         s/S_ISNLK/S_ISLNK/.
61226
61227 2008-01-09  Bruno Haible  <bruno@clisp.org>
61228
61229         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
61230         and other files.
61231         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
61232         if it's only a guess.
61233         * modules/memmem: Simplify by depending on memmem-simple.
61234
61235 2008-01-09  Bruno Haible  <bruno@clisp.org>
61236
61237         Work around OpenBSD 4.0 tdelete() bug.
61238         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
61239         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
61240         macros and don't redefine the enum values.
61241         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
61242         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
61243         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
61244
61245 2008-01-09  Bruno Haible  <bruno@clisp.org>
61246
61247         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
61248         (main): Don't perform the tests if setlocale did not install a UTF-8
61249         locale. Needed on OpenBSD 4.0.
61250         * modules/wcwidth-tests (Depends-on): Add localcharset.
61251
61252 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
61253
61254         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
61255         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
61256         * NEWS: announce this.
61257         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
61258
61259 2008-01-09  Simon Josefsson  <simon@josefsson.org>
61260         and Eric Blake  <ebb9@byu.net>
61261
61262         Add memmem-simple module.
61263         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
61264         (gl_FUNC_MEMMEM): Separate performance from presence checks.
61265         * modules/memmem-simple: New file.
61266         * modules/memmem (Description): Tweak.
61267         * MODULES.html.sh (string handling): Mention new module.
61268         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
61269         addressed by memmem-simple.
61270         * NEWS: Document the difference.
61271
61272 2008-01-09  Eric Blake  <ebb9@byu.net>
61273
61274         Give gcc some memmem optimization hints.
61275         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
61276         (strcasestr): Declare as pure.
61277         * modules/memmem (Maintainer): Claim my implementation.
61278
61279 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61280
61281         Support AIX 6.1 and higher.
61282         * build-aux/config.libpath: Likewise.
61283         * build-aux/config.rpath: Likewise.
61284
61285 2008-01-08  Jim Meyering  <meyering@redhat.com>
61286             Bruno Haible  <bruno@clisp.org>
61287
61288         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
61289         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
61290         Reported by Peter Fales in
61291         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
61292
61293 2008-01-08  Bruno Haible  <bruno@clisp.org>
61294
61295         * modules/unictype/category-of (Depends-on): Add
61296         unictype/category-none.
61297         * modules/unictype/category-and-tests (Depends-on): Add
61298         unictype/category-{L,N,Lu,Nd}.
61299         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
61300         * modules/unictype/category-or-tests (Depends-on): Add
61301         unictype/category-{L,N}.
61302         * modules/unictype/category-name-tests (Depends-on): Add
61303         unictype/category-{Z,Nl}.
61304         Reported by Simon Josefsson.
61305
61306 2008-01-08  Bruno Haible  <bruno@clisp.org>
61307
61308         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
61309         convention better.
61310         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
61311         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
61312         Reported by Peter Miller <millerp@canb.auug.org.au>.
61313
61314 2008-01-08  Eric Blake  <ebb9@byu.net>
61315
61316         Rewrite memmem to guarantee linear complexity without malloc.
61317         * lib/memmem.c (memmem): Use Two-Way rather than
61318         Knuth-Morris-Pratt, to allow O(1) space usage.
61319         (critical_factorization, two_way_short_needle)
61320         (two_way_long_needle): New functions.
61321         (knuth_morris_pratt): Delete.
61322         * modules/memmem (Depends-on): No longer need malloca or stdbool.
61323         Add stdint.
61324         * tests/test-memmem.c (main): Add tests for periodic needle and
61325         sublinear performance.
61326         * doc/functions/memmem.texi (memmem): Document other deficiencies
61327         in cygwin and older glibc.
61328
61329 2008-01-08  Bruno Haible  <bruno@clisp.org>
61330
61331         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
61332         augmentation.
61333
61334 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
61335
61336         Add a configure time option: --disable-acl.
61337         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
61338         AC_ARG_ENABLE(acl).
61339
61340 2008-01-06  Simon Josefsson  <simon@josefsson.org>
61341
61342         * tests/test-localename.c: Don't include obsolete "setenv.h".
61343
61344         * modules/localename-tests (Depends-on): Need unsetenv.
61345
61346 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61347
61348         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
61349
61350 2008-01-06  Colin Watson  <cjwatson@debian.org>
61351
61352         * users.txt: Add man-db.
61353
61354 2008-01-07  Bruno Haible  <bruno@clisp.org>
61355
61356         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
61357         previous section name.
61358
61359 2008-01-07  Bruno Haible  <bruno@clisp.org>
61360
61361         * lib/progname.c (set_program_name): Don't strip off a leading
61362         "lt-" prefix outside a .libs directory.
61363         Suggested by Paul Eggert.
61364
61365 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
61366             Bruno Haible  <bruno@clisp.org>
61367
61368         Improve memory cleanup in 'relocatable' module.
61369         * lib/relocatable.h (compute_curr_prefix): Change return type to
61370         'char *'.
61371         * lib/relocatable.c (compute_curr_prefix): Change return type to
61372         'char *'. Free curr_installdir after use.
61373         (relocate): Free curr_prefix_better after use.
61374         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
61375
61376 2008-01-01  Bruno Haible  <bruno@clisp.org>
61377
61378         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
61379         failure on older glibc systems.
61380         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61381
61382 2008-01-05  Eric Blake  <ebb9@byu.net>
61383
61384         Avoid quadratic system memmem.
61385         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
61386         Reported by Ralf Wildenhues.
61387
61388         Fix memmem test for mingw.
61389         * modules/memmem-tests (configure.ac): Check for alarm.
61390         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
61391         it.
61392         * doc/functions/memmem.texi: New file.
61393         * doc/gnulib.texi (Function Substitutes): Add memmem.
61394         Reported by Bruno Haible.
61395
61396 2008-01-04  Bruno Haible  <bruno@clisp.org>
61397
61398         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
61399         Require gl_HEADER_STRINGS_H_DEFAULTS, not
61400         gl_HEADER_STRING_H_DEFAULTS.
61401
61402 2008-01-04  Eric Blake  <ebb9@byu.net>
61403
61404         Shorten duration of memmem test.
61405         * tests/test-memmem.c (main): Use alarm to declare failure if test
61406         is taking too long.
61407         Reported by Ralf Wildenhues.
61408
61409 2007-12-21  Simon Josefsson  <simon@josefsson.org>
61410
61411         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
61412         string, needed by strerror.
61413
61414 2008-01-03  Colin Watson  <cjwatson@debian.org>
61415             Bruno Haible  <bruno@clisp.org>
61416
61417         * doc/gnulib-tool.texi (Localization): New section.
61418
61419 2008-01-02  Bruno Haible  <bruno@clisp.org>
61420
61421         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
61422         variables to 'unsigned char *' type.
61423         Reported by Paul Eggert.
61424
61425 2008-01-02  Jim Meyering  <jim@meyering.net>
61426
61427         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
61428
61429 2007-12-31  Jim Meyering  <jim@meyering.net>
61430
61431         Avoid use of private FTS type name.
61432         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
61433
61434 2007-12-30  Karl Berry  <karl@gnu.org>
61435
61436         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
61437         work around defect in Texinfo and/or the standalone Info browser.
61438
61439 2007-12-30  Bruno Haible  <bruno@clisp.org>
61440
61441         Unify 5 copies of the KMP code.
61442         * lib/str-kmp.h: New file.
61443         * lib/c-strcasestr.c: Include str-kmp.h.
61444         (knuth_morris_pratt): Remove function.
61445         (c_strcasestr): Update.
61446         * lib/c-strstr.c: Include str-kmp.h.
61447         (knuth_morris_pratt): Remove function.
61448         (c_strcasestr): Update.
61449         * lib/mbscasestr.c: Include str-kmp.h.
61450         (knuth_morris_pratt_unibyte): Remove function.
61451         * lib/mbsstr.c: Include str-kmp.h.
61452         (knuth_morris_pratt_unibyte): Remove function.
61453         * lib/strcasestr.c: Include str-kmp.h.
61454         (knuth_morris_pratt): Remove function.
61455         (strcasestr): Update.
61456         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
61457         * modules/c-strstr (Files): Likewise.
61458         * modules/mbscasestr (Files): Likewise.
61459         * modules/mbsstr (Files): Likewise.
61460         * modules/strcasestr (Files): Likewise.
61461         Suggested by Paul Eggert.
61462
61463 2007-12-30  Bruno Haible  <bruno@clisp.org>
61464
61465         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
61466         defined.
61467
61468 2007-12-30  Bruno Haible  <bruno@clisp.org>
61469
61470         * lib/xmalloca.h: Include xalloc.h.
61471         (xnmalloca): New macro.
61472
61473 2007-12-30  Bruno Haible  <bruno@clisp.org>
61474
61475         * lib/malloca.h (nmalloca): New macro.
61476         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
61477         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
61478         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
61479         knuth_morris_pratt_multibyte): Likewise.
61480         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
61481         knuth_morris_pratt_multibyte): Likewise.
61482         * lib/memmem.c (knuth_morris_pratt): Likewise.
61483         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
61484
61485 2007-12-25  Bruno Haible  <bruno@clisp.org>
61486
61487         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
61488         * lib/glob.c: Don't include openat.h.
61489         (link_exists2_p): Add back the code that deals with the
61490         !GLOB_ALTDIRFUNC case.
61491         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
61492         let it do the filename concatenation.
61493         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
61494         * modules/glob (Depends-on): Remove openat.
61495
61496 2007-12-31  Bruno Haible  <bruno@clisp.org>
61497
61498         * modules/dirfd (License): Change to LGPLv2+.
61499         Approved by Jim Meyering.
61500
61501 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
61502
61503         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
61504         when multiplying M by sizeof (size_t).
61505
61506 2007-12-10  Martin Lambers  <marlam@marlam.de>
61507
61508         Override getpagesize on mingw.
61509         * lib/getpagesize.c: New file.
61510         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
61511         * modules/getpagesize (Files): Add lib/getpagesize.c.
61512         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
61513         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
61514         REPLACE_GETPAGESIZE.
61515         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
61516
61517 2007-12-25  Bruno Haible  <bruno@clisp.org>
61518
61519         * modules/localcharset (Notice): New field.
61520         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
61521         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
61522
61523 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
61524             Bruno Haible  <bruno@clisp.org>
61525
61526         Avoid using the syntax symbol() in formatted documentation.
61527         * MODULES.html.sh (func_module): When replacing symbol() with a
61528         hyperlink, remove the parentheses. Show an error if some remain.
61529         Recognize and render the '...' syntax.
61530         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
61531         Rework. Add paragraph about GCC's inlining.
61532         * doc/alloca.texi: Likewise.
61533         * doc/error.texi: Remove parentheses from symbol reference.
61534         * doc/gnulib-intro.texi: Likewise.
61535         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
61536         * modules/fnmatch (Description): Reword to say "the ... function".
61537         * modules/full-read (Description): Likewise.
61538         * modules/full-write (Description): Likewise.
61539         * modules/safe-read (Description): Likewise.
61540         * modules/safe-write (Description): Likewise.
61541         * modules/strchrnul (Description): Likewise.
61542         * modules/trim (Description): Likewise.
61543         * modules/error (Description): Remove parentheses from symbol
61544         references.
61545         * modules/verror (Description): Likewise.
61546         Reported by Karl Berry.
61547
61548 2007-12-25  Bruno Haible  <bruno@clisp.org>
61549
61550         Fixup after 2007-10-16 commit.
61551         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
61552
61553 2007-12-24  Bruno Haible  <bruno@clisp.org>
61554
61555         Make --enable-relocatable work with DESTDIR.
61556         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
61557         to compute installdir from destprog.
61558         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
61559         also set the RELOC_DESTDIR variable.
61560         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
61561
61562 2007-12-24  Bruno Haible  <bruno@clisp.org>
61563
61564         Fix link error due to xalloc_die().
61565         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
61566         of xreadlink.
61567         * lib/relocwrapper.c: Update comments.
61568         * build-aux/install-reloc: Remove xreadlink.c from file list.
61569         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
61570         xreadlink.c.
61571         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
61572
61573 2007-12-24  Bruno Haible  <bruno@clisp.org>
61574
61575         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
61576         * lib/setenv.h: Remove file.
61577         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
61578         lib/setenv.h.
61579         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
61580         (Depends-on): Add stdlib.
61581         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
61582         gl_FUNC_UNSETENV.
61583         (Include): Replace setenv.h with <stdlib.h>.
61584         * modules/unsetenv: New file.
61585         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
61586         * lib/unsetenv.c: Include <stdlib.h> first.
61587         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
61588         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
61589         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
61590         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
61591         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
61592         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
61593         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
61594         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
61595         * doc/functions/unsetenv.texi: Update.
61596         * modules/xsetenv (Depends-on): Add unsetenv.
61597         * modules/getdate (Depends-on): Likewise.
61598         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
61599         * lib/xsetenv.c: Don't include setenv.h.
61600         * lib/getdate.y: Likewise.
61601         * lib/relocwrapper.c: Likewise.
61602         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
61603         (Depends-on): Add stdlib.
61604         * NEWS: Mention the changes.
61605         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
61606
61607 2007-12-23  Bruno Haible  <bruno@clisp.org>
61608
61609         * lib/memmem.c (memmem): Use lowercase variable names. Tab
61610         indentation.
61611
61612 2007-12-23  Bruno Haible  <bruno@clisp.org>
61613
61614         * lib/c-strcasestr.c: Add more comments.
61615         * lib/c-strstr.c: Likewise.
61616         * lib/mbscasestr.c: Likewise.
61617         * lib/mbsstr.c: Likewise.
61618         * lib/strcasestr.c: Likewise.
61619         * lib/memmem.c: Likewise.
61620
61621 2007-12-23  Bruno Haible  <bruno@clisp.org>
61622
61623         * tests/test-memmem.c: Include <string.h> first.
61624
61625 2007-12-22  Bruno Haible  <bruno@clisp.org>
61626
61627         * gnulib-tool (func_create_testdir): Change $auxdir while generating
61628         the contents of $testsbase.
61629         Reported by Ralf Wildenhues.
61630
61631 2007-12-22  Bruno Haible  <bruno@clisp.org>
61632
61633         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
61634         two variables local_ldadd_before, local_ldadd_last.
61635
61636 2007-12-20  Eric Blake  <ebb9@byu.net>
61637
61638         Work around circular library issue when cross-compiling.
61639         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
61640         that progname.o does not need to pull in rpl_memcmp.
61641
61642 2007-12-19  Eric Blake  <ebb9@byu.net>
61643
61644         Fix memmem to avoid O(n^2) worst-case complexity.
61645         * lib/memmem.c (knuth_morris_pratt): New function.
61646         (memmem): Use it if first few naive iterations fail.
61647         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
61648         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
61649         * modules/memchr (License): Likewise.
61650         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
61651         malloca.
61652         * tests/test-memmem.c: Rewrite, borrowing ideas from
61653         test-mbsstr1.c; the old version wouldn't even compile!
61654         * modules/memmem-tests: New file.
61655         * lib/string.in.h (rpl_memmem): Add declaration.
61656         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
61657         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
61658         REPLACE_MEMMEM.
61659
61660 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
61661
61662         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
61663         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
61664         before any system include files, and undef after them all.  This
61665         should fix a problem on VMS reported by John E. Malmberg in
61666         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
61667
61668 2007-12-17  Eric Blake  <ebb9@byu.net>
61669
61670         Revert addition of verify, for BSD/OS.
61671         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
61672         can't handle large files, for the sake of obsolete platforms.
61673         * modules/fseeko (Depends-on): Remove verify.
61674         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
61675         * doc/functions/ftello.texi (ftello): Likewise.
61676         * doc/functions/fgetpos.texi (fgetpos): Likewise.
61677         Reported by Larry Jones.
61678
61679 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
61680
61681         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
61682         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
61683
61684 2007-12-17  Jim Meyering  <meyering@redhat.com>
61685
61686         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
61687         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
61688         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
61689         * modules/getcwd (Depends-on): Add openat.
61690         Reported by Petr Salinger.
61691
61692 2007-12-17  Bruno Haible  <bruno@clisp.org>
61693
61694         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
61695         avoid a segmentation fault of the configure test on x86_64 systems.
61696
61697 2007-12-15  Jim Meyering  <meyering@redhat.com>
61698
61699         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
61700
61701 2007-12-13  Eric Blake  <ebb9@byu.net>
61702
61703         Another fseek test.
61704         * tests/test-fseek.c (main): Also test ungetc handling.
61705         * tests/test-fseeko.c (main): Likewise.
61706         * modules/fseeko (Depends-on): Add verify.
61707         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
61708         large.
61709         Reported by Larry Jones.
61710
61711         Fix fseeko on mingw.
61712         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
61713         seek.
61714
61715         Beef up fseek tests.
61716         * tests/test-fseek.c (main): Also test eof handling.
61717         * tests/test-fseeko.c (main): Likewise.
61718         Reported by Larry Jones.
61719
61720 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
61721
61722         Fix fseeko on BSD-based platforms.
61723         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
61724         successful seek.
61725
61726 2007-12-12  Eric Blake  <ebb9@byu.net>
61727
61728         Allow circular dependency of separate libtests.a
61729         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
61730         when use_libtests.
61731
61732 2007-12-11  Eric Blake  <ebb9@byu.net>
61733
61734         Fix bug with -0.0L in previous patch.
61735         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
61736         * tests/test-isnan.c (main): Also test on zeroes.
61737         * tests/test-isnanf.c (main): Likewise.
61738         * tests/test-isnanl.h (main): Likewise.
61739
61740         Detect pseudo-denormals on x86 even when cross-compiling.
61741         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
61742         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
61743         invalid bit patterns that happen to satisfy ==.
61744
61745         Avoid link failures with separate libtests.a.
61746         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
61747         last, to satisfy circular dependencies.
61748
61749 2007-12-11  Eric Blake  <ebb9@byu.net>
61750         and Bruno Haible  <bruno@clisp.org>
61751
61752         Fix OpenBSD 4.0 <float.h> handling of long double.
61753         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
61754         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
61755         * doc/headers/float.texi (float.h): Document OpenBSD bug.
61756
61757 2007-12-11  Jim Meyering  <meyering@redhat.com>
61758
61759         * users.txt: Add libvirt.
61760
61761         Support versions of autoconf prior to 2.59c.
61762         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
61763         if it is not already defined.
61764
61765 2007-12-09  Bruno Haible  <bruno@clisp.org>
61766
61767         Let 'gnulib-tool --import' collect sources needed for the tests in
61768         tests/ rather than in lib/.
61769         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
61770         argument. If true, add rules to generate libtests.a, and put libtests.a
61771         into $(LDADD). Consider source files in subdirectories and set
61772         uses_subdirs.
61773         (func_emit_initmacro_start, func_emit_initmacro_end,
61774         func_emit_initmacro_done): Pass all arguments explicitly.
61775         (func_import): Determine two module lists main_modules,
61776         testsrelated_modules. Determine use_libtests. Determine two variables
61777         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
61778         instead of just sed_transform_lib_file. Determine two variables
61779         main_files and testsrelated_files. Compute 'files' as the union of
61780         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
61781         func_add_or_update. In the generated gnulib-comp.m4, collect the
61782         object files for tests/ in different variables than those for lib/.
61783         Substitute LIBTESTS_LIBDEPS.
61784         (func_create_testdir): Combine the uses_subdirs results from
61785         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
61786
61787 2007-12-09  Bruno Haible  <bruno@clisp.org>
61788
61789         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
61790         the build-aux directory.
61791
61792 2007-12-09  Bruno Haible  <bruno@clisp.org>
61793
61794         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
61795         introduced on 2006-09-09.
61796
61797 2007-12-07  Jim Meyering  <meyering@redhat.com>
61798
61799         Let these macros work also with autoconf-2.59.
61800         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
61801         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
61802         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
61803
61804 2007-12-06  Jim Meyering  <meyering@redhat.com>
61805
61806         Avoid a configure-time syntax error in gl_FUNC_ACL.
61807         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
61808         function in each branch, before testing the cache variable.
61809
61810 2007-12-04  Eric Blake  <ebb9@byu.net>
61811
61812         Make scripts executable.
61813         * build-aux/config.guess: Add execute permissions.
61814         * build-aux/config.sub: Likewise.
61815         * build-aux/gendocs.sh: Likewise.
61816
61817         Fix frexp on mingw.
61818         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
61819         cross-compiling.
61820         * doc/functions/frexp.texi (frexp): Document the bug.
61821
61822         Make cygwin fseeko check more reliable.
61823         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
61824         version numbers, rather than unrelated feature check.
61825         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
61826         * doc/functions/ftello.texi (ftello): Likewise.
61827         Reported by Bruno Haible.
61828
61829         * m4/strerror.m4: Bump version number.
61830
61831 2007-12-03  Bruno Haible  <bruno@clisp.org>
61832
61833         * doc/functions/mprotect.texi: Mention the mingw problem.
61834
61835 2007-12-03  Eric Blake  <ebb9@byu.net>
61836
61837         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
61838         REPLACE_STRERROR is initialized before this macro.
61839
61840 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
61841
61842         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
61843         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
61844         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
61845         put -lsec in even for programs other than 'ls'.  This fixes a problem
61846         for gettext reported by Bruno Haible in
61847         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
61848         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
61849         Add support for Solaris 10.  This isn't efficient, but should get the
61850         job done for now.
61851
61852 2007-12-03  James Youngman  <jay@gnu.org>
61853
61854         * doc/regexprops-generic.texi: change "an close-group" to "a
61855         close-group" and "illegal" to "not allowed".
61856
61857 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61858
61859         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
61860         pr_byname.h. Needed for the rare case when the maintainer has done
61861         "make maintainer-clean" in the source directory and then attempts a
61862         build outside the source directory.
61863         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
61864         scripts_byname.h.
61865
61866 2007-12-02  Martin Lambers <marlam@marlam.de>
61867             Bruno Haible  <bruno@clisp.org>
61868
61869         * lib/getpagesize.h: Remove file.
61870         * lib/unistd.in.h: Include declaration of getpagesize here.
61871         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
61872         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
61873         HAVE_SYS_PARAM_H.
61874         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
61875         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
61876         * modules/getpagesize (Files): Remove lib/getpagesize.h.
61877         (Depends-on): Add unistd.
61878         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
61879         (Include): Use <unistd.h> instead of getpagesize.h.
61880         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
61881         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
61882         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
61883         gl_GETPAGESIZE invocation, already handled by module dependency.
61884         * lib/pagealign_alloc.c: Don't include getpagesize.h.
61885
61886 2007-12-02  Bruno Haible  <bruno@clisp.org>
61887
61888         * modules/strings-tests: New file.
61889         * tests/test-strings.c: New file.
61890
61891         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
61892         * lib/strings.in.h: New file.
61893         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
61894         * m4/strings_h.m4: New file.
61895         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
61896         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
61897         * modules/strings: New file.
61898         * modules/string (Makefile.am): Update.
61899         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
61900         Reported by Karl Berry.
61901
61902 2007-12-01  Eric Blake  <ebb9@byu.net>
61903
61904         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
61905         accommodate fix in cygwin 1.5.25.
61906
61907 2007-12-01  Jim Meyering  <meyering@redhat.com>
61908
61909         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
61910         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
61911         that would inhibit utf8-optimization of a regexp containing line-
61912         or buffer-anchors, e.g., `^', `$'.
61913
61914 2007-11-30  Bruno Haible  <bruno@clisp.org>
61915
61916         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
61917         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
61918         glthread_recursive_lock_init.
61919         * lib/lock.c (glthread_recursive_lock_init)
61920         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
61921         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
61922
61923 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
61924
61925         New function qset_acl, like set_acl but with syscall semantics.
61926         * lib/acl.h (qset_acl): New decl.
61927         * lib/acl.c (qset_acl): New function.
61928         (set_acl): Use new function.  Use more-consistent diagnostics.
61929
61930 2007-11-28  Jim Meyering  <meyering@redhat.com>
61931
61932         * modules/physmem (License): Change from GPL to LGPLv2+.
61933
61934 2007-11-26  Bruno Haible  <bruno@clisp.org>
61935
61936         * lib/vasnprintf.c (decode_long_double): Don't abort if the
61937         'long double' type has excess precision.
61938         Reported by Jim Meyering in
61939         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
61940
61941 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61942
61943         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
61944         Sync from <http://gnu.org/licenses>.
61945         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
61946         with license text from same location.
61947         * doc/maintain.texi, doc/standards.texi:  Sync from
61948         <http://savannah.gnu.org/projects/gnustandards>.
61949
61950 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
61951         and Jim Meyering  <meyering@redhat.com>
61952
61953         Adjust getdate' grammar to accept a slightly more regular language.
61954         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
61955         Before, the former was rejected.
61956         * lib/getdate.y (digits_to_date_time): New function, factored
61957         out of ...
61958         (number): ...here.  Just call digits_to_date_time.
61959         (hybrid): New non-terminal to handle an <unsigned number,
61960         signed relative offset> sequence consistently.
61961
61962 2007-11-18  Jim Meyering  <meyering@redhat.com>
61963
61964         Pull my changes from coreutils:
61965         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
61966         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
61967         use of $gnulib_tool_option_extras, so that it's separated from the
61968         preceding argument.
61969
61970         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
61971         * build-aux/bootstrap (cp_mark_as_generated): Create any required
61972         parent destination directories before copying a file into place.
61973
61974 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
61975
61976         bootstrap: work also with 4-argument variant of AC_INIT
61977         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
61978
61979 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
61980
61981         Port test-getaddrinfo to Solaris.
61982         Problem reported by Bruno Haible in
61983         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
61984         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
61985         explanation of setting 'hints'.
61986         Don't reject an implementation merely because it returns EAI_SERVICE.
61987         (EAI_SERVICE): Define to 0 if not defined.
61988
61989 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
61990
61991         The license of gnu-make and posix-shell is now "GPLed build tool".
61992         * modules/gnu-make (License): Likewise.
61993         * modules/posix-shell (License): Likewise.
61994
61995         New module posix-shell, for determining a POSIX shell
61996         or perhaps something that is close enough to a POSIX shell.
61997         * m4/posix-shell.m4: New file.
61998         * modules/posix-shell: New file.
61999
62000         * MODULES.html.sh: Mention new module.
62001
62002         New module gnu-make, for determining whether we're using GNU Make.
62003         * m4/gnu-make.m4: New file.
62004         * modules/gnu-make: New file.
62005         * MODULES.html.sh: Mention new module.
62006
62007 2007-11-14  Jim Meyering  <meyering@redhat.com>
62008
62009         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
62010         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
62011         use this macro to create a function _definition_.
62012         Remove useless "#undef ARGMATCH_DIE".
62013
62014 2007-11-14  Bruno Haible  <bruno@clisp.org>
62015
62016         * lib/config.charset: Update for OpenBSD 4.1.
62017         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
62018
62019 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
62020
62021         Document 64-bit #if problems in stdint.texi.
62022         * doc/headers/stdint.texi (stdint.h): Mention problems with
62023         64-bit-#if, and how to work around them.
62024
62025         Don't insist on 'long long int' support in the preprocessor.  It
62026         breaks too many things.  For example, PRIdMAX still uses a 'long
62027         long int' format with the latest Sun compiler, even though
62028         HAVE_LONG_LONG_INT isn't defined due to that compiler's
62029         preprocessor problem.  This causes the latest coreutils to dump
62030         core on Solaris 10 sparc with the Sun C compiler.
62031         Instead, fix the 2007-10-16 problem in a different way, by evaluating
62032         the troublesome expressions at configure-time, not at #if-time.
62033         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
62034         preprocessor.
62035         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
62036         compile-time C checks, done at 'configure'-time.
62037         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
62038         * modules/inttypes (Makefile): Substitute the new symbols that
62039         gl_INTTYPES_H now generates.
62040         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
62041
62042 2007-11-12  Bruno Haible  <bruno@clisp.org>
62043
62044         Tests for Unicode character classification functions.
62045
62046         * modules/unictype/bidicategory-byname-tests: New file.
62047         * modules/unictype/bidicategory-name-tests: New file.
62048         * modules/unictype/bidicategory-of-tests: New file.
62049         * modules/unictype/bidicategory-test-tests: New file.
62050         * modules/unictype/block-list-tests: New file.
62051         * modules/unictype/block-of-tests: New file.
62052         * modules/unictype/block-test-tests: New file.
62053         * modules/unictype/category-C-tests: New file.
62054         * modules/unictype/category-Cc-tests: New file.
62055         * modules/unictype/category-Cf-tests: New file.
62056         * modules/unictype/category-Cn-tests: New file.
62057         * modules/unictype/category-Co-tests: New file.
62058         * modules/unictype/category-Cs-tests: New file.
62059         * modules/unictype/category-L-tests: New file.
62060         * modules/unictype/category-Ll-tests: New file.
62061         * modules/unictype/category-Lm-tests: New file.
62062         * modules/unictype/category-Lo-tests: New file.
62063         * modules/unictype/category-Lt-tests: New file.
62064         * modules/unictype/category-Lu-tests: New file.
62065         * modules/unictype/category-M-tests: New file.
62066         * modules/unictype/category-Mc-tests: New file.
62067         * modules/unictype/category-Me-tests: New file.
62068         * modules/unictype/category-Mn-tests: New file.
62069         * modules/unictype/category-N-tests: New file.
62070         * modules/unictype/category-Nd-tests: New file.
62071         * modules/unictype/category-Nl-tests: New file.
62072         * modules/unictype/category-No-tests: New file.
62073         * modules/unictype/category-P-tests: New file.
62074         * modules/unictype/category-Pc-tests: New file.
62075         * modules/unictype/category-Pd-tests: New file.
62076         * modules/unictype/category-Pe-tests: New file.
62077         * modules/unictype/category-Pf-tests: New file.
62078         * modules/unictype/category-Pi-tests: New file.
62079         * modules/unictype/category-Po-tests: New file.
62080         * modules/unictype/category-Ps-tests: New file.
62081         * modules/unictype/category-S-tests: New file.
62082         * modules/unictype/category-Sc-tests: New file.
62083         * modules/unictype/category-Sk-tests: New file.
62084         * modules/unictype/category-Sm-tests: New file.
62085         * modules/unictype/category-So-tests: New file.
62086         * modules/unictype/category-Z-tests: New file.
62087         * modules/unictype/category-Zl-tests: New file.
62088         * modules/unictype/category-Zp-tests: New file.
62089         * modules/unictype/category-Zs-tests: New file.
62090         * modules/unictype/category-and-not-tests: New file.
62091         * modules/unictype/category-and-tests: New file.
62092         * modules/unictype/category-byname-tests: New file.
62093         * modules/unictype/category-name-tests: New file.
62094         * modules/unictype/category-none-tests: New file.
62095         * modules/unictype/category-of-tests: New file.
62096         * modules/unictype/category-or-tests: New file.
62097         * modules/unictype/category-test-withtable-tests: New file.
62098         * modules/unictype/combining-class-tests: New file.
62099         * modules/unictype/ctype-alnum-tests: New file.
62100         * modules/unictype/ctype-alpha-tests: New file.
62101         * modules/unictype/ctype-blank-tests: New file.
62102         * modules/unictype/ctype-cntrl-tests: New file.
62103         * modules/unictype/ctype-digit-tests: New file.
62104         * modules/unictype/ctype-graph-tests: New file.
62105         * modules/unictype/ctype-lower-tests: New file.
62106         * modules/unictype/ctype-print-tests: New file.
62107         * modules/unictype/ctype-punct-tests: New file.
62108         * modules/unictype/ctype-space-tests: New file.
62109         * modules/unictype/ctype-upper-tests: New file.
62110         * modules/unictype/ctype-xdigit-tests: New file.
62111         * modules/unictype/decimal-digit-tests: New file.
62112         * modules/unictype/digit-tests: New file.
62113         * modules/unictype/mirror-tests: New file.
62114         * modules/unictype/numeric-tests: New file.
62115         * modules/unictype/property-alphabetic-tests: New file.
62116         * modules/unictype/property-ascii-hex-digit-tests: New file.
62117         * modules/unictype/property-bidi-arabic-digit-tests: New file.
62118         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
62119         * modules/unictype/property-bidi-block-separator-tests: New file.
62120         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
62121         * modules/unictype/property-bidi-common-separator-tests: New file.
62122         * modules/unictype/property-bidi-control-tests: New file.
62123         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
62124         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
62125         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
62126         * modules/unictype/property-bidi-european-digit-tests: New file.
62127         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
62128         * modules/unictype/property-bidi-left-to-right-tests: New file.
62129         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
62130         * modules/unictype/property-bidi-other-neutral-tests: New file.
62131         * modules/unictype/property-bidi-pdf-tests: New file.
62132         * modules/unictype/property-bidi-segment-separator-tests: New file.
62133         * modules/unictype/property-bidi-whitespace-tests: New file.
62134         * modules/unictype/property-byname-tests: New file.
62135         * modules/unictype/property-combining-tests: New file.
62136         * modules/unictype/property-composite-tests: New file.
62137         * modules/unictype/property-currency-symbol-tests: New file.
62138         * modules/unictype/property-dash-tests: New file.
62139         * modules/unictype/property-decimal-digit-tests: New file.
62140         * modules/unictype/property-default-ignorable-code-point-tests: New file.
62141         * modules/unictype/property-deprecated-tests: New file.
62142         * modules/unictype/property-diacritic-tests: New file.
62143         * modules/unictype/property-extender-tests: New file.
62144         * modules/unictype/property-format-control-tests: New file.
62145         * modules/unictype/property-grapheme-base-tests: New file.
62146         * modules/unictype/property-grapheme-extend-tests: New file.
62147         * modules/unictype/property-grapheme-link-tests: New file.
62148         * modules/unictype/property-hex-digit-tests: New file.
62149         * modules/unictype/property-hyphen-tests: New file.
62150         * modules/unictype/property-id-continue-tests: New file.
62151         * modules/unictype/property-id-start-tests: New file.
62152         * modules/unictype/property-ideographic-tests: New file.
62153         * modules/unictype/property-ids-binary-operator-tests: New file.
62154         * modules/unictype/property-ids-trinary-operator-tests: New file.
62155         * modules/unictype/property-ignorable-control-tests: New file.
62156         * modules/unictype/property-iso-control-tests: New file.
62157         * modules/unictype/property-join-control-tests: New file.
62158         * modules/unictype/property-left-of-pair-tests: New file.
62159         * modules/unictype/property-line-separator-tests: New file.
62160         * modules/unictype/property-logical-order-exception-tests: New file.
62161         * modules/unictype/property-lowercase-tests: New file.
62162         * modules/unictype/property-math-tests: New file.
62163         * modules/unictype/property-non-break-tests: New file.
62164         * modules/unictype/property-not-a-character-tests: New file.
62165         * modules/unictype/property-numeric-tests: New file.
62166         * modules/unictype/property-other-alphabetic-tests: New file.
62167         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
62168         * modules/unictype/property-other-grapheme-extend-tests: New file.
62169         * modules/unictype/property-other-id-continue-tests: New file.
62170         * modules/unictype/property-other-id-start-tests: New file.
62171         * modules/unictype/property-other-lowercase-tests: New file.
62172         * modules/unictype/property-other-math-tests: New file.
62173         * modules/unictype/property-other-uppercase-tests: New file.
62174         * modules/unictype/property-paired-punctuation-tests: New file.
62175         * modules/unictype/property-paragraph-separator-tests: New file.
62176         * modules/unictype/property-pattern-syntax-tests: New file.
62177         * modules/unictype/property-pattern-white-space-tests: New file.
62178         * modules/unictype/property-private-use-tests: New file.
62179         * modules/unictype/property-punctuation-tests: New file.
62180         * modules/unictype/property-quotation-mark-tests: New file.
62181         * modules/unictype/property-radical-tests: New file.
62182         * modules/unictype/property-sentence-terminal-tests: New file.
62183         * modules/unictype/property-soft-dotted-tests: New file.
62184         * modules/unictype/property-space-tests: New file.
62185         * modules/unictype/property-terminal-punctuation-tests: New file.
62186         * modules/unictype/property-test-tests: New file.
62187         * modules/unictype/property-titlecase-tests: New file.
62188         * modules/unictype/property-unassigned-code-value-tests: New file.
62189         * modules/unictype/property-unified-ideograph-tests: New file.
62190         * modules/unictype/property-uppercase-tests: New file.
62191         * modules/unictype/property-variation-selector-tests: New file.
62192         * modules/unictype/property-white-space-tests: New file.
62193         * modules/unictype/property-xid-continue-tests: New file.
62194         * modules/unictype/property-xid-start-tests: New file.
62195         * modules/unictype/property-zero-width-tests: New file.
62196         * modules/unictype/scripts-tests: New file.
62197         * modules/unictype/syntax-c-ident-tests: New file.
62198         * modules/unictype/syntax-c-whitespace-tests: New file.
62199         * modules/unictype/syntax-java-ident-tests: New file.
62200         * modules/unictype/syntax-java-whitespace-tests: New file.
62201         * tests/unictype/test-bidi_byname.c: New file.
62202         * tests/unictype/test-bidi_name.c: New file.
62203         * tests/unictype/test-bidi_of.c: New file.
62204         * tests/unictype/test-bidi_test.c: New file.
62205         * tests/unictype/test-block_list.c: New file.
62206         * tests/unictype/test-block_of.c: New file.
62207         * tests/unictype/test-block_test.c: New file.
62208         * tests/unictype/test-categ_and.c: New file.
62209         * tests/unictype/test-categ_and_not.c: New file.
62210         * tests/unictype/test-categ_byname.c: New file.
62211         * tests/unictype/test-categ_name.c: New file.
62212         * tests/unictype/test-categ_none.c: New file.
62213         * tests/unictype/test-categ_of.c: New file.
62214         * tests/unictype/test-categ_or.c: New file.
62215         * tests/unictype/test-categ_test_withtable.c: New file.
62216         * tests/unictype/test-combining.c: New file.
62217         * tests/unictype/test-decdigit.c: New file.
62218         * tests/unictype/test-digit.c: New file.
62219         * tests/unictype/test-mirror.c: New file.
62220         * tests/unictype/test-numeric.c: New file.
62221         * tests/unictype/test-pr_byname.c: New file.
62222         * tests/unictype/test-pr_test.c: New file.
62223         * tests/unictype/test-predicate-part1.h: New file.
62224         * tests/unictype/test-predicate-part2.h: New file.
62225         * tests/unictype/test-scripts.c: New file.
62226         * tests/unictype/test-sy_c_ident.c: New file.
62227         * tests/unictype/test-sy_java_ident.c: New file.
62228
62229         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
62230         for Unicode 5.0.0.
62231         * tests/unictype/test-categ_Cc.c: Likewise.
62232         * tests/unictype/test-categ_Cf.c: Likewise.
62233         * tests/unictype/test-categ_Cn.c: Likewise.
62234         * tests/unictype/test-categ_Co.c: Likewise.
62235         * tests/unictype/test-categ_Cs.c: Likewise.
62236         * tests/unictype/test-categ_L.c: Likewise.
62237         * tests/unictype/test-categ_Ll.c: Likewise.
62238         * tests/unictype/test-categ_Lm.c: Likewise.
62239         * tests/unictype/test-categ_Lo.c: Likewise.
62240         * tests/unictype/test-categ_Lt.c: Likewise.
62241         * tests/unictype/test-categ_Lu.c: Likewise.
62242         * tests/unictype/test-categ_M.c: Likewise.
62243         * tests/unictype/test-categ_Mc.c: Likewise.
62244         * tests/unictype/test-categ_Me.c: Likewise.
62245         * tests/unictype/test-categ_Mn.c: Likewise.
62246         * tests/unictype/test-categ_N.c: Likewise.
62247         * tests/unictype/test-categ_Nd.c: Likewise.
62248         * tests/unictype/test-categ_Nl.c: Likewise.
62249         * tests/unictype/test-categ_No.c: Likewise.
62250         * tests/unictype/test-categ_P.c: Likewise.
62251         * tests/unictype/test-categ_Pc.c: Likewise.
62252         * tests/unictype/test-categ_Pd.c: Likewise.
62253         * tests/unictype/test-categ_Pe.c: Likewise.
62254         * tests/unictype/test-categ_Pf.c: Likewise.
62255         * tests/unictype/test-categ_Pi.c: Likewise.
62256         * tests/unictype/test-categ_Po.c: Likewise.
62257         * tests/unictype/test-categ_Ps.c: Likewise.
62258         * tests/unictype/test-categ_S.c: Likewise.
62259         * tests/unictype/test-categ_Sc.c: Likewise.
62260         * tests/unictype/test-categ_Sk.c: Likewise.
62261         * tests/unictype/test-categ_Sm.c: Likewise.
62262         * tests/unictype/test-categ_So.c: Likewise.
62263         * tests/unictype/test-categ_Z.c: Likewise.
62264         * tests/unictype/test-categ_Zl.c: Likewise.
62265         * tests/unictype/test-categ_Zp.c: Likewise.
62266         * tests/unictype/test-categ_Zs.c: Likewise.
62267         * tests/unictype/test-ctype_alnum.c: Likewise.
62268         * tests/unictype/test-ctype_alpha.c: Likewise.
62269         * tests/unictype/test-ctype_blank.c: Likewise.
62270         * tests/unictype/test-ctype_cntrl.c: Likewise.
62271         * tests/unictype/test-ctype_digit.c: Likewise.
62272         * tests/unictype/test-ctype_graph.c: Likewise.
62273         * tests/unictype/test-ctype_lower.c: Likewise.
62274         * tests/unictype/test-ctype_print.c: Likewise.
62275         * tests/unictype/test-ctype_punct.c: Likewise.
62276         * tests/unictype/test-ctype_space.c: Likewise.
62277         * tests/unictype/test-ctype_upper.c: Likewise.
62278         * tests/unictype/test-ctype_xdigit.c: Likewise.
62279         * tests/unictype/test-decdigit.h: Likewise.
62280         * tests/unictype/test-digit.h: Likewise.
62281         * tests/unictype/test-numeric.h: Likewise.
62282         * tests/unictype/test-pr_alphabetic.c: Likewise.
62283         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
62284         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
62285         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
62286         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
62287         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
62288         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
62289         * tests/unictype/test-pr_bidi_control.c: Likewise.
62290         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
62291         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
62292         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
62293         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
62294         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
62295         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
62296         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
62297         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
62298         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
62299         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
62300         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
62301         * tests/unictype/test-pr_combining.c: Likewise.
62302         * tests/unictype/test-pr_composite.c: Likewise.
62303         * tests/unictype/test-pr_currency_symbol.c: Likewise.
62304         * tests/unictype/test-pr_dash.c: Likewise.
62305         * tests/unictype/test-pr_decimal_digit.c: Likewise.
62306         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
62307         * tests/unictype/test-pr_deprecated.c: Likewise.
62308         * tests/unictype/test-pr_diacritic.c: Likewise.
62309         * tests/unictype/test-pr_extender.c: Likewise.
62310         * tests/unictype/test-pr_format_control.c: Likewise.
62311         * tests/unictype/test-pr_grapheme_base.c: Likewise.
62312         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
62313         * tests/unictype/test-pr_grapheme_link.c: Likewise.
62314         * tests/unictype/test-pr_hex_digit.c: Likewise.
62315         * tests/unictype/test-pr_hyphen.c: Likewise.
62316         * tests/unictype/test-pr_id_continue.c: Likewise.
62317         * tests/unictype/test-pr_id_start.c: Likewise.
62318         * tests/unictype/test-pr_ideographic.c: Likewise.
62319         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
62320         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
62321         * tests/unictype/test-pr_ignorable_control.c: Likewise.
62322         * tests/unictype/test-pr_iso_control.c: Likewise.
62323         * tests/unictype/test-pr_join_control.c: Likewise.
62324         * tests/unictype/test-pr_left_of_pair.c: Likewise.
62325         * tests/unictype/test-pr_line_separator.c: Likewise.
62326         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
62327         * tests/unictype/test-pr_lowercase.c: Likewise.
62328         * tests/unictype/test-pr_math.c: Likewise.
62329         * tests/unictype/test-pr_non_break.c: Likewise.
62330         * tests/unictype/test-pr_not_a_character.c: Likewise.
62331         * tests/unictype/test-pr_numeric.c: Likewise.
62332         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
62333         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
62334         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
62335         * tests/unictype/test-pr_other_id_continue.c: Likewise.
62336         * tests/unictype/test-pr_other_id_start.c: Likewise.
62337         * tests/unictype/test-pr_other_lowercase.c: Likewise.
62338         * tests/unictype/test-pr_other_math.c: Likewise.
62339         * tests/unictype/test-pr_other_uppercase.c: Likewise.
62340         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
62341         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
62342         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
62343         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
62344         * tests/unictype/test-pr_private_use.c: Likewise.
62345         * tests/unictype/test-pr_punctuation.c: Likewise.
62346         * tests/unictype/test-pr_quotation_mark.c: Likewise.
62347         * tests/unictype/test-pr_radical.c: Likewise.
62348         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
62349         * tests/unictype/test-pr_soft_dotted.c: Likewise.
62350         * tests/unictype/test-pr_space.c: Likewise.
62351         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
62352         * tests/unictype/test-pr_titlecase.c: Likewise.
62353         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
62354         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
62355         * tests/unictype/test-pr_uppercase.c: Likewise.
62356         * tests/unictype/test-pr_variation_selector.c: Likewise.
62357         * tests/unictype/test-pr_white_space.c: Likewise.
62358         * tests/unictype/test-pr_xid_continue.c: Likewise.
62359         * tests/unictype/test-pr_xid_start.c: Likewise.
62360         * tests/unictype/test-pr_zero_width.c: Likewise.
62361         * tests/unictype/test-sy_c_whitespace.c: Likewise.
62362         * tests/unictype/test-sy_java_whitespace.c: Likewise.
62363
62364 2007-11-12  Bruno Haible  <bruno@clisp.org>
62365
62366         Unicode character classification functions.
62367         * lib/unictype.h: New file.
62368         * modules/unictype/base: New file.
62369         * modules/unictype/category-L: New file.
62370         * modules/unictype/category-Lu: New file.
62371         * modules/unictype/category-Ll: New file.
62372         * modules/unictype/category-Lt: New file.
62373         * modules/unictype/category-Lm: New file.
62374         * modules/unictype/category-Lo: New file.
62375         * modules/unictype/category-M: New file.
62376         * modules/unictype/category-Mn: New file.
62377         * modules/unictype/category-Mc: New file.
62378         * modules/unictype/category-Me: New file.
62379         * modules/unictype/category-N: New file.
62380         * modules/unictype/category-Nd: New file.
62381         * modules/unictype/category-Nl: New file.
62382         * modules/unictype/category-No: New file.
62383         * modules/unictype/category-P: New file.
62384         * modules/unictype/category-Pc: New file.
62385         * modules/unictype/category-Pd: New file.
62386         * modules/unictype/category-Ps: New file.
62387         * modules/unictype/category-Pe: New file.
62388         * modules/unictype/category-Pi: New file.
62389         * modules/unictype/category-Pf: New file.
62390         * modules/unictype/category-Po: New file.
62391         * modules/unictype/category-S: New file.
62392         * modules/unictype/category-Sm: New file.
62393         * modules/unictype/category-Sc: New file.
62394         * modules/unictype/category-Sk: New file.
62395         * modules/unictype/category-So: New file.
62396         * modules/unictype/category-Z: New file.
62397         * modules/unictype/category-Zs: New file.
62398         * modules/unictype/category-Zl: New file.
62399         * modules/unictype/category-Zp: New file.
62400         * modules/unictype/category-C: New file.
62401         * modules/unictype/category-Cc: New file.
62402         * modules/unictype/category-Cf: New file.
62403         * modules/unictype/category-Cs: New file.
62404         * modules/unictype/category-Co: New file.
62405         * modules/unictype/category-Cn: New file.
62406         * modules/unictype/category-or: New file.
62407         * modules/unictype/category-of: New file.
62408         * modules/unictype/category-test: New file.
62409         * modules/unictype/category-test-withtable: New file.
62410         * modules/unictype/category-byname: New file.
62411         * modules/unictype/category-none: New file.
62412         * modules/unictype/category-and: New file.
62413         * modules/unictype/category-and-not: New file.
62414         * modules/unictype/category-name: New file.
62415         * modules/unictype/combining-class: New file.
62416         * modules/unictype/category-all: New file.
62417         * modules/unictype/bidicategory-all: New file.
62418         * modules/unictype/bidicategory-byname: New file.
62419         * modules/unictype/bidicategory-name: New file.
62420         * modules/unictype/bidicategory-of: New file.
62421         * modules/unictype/bidicategory-test: New file.
62422         * modules/unictype/decimal-digit: New file.
62423         * modules/unictype/digit: New file.
62424         * modules/unictype/numeric: New file.
62425         * modules/unictype/mirror: New file.
62426         * modules/unictype/property-white-space: New file.
62427         * modules/unictype/property-alphabetic: New file.
62428         * modules/unictype/property-other-alphabetic: New file.
62429         * modules/unictype/property-not-a-character: New file.
62430         * modules/unictype/property-default-ignorable-code-point: New file.
62431         * modules/unictype/property-other-default-ignorable-code-point: New
62432         file.
62433         * modules/unictype/property-deprecated: New file.
62434         * modules/unictype/property-logical-order-exception: New file.
62435         * modules/unictype/property-variation-selector: New file.
62436         * modules/unictype/property-private-use: New file.
62437         * modules/unictype/property-unassigned-code-value: New file.
62438         * modules/unictype/property-uppercase: New file.
62439         * modules/unictype/property-other-uppercase: New file.
62440         * modules/unictype/property-lowercase: New file.
62441         * modules/unictype/property-other-lowercase: New file.
62442         * modules/unictype/property-titlecase: New file.
62443         * modules/unictype/property-soft-dotted: New file.
62444         * modules/unictype/property-id-start: New file.
62445         * modules/unictype/property-other-id-start: New file.
62446         * modules/unictype/property-id-continue: New file.
62447         * modules/unictype/property-other-id-continue: New file.
62448         * modules/unictype/property-xid-start: New file.
62449         * modules/unictype/property-xid-continue: New file.
62450         * modules/unictype/property-pattern-white-space: New file.
62451         * modules/unictype/property-pattern-syntax: New file.
62452         * modules/unictype/property-join-control: New file.
62453         * modules/unictype/property-grapheme-base: New file.
62454         * modules/unictype/property-grapheme-extend: New file.
62455         * modules/unictype/property-other-grapheme-extend: New file.
62456         * modules/unictype/property-grapheme-link: New file.
62457         * modules/unictype/property-bidi-control: New file.
62458         * modules/unictype/property-bidi-left-to-right: New file.
62459         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
62460         * modules/unictype/property-bidi-arabic-right-to-left: New file.
62461         * modules/unictype/property-bidi-european-digit: New file.
62462         * modules/unictype/property-bidi-eur-num-separator: New file.
62463         * modules/unictype/property-bidi-eur-num-terminator: New file.
62464         * modules/unictype/property-bidi-arabic-digit: New file.
62465         * modules/unictype/property-bidi-common-separator: New file.
62466         * modules/unictype/property-bidi-block-separator: New file.
62467         * modules/unictype/property-bidi-segment-separator: New file.
62468         * modules/unictype/property-bidi-whitespace: New file.
62469         * modules/unictype/property-bidi-non-spacing-mark: New file.
62470         * modules/unictype/property-bidi-boundary-neutral: New file.
62471         * modules/unictype/property-bidi-pdf: New file.
62472         * modules/unictype/property-bidi-embedding-or-override: New file.
62473         * modules/unictype/property-bidi-other-neutral: New file.
62474         * modules/unictype/property-hex-digit: New file.
62475         * modules/unictype/property-ascii-hex-digit: New file.
62476         * modules/unictype/property-ideographic: New file.
62477         * modules/unictype/property-unified-ideograph: New file.
62478         * modules/unictype/property-radical: New file.
62479         * modules/unictype/property-ids-binary-operator: New file.
62480         * modules/unictype/property-ids-trinary-operator: New file.
62481         * modules/unictype/property-zero-width: New file.
62482         * modules/unictype/property-space: New file.
62483         * modules/unictype/property-non-break: New file.
62484         * modules/unictype/property-iso-control: New file.
62485         * modules/unictype/property-format-control: New file.
62486         * modules/unictype/property-dash: New file.
62487         * modules/unictype/property-hyphen: New file.
62488         * modules/unictype/property-punctuation: New file.
62489         * modules/unictype/property-line-separator: New file.
62490         * modules/unictype/property-paragraph-separator: New file.
62491         * modules/unictype/property-quotation-mark: New file.
62492         * modules/unictype/property-sentence-terminal: New file.
62493         * modules/unictype/property-terminal-punctuation: New file.
62494         * modules/unictype/property-currency-symbol: New file.
62495         * modules/unictype/property-math: New file.
62496         * modules/unictype/property-other-math: New file.
62497         * modules/unictype/property-paired-punctuation: New file.
62498         * modules/unictype/property-left-of-pair: New file.
62499         * modules/unictype/property-combining: New file.
62500         * modules/unictype/property-composite: New file.
62501         * modules/unictype/property-decimal-digit: New file.
62502         * modules/unictype/property-numeric: New file.
62503         * modules/unictype/property-diacritic: New file.
62504         * modules/unictype/property-extender: New file.
62505         * modules/unictype/property-ignorable-control: New file.
62506         * modules/unictype/property-test: New file.
62507         * modules/unictype/property-byname: New file.
62508         * modules/unictype/property-all: New file.
62509         * modules/unictype/scripts: New file.
62510         * modules/unictype/scripts-all: New file.
62511         * modules/unictype/block-of: New file.
62512         * modules/unictype/block-test: New file.
62513         * modules/unictype/block-list: New file.
62514         * modules/unictype/block-all: New file.
62515         * modules/unictype/syntax-c-whitespace: New file.
62516         * modules/unictype/syntax-java-whitespace: New file.
62517         * modules/unictype/syntax-c-ident: New file.
62518         * modules/unictype/syntax-java-ident: New file.
62519         * modules/unictype/ctype-alnum: New file.
62520         * modules/unictype/ctype-alpha: New file.
62521         * modules/unictype/ctype-cntrl: New file.
62522         * modules/unictype/ctype-digit: New file.
62523         * modules/unictype/ctype-graph: New file.
62524         * modules/unictype/ctype-lower: New file.
62525         * modules/unictype/ctype-print: New file.
62526         * modules/unictype/ctype-punct: New file.
62527         * modules/unictype/ctype-space: New file.
62528         * modules/unictype/ctype-upper: New file.
62529         * modules/unictype/ctype-xdigit: New file.
62530         * modules/unictype/ctype-blank: New file.
62531         * lib/unictype/bidi_byname.c: New file.
62532         * lib/unictype/bidi_name.c: New file.
62533         * lib/unictype/bidi_of.c: New file.
62534         * lib/unictype/bidi_test.c: New file.
62535         * lib/unictype/bitmap.h: New file.
62536         * lib/unictype/block_test.c: New file.
62537         * lib/unictype/blocks.c: New file.
62538         * lib/unictype/categ_C.c: New file.
62539         * lib/unictype/categ_Cc.c: New file.
62540         * lib/unictype/categ_Cf.c: New file.
62541         * lib/unictype/categ_Cn.c: New file.
62542         * lib/unictype/categ_Co.c: New file.
62543         * lib/unictype/categ_Cs.c: New file.
62544         * lib/unictype/categ_L.c: New file.
62545         * lib/unictype/categ_Ll.c: New file.
62546         * lib/unictype/categ_Lm.c: New file.
62547         * lib/unictype/categ_Lo.c: New file.
62548         * lib/unictype/categ_Lt.c: New file.
62549         * lib/unictype/categ_Lu.c: New file.
62550         * lib/unictype/categ_M.c: New file.
62551         * lib/unictype/categ_Mc.c: New file.
62552         * lib/unictype/categ_Me.c: New file.
62553         * lib/unictype/categ_Mn.c: New file.
62554         * lib/unictype/categ_N.c: New file.
62555         * lib/unictype/categ_Nd.c: New file.
62556         * lib/unictype/categ_Nl.c: New file.
62557         * lib/unictype/categ_No.c: New file.
62558         * lib/unictype/categ_P.c: New file.
62559         * lib/unictype/categ_Pc.c: New file.
62560         * lib/unictype/categ_Pd.c: New file.
62561         * lib/unictype/categ_Pe.c: New file.
62562         * lib/unictype/categ_Pf.c: New file.
62563         * lib/unictype/categ_Pi.c: New file.
62564         * lib/unictype/categ_Po.c: New file.
62565         * lib/unictype/categ_Ps.c: New file.
62566         * lib/unictype/categ_S.c: New file.
62567         * lib/unictype/categ_Sc.c: New file.
62568         * lib/unictype/categ_Sk.c: New file.
62569         * lib/unictype/categ_Sm.c: New file.
62570         * lib/unictype/categ_So.c: New file.
62571         * lib/unictype/categ_Z.c: New file.
62572         * lib/unictype/categ_Zl.c: New file.
62573         * lib/unictype/categ_Zp.c: New file.
62574         * lib/unictype/categ_Zs.c: New file.
62575         * lib/unictype/categ_and.c: New file.
62576         * lib/unictype/categ_and_not.c: New file.
62577         * lib/unictype/categ_byname.c: New file.
62578         * lib/unictype/categ_name.c: New file.
62579         * lib/unictype/categ_none.c: New file.
62580         * lib/unictype/categ_of.c: New file.
62581         * lib/unictype/categ_or.c: New file.
62582         * lib/unictype/categ_test.c: New file.
62583         * lib/unictype/combining.c: New file.
62584         * lib/unictype/ctype_alnum.c: New file.
62585         * lib/unictype/ctype_alpha.c: New file.
62586         * lib/unictype/ctype_blank.c: New file.
62587         * lib/unictype/ctype_cntrl.c: New file.
62588         * lib/unictype/ctype_digit.c: New file.
62589         * lib/unictype/ctype_graph.c: New file.
62590         * lib/unictype/ctype_lower.c: New file.
62591         * lib/unictype/ctype_print.c: New file.
62592         * lib/unictype/ctype_punct.c: New file.
62593         * lib/unictype/ctype_space.c: New file.
62594         * lib/unictype/ctype_upper.c: New file.
62595         * lib/unictype/ctype_xdigit.c: New file.
62596         * lib/unictype/decdigit.c: New file.
62597         * lib/unictype/digit.c: New file.
62598         * lib/unictype/identsyntaxmap.h: New file.
62599         * lib/unictype/mirror.c: New file.
62600         * lib/unictype/numeric.c: New file.
62601         * lib/unictype/pr_alphabetic.c: New file.
62602         * lib/unictype/pr_ascii_hex_digit.c: New file.
62603         * lib/unictype/pr_bidi_arabic_digit.c: New file.
62604         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
62605         * lib/unictype/pr_bidi_block_separator.c: New file.
62606         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
62607         * lib/unictype/pr_bidi_common_separator.c: New file.
62608         * lib/unictype/pr_bidi_control.c: New file.
62609         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
62610         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
62611         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
62612         * lib/unictype/pr_bidi_european_digit.c: New file.
62613         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
62614         * lib/unictype/pr_bidi_left_to_right.c: New file.
62615         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
62616         * lib/unictype/pr_bidi_other_neutral.c: New file.
62617         * lib/unictype/pr_bidi_pdf.c: New file.
62618         * lib/unictype/pr_bidi_segment_separator.c: New file.
62619         * lib/unictype/pr_bidi_whitespace.c: New file.
62620         * lib/unictype/pr_byname.c: New file.
62621         * lib/unictype/pr_byname.gperf: New file.
62622         * lib/unictype/pr_combining.c: New file.
62623         * lib/unictype/pr_composite.c: New file.
62624         * lib/unictype/pr_currency_symbol.c: New file.
62625         * lib/unictype/pr_dash.c: New file.
62626         * lib/unictype/pr_decimal_digit.c: New file.
62627         * lib/unictype/pr_default_ignorable_code_point.c: New file.
62628         * lib/unictype/pr_deprecated.c: New file.
62629         * lib/unictype/pr_diacritic.c: New file.
62630         * lib/unictype/pr_extender.c: New file.
62631         * lib/unictype/pr_format_control.c: New file.
62632         * lib/unictype/pr_grapheme_base.c: New file.
62633         * lib/unictype/pr_grapheme_extend.c: New file.
62634         * lib/unictype/pr_grapheme_link.c: New file.
62635         * lib/unictype/pr_hex_digit.c: New file.
62636         * lib/unictype/pr_hyphen.c: New file.
62637         * lib/unictype/pr_id_continue.c: New file.
62638         * lib/unictype/pr_id_start.c: New file.
62639         * lib/unictype/pr_ideographic.c: New file.
62640         * lib/unictype/pr_ids_binary_operator.c: New file.
62641         * lib/unictype/pr_ids_trinary_operator.c: New file.
62642         * lib/unictype/pr_ignorable_control.c: New file.
62643         * lib/unictype/pr_iso_control.c: New file.
62644         * lib/unictype/pr_join_control.c: New file.
62645         * lib/unictype/pr_left_of_pair.c: New file.
62646         * lib/unictype/pr_line_separator.c: New file.
62647         * lib/unictype/pr_logical_order_exception.c: New file.
62648         * lib/unictype/pr_lowercase.c: New file.
62649         * lib/unictype/pr_math.c: New file.
62650         * lib/unictype/pr_non_break.c: New file.
62651         * lib/unictype/pr_not_a_character.c: New file.
62652         * lib/unictype/pr_numeric.c: New file.
62653         * lib/unictype/pr_other_alphabetic.c: New file.
62654         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
62655         * lib/unictype/pr_other_grapheme_extend.c: New file.
62656         * lib/unictype/pr_other_id_continue.c: New file.
62657         * lib/unictype/pr_other_id_start.c: New file.
62658         * lib/unictype/pr_other_lowercase.c: New file.
62659         * lib/unictype/pr_other_math.c: New file.
62660         * lib/unictype/pr_other_uppercase.c: New file.
62661         * lib/unictype/pr_paired_punctuation.c: New file.
62662         * lib/unictype/pr_paragraph_separator.c: New file.
62663         * lib/unictype/pr_pattern_syntax.c: New file.
62664         * lib/unictype/pr_pattern_white_space.c: New file.
62665         * lib/unictype/pr_private_use.c: New file.
62666         * lib/unictype/pr_punctuation.c: New file.
62667         * lib/unictype/pr_quotation_mark.c: New file.
62668         * lib/unictype/pr_radical.c: New file.
62669         * lib/unictype/pr_sentence_terminal.c: New file.
62670         * lib/unictype/pr_soft_dotted.c: New file.
62671         * lib/unictype/pr_space.c: New file.
62672         * lib/unictype/pr_terminal_punctuation.c: New file.
62673         * lib/unictype/pr_test.c: New file.
62674         * lib/unictype/pr_titlecase.c: New file.
62675         * lib/unictype/pr_unassigned_code_value.c: New file.
62676         * lib/unictype/pr_unified_ideograph.c: New file.
62677         * lib/unictype/pr_uppercase.c: New file.
62678         * lib/unictype/pr_variation_selector.c: New file.
62679         * lib/unictype/pr_white_space.c: New file.
62680         * lib/unictype/pr_xid_continue.c: New file.
62681         * lib/unictype/pr_xid_start.c: New file.
62682         * lib/unictype/pr_zero_width.c: New file.
62683         * lib/unictype/scripts.c: New file.
62684         * lib/unictype/sy_c_ident.c: New file.
62685         * lib/unictype/sy_c_whitespace.c: New file.
62686         * lib/unictype/sy_java_ident.c: New file.
62687         * lib/unictype/sy_java_whitespace.c: New file.
62688
62689         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
62690         Unicode 5.0.0.
62691         * lib/unictype/blocks.h: Likewise.
62692         * lib/unictype/categ_C.h: Likewise.
62693         * lib/unictype/categ_Cc.h: Likewise.
62694         * lib/unictype/categ_Cf.h: Likewise.
62695         * lib/unictype/categ_Cn.h: Likewise.
62696         * lib/unictype/categ_Co.h: Likewise.
62697         * lib/unictype/categ_Cs.h: Likewise.
62698         * lib/unictype/categ_L.h: Likewise.
62699         * lib/unictype/categ_Ll.h: Likewise.
62700         * lib/unictype/categ_Lm.h: Likewise.
62701         * lib/unictype/categ_Lo.h: Likewise.
62702         * lib/unictype/categ_Lt.h: Likewise.
62703         * lib/unictype/categ_Lu.h: Likewise.
62704         * lib/unictype/categ_M.h: Likewise.
62705         * lib/unictype/categ_Mc.h: Likewise.
62706         * lib/unictype/categ_Me.h: Likewise.
62707         * lib/unictype/categ_Mn.h: Likewise.
62708         * lib/unictype/categ_N.h: Likewise.
62709         * lib/unictype/categ_Nd.h: Likewise.
62710         * lib/unictype/categ_Nl.h: Likewise.
62711         * lib/unictype/categ_No.h: Likewise.
62712         * lib/unictype/categ_P.h: Likewise.
62713         * lib/unictype/categ_Pc.h: Likewise.
62714         * lib/unictype/categ_Pd.h: Likewise.
62715         * lib/unictype/categ_Pe.h: Likewise.
62716         * lib/unictype/categ_Pf.h: Likewise.
62717         * lib/unictype/categ_Pi.h: Likewise.
62718         * lib/unictype/categ_Po.h: Likewise.
62719         * lib/unictype/categ_Ps.h: Likewise.
62720         * lib/unictype/categ_S.h: Likewise.
62721         * lib/unictype/categ_Sc.h: Likewise.
62722         * lib/unictype/categ_Sk.h: Likewise.
62723         * lib/unictype/categ_Sm.h: Likewise.
62724         * lib/unictype/categ_So.h: Likewise.
62725         * lib/unictype/categ_Z.h: Likewise.
62726         * lib/unictype/categ_Zl.h: Likewise.
62727         * lib/unictype/categ_Zp.h: Likewise.
62728         * lib/unictype/categ_Zs.h: Likewise.
62729         * lib/unictype/categ_of.h: Likewise.
62730         * lib/unictype/combining.h: Likewise.
62731         * lib/unictype/ctype_alnum.h: Likewise.
62732         * lib/unictype/ctype_alpha.h: Likewise.
62733         * lib/unictype/ctype_blank.h: Likewise.
62734         * lib/unictype/ctype_cntrl.h: Likewise.
62735         * lib/unictype/ctype_digit.h: Likewise.
62736         * lib/unictype/ctype_graph.h: Likewise.
62737         * lib/unictype/ctype_lower.h: Likewise.
62738         * lib/unictype/ctype_print.h: Likewise.
62739         * lib/unictype/ctype_punct.h: Likewise.
62740         * lib/unictype/ctype_space.h: Likewise.
62741         * lib/unictype/ctype_upper.h: Likewise.
62742         * lib/unictype/ctype_xdigit.h: Likewise.
62743         * lib/unictype/decdigit.h: Likewise.
62744         * lib/unictype/digit.h: Likewise.
62745         * lib/unictype/mirror.h: Likewise.
62746         * lib/unictype/numeric.h: Likewise.
62747         * lib/unictype/pr_alphabetic.h: Likewise.
62748         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
62749         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
62750         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
62751         * lib/unictype/pr_bidi_block_separator.h: Likewise.
62752         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
62753         * lib/unictype/pr_bidi_common_separator.h: Likewise.
62754         * lib/unictype/pr_bidi_control.h: Likewise.
62755         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
62756         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
62757         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
62758         * lib/unictype/pr_bidi_european_digit.h: Likewise.
62759         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
62760         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
62761         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
62762         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
62763         * lib/unictype/pr_bidi_pdf.h: Likewise.
62764         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
62765         * lib/unictype/pr_bidi_whitespace.h: Likewise.
62766         * lib/unictype/pr_combining.h: Likewise.
62767         * lib/unictype/pr_composite.h: Likewise.
62768         * lib/unictype/pr_currency_symbol.h: Likewise.
62769         * lib/unictype/pr_dash.h: Likewise.
62770         * lib/unictype/pr_decimal_digit.h: Likewise.
62771         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
62772         * lib/unictype/pr_deprecated.h: Likewise.
62773         * lib/unictype/pr_diacritic.h: Likewise.
62774         * lib/unictype/pr_extender.h: Likewise.
62775         * lib/unictype/pr_format_control.h: Likewise.
62776         * lib/unictype/pr_grapheme_base.h: Likewise.
62777         * lib/unictype/pr_grapheme_extend.h: Likewise.
62778         * lib/unictype/pr_grapheme_link.h: Likewise.
62779         * lib/unictype/pr_hex_digit.h: Likewise.
62780         * lib/unictype/pr_hyphen.h: Likewise.
62781         * lib/unictype/pr_id_continue.h: Likewise.
62782         * lib/unictype/pr_id_start.h: Likewise.
62783         * lib/unictype/pr_ideographic.h: Likewise.
62784         * lib/unictype/pr_ids_binary_operator.h: Likewise.
62785         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
62786         * lib/unictype/pr_ignorable_control.h: Likewise.
62787         * lib/unictype/pr_iso_control.h: Likewise.
62788         * lib/unictype/pr_join_control.h: Likewise.
62789         * lib/unictype/pr_left_of_pair.h: Likewise.
62790         * lib/unictype/pr_line_separator.h: Likewise.
62791         * lib/unictype/pr_logical_order_exception.h: Likewise.
62792         * lib/unictype/pr_lowercase.h: Likewise.
62793         * lib/unictype/pr_math.h: Likewise.
62794         * lib/unictype/pr_non_break.h: Likewise.
62795         * lib/unictype/pr_not_a_character.h: Likewise.
62796         * lib/unictype/pr_numeric.h: Likewise.
62797         * lib/unictype/pr_other_alphabetic.h: Likewise.
62798         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
62799         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
62800         * lib/unictype/pr_other_id_continue.h: Likewise.
62801         * lib/unictype/pr_other_id_start.h: Likewise.
62802         * lib/unictype/pr_other_lowercase.h: Likewise.
62803         * lib/unictype/pr_other_math.h: Likewise.
62804         * lib/unictype/pr_other_uppercase.h: Likewise.
62805         * lib/unictype/pr_paired_punctuation.h: Likewise.
62806         * lib/unictype/pr_paragraph_separator.h: Likewise.
62807         * lib/unictype/pr_pattern_syntax.h: Likewise.
62808         * lib/unictype/pr_pattern_white_space.h: Likewise.
62809         * lib/unictype/pr_private_use.h: Likewise.
62810         * lib/unictype/pr_punctuation.h: Likewise.
62811         * lib/unictype/pr_quotation_mark.h: Likewise.
62812         * lib/unictype/pr_radical.h: Likewise.
62813         * lib/unictype/pr_sentence_terminal.h: Likewise.
62814         * lib/unictype/pr_soft_dotted.h: Likewise.
62815         * lib/unictype/pr_space.h: Likewise.
62816         * lib/unictype/pr_terminal_punctuation.h: Likewise.
62817         * lib/unictype/pr_titlecase.h: Likewise.
62818         * lib/unictype/pr_unassigned_code_value.h: Likewise.
62819         * lib/unictype/pr_unified_ideograph.h: Likewise.
62820         * lib/unictype/pr_uppercase.h: Likewise.
62821         * lib/unictype/pr_variation_selector.h: Likewise.
62822         * lib/unictype/pr_white_space.h: Likewise.
62823         * lib/unictype/pr_xid_continue.h: Likewise.
62824         * lib/unictype/pr_xid_start.h: Likewise.
62825         * lib/unictype/pr_zero_width.h: Likewise.
62826         * lib/unictype/scripts.h: Likewise.
62827         * lib/unictype/scripts_byname.gperf: Likewise.
62828         * lib/unictype/sy_c_ident.h: Likewise.
62829         * lib/unictype/sy_c_whitespace.h: Likewise.
62830         * lib/unictype/sy_java_ident.h: Likewise.
62831         * lib/unictype/sy_java_whitespace.h: Likewise.
62832
62833         * lib/unictype/Makefile: New file.
62834         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
62835         glibc.
62836         * lib/unictype/3level.h: New file, copied from glibc.
62837         * lib/unictype/3levelbit.h: New file.
62838
62839 2007-11-11  Bruno Haible  <bruno@clisp.org>
62840
62841         * modules/gperf: New file.
62842         * modules/iconv_open (Depends-on): Add it.
62843         (Makefile.am): Remove the GPERF definition.
62844
62845 2007-11-11  Bruno Haible  <bruno@clisp.org>
62846
62847         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
62848         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
62849
62850 2007-11-11  Bruno Haible  <bruno@clisp.org>
62851
62852         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
62853         (usage): Remove function.
62854
62855 2007-11-11  Bruno Haible  <bruno@clisp.org>
62856
62857         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
62858         gl_FUNC_CEILF_LIBS.
62859         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
62860         gl_FUNC_CEIL_LIBS.
62861         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
62862         gl_FUNC_CEILL_LIBS.
62863         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
62864         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
62865         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
62866
62867 2007-11-11  Bruno Haible  <bruno@clisp.org>
62868
62869         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
62870         roundf were declared but do not exist on functions.
62871         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
62872         roundl were declared but do not exist on functions.
62873         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
62874         HAVE_FLOORL_AND_CEILL, respectively.
62875         Needed for Sun C on Solaris 10.
62876
62877 2007-11-11  Bruno Haible  <bruno@clisp.org>
62878
62879         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
62880         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
62881         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
62882         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
62883         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
62884         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
62885         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
62886         HAVE_DECL_ROUNDF.
62887         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
62888         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
62889         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
62890         of HAVE_DECL_ROUND*.
62891         * modules/math (Makefile.am): Update.
62892
62893 2007-11-10  Bruno Haible  <bruno@clisp.org>
62894
62895         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
62896         ptrdiff_t as m4/intl.m4.
62897
62898 2007-11-10  Jim Meyering  <meyering@redhat.com>
62899
62900         Avoid link failure for the argmatch test.
62901         * tests/test-argmatch.c (usage): Define function to avoid a link
62902         failure: argmatch_die requires a usage function.
62903
62904 2007-11-09  Bruno Haible  <bruno@clisp.org>
62905
62906         * doc/functions/snprintf.texi: Mention BeOS deficiency.
62907         * doc/functions/vsnprintf.texi: Likewise.
62908         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
62909         with a size argument < 2.
62910
62911 2007-11-09  Bruno Haible  <bruno@clisp.org>
62912
62913         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
62914         buffer. Fixes an inefficiency introduced on 2007-11-03.
62915
62916 2007-11-09  Bruno Haible  <bruno@clisp.org>
62917
62918         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
62919         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
62920
62921 2007-11-08  Jim Meyering  <meyering@redhat.com>
62922
62923         Change cache variable name prefix "jm_" to "gl_" everywhere.
62924         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
62925         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
62926         * m4/uptime.m4: s/gl_/jm_/
62927
62928 2007-11-07  Bruno Haible  <bruno@clisp.org>
62929
62930         Update to GNU gettext 0.17.
62931         * m4/intl.m4: Update to GNU gettext 0.17.
62932         * m4/po.m4: Likewise.
62933         * modules/gettext (Files): Remove m4/ulonglong.m4.
62934         (configure.ac): Require gettext infrastructure from version 0.17.
62935
62936 2007-11-06  Bruno Haible  <bruno@clisp.org>
62937
62938         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
62939         symbolic values are not defined in a public header.
62940         * lib/freadable.c (freadable) [QNX]: Likewise.
62941         * lib/freadahead.c (freadahead) [QNX]: Likewise.
62942         * lib/freading.c (freading) [QNX]: Likewise.
62943         * lib/fseterr.c (fseterr) [QNX]: Likewise.
62944         * lib/fwritable.c (fwritable) [QNX]: Likewise.
62945         * lib/fwriting.c (fwriting) [QNX]: Likewise.
62946         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
62947         Reported by Alain Magloire.
62948
62949         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
62950
62951 2007-11-05  Bruno Haible  <bruno@clisp.org>
62952
62953         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
62954         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
62955         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
62956         Reported by Eric Blake.
62957
62958 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62959             Bruno Haible  <bruno@clisp.org>
62960
62961         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
62962         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
62963         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
62964         (malloc): Undefine also before including <stdlib.h>.
62965         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
62966         Needed on OSF/1 4.0.
62967
62968 2007-11-05  Jim Meyering  <meyering@redhat.com>
62969
62970         git-version-gen: sync from coreutils.
62971         * build-aux/git-version-gen: Add comments.
62972         Change the first '-' to '.' in the snapshot version string,
62973         e.g., 6.9-377-08144 -> 6.9.377-08144
62974         Remove first parameter.
62975         Don't declare a version "-dirty" merely because a time
62976         stamp has changed.
62977
62978 2007-11-04  Bruno Haible  <bruno@clisp.org>
62979
62980         * lib/lock.h: Protect all macro definitions containing an 'if'
62981         statement through a "do { ... } while (0)".
62982         * lib/tls.h: Likewise.
62983
62984 2007-11-04  Bruno Haible  <bruno@clisp.org>
62985
62986         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
62987
62988 2007-11-04  Bruno Haible  <bruno@clisp.org>
62989
62990         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
62991         * modules/fprintf-posix (Depends-on): Add nocrash.
62992         * modules/snprintf-posix (Depends-on): Likewise.
62993         * modules/sprintf-posix (Depends-on): Likewise.
62994         * modules/vasnprintf-posix (Depends-on): Likewise.
62995         * modules/vasprintf-posix (Depends-on): Likewise.
62996         * modules/vfprintf-posix (Depends-on): Likewise.
62997         * modules/vsnprintf-posix (Depends-on): Likewise.
62998         * modules/vsprintf-posix (Depends-on): Likewise.
62999         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63000         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63001         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63002         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63003         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63004         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63005         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63006
63007 2007-11-04  Bruno Haible  <bruno@clisp.org>
63008
63009         * modules/nocrash: New file.
63010         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
63011         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
63012
63013 2007-11-04  Bruno Haible  <bruno@clisp.org>
63014
63015         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
63016         precision handling.
63017         * tests/test-vasprintf-posix.c (test_function): Likewise.
63018         * tests/test-snprintf-posix.h (test_function): Likewise.
63019         * tests/test-sprintf-posix.h (test_function): Likewise.
63020
63021         Fix *printf behaviour for large precisions on mingw and BeOS.
63022         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
63023         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
63024         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
63025         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
63026         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63027         gl_PRINTF_PRECISION and test its result. Invoke
63028         gl_PREREQ_VASNPRINTF_PRECISION.
63029         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63030         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63031         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63032         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63033         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63034         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63035         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63036         * doc/functions/fprintf.texi: Update.
63037         * doc/functions/printf.texi: Update.
63038         * doc/functions/snprintf.texi: Update.
63039         * doc/functions/sprintf.texi: Update.
63040         * doc/functions/vfprintf.texi: Update.
63041         * doc/functions/vprintf.texi: Update.
63042         * doc/functions/vsnprintf.texi: Update.
63043         * doc/functions/vsprintf.texi: Update.
63044
63045 2007-11-04  Bruno Haible  <bruno@clisp.org>
63046
63047         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
63048
63049 2007-11-04  Bruno Haible  <bruno@clisp.org>
63050
63051         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
63052         Reported by Sylvain Beucler <beuc@gnu.org>.
63053
63054 2007-11-03  Bruno Haible  <bruno@clisp.org>
63055
63056         * tests/test-fprintf-posix2.sh: New file.
63057         * tests/test-fprintf-posix2.c: New file.
63058         * modules/fprintf-posix-tests (Files): Add them.
63059         (TESTS): Add test-fprintf-posix2.sh.
63060         (configure.ac): Check for getrlimit and setrlimit.
63061         (check_PROGRAMS): Add test-fprintf-posix2.
63062
63063         * tests/test-printf-posix2.sh: New file.
63064         * tests/test-printf-posix2.c: New file.
63065         * modules/printf-posix-tests (Files): Add them.
63066         (TESTS): Add test-printf-posix2.sh.
63067         (configure.ac): Check for getrlimit and setrlimit.
63068         (check_PROGRAMS): Add test-printf-posix2.
63069
63070         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
63071         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
63072         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
63073         (decode_double): New function, copied from decode_long_double.
63074         (scale10_round_decimal_decoded): New function, extracted from
63075         scale10_round_decimal_long_double.
63076         (scale10_round_decimal_long_double): Use it.
63077         (scale10_round_decimal_double): New function.
63078         (floorlog10): New function.
63079         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
63080         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
63081         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
63082         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63083         gl_PRINTF_ENOMEM and test its result. Invoke
63084         gl_PREREQ_VASNPRINTF_ENOMEM.
63085         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63086         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63087         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63088         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63089         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63090         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63091         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63092         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
63093         * modules/snprintf-posix (Depends-on): Likewise.
63094         * modules/sprintf-posix (Depends-on): Likewise.
63095         * modules/vasnprintf-posix (Depends-on): Likewise.
63096         * modules/vasprintf-posix (Depends-on): Likewise.
63097         * modules/vfprintf-posix (Depends-on): Likewise.
63098         * modules/vsnprintf-posix (Depends-on): Likewise.
63099         * modules/vsprintf-posix (Depends-on): Likewise.
63100         * doc/functions/fprintf.texi: Update.
63101         * doc/functions/printf.texi: Update.
63102         * doc/functions/snprintf.texi: Update.
63103         * doc/functions/sprintf.texi: Update.
63104         * doc/functions/vfprintf.texi: Update.
63105         * doc/functions/vprintf.texi: Update.
63106         * doc/functions/vsnprintf.texi: Update.
63107         * doc/functions/vsprintf.texi: Update.
63108
63109 2007-11-03  Bruno Haible  <bruno@clisp.org>
63110
63111         * modules/frexp-nolibm-tests: New file.
63112
63113         * modules/frexp-nolibm: New file.
63114         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
63115
63116 2007-11-03  Bruno Haible  <bruno@clisp.org>
63117
63118         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
63119         value is C99 compliant.
63120         Needed for OSF/1 5.1.
63121
63122 2007-11-03  Bruno Haible  <bruno@clisp.org>
63123
63124         Fix out-of-memory handling of vasnprintf.
63125         * lib/printf-parse.c: Include <errno.h>.
63126         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
63127         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
63128         is already set.
63129
63130 2007-11-02  Eric Blake  <ebb9@byu.net>
63131
63132         Fix tests on cygwin.
63133         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
63134
63135 2007-11-01  Bruno Haible  <bruno@clisp.org>
63136
63137         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
63138         warning.
63139         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
63140         needed for POSIX compatibility.
63141
63142 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
63143
63144         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
63145         for compatibility with GNU.
63146
63147 2007-11-01  Bruno Haible  <bruno@clisp.org>
63148
63149         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
63150         (putenv): Renamed from rpl_putenv. Change argument type from
63151         'const char *' to 'char *'.
63152         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
63153         of defining putenv in config.h, just set REPLACE_PUTENV.
63154         * modules/putenv (Depends-on): Add stdlib.
63155         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
63156         (Include): Use <stdlib.h>.
63157         * lib/stdlib.in.h (putenv): New declaration.
63158         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
63159         REPLACE_PUTENV.
63160         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
63161         REPLACE_PUTENV.
63162         Needed for MacOS X 10.5.0.
63163         Reported by Peter O'Gorman <peter@pogma.com>.
63164
63165 2007-11-01  Jim Meyering  <meyering@redhat.com>
63166
63167         Treat an empty date string exactly like "0".
63168         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
63169         if the remaining date string (to be parsed) is empty, use "0".
63170         Reported by Mischa Molhoek and discussed in this thread:
63171         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
63172
63173 2007-10-31  Bruno Haible  <bruno@clisp.org>
63174
63175         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
63176         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
63177         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
63178         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
63179         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
63180         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
63181
63182 2007-10-31  Bruno Haible  <bruno@clisp.org>
63183
63184         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
63185         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
63186         (AC_TYPE_LONG_LONG_INT): Use it.
63187         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
63188         it as well.
63189         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
63190         to m4/longlong.m4.
63191         * modules/stdint (Files): Remove m4/ulonglong.m4.
63192         * modules/strtoull (Files): Use m4/longlong.m4 instead of
63193         m4/ulonglong.m4.
63194         * modules/strtoumax (Files): Likewise.
63195
63196 2007-10-30  Bruno Haible  <bruno@clisp.org>
63197
63198         * modules/xvasprintf-posix: New file.
63199         Suggested by Eric Blake.
63200
63201 2007-10-30  Bruno Haible  <bruno@clisp.org>
63202
63203         * modules/xprintf-posix-tests: New file.
63204         * tests/test-xprintf-posix.sh: New file.
63205         * tests/test-xprintf-posix.c: New file.
63206         * tests/test-xfprintf-posix.c: New file.
63207
63208         * modules/xprintf-posix: New file.
63209
63210 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63211
63212         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
63213         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
63214         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
63215
63216 2007-10-29  Bruno Haible  <bruno@clisp.org>
63217
63218         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
63219         contain the special marker '_cv_'.
63220         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
63221         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
63222         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
63223         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
63224         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
63225         Reported by Ralf Wildenhues.
63226
63227 2007-10-29  Bruno Haible  <bruno@clisp.org>
63228
63229         * gnulib-tool (func_import): When --lgpl is not specified, set
63230         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
63231         GPLv3.
63232         Reported by Simon Josefsson.
63233
63234 2007-10-28  Bruno Haible  <bruno@clisp.org>
63235
63236         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
63237         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
63238         HAVE_DECL_ISFINITE.
63239         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
63240         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
63241         HAVE_DECL_ISFINITE.
63242
63243 2007-10-28  Bruno Haible  <bruno@clisp.org>
63244
63245         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
63246         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
63247
63248 2007-10-28  Bruno Haible  <bruno@clisp.org>
63249
63250         Fix link errors with Sun C 5.0 on Solaris 10.
63251         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
63252         function is declared but not present in the compiler's libm.
63253         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
63254         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
63255         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
63256         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
63257         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
63258         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
63259         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
63260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
63261         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
63262         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
63263         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
63264         HAVE_DECL_FLOORL.
63265
63266 2007-10-28  Bruno Haible  <bruno@clisp.org>
63267
63268         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
63269         gl_FUNC_FLOORL. Cache the result.
63270         (gl_FUNC_FLOORL): Use it.
63271         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
63272         gl_FUNC_CEILL. Cache the result.
63273         (gl_FUNC_CEILL): Use it.
63274
63275         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
63276         gl_FUNC_FLOOR. Cache the result.
63277         (gl_FUNC_FLOOR): Use it.
63278         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
63279         gl_FUNC_CEIL. Cache the result.
63280         (gl_FUNC_CEIL): Use it.
63281
63282         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
63283         gl_FUNC_FLOORF. Cache the result.
63284         (gl_FUNC_FLOORF): Use it.
63285         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
63286         gl_FUNC_CEILF. Cache the result.
63287         (gl_FUNC_CEILF): Use it.
63288
63289 2007-10-28  Bruno Haible  <bruno@clisp.org>
63290
63291         * gnulib-tool: Allow specifying the LGPL version number through
63292         --lgpl=2 or --lgpl=3.
63293         (func_usage): Document --lgpl with argument.
63294         Handle --lgpl=... arguments.
63295         (func_import): Recognize also gl_LGPL calls with an argument. When
63296         --lgpl=2 is used and the module's license is just LGPL, report an
63297         error. Set sed_transform_lib_file according to the lgpl variable. In
63298         the generated files, use --lgpl or gl_LGPL invocations with argument,
63299         if necessary.
63300         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
63301         an LGPv2+ license.
63302         * doc/gnulib-tool.texi (Modified imports): Update explanation of
63303         gl_LGPL macro.
63304
63305 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63306             Bruno Haible  <bruno@clisp.org>
63307
63308         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
63309         (u16_uctomb_aux): Likewise.
63310         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
63311         !HAVE_INLINE.
63312         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
63313
63314 2007-10-28  Bruno Haible  <bruno@clisp.org>
63315
63316         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
63317         Invoke AM_GETTEXT_OPTION if it exists.
63318         * modules/vasprintf: Likewise.
63319         * modules/verror: Likewise.
63320         * modules/xprintf: Likewise.
63321         * modules/xvasprintf: Likewise.
63322
63323 2007-10-27  Ben Pfaff  <blp@gnu.org>
63324
63325         * lib/math.in.h: Define isfinite macro and prototypes for
63326         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
63327         implementations.
63328         * m4/math_h.m4: New substitutions for isfinite module.
63329         * lib/isfinite.c: New file.
63330         * m4/isfinite.m4: New file.
63331         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
63332         * modules/isfinite: New file.
63333         * modules/isfinite-tests: New file.
63334         * tests/tests-isfinite.c: New file.
63335         * doc/functions/isfinite.texi: Mention isfinite module.
63336         * MODULES.html.sh: Mention new module.
63337
63338 2007-10-27  Ben Pfaff  <blp@gnu.org>
63339
63340         Ralf Wildenhues reported that Tru64 4.0D declares the round
63341         functions but does not have definitions.
63342         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
63343         cannot be found in any library, set the output variable to
63344         "missing" instead of "".
63345         * m4/round.m4: Also use our substitute if we cannot find round in
63346         any library, even if it is declared.
63347         * m4/roundf.m4: Likewise for roundf.
63348         * m4/roundl.m4: Likewise for roundl.
63349         * lib/math.in.h: Undefine roundf, round, roundl before defining
63350         their replacements, to allow for hypothetical systems where these
63351         may be defined as macros but not available in libraries.
63352
63353 2007-10-27  Bruno Haible  <bruno@clisp.org>
63354
63355         * doc/gnulib.texi: Invoke @firstparagraphindent.
63356         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
63357         changes in gnulib.
63358         (Source changes): New section.
63359
63360 2007-10-26  Bruno Haible  <bruno@clisp.org>
63361
63362         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
63363         borrowed from autoconf.
63364
63365 2007-10-26  Bruno Haible  <bruno@clisp.org>
63366
63367         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
63368         strerror returned the empty string. Needed on HP-UX 11.00.
63369
63370 2007-10-24  Micah Cowan  <micah@cowan.name>
63371
63372         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
63373         * build-aux/bootstrap: Remove support for now-unnecessary option,
63374         --cvs-user, and envvars CVS_USER, CVS_RSH.
63375
63376 2007-10-24  Jim Meyering  <meyering@redhat.com>
63377
63378         Avoid diagnostics from sha1sum when there is no cached checksum.
63379         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
63380         if the po.s1 file hasn't been created yet.
63381
63382         * build-aux/bootstrap: Sync from coreutils:
63383         2007-10-24  Jim Meyering  <meyering@redhat.com>
63384         Get gnulib from the git repository, not from an obsolete cvs one.
63385         * build-aux/bootstrap: Suggestion from Micah Cowan.
63386         2007-10-04  Jim Meyering  <jim@meyering.net>
63387         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
63388         (update_po_files): Work also when there are no .po files in po/.
63389
63390 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
63391
63392         * README: Append ".git" to git and cg examples.
63393         Problem reported by Benoit Sigoure.
63394
63395 2007-10-23  Micah Cowan  <micah@cowan.name>
63396
63397         * users.txt: Add wget.
63398
63399 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63400
63401         Fix linking of some unistdio tests on FreeBSD.
63402         * modules/unistdio/u16-vsnprintf-tests
63403         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
63404         * modules/unistdio/u16-vsprintf-tests
63405         (test_u16_vsnprintf1_LDADD): Likewise.
63406         * modules/unistdio/u32-vsnprintf-tests
63407         (test_u32_vsnprintf1_LDADD): Likewise.
63408         * modules/unistdio/u32-vsprintf-tests
63409         (test_u32_vsprintf1_LDADD): Likewise.
63410         * modules/unistdio/u8-vsnprintf-tests
63411         (test_u8_vsnprintf1_LDADD): Likewise.
63412         * modules/unistdio/u8-vsprintf-tests
63413         (test_u8_vsprintf1_LDADD): Likewise.
63414         * modules/unistdio/ulc-vsnprintf-tests
63415         (test_ulc_vsnprintf1_LDADD): Likewise.
63416         * modules/unistdio/ulc-vsprintf-tests
63417         (test_ulc_vsprintf1_LDADD): Likewise.
63418
63419         Fix linking of some uniconv tests on FreeBSD.
63420         * modules/uniconv/u16-conv-from-enc-tests
63421         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
63422         * modules/uniconv/u16-conv-to-enc-tests
63423         (test_u16_conv_to_enc_LDADD): Likewise.
63424         * modules/uniconv/u16-strconv-from-enc-tests
63425         (test_u16_strconv_from_enc_LDADD): Likewise.
63426         * modules/uniconv/u16-strconv-to-enc-tests
63427         (test_u16_strconv_to_enc_LDADD): Likewise.
63428         * modules/uniconv/u32-conv-from-enc-tests
63429         (test_u32_conv_from_enc_LDADD): Likewise.
63430         * modules/uniconv/u32-conv-to-enc-tests
63431         (test_u32_conv_to_enc_LDADD): Likewise.
63432         * modules/uniconv/u32-strconv-from-enc-tests
63433         (test_u32_strconv_from_enc_LDADD): Likewise.
63434         * modules/uniconv/u32-strconv-to-enc-tests
63435         (test_u32_strconv_to_enc_LDADD): Likewise.
63436         * modules/uniconv/u8-conv-from-enc-tests
63437         (test_u8_conv_from_enc_LDADD): Likewise.
63438         * modules/uniconv/u8-conv-to-enc-tests
63439         (test_u8_conv_to_enc_LDADD): Likewise.
63440         * modules/uniconv/u8-strconv-from-enc-tests
63441         (test_u8_strconv_from_enc_LDADD): Likewise.
63442         * modules/uniconv/u8-strconv-to-enc-tests
63443         (test_u8_strconv_to_enc_LDADD): Likewise.
63444
63445 2007-10-22  Bruno Haible  <bruno@clisp.org>
63446
63447         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
63448         size.
63449
63450 2007-10-22  Eric Blake  <ebb9@byu.net>
63451
63452         Tweak x*printf documentation.
63453         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
63454         variable name and comments.
63455         Suggested by Bruno Haible.
63456
63457 2007-10-22  Bruno Haible  <bruno@clisp.org>
63458
63459         * lib/acl.c (copy_acl): Fix file name in comment.
63460
63461 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
63462
63463         Fix Tru64 problem with stdbool.h.
63464         * lib/stdbool.in.h (false, true):
63465         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
63466         Don't declare as an enum in this situation; it runs afoul of Tru64.
63467         Problem reported by Steven M. Schweda in
63468         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
63469
63470 2007-10-22  Eric Blake  <ebb9@byu.net>
63471
63472         Also wrap vf?printf.
63473         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
63474         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
63475         (xvprintf, xvfprintf): New functions.
63476
63477 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63478
63479         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
63480         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
63481
63482         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
63483         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
63484
63485 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
63486
63487         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
63488         by Bruno Haible.
63489
63490 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63491
63492         * lib/getloadavg.c
63493         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
63494         Undef `sys' after including sys/table.h, for Tru64 4.0D.
63495
63496         * tests/test-i-ring.c: Work for C89.
63497
63498 2007-10-22  Bruno Haible  <bruno@clisp.org>
63499
63500         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
63501         -1u, in preprocessor expression, so that we don't test for the bug
63502         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
63503         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
63504
63505 2007-10-22  Eric Blake  <ebb9@byu.net>
63506
63507         * tests/test-yesno.sh: Silence stderr during test.
63508
63509 2007-10-22  Simon Josefsson  <simon@josefsson.org>
63510
63511         * modules/crypto/gc-camellia: New file.
63512
63513         * m4/gc-camellia.m4: New file.
63514
63515         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
63516
63517         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
63518
63519 2007-10-22  Simon Josefsson  <simon@josefsson.org>
63520
63521         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
63522         --help to stdout.  Reported by sms@antinode.org (Steven
63523         M. Schweda).
63524
63525 2007-10-22  Simon Josefsson  <simon@josefsson.org>
63526
63527         * users.txt: Fix link to libksba.
63528
63529 2007-10-21  Ben Pfaff  <blp@gnu.org>
63530
63531         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
63532         round.c roundf implementation that depends on floorf and ceilf to
63533         be tested unconditionally.
63534
63535 2007-10-21  Ben Pfaff  <blp@gnu.org>
63536
63537         * m4/check-libm-func.m4: Removed.
63538         * m4/check-math-lib.m4: New file.
63539         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
63540         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
63541         definition and lack of AC_LIBOBJ([roundf]).
63542         * m4/roundl.m4: Ditto, and similarly for roundl.
63543         * modules/round: Reference new m4 file.
63544         * modules/roundf: Ditto.
63545         * modules/roundl: Ditto.
63546         * tests/test-round2.c (main): Use ROUND instead of round.
63547         Bug report from Bruno Haible.
63548
63549 2007-10-21  Bruno Haible  <bruno@clisp.org>
63550
63551         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
63552         context.
63553
63554 2007-10-21  Bruno Haible  <bruno@clisp.org>
63555
63556         * tests/test-wcwidth.c (main): Allow negative result for some control
63557         characters.
63558
63559         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
63560         Needed on OSF/1 5.1.
63561
63562 2007-10-21  Bruno Haible  <bruno@clisp.org>
63563
63564         * tests/test-floorf1.c: Include isnanf.h.
63565         (main): Use isnanf() instead of isnan().
63566         * tests/test-ceilf1.c: Include isnanf.h.
63567         (main): Use isnanf() instead of isnan().
63568         * tests/test-truncf1.c: Include isnanf.h.
63569         (main): Use isnanf() instead of isnan().
63570         * tests/test-roundf1.c: Include isnanf.h.
63571         (main): Use isnanf() instead of isnan().
63572
63573 2007-10-21  Eric Blake  <ebb9@byu.net>
63574
63575         * users.txt: Update URL for m4.
63576
63577 2007-10-21  Bruno Haible  <bruno@clisp.org>
63578
63579         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
63580
63581 2007-10-21  Bruno Haible  <bruno@clisp.org>
63582
63583         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
63584         Git's management files if the CVS files are not present.
63585
63586 2007-10-20  Bruno Haible  <bruno@clisp.org>
63587
63588         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
63589         gcc-3.4.x.
63590
63591 2007-10-20  Ben Pfaff  <blp@gnu.org>
63592
63593         * lib/math.in.h: Declare round, roundf, roundl if we are providing
63594         implementations.
63595         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
63596         * lib/round.c: New file.
63597         * lib/roundf.c: New file.
63598         * lib/roundl.c: New file.
63599         * m4/round.m4: New file.
63600         * m4/roundf.m4: New file.
63601         * m4/roundl.m4: New file.
63602         * m4/check-libm-func-m4: New file.
63603         * modules/math: Replace round, roundf, roundl related @VARS@ in
63604         math.in.h.
63605         * modules/round: New file.
63606         * modules/round-tests: New file.
63607         * modules/roundf: New file.
63608         * modules/roundf-tests: New file.
63609         * modules/roundl: New file.
63610         * modules/roundl-tests: New file.
63611         * tests/test-round1.c: New file.
63612         * tests/test-round2.c: New file.
63613         * tests/test-roundf1.c: New file.
63614         * tests/test-roundf2.c: New file.
63615         * tests/test-roundl.c: New file.
63616         * doc/functions/round.texi: Mention round module.
63617         * doc/functions/roundf.texi: Mention roundf module.
63618         * doc/functions/roundl.texi: Mention roundl module.
63619         * MODULES.html.sh: Mention new modules.
63620         Thanks to Bruno Haible for suggestions.
63621
63622 2007-10-20  Jim Meyering  <meyering@redhat.com>
63623
63624         * lib/xprintf.c: Include <config.h> unconditionally.
63625
63626         Change xprintf's license to GPL.
63627         * modules/xprintf (License): s/LGPL/GPL/, since this module
63628         depends on modules (exit and exitfail) which are GPL.
63629         Suggestion from Bruno Haible.
63630
63631         xprintf fixes.
63632         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
63633         Use a clearer diagnostic.
63634         Patch from Bruno Haible.
63635
63636 2007-10-20  Bruno Haible  <bruno@clisp.org>
63637
63638         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
63639         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
63640         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63641
63642 2007-10-20  Bruno Haible  <bruno@clisp.org>
63643
63644         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
63645         precision in the comparison result > x - 1 or similar.
63646         * tests/test-ceilf2.c (correct_result_p): Likewise.
63647         * tests/test-truncf2.c (correct_result_p): Likewise.
63648         * tests/test-trunc2.c (correct_result_p): Likewise.
63649         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63650
63651 2007-10-20  Bruno Haible  <bruno@clisp.org>
63652
63653         * modules/ceil: New file.
63654         * m4/ceil.m4: New file.
63655         * doc/functions/ceil.texi: Mention the 'ceil' module.
63656
63657 2007-10-20  Bruno Haible  <bruno@clisp.org>
63658
63659         * modules/floor: New file.
63660         * m4/floor.m4: New file.
63661         * doc/functions/floor.texi: Mention the 'floor' module.
63662
63663 2007-10-20  Bruno Haible  <bruno@clisp.org>
63664
63665         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
63666         of %a.
63667         * modules/floorf-tests (Depends-on): Likewise.
63668         * modules/truncf-tests (Depends-on): Likewise.
63669         * modules/trunc-tests (Depends-on): Likewise.
63670         Reported by Ben Pfaff.
63671
63672 2007-10-19  Jim Meyering  <meyering@redhat.com>
63673
63674         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
63675         Don't bother testing specific errno values.  Just test ferror.
63676
63677         New module: xprintf
63678         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
63679
63680 2007-10-19  Bruno Haible  <bruno@clisp.org>
63681
63682         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
63683         syntax.
63684         * modules/javaexec (Makefile.am): Likewise.
63685         * modules/relocatable-prog (Makefile.am): Likewise.
63686         Suggested by Jim Meyering.
63687
63688 2007-10-18  Bruno Haible  <bruno@clisp.org>
63689
63690         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
63691         Reported by Jim Meyering.
63692
63693 2007-10-18  Eric Blake  <ebb9@byu.net>
63694
63695         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
63696
63697 2007-10-18  Bruno Haible  <bruno@clisp.org>
63698
63699         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
63700         the format string into writable memory. Needed in Fortify conditions.
63701
63702 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
63703             Bruno Haible  <bruno@clisp.org>
63704
63705         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
63706         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
63707         * modules/trim (Depends-on): Add mbchar.
63708         (configure.ac): Add gl_FUNC_MBRTOWC.
63709         (Makefile.am): Augment lib_SOURCES.
63710
63711 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
63712
63713         Modify glob.c to use fstatat and dirfd, to simplify it.
63714         Suggested by Eric Blake.
63715         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
63716         Don't include <stdbool.h>; not used.
63717         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
63718         (link_exists_p): Simplify implementation, since we can now assume
63719         dirfd and fstatat.
63720         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
63721
63722 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63723
63724         * gnulib-tool (func_get_dependencies): Fix sed script to
63725         match only tests.
63726
63727 2007-10-17  Bruno Haible  <bruno@clisp.org>
63728
63729         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
63730         allow locale names without encoding suffix.
63731         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
63732         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
63733
63734 2007-10-16  Bruno Haible  <bruno@clisp.org>
63735
63736         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
63737         * lib/getgroups.c (getgroups): Likewise.
63738         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
63739
63740 2007-10-16  Bruno Haible  <bruno@clisp.org>
63741
63742         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
63743         * modules/malloc-posix (License): Likewise.
63744         * modules/realloc-posix (License): Likewise.
63745         * modules/calloc-posix (License): Likewise.
63746         * modules/intprops (License): Change from GPL to LGPL, with
63747         Paul Eggert's approval.
63748
63749 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
63750
63751         Merge glibc changes into lib/glob.c.
63752
63753         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
63754         2007-10-15 04:59:03 UTC.  Here are the changes:
63755
63756         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
63757
63758         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
63759
63760         * lib/glob.c: Add some branch prediction throughout.
63761
63762         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
63763
63764         [BZ #5103]
63765         * lib/glob.c (glob): Recognize patterns starting \/.
63766
63767         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
63768
63769         [BZ #3996]
63770         * lib/glob.c (attribute_hidden): Define if not defined.
63771         (glob): Unescape dirname, filename or username when needed and not
63772         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
63773         is NULL.  Handle unescaped [ in pattern without closing ].
63774         Don't pass GLOB_CHECK down to recursive glob for directories.
63775         (__glob_pattern_type): New function.
63776         (__glob_pattern_p): Implement using __glob_pattern_type.
63777         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
63778         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
63779         Remove unreachable code.
63780
63781         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
63782
63783         * lib/glob.c (glob_in_dir): Add some comments and asserts to
63784         explain why there are no leaks.
63785
63786         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
63787
63788         [BZ #3253]
63789         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
63790         time, rather allocate increasingly bigger arrays of pointers, if
63791         possible with alloca, if too large with malloc.
63792
63793 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
63794
63795         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
63796         Problem reported by H.Merijn Brand in
63797         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
63798         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
63799         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
63800
63801 2007-10-15  Bruno Haible  <bruno@clisp.org>
63802
63803         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
63804         with explicit rpl_ prefix.
63805         * lib/fopen.c (fopen): Likewise.
63806         * lib/freopen.c (freopen): Likewise.
63807         * lib/iconv.c (iconv): Likewise.
63808         * lib/iconv_close.c (iconv_close): Likewise.
63809
63810 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63811
63812         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
63813
63814 2007-10-15  Bruno Haible  <bruno@clisp.org>
63815
63816         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
63817         <stddef.h> instead of <stdlib.h> since we only need NULL.
63818         Reported by Ben Pfaff <blp@cs.stanford.edu>.
63819
63820 2007-10-15  Bruno Haible  <bruno@clisp.org>
63821
63822         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
63823         Replace paragraph talking about LIBOBJS.
63824         Reported by Colin Watson <cjwatson@debian.org>.
63825
63826 2007-10-15  Bruno Haible  <bruno@clisp.org>
63827
63828         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
63829         <stdlib.h> before using NULL.
63830
63831 2007-10-15  Simon Josefsson  <simon@josefsson.org>
63832
63833         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
63834         Reported by Albert Chin <china@thewrittenword.com>.
63835
63836 2007-10-14  Bruno Haible  <bruno@clisp.org>
63837
63838         * modules/iconv_open-utf-tests: New file.
63839         * tests/test-iconv-utf.c: New file.
63840
63841         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
63842         * modules/iconv_open-utf: New file.
63843         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
63844         (iconv, iconv_close): New declarations.
63845         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
63846         be defined.
63847         (iconv_open): Add special handling of conversion between UTF-8 and
63848         UTF-{16,32}{BE,LE}.
63849         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
63850         * lib/iconv_close.c: New file.
63851         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
63852         gl_FUNC_ICONV_OPEN.
63853         (gl_FUNC_ICONV_OPEN): Use it.
63854         (gl_FUNC_ICONV_OPEN_UTF): New macro.
63855         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
63856         and REPLACE_ICONV_UTF.
63857         * modules/iconv_open (Depends-on): Add c-strcase.
63858         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
63859         ICONV_CONST.
63860         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
63861
63862 2007-10-13  Albert Chin  <china@thewrittenword.com>
63863             Bruno Haible  <bruno@clisp.org>
63864
63865         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
63866         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
63867
63868 2007-10-13  Bruno Haible  <bruno@clisp.org>
63869
63870         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
63871         defined, use the ISO C99 inline semantics.
63872         * lib/argp.h (ARGP_EI): Likewise.
63873
63874 2007-10-13  Bruno Haible  <bruno@clisp.org>
63875
63876         Handle 'inline' change in gcc 4.3.0.
63877         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
63878         argp_fmtstream_write, argp_fmtstream_set_lmargin,
63879         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
63880         argp_fmtstream_point): Disable 'extern' declaration if the function
63881         definition is going to be provided inline.
63882         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
63883         semantics, not the ISO C99 inline semantics.
63884         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
63885         'extern' declaration if the function definition is going to be provided
63886         inline.
63887         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
63888         the GNU C inline semantics, not the ISO C99 inline semantics. With
63889         GCC 4.2, avoid a warning.
63890
63891 2007-10-13  Bruno Haible  <bruno@clisp.org>
63892
63893         * lib/freading.h (freading): Enable the use of __freading for
63894         glibc >= 2.7.
63895         * lib/freading.c (freading): Likewise.
63896
63897 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
63898
63899         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
63900         "warning: C99 inline functions are not supported; using GNU89".
63901
63902 2007-10-12  Bruno Haible  <bruno@clisp.org>
63903
63904         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
63905         of 2.
63906         * tests/test-ceilf2.c: New file.
63907         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
63908
63909         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
63910         * modules/ceilf-tests: Update.
63911
63912 2007-10-12  Bruno Haible  <bruno@clisp.org>
63913
63914         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
63915         of 2.
63916         * tests/test-floorf2.c: New file.
63917         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
63918
63919         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
63920         * modules/floorf-tests: Update.
63921
63922 2007-10-12  Bruno Haible  <bruno@clisp.org>
63923
63924         * tests/test-trunc2.c: New file.
63925         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
63926
63927         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
63928         * modules/trunc-tests: Update.
63929
63930 2007-10-12  Bruno Haible  <bruno@clisp.org>
63931
63932         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
63933         of 2.
63934         * tests/test-truncf2.c: New file.
63935         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
63936
63937         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
63938         * modules/truncf-tests: Update.
63939
63940 2007-10-11  Eric Blake  <ebb9@byu.net>
63941
63942         Don't claim strerror is broken on Interix.
63943         * doc/functions/strerror.texi (strerror): Known broken systems are
63944         now Solaris 8, and not Interix.
63945         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
63946         Interix on cross-compile.
63947         Reported by Martin Koeppe in
63948         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
63949
63950 2007-10-11  Bruno Haible  <bruno@clisp.org>
63951
63952         * modules/i-ring-tests: New file.
63953         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
63954         instead of assert.
63955
63956 2007-10-11  Bruno Haible  <bruno@clisp.org>
63957
63958         * modules/filenamecat-tests: New file.
63959         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
63960         * lib/filenamecat.c: Remove test code.
63961
63962 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
63963
63964         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
63965
63966         * lib/strerror.c: Include <string.h> always, to test interface,
63967         and to remove the need for the dummy.
63968         Include intprops.h to compute width instead of doing it ourselves
63969         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
63970         (strerror): Define it to return NULL if there's no system strerror.
63971         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
63972         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
63973         ancient pre-strerror Unix systems well any more.  Saying "unknown
63974         system error" is enough.
63975         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
63976         simpler strerror.c implementation.
63977         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
63978         Simplify the tests to reflect the simpler strerror implementation.
63979         * modules/strerror (Depends-on): Add intprops.
63980
63981 2007-10-09  Eric Blake  <ebb9@byu.net>
63982
63983         Silence test-fpending.
63984         * modules/fpending-tests (Files): Add wrapper script.
63985         * tests/test-fpending.sh: New file.
63986
63987 2007-10-09  Bruno Haible  <bruno@clisp.org>
63988
63989         * MODULES.html.sh (func_module): Don't create a hyperlink for
63990         function names like 'printf_frexp'.
63991         (Misc): Add crc, memxor.
63992         (Characteristics of floating types): New section.
63993         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
63994         isnanf-nolibm, signbit, trunc, truncf, truncl.
63995         (Enhancements for ISO C 99 functions): New subsection Input/output.
63996         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
63997         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
63998         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
63999         (Compatibility checks for POSIX:2001 functions): Add clock-time.
64000         (Enhancements for POSIX:2001 functions): Add chdir-long.
64001         (File system functions): Add areadlink, chdir-safer, read-file.
64002         Remove cycle-check.
64003         (File system as inode set): New section.
64004         (Date and time): Add gethrxtime.
64005         (Multithreading): Add openmp.
64006         (Internationalization functions): Add localename.
64007         (Unicode string functions): Add unistr/u*-mbsnlen.
64008         (Support for maintaining and releasing projects): Add git-version-gen.
64009         (Lone files): Remove directories.
64010
64011 2007-10-08  Ben Pfaff  <blp@gnu.org>
64012
64013         * lib/xmalloca.h: Fix typo in comment.
64014
64015 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
64016
64017         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
64018         when avoiding problems with integer overflow.  Use a portable test
64019         instead.
64020
64021 2007-10-08  Simon Josefsson  <simon@josefsson.org>
64022
64023         * modules/dummy (License): Change to LGPLv2+.
64024         * modules/float (License): Likewise
64025         * modules/realloc (License): Likewise
64026         * modules/stdlib (License): Likewise
64027
64028 2007-10-07  Bruno Haible  <bruno@clisp.org>
64029
64030         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
64031         * floor.c (TWO_MANT_DIG): Likewise.
64032         * ceil.c (TWO_MANT_DIG): Likewise.
64033         Reported by Ben Pfaff.
64034
64035 2007-10-07  Bruno Haible  <bruno@clisp.org>
64036
64037         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
64038         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
64039         * lib/frexp.c (FUNC): Likewise.
64040         * lib/printf-frexp.h (printf_frexp): Likewise.
64041         * lib/printf-frexpl.h (printf_frexpl): Likewise.
64042         * lib/printf-frexp.c (FUNC): Likewise.
64043         Suggested by Jim Meyering.
64044
64045 2007-10-07  Jim Meyering  <meyering@redhat.com>
64046
64047         Make xnanosleep's integer overflow test more robust.
64048         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
64049         so that gcc-4.3.0 doesn't optimize away this test for overflow.
64050
64051 2007-10-07  Bruno Haible  <bruno@clisp.org>
64052
64053         * NEWS: Mention the license change.
64054
64055         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
64056         abbreviations in the modules files.
64057
64058         Change copyright notice from GPLv2+ to GPLv3+.
64059         * README: Change copyright notice.
64060         * MODULES.html.sh: Likewise.
64061         * build-aux/bootstrap.conf: Likewise.
64062         * build-aux/config.libpath: Likewise.
64063         * build-aux/csharpcomp.sh.in: Likewise.
64064         * build-aux/csharpexec.sh.in: Likewise.
64065         * build-aux/install-reloc: Likewise.
64066         * build-aux/javacomp.sh.in: Likewise.
64067         * build-aux/javaexec.sh.in: Likewise.
64068         * build-aux/ldd.sh.in: Likewise.
64069         * build-aux/reloc-ldflags: Likewise.
64070         * build-aux/relocatable.sh.in: Likewise.
64071         * build-aux/x-to-1.in: Likewise.
64072         * check-module: Likewise.
64073         * config/srclistvars.sh: Likewise.
64074         * gnulib-tool: Likewise.
64075         * lib/acl-internal.h: Likewise.
64076         * lib/acl.c: Likewise.
64077         * lib/acl.h: Likewise.
64078         * lib/acl_entries.c: Likewise.
64079         * lib/areadlink-with-size.c: Likewise.
64080         * lib/areadlink.c: Likewise.
64081         * lib/areadlink.h: Likewise.
64082         * lib/argmatch.c: Likewise.
64083         * lib/argmatch.h: Likewise.
64084         * lib/argp-ba.c: Likewise.
64085         * lib/argp-eexst.c: Likewise.
64086         * lib/argp-fmtstream.c: Likewise.
64087         * lib/argp-fmtstream.h: Likewise.
64088         * lib/argp-fs-xinl.c: Likewise.
64089         * lib/argp-help.c: Likewise.
64090         * lib/argp-namefrob.h: Likewise.
64091         * lib/argp-parse.c: Likewise.
64092         * lib/argp-pin.c: Likewise.
64093         * lib/argp-pv.c: Likewise.
64094         * lib/argp-pvh.c: Likewise.
64095         * lib/argp-xinl.c: Likewise.
64096         * lib/argp.h: Likewise.
64097         * lib/at-func.c: Likewise.
64098         * lib/atanl.c: Likewise.
64099         * lib/backupfile.c: Likewise.
64100         * lib/backupfile.h: Likewise.
64101         * lib/basename.c: Likewise.
64102         * lib/binary-io.h: Likewise.
64103         * lib/byteswap.in.h: Likewise.
64104         * lib/c-stack.c: Likewise.
64105         * lib/c-stack.h: Likewise.
64106         * lib/c-strcasestr.c: Likewise.
64107         * lib/c-strcasestr.h: Likewise.
64108         * lib/c-strstr.c: Likewise.
64109         * lib/c-strstr.h: Likewise.
64110         * lib/c-strtod.c: Likewise.
64111         * lib/calloc.c: Likewise.
64112         * lib/canon-host.c: Likewise.
64113         * lib/canon-host.h: Likewise.
64114         * lib/canonicalize-lgpl.c: Likewise.
64115         * lib/canonicalize.c: Likewise.
64116         * lib/canonicalize.h: Likewise.
64117         * lib/ceil.c: Likewise.
64118         * lib/ceilf.c: Likewise.
64119         * lib/ceill.c: Likewise.
64120         * lib/chdir-long.c: Likewise.
64121         * lib/chdir-long.h: Likewise.
64122         * lib/chdir-safer.c: Likewise.
64123         * lib/chdir-safer.h: Likewise.
64124         * lib/chown.c: Likewise.
64125         * lib/classpath.c: Likewise.
64126         * lib/classpath.h: Likewise.
64127         * lib/clean-temp.c: Likewise.
64128         * lib/clean-temp.h: Likewise.
64129         * lib/cloexec.c: Likewise.
64130         * lib/close-stream.c: Likewise.
64131         * lib/closein.c: Likewise.
64132         * lib/closein.h: Likewise.
64133         * lib/closeout.c: Likewise.
64134         * lib/closeout.h: Likewise.
64135         * lib/concat-filename.c: Likewise.
64136         * lib/copy-file.c: Likewise.
64137         * lib/copy-file.h: Likewise.
64138         * lib/count-one-bits.h: Likewise.
64139         * lib/crc.c: Likewise.
64140         * lib/crc.h: Likewise.
64141         * lib/creat-safer.c: Likewise.
64142         * lib/csharpcomp.c: Likewise.
64143         * lib/csharpcomp.h: Likewise.
64144         * lib/csharpexec.c: Likewise.
64145         * lib/csharpexec.h: Likewise.
64146         * lib/cycle-check.c: Likewise.
64147         * lib/cycle-check.h: Likewise.
64148         * lib/diacrit.c: Likewise.
64149         * lib/diacrit.h: Likewise.
64150         * lib/diffseq.h: Likewise.
64151         * lib/dirchownmod.c: Likewise.
64152         * lib/dirent.in.h: Likewise.
64153         * lib/dirfd.c: Likewise.
64154         * lib/dirfd.h: Likewise.
64155         * lib/dirname.c: Likewise.
64156         * lib/dirname.h: Likewise.
64157         * lib/dummy.c: Likewise.
64158         * lib/dup-safer.c: Likewise.
64159         * lib/dup2.c: Likewise.
64160         * lib/eealloc.h: Likewise.
64161         * lib/error.c: Likewise.
64162         * lib/error.h: Likewise.
64163         * lib/euidaccess.c: Likewise.
64164         * lib/exclude.c: Likewise.
64165         * lib/exclude.h: Likewise.
64166         * lib/execute.c: Likewise.
64167         * lib/execute.h: Likewise.
64168         * lib/exitfail.c: Likewise.
64169         * lib/exitfail.h: Likewise.
64170         * lib/expl.c: Likewise.
64171         * lib/fatal-signal.c: Likewise.
64172         * lib/fatal-signal.h: Likewise.
64173         * lib/fbufmode.c: Likewise.
64174         * lib/fbufmode.h: Likewise.
64175         * lib/fchdir.c: Likewise.
64176         * lib/fchmodat.c: Likewise.
64177         * lib/fchownat.c: Likewise.
64178         * lib/fcntl--.h: Likewise.
64179         * lib/fcntl-safer.h: Likewise.
64180         * lib/fcntl.in.h: Likewise.
64181         * lib/fd-safer.c: Likewise.
64182         * lib/fflush.c: Likewise.
64183         * lib/file-has-acl.c: Likewise.
64184         * lib/file-set.c: Likewise.
64185         * lib/file-type.c: Likewise.
64186         * lib/file-type.h: Likewise.
64187         * lib/fileblocks.c: Likewise.
64188         * lib/filemode.c: Likewise.
64189         * lib/filemode.h: Likewise.
64190         * lib/filename.h: Likewise.
64191         * lib/filenamecat.c: Likewise.
64192         * lib/filenamecat.h: Likewise.
64193         * lib/findprog.c: Likewise.
64194         * lib/findprog.h: Likewise.
64195         * lib/float.in.h: Likewise.
64196         * lib/floor.c: Likewise.
64197         * lib/floorf.c: Likewise.
64198         * lib/floorl.c: Likewise.
64199         * lib/fopen-safer.c: Likewise.
64200         * lib/fopen.c: Likewise.
64201         * lib/fpending.c: Likewise.
64202         * lib/fpending.h: Likewise.
64203         * lib/fprintf.c: Likewise.
64204         * lib/fprintftime.h: Likewise.
64205         * lib/fpucw.h: Likewise.
64206         * lib/fpurge.c: Likewise.
64207         * lib/fpurge.h: Likewise.
64208         * lib/freadable.c: Likewise.
64209         * lib/freadable.h: Likewise.
64210         * lib/freadahead.c: Likewise.
64211         * lib/freadahead.h: Likewise.
64212         * lib/freading.c: Likewise.
64213         * lib/freading.h: Likewise.
64214         * lib/free.c: Likewise.
64215         * lib/freopen.c: Likewise.
64216         * lib/frexp.c: Likewise.
64217         * lib/frexpl.c: Likewise.
64218         * lib/fseek.c: Likewise.
64219         * lib/fseterr.c: Likewise.
64220         * lib/fseterr.h: Likewise.
64221         * lib/fstatat.c: Likewise.
64222         * lib/fstrcmp.c: Likewise.
64223         * lib/fstrcmp.h: Likewise.
64224         * lib/fsusage.c: Likewise.
64225         * lib/fsusage.h: Likewise.
64226         * lib/ftell.c: Likewise.
64227         * lib/ftello.c: Likewise.
64228         * lib/fts-cycle.c: Likewise.
64229         * lib/fts.c: Likewise.
64230         * lib/fts_.h: Likewise.
64231         * lib/full-read.c: Likewise.
64232         * lib/full-read.h: Likewise.
64233         * lib/full-write.c: Likewise.
64234         * lib/full-write.h: Likewise.
64235         * lib/fwritable.c: Likewise.
64236         * lib/fwritable.h: Likewise.
64237         * lib/fwriteerror.c: Likewise.
64238         * lib/fwriteerror.h: Likewise.
64239         * lib/fwriting.c: Likewise.
64240         * lib/fwriting.h: Likewise.
64241         * lib/gcd.c: Likewise.
64242         * lib/gcd.h: Likewise.
64243         * lib/getcwd.c: Likewise.
64244         * lib/getdate.h: Likewise.
64245         * lib/getdate.y: Likewise.
64246         * lib/getdomainname.c: Likewise.
64247         * lib/getdomainname.h: Likewise.
64248         * lib/getgroups.c: Likewise.
64249         * lib/gethostname.c: Likewise.
64250         * lib/gethrxtime.c: Likewise.
64251         * lib/gethrxtime.h: Likewise.
64252         * lib/getloadavg.c: Likewise.
64253         * lib/getndelim2.c: Likewise.
64254         * lib/getndelim2.h: Likewise.
64255         * lib/getnline.c: Likewise.
64256         * lib/getnline.h: Likewise.
64257         * lib/getopt.c: Likewise.
64258         * lib/getopt.in.h: Likewise.
64259         * lib/getopt1.c: Likewise.
64260         * lib/getopt_int.h: Likewise.
64261         * lib/getpagesize.h: Likewise.
64262         * lib/getsubopt.c: Likewise.
64263         * lib/gettime.c: Likewise.
64264         * lib/getugroups.c: Likewise.
64265         * lib/getugroups.h: Likewise.
64266         * lib/getusershell.c: Likewise.
64267         * lib/gl_anyavltree_list1.h: Likewise.
64268         * lib/gl_anyavltree_list2.h: Likewise.
64269         * lib/gl_anyhash_list1.h: Likewise.
64270         * lib/gl_anyhash_list2.h: Likewise.
64271         * lib/gl_anylinked_list1.h: Likewise.
64272         * lib/gl_anylinked_list2.h: Likewise.
64273         * lib/gl_anyrbtree_list1.h: Likewise.
64274         * lib/gl_anyrbtree_list2.h: Likewise.
64275         * lib/gl_anytree_list1.h: Likewise.
64276         * lib/gl_anytree_list2.h: Likewise.
64277         * lib/gl_anytree_oset.h: Likewise.
64278         * lib/gl_anytreehash_list1.h: Likewise.
64279         * lib/gl_anytreehash_list2.h: Likewise.
64280         * lib/gl_array_list.c: Likewise.
64281         * lib/gl_array_list.h: Likewise.
64282         * lib/gl_array_oset.c: Likewise.
64283         * lib/gl_array_oset.h: Likewise.
64284         * lib/gl_avltree_list.c: Likewise.
64285         * lib/gl_avltree_list.h: Likewise.
64286         * lib/gl_avltree_oset.c: Likewise.
64287         * lib/gl_avltree_oset.h: Likewise.
64288         * lib/gl_avltreehash_list.c: Likewise.
64289         * lib/gl_avltreehash_list.h: Likewise.
64290         * lib/gl_carray_list.c: Likewise.
64291         * lib/gl_carray_list.h: Likewise.
64292         * lib/gl_linked_list.c: Likewise.
64293         * lib/gl_linked_list.h: Likewise.
64294         * lib/gl_linkedhash_list.c: Likewise.
64295         * lib/gl_linkedhash_list.h: Likewise.
64296         * lib/gl_list.c: Likewise.
64297         * lib/gl_list.h: Likewise.
64298         * lib/gl_oset.c: Likewise.
64299         * lib/gl_oset.h: Likewise.
64300         * lib/gl_rbtree_list.c: Likewise.
64301         * lib/gl_rbtree_list.h: Likewise.
64302         * lib/gl_rbtree_oset.c: Likewise.
64303         * lib/gl_rbtree_oset.h: Likewise.
64304         * lib/gl_rbtreehash_list.c: Likewise.
64305         * lib/gl_rbtreehash_list.h: Likewise.
64306         * lib/gl_sublist.c: Likewise.
64307         * lib/gl_sublist.h: Likewise.
64308         * lib/group-member.c: Likewise.
64309         * lib/group-member.h: Likewise.
64310         * lib/hard-locale.c: Likewise.
64311         * lib/hard-locale.h: Likewise.
64312         * lib/hash-pjw.c: Likewise.
64313         * lib/hash-pjw.h: Likewise.
64314         * lib/hash-triple.c: Likewise.
64315         * lib/hash.c: Likewise.
64316         * lib/hash.h: Likewise.
64317         * lib/human.c: Likewise.
64318         * lib/human.h: Likewise.
64319         * lib/i-ring.c: Likewise.
64320         * lib/i-ring.h: Likewise.
64321         * lib/idcache.c: Likewise.
64322         * lib/imaxabs.c: Likewise.
64323         * lib/imaxdiv.c: Likewise.
64324         * lib/inet_pton.c: Likewise.
64325         * lib/inet_pton.h: Likewise.
64326         * lib/intprops.h: Likewise.
64327         * lib/inttostr.c: Likewise.
64328         * lib/inttostr.h: Likewise.
64329         * lib/inttypes.in.h: Likewise.
64330         * lib/isapipe.c: Likewise.
64331         * lib/isdir.c: Likewise.
64332         * lib/isnan.c: Likewise.
64333         * lib/isnan.h: Likewise.
64334         * lib/isnanf.c: Likewise.
64335         * lib/isnanf.h: Likewise.
64336         * lib/isnanl-nolibm.h: Likewise.
64337         * lib/isnanl.c: Likewise.
64338         * lib/isnanl.h: Likewise.
64339         * lib/javacomp.c: Likewise.
64340         * lib/javacomp.h: Likewise.
64341         * lib/javaexec.c: Likewise.
64342         * lib/javaexec.h: Likewise.
64343         * lib/javaversion.c: Likewise.
64344         * lib/javaversion.h: Likewise.
64345         * lib/javaversion.java: Likewise.
64346         * lib/lbrkprop.h: Likewise.
64347         * lib/lchmod.h: Likewise.
64348         * lib/lchown.c: Likewise.
64349         * lib/ldexpl.c: Likewise.
64350         * lib/linebreak.c: Likewise.
64351         * lib/linebreak.h: Likewise.
64352         * lib/linebuffer.c: Likewise.
64353         * lib/linebuffer.h: Likewise.
64354         * lib/locale.in.h: Likewise.
64355         * lib/logl.c: Likewise.
64356         * lib/long-options.c: Likewise.
64357         * lib/long-options.h: Likewise.
64358         * lib/lstat.c: Likewise.
64359         * lib/lstat.h: Likewise.
64360         * lib/math.in.h: Likewise.
64361         * lib/mbchar.c: Likewise.
64362         * lib/mbchar.h: Likewise.
64363         * lib/mbfile.h: Likewise.
64364         * lib/mbiter.h: Likewise.
64365         * lib/mbscasecmp.c: Likewise.
64366         * lib/mbscasestr.c: Likewise.
64367         * lib/mbschr.c: Likewise.
64368         * lib/mbscspn.c: Likewise.
64369         * lib/mbslen.c: Likewise.
64370         * lib/mbsncasecmp.c: Likewise.
64371         * lib/mbsnlen.c: Likewise.
64372         * lib/mbspbrk.c: Likewise.
64373         * lib/mbspcasecmp.c: Likewise.
64374         * lib/mbsrchr.c: Likewise.
64375         * lib/mbssep.c: Likewise.
64376         * lib/mbsspn.c: Likewise.
64377         * lib/mbsstr.c: Likewise.
64378         * lib/mbstok_r.c: Likewise.
64379         * lib/mbswidth.c: Likewise.
64380         * lib/mbswidth.h: Likewise.
64381         * lib/mbuiter.h: Likewise.
64382         * lib/memcasecmp.c: Likewise.
64383         * lib/memcasecmp.h: Likewise.
64384         * lib/memchr.c: Likewise.
64385         * lib/memcmp.c: Likewise.
64386         * lib/memcoll.c: Likewise.
64387         * lib/memcoll.h: Likewise.
64388         * lib/memcpy.c: Likewise.
64389         * lib/memrchr.c: Likewise.
64390         * lib/mkancesdirs.c: Likewise.
64391         * lib/mkdir-p.c: Likewise.
64392         * lib/mkdir-p.h: Likewise.
64393         * lib/mkdir.c: Likewise.
64394         * lib/mkdirat.c: Likewise.
64395         * lib/mkdtemp.c: Likewise.
64396         * lib/mkstemp-safer.c: Likewise.
64397         * lib/mkstemp.c: Likewise.
64398         * lib/modechange.c: Likewise.
64399         * lib/modechange.h: Likewise.
64400         * lib/mountlist.c: Likewise.
64401         * lib/mountlist.h: Likewise.
64402         * lib/mpsort.c: Likewise.
64403         * lib/nanosleep.c: Likewise.
64404         * lib/obstack.c: Likewise.
64405         * lib/obstack.h: Likewise.
64406         * lib/open-safer.c: Likewise.
64407         * lib/open.c: Likewise.
64408         * lib/openat-die.c: Likewise.
64409         * lib/openat-priv.h: Likewise.
64410         * lib/openat-proc.c: Likewise.
64411         * lib/openat.c: Likewise.
64412         * lib/openat.h: Likewise.
64413         * lib/pagealign_alloc.c: Likewise.
64414         * lib/pagealign_alloc.h: Likewise.
64415         * lib/physmem.c: Likewise.
64416         * lib/physmem.h: Likewise.
64417         * lib/pipe-safer.c: Likewise.
64418         * lib/pipe.c: Likewise.
64419         * lib/pipe.h: Likewise.
64420         * lib/posixtm.c: Likewise.
64421         * lib/posixtm.h: Likewise.
64422         * lib/posixver.c: Likewise.
64423         * lib/printf-frexp.c: Likewise.
64424         * lib/printf-frexp.h: Likewise.
64425         * lib/printf-frexpl.c: Likewise.
64426         * lib/printf-frexpl.h: Likewise.
64427         * lib/printf.c: Likewise.
64428         * lib/progname.c: Likewise.
64429         * lib/progname.h: Likewise.
64430         * lib/progreloc.c: Likewise.
64431         * lib/putenv.c: Likewise.
64432         * lib/quote.c: Likewise.
64433         * lib/quote.h: Likewise.
64434         * lib/quotearg.c: Likewise.
64435         * lib/quotearg.h: Likewise.
64436         * lib/raise.c: Likewise.
64437         * lib/readline.c: Likewise.
64438         * lib/readline.h: Likewise.
64439         * lib/readlink.c: Likewise.
64440         * lib/readtokens.c: Likewise.
64441         * lib/readtokens.h: Likewise.
64442         * lib/readtokens0.c: Likewise.
64443         * lib/readtokens0.h: Likewise.
64444         * lib/readutmp.c: Likewise.
64445         * lib/readutmp.h: Likewise.
64446         * lib/realloc.c: Likewise.
64447         * lib/relocwrapper.c: Likewise.
64448         * lib/rename-dest-slash.c: Likewise.
64449         * lib/rename.c: Likewise.
64450         * lib/rmdir.c: Likewise.
64451         * lib/rpmatch.c: Likewise.
64452         * lib/safe-read.c: Likewise.
64453         * lib/safe-read.h: Likewise.
64454         * lib/safe-write.c: Likewise.
64455         * lib/safe-write.h: Likewise.
64456         * lib/same-inode.h: Likewise.
64457         * lib/same.c: Likewise.
64458         * lib/same.h: Likewise.
64459         * lib/save-cwd.c: Likewise.
64460         * lib/save-cwd.h: Likewise.
64461         * lib/savedir.c: Likewise.
64462         * lib/savedir.h: Likewise.
64463         * lib/savewd.c: Likewise.
64464         * lib/savewd.h: Likewise.
64465         * lib/search.in.h: Likewise.
64466         * lib/setenv.c: Likewise.
64467         * lib/setenv.h: Likewise.
64468         * lib/settime.c: Likewise.
64469         * lib/sh-quote.c: Likewise.
64470         * lib/sh-quote.h: Likewise.
64471         * lib/sig2str.c: Likewise.
64472         * lib/sig2str.h: Likewise.
64473         * lib/signal.in.h: Likewise.
64474         * lib/signbitd.c: Likewise.
64475         * lib/signbitf.c: Likewise.
64476         * lib/signbitl.c: Likewise.
64477         * lib/sigprocmask.c: Likewise.
64478         * lib/sincosl.c: Likewise.
64479         * lib/sleep.c: Likewise.
64480         * lib/sprintf.c: Likewise.
64481         * lib/sqrtl.c: Likewise.
64482         * lib/stat-time.h: Likewise.
64483         * lib/stdio--.h: Likewise.
64484         * lib/stdio-safer.h: Likewise.
64485         * lib/stdlib--.h: Likewise.
64486         * lib/stdlib-safer.h: Likewise.
64487         * lib/stdlib.in.h: Likewise.
64488         * lib/stpcpy.c: Likewise.
64489         * lib/stpncpy.c: Likewise.
64490         * lib/strchrnul.c: Likewise.
64491         * lib/strcspn.c: Likewise.
64492         * lib/strerror.c: Likewise.
64493         * lib/strftime.c: Likewise.
64494         * lib/strftime.h: Likewise.
64495         * lib/striconveh.c: Likewise.
64496         * lib/striconveh.h: Likewise.
64497         * lib/striconveha.c: Likewise.
64498         * lib/striconveha.h: Likewise.
64499         * lib/stripslash.c: Likewise.
64500         * lib/strnlen1.c: Likewise.
64501         * lib/strnlen1.h: Likewise.
64502         * lib/strtod.c: Likewise.
64503         * lib/strtoimax.c: Likewise.
64504         * lib/strtok_r.c: Likewise.
64505         * lib/strtol.c: Likewise.
64506         * lib/strtoll.c: Likewise.
64507         * lib/strtoul.c: Likewise.
64508         * lib/strtoull.c: Likewise.
64509         * lib/sysexits.in.h: Likewise.
64510         * lib/tempname.c: Likewise.
64511         * lib/tempname.h: Likewise.
64512         * lib/timespec.h: Likewise.
64513         * lib/tls.c: Likewise.
64514         * lib/tls.h: Likewise.
64515         * lib/tmpdir.c: Likewise.
64516         * lib/tmpdir.h: Likewise.
64517         * lib/tmpfile-safer.c: Likewise.
64518         * lib/tmpfile.c: Likewise.
64519         * lib/trigl.c: Likewise.
64520         * lib/trigl.h: Likewise.
64521         * lib/trim.c: Likewise.
64522         * lib/trim.h: Likewise.
64523         * lib/trunc.c: Likewise.
64524         * lib/truncf.c: Likewise.
64525         * lib/truncl.c: Likewise.
64526         * lib/tsearch.c: Likewise.
64527         * lib/unicodeio.c: Likewise.
64528         * lib/unicodeio.h: Likewise.
64529         * lib/unistd--.h: Likewise.
64530         * lib/unistd-safer.h: Likewise.
64531         * lib/unistdio/ulc-fprintf.c: Likewise.
64532         * lib/unistdio/ulc-vfprintf.c: Likewise.
64533         * lib/unlinkdir.c: Likewise.
64534         * lib/unlinkdir.h: Likewise.
64535         * lib/unlocked-io.h: Likewise.
64536         * lib/unsetenv.c: Likewise.
64537         * lib/userspec.c: Likewise.
64538         * lib/utime.c: Likewise.
64539         * lib/utimecmp.c: Likewise.
64540         * lib/utimecmp.h: Likewise.
64541         * lib/utimens.c: Likewise.
64542         * lib/verify.h: Likewise.
64543         * lib/verror.c: Likewise.
64544         * lib/verror.h: Likewise.
64545         * lib/version-etc-fsf.c: Likewise.
64546         * lib/version-etc.c: Likewise.
64547         * lib/version-etc.h: Likewise.
64548         * lib/vfprintf.c: Likewise.
64549         * lib/vprintf.c: Likewise.
64550         * lib/vsprintf.c: Likewise.
64551         * lib/w32spawn.h: Likewise.
64552         * lib/wait-process.c: Likewise.
64553         * lib/wait-process.h: Likewise.
64554         * lib/wcwidth.c: Likewise.
64555         * lib/write-any-file.c: Likewise.
64556         * lib/xalloc-die.c: Likewise.
64557         * lib/xalloc.h: Likewise.
64558         * lib/xasprintf.c: Likewise.
64559         * lib/xgetcwd.c: Likewise.
64560         * lib/xgetcwd.h: Likewise.
64561         * lib/xgetdomainname.c: Likewise.
64562         * lib/xgetdomainname.h: Likewise.
64563         * lib/xgethostname.c: Likewise.
64564         * lib/xmalloc.c: Likewise.
64565         * lib/xmalloca.c: Likewise.
64566         * lib/xmalloca.h: Likewise.
64567         * lib/xmemcoll.c: Likewise.
64568         * lib/xnanosleep.c: Likewise.
64569         * lib/xreadlink.c: Likewise.
64570         * lib/xreadlink.h: Likewise.
64571         * lib/xsetenv.c: Likewise.
64572         * lib/xsetenv.h: Likewise.
64573         * lib/xstriconv.c: Likewise.
64574         * lib/xstriconv.h: Likewise.
64575         * lib/xstrndup.c: Likewise.
64576         * lib/xstrndup.h: Likewise.
64577         * lib/xstrtod.c: Likewise.
64578         * lib/xstrtod.h: Likewise.
64579         * lib/xstrtol-error.c: Likewise.
64580         * lib/xstrtol.c: Likewise.
64581         * lib/xstrtol.h: Likewise.
64582         * lib/xtime.h: Likewise.
64583         * lib/xvasprintf.c: Likewise.
64584         * lib/xvasprintf.h: Likewise.
64585         * lib/yesno.c: Likewise.
64586         * lib/yesno.h: Likewise.
64587         * posix-modules: Likewise.
64588         * tests/test-alloca-opt.c: Likewise.
64589         * tests/test-arcfour.c: Likewise.
64590         * tests/test-arctwo.c: Likewise.
64591         * tests/test-argmatch.c: Likewise.
64592         * tests/test-argp-2.sh: Likewise.
64593         * tests/test-argp.c: Likewise.
64594         * tests/test-arpa_inet.c: Likewise.
64595         * tests/test-array_list.c: Likewise.
64596         * tests/test-array_oset.c: Likewise.
64597         * tests/test-atexit.c: Likewise.
64598         * tests/test-avltree_list.c: Likewise.
64599         * tests/test-avltree_oset.c: Likewise.
64600         * tests/test-avltreehash_list.c: Likewise.
64601         * tests/test-base64.c: Likewise.
64602         * tests/test-binary-io.c: Likewise.
64603         * tests/test-byteswap.c: Likewise.
64604         * tests/test-c-ctype.c: Likewise.
64605         * tests/test-c-strcasecmp.c: Likewise.
64606         * tests/test-c-strcasestr.c: Likewise.
64607         * tests/test-c-strncasecmp.c: Likewise.
64608         * tests/test-c-strstr.c: Likewise.
64609         * tests/test-canonicalize-lgpl.c: Likewise.
64610         * tests/test-canonicalize.c: Likewise.
64611         * tests/test-carray_list.c: Likewise.
64612         * tests/test-ceilf.c: Likewise.
64613         * tests/test-ceill.c: Likewise.
64614         * tests/test-count-one-bits.c: Likewise.
64615         * tests/test-crc.c: Likewise.
64616         * tests/test-dirname.c: Likewise.
64617         * tests/test-fbufmode.c: Likewise.
64618         * tests/test-fcntl.c: Likewise.
64619         * tests/test-fflush.c: Likewise.
64620         * tests/test-floorf.c: Likewise.
64621         * tests/test-floorl.c: Likewise.
64622         * tests/test-fopen.c: Likewise.
64623         * tests/test-fprintf-posix.c: Likewise.
64624         * tests/test-fprintf-posix.h: Likewise.
64625         * tests/test-fpurge.c: Likewise.
64626         * tests/test-freadable.c: Likewise.
64627         * tests/test-freadahead.c: Likewise.
64628         * tests/test-freading.c: Likewise.
64629         * tests/test-freopen.c: Likewise.
64630         * tests/test-frexp.c: Likewise.
64631         * tests/test-frexpl.c: Likewise.
64632         * tests/test-fseek.c: Likewise.
64633         * tests/test-fseeko.c: Likewise.
64634         * tests/test-fseterr.c: Likewise.
64635         * tests/test-fstrcmp.c: Likewise.
64636         * tests/test-ftell.c: Likewise.
64637         * tests/test-ftello.c: Likewise.
64638         * tests/test-fwritable.c: Likewise.
64639         * tests/test-fwriting.c: Likewise.
64640         * tests/test-getaddrinfo.c: Likewise.
64641         * tests/test-getpass.c: Likewise.
64642         * tests/test-gettimeofday.c: Likewise.
64643         * tests/test-hmac-md5.c: Likewise.
64644         * tests/test-hmac-sha1.c: Likewise.
64645         * tests/test-iconv.c: Likewise.
64646         * tests/test-iconvme.c: Likewise.
64647         * tests/test-inttypes.c: Likewise.
64648         * tests/test-isnan.c: Likewise.
64649         * tests/test-isnanf.c: Likewise.
64650         * tests/test-isnanl-nolibm.c: Likewise.
64651         * tests/test-isnanl.c: Likewise.
64652         * tests/test-isnanl.h: Likewise.
64653         * tests/test-ldexpl.c: Likewise.
64654         * tests/test-linked_list.c: Likewise.
64655         * tests/test-linkedhash_list.c: Likewise.
64656         * tests/test-locale.c: Likewise.
64657         * tests/test-localename.c: Likewise.
64658         * tests/test-lock.c: Likewise.
64659         * tests/test-lseek.c: Likewise.
64660         * tests/test-malloca.c: Likewise.
64661         * tests/test-math.c: Likewise.
64662         * tests/test-mbscasecmp.c: Likewise.
64663         * tests/test-mbscasestr1.c: Likewise.
64664         * tests/test-mbscasestr2.c: Likewise.
64665         * tests/test-mbscasestr3.c: Likewise.
64666         * tests/test-mbscasestr4.c: Likewise.
64667         * tests/test-mbschr.c: Likewise.
64668         * tests/test-mbscspn.c: Likewise.
64669         * tests/test-mbsncasecmp.c: Likewise.
64670         * tests/test-mbspbrk.c: Likewise.
64671         * tests/test-mbspcasecmp.c: Likewise.
64672         * tests/test-mbsrchr.c: Likewise.
64673         * tests/test-mbsspn.c: Likewise.
64674         * tests/test-mbsstr1.c: Likewise.
64675         * tests/test-mbsstr2.c: Likewise.
64676         * tests/test-mbsstr3.c: Likewise.
64677         * tests/test-md5.c: Likewise.
64678         * tests/test-memmem.c: Likewise.
64679         * tests/test-netinet_in.c: Likewise.
64680         * tests/test-open.c: Likewise.
64681         * tests/test-printf-frexp.c: Likewise.
64682         * tests/test-printf-frexpl.c: Likewise.
64683         * tests/test-printf-posix.c: Likewise.
64684         * tests/test-printf-posix.h: Likewise.
64685         * tests/test-rbtree_list.c: Likewise.
64686         * tests/test-rbtree_oset.c: Likewise.
64687         * tests/test-rbtreehash_list.c: Likewise.
64688         * tests/test-read-file.c: Likewise.
64689         * tests/test-rijndael.c: Likewise.
64690         * tests/test-search.c: Likewise.
64691         * tests/test-signbit.c: Likewise.
64692         * tests/test-sleep.c: Likewise.
64693         * tests/test-snprintf-posix.c: Likewise.
64694         * tests/test-snprintf-posix.h: Likewise.
64695         * tests/test-snprintf.c: Likewise.
64696         * tests/test-sprintf-posix.c: Likewise.
64697         * tests/test-sprintf-posix.h: Likewise.
64698         * tests/test-stat-time.c: Likewise.
64699         * tests/test-stdbool.c: Likewise.
64700         * tests/test-stdint.c: Likewise.
64701         * tests/test-stdio.c: Likewise.
64702         * tests/test-stdlib.c: Likewise.
64703         * tests/test-stpncpy.c: Likewise.
64704         * tests/test-strcasestr.c: Likewise.
64705         * tests/test-striconv.c: Likewise.
64706         * tests/test-striconveh.c: Likewise.
64707         * tests/test-striconveha.c: Likewise.
64708         * tests/test-string.c: Likewise.
64709         * tests/test-sys_select.c: Likewise.
64710         * tests/test-sys_socket.c: Likewise.
64711         * tests/test-sys_stat.c: Likewise.
64712         * tests/test-sys_time.c: Likewise.
64713         * tests/test-sysexits.c: Likewise.
64714         * tests/test-time.c: Likewise.
64715         * tests/test-tls.c: Likewise.
64716         * tests/test-trunc.c: Likewise.
64717         * tests/test-truncf.c: Likewise.
64718         * tests/test-truncl.c: Likewise.
64719         * tests/test-unistd.c: Likewise.
64720         * tests/test-vasnprintf-posix.c: Likewise.
64721         * tests/test-vasnprintf-posix2.c: Likewise.
64722         * tests/test-vasnprintf.c: Likewise.
64723         * tests/test-vasprintf-posix.c: Likewise.
64724         * tests/test-vasprintf.c: Likewise.
64725         * tests/test-verify.c: Likewise.
64726         * tests/test-vfprintf-posix.c: Likewise.
64727         * tests/test-vprintf-posix.c: Likewise.
64728         * tests/test-vsnprintf-posix.c: Likewise.
64729         * tests/test-vsnprintf.c: Likewise.
64730         * tests/test-vsprintf-posix.c: Likewise.
64731         * tests/test-wchar.c: Likewise.
64732         * tests/test-wctype.c: Likewise.
64733         * tests/test-wcwidth.c: Likewise.
64734         * tests/test-xstrtol.c: Likewise.
64735         * tests/test-xvasprintf.c: Likewise.
64736         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
64737         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
64738         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
64739         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
64740         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
64741         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
64742         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
64743         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
64744         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
64745         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
64746         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
64747         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
64748         * tests/uniname/test-uninames.c: Likewise.
64749         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
64750         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
64751         * tests/unistdio/test-u16-printf1.h: Likewise.
64752         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
64753         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
64754         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
64755         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
64756         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
64757         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
64758         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
64759         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
64760         * tests/unistdio/test-u32-printf1.h: Likewise.
64761         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
64762         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
64763         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
64764         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
64765         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
64766         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
64767         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
64768         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
64769         * tests/unistdio/test-u8-printf1.h: Likewise.
64770         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
64771         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
64772         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
64773         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
64774         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
64775         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
64776         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
64777         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
64778         * tests/unistdio/test-ulc-printf1.h: Likewise.
64779         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
64780         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
64781         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
64782         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
64783         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
64784         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
64785         * tests/uniwidth/test-u16-strwidth.c: Likewise.
64786         * tests/uniwidth/test-u16-width.c: Likewise.
64787         * tests/uniwidth/test-u32-strwidth.c: Likewise.
64788         * tests/uniwidth/test-u32-width.c: Likewise.
64789         * tests/uniwidth/test-u8-strwidth.c: Likewise.
64790         * tests/uniwidth/test-u8-width.c: Likewise.
64791         * tests/uniwidth/test-uc_width.c: Likewise.
64792         * config/srclist-update: Likewise.
64793         (fixlicense): Update to GPLv3+.
64794
64795         Change copyright notice from LGPLv2.1+ to LGPLv3+.
64796         * tests/test-tsearch.c: Change copyright notice.
64797
64798         Change copyright notice from LGPLv2.0+ to LGPLv3+.
64799         * lib/c-strcaseeq.h: Change copyright notice.
64800         * lib/streq.h: Likewise.
64801         * lib/uniconv.h: Likewise.
64802         * lib/uniconv/u-conv-from-enc.h: Likewise.
64803         * lib/uniconv/u-conv-to-enc.h: Likewise.
64804         * lib/uniconv/u-strconv-from-enc.h: Likewise.
64805         * lib/uniconv/u-strconv-to-enc.h: Likewise.
64806         * lib/uniconv/u16-conv-from-enc.c: Likewise.
64807         * lib/uniconv/u16-conv-to-enc.c: Likewise.
64808         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
64809         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
64810         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
64811         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
64812         * lib/uniconv/u32-conv-from-enc.c: Likewise.
64813         * lib/uniconv/u32-conv-to-enc.c: Likewise.
64814         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
64815         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
64816         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
64817         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
64818         * lib/uniconv/u8-conv-from-enc.c: Likewise.
64819         * lib/uniconv/u8-conv-to-enc.c: Likewise.
64820         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
64821         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
64822         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
64823         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
64824         * lib/uniname.h: Likewise.
64825         * lib/uniname/uniname.c: Likewise.
64826         * lib/unistdio.h: Likewise.
64827         * lib/unistdio/u-asnprintf.h: Likewise.
64828         * lib/unistdio/u-asprintf.h: Likewise.
64829         * lib/unistdio/u-printf-args.c: Likewise.
64830         * lib/unistdio/u-printf-args.h: Likewise.
64831         * lib/unistdio/u-printf-parse.h: Likewise.
64832         * lib/unistdio/u-snprintf.h: Likewise.
64833         * lib/unistdio/u-sprintf.h: Likewise.
64834         * lib/unistdio/u-vasprintf.h: Likewise.
64835         * lib/unistdio/u-vsnprintf.h: Likewise.
64836         * lib/unistdio/u-vsprintf.h: Likewise.
64837         * lib/unistdio/u16-asnprintf.c: Likewise.
64838         * lib/unistdio/u16-asprintf.c: Likewise.
64839         * lib/unistdio/u16-printf-parse.c: Likewise.
64840         * lib/unistdio/u16-snprintf.c: Likewise.
64841         * lib/unistdio/u16-sprintf.c: Likewise.
64842         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
64843         * lib/unistdio/u16-u16-asprintf.c: Likewise.
64844         * lib/unistdio/u16-u16-snprintf.c: Likewise.
64845         * lib/unistdio/u16-u16-sprintf.c: Likewise.
64846         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
64847         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
64848         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
64849         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
64850         * lib/unistdio/u16-vasnprintf.c: Likewise.
64851         * lib/unistdio/u16-vasprintf.c: Likewise.
64852         * lib/unistdio/u16-vsnprintf.c: Likewise.
64853         * lib/unistdio/u16-vsprintf.c: Likewise.
64854         * lib/unistdio/u32-asnprintf.c: Likewise.
64855         * lib/unistdio/u32-asprintf.c: Likewise.
64856         * lib/unistdio/u32-printf-parse.c: Likewise.
64857         * lib/unistdio/u32-snprintf.c: Likewise.
64858         * lib/unistdio/u32-sprintf.c: Likewise.
64859         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
64860         * lib/unistdio/u32-u32-asprintf.c: Likewise.
64861         * lib/unistdio/u32-u32-snprintf.c: Likewise.
64862         * lib/unistdio/u32-u32-sprintf.c: Likewise.
64863         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
64864         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
64865         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
64866         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
64867         * lib/unistdio/u32-vasnprintf.c: Likewise.
64868         * lib/unistdio/u32-vasprintf.c: Likewise.
64869         * lib/unistdio/u32-vsnprintf.c: Likewise.
64870         * lib/unistdio/u32-vsprintf.c: Likewise.
64871         * lib/unistdio/u8-asnprintf.c: Likewise.
64872         * lib/unistdio/u8-asprintf.c: Likewise.
64873         * lib/unistdio/u8-printf-parse.c: Likewise.
64874         * lib/unistdio/u8-snprintf.c: Likewise.
64875         * lib/unistdio/u8-sprintf.c: Likewise.
64876         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
64877         * lib/unistdio/u8-u8-asprintf.c: Likewise.
64878         * lib/unistdio/u8-u8-snprintf.c: Likewise.
64879         * lib/unistdio/u8-u8-sprintf.c: Likewise.
64880         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
64881         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
64882         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
64883         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
64884         * lib/unistdio/u8-vasnprintf.c: Likewise.
64885         * lib/unistdio/u8-vasprintf.c: Likewise.
64886         * lib/unistdio/u8-vsnprintf.c: Likewise.
64887         * lib/unistdio/u8-vsprintf.c: Likewise.
64888         * lib/unistdio/ulc-asnprintf.c: Likewise.
64889         * lib/unistdio/ulc-asprintf.c: Likewise.
64890         * lib/unistdio/ulc-printf-parse.c: Likewise.
64891         * lib/unistdio/ulc-snprintf.c: Likewise.
64892         * lib/unistdio/ulc-sprintf.c: Likewise.
64893         * lib/unistdio/ulc-vasnprintf.c: Likewise.
64894         * lib/unistdio/ulc-vasprintf.c: Likewise.
64895         * lib/unistdio/ulc-vsnprintf.c: Likewise.
64896         * lib/unistdio/ulc-vsprintf.c: Likewise.
64897         * lib/unistr.h: Likewise.
64898         * lib/unistr/u-cpy-alloc.h: Likewise.
64899         * lib/unistr/u-cpy.h: Likewise.
64900         * lib/unistr/u-endswith.h: Likewise.
64901         * lib/unistr/u-move.h: Likewise.
64902         * lib/unistr/u-set.h: Likewise.
64903         * lib/unistr/u-startswith.h: Likewise.
64904         * lib/unistr/u-stpcpy.h: Likewise.
64905         * lib/unistr/u-stpncpy.h: Likewise.
64906         * lib/unistr/u-strcat.h: Likewise.
64907         * lib/unistr/u-strcpy.h: Likewise.
64908         * lib/unistr/u-strcspn.h: Likewise.
64909         * lib/unistr/u-strdup.h: Likewise.
64910         * lib/unistr/u-strlen.h: Likewise.
64911         * lib/unistr/u-strncat.h: Likewise.
64912         * lib/unistr/u-strncpy.h: Likewise.
64913         * lib/unistr/u-strnlen.h: Likewise.
64914         * lib/unistr/u-strpbrk.h: Likewise.
64915         * lib/unistr/u-strspn.h: Likewise.
64916         * lib/unistr/u-strstr.h: Likewise.
64917         * lib/unistr/u-strtok.h: Likewise.
64918         * lib/unistr/u16-check.c: Likewise.
64919         * lib/unistr/u16-chr.c: Likewise.
64920         * lib/unistr/u16-cmp.c: Likewise.
64921         * lib/unistr/u16-cpy-alloc.c: Likewise.
64922         * lib/unistr/u16-cpy.c: Likewise.
64923         * lib/unistr/u16-endswith.c: Likewise.
64924         * lib/unistr/u16-mblen.c: Likewise.
64925         * lib/unistr/u16-mbsnlen.c: Likewise.
64926         * lib/unistr/u16-mbtouc-aux.c: Likewise.
64927         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
64928         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
64929         * lib/unistr/u16-mbtouc.c: Likewise.
64930         * lib/unistr/u16-mbtoucr.c: Likewise.
64931         * lib/unistr/u16-move.c: Likewise.
64932         * lib/unistr/u16-next.c: Likewise.
64933         * lib/unistr/u16-prev.c: Likewise.
64934         * lib/unistr/u16-set.c: Likewise.
64935         * lib/unistr/u16-startswith.c: Likewise.
64936         * lib/unistr/u16-stpcpy.c: Likewise.
64937         * lib/unistr/u16-stpncpy.c: Likewise.
64938         * lib/unistr/u16-strcat.c: Likewise.
64939         * lib/unistr/u16-strchr.c: Likewise.
64940         * lib/unistr/u16-strcmp.c: Likewise.
64941         * lib/unistr/u16-strcpy.c: Likewise.
64942         * lib/unistr/u16-strcspn.c: Likewise.
64943         * lib/unistr/u16-strdup.c: Likewise.
64944         * lib/unistr/u16-strlen.c: Likewise.
64945         * lib/unistr/u16-strmblen.c: Likewise.
64946         * lib/unistr/u16-strmbtouc.c: Likewise.
64947         * lib/unistr/u16-strncat.c: Likewise.
64948         * lib/unistr/u16-strncmp.c: Likewise.
64949         * lib/unistr/u16-strncpy.c: Likewise.
64950         * lib/unistr/u16-strnlen.c: Likewise.
64951         * lib/unistr/u16-strpbrk.c: Likewise.
64952         * lib/unistr/u16-strrchr.c: Likewise.
64953         * lib/unistr/u16-strspn.c: Likewise.
64954         * lib/unistr/u16-strstr.c: Likewise.
64955         * lib/unistr/u16-strtok.c: Likewise.
64956         * lib/unistr/u16-to-u32.c: Likewise.
64957         * lib/unistr/u16-to-u8.c: Likewise.
64958         * lib/unistr/u16-uctomb-aux.c: Likewise.
64959         * lib/unistr/u16-uctomb.c: Likewise.
64960         * lib/unistr/u32-check.c: Likewise.
64961         * lib/unistr/u32-chr.c: Likewise.
64962         * lib/unistr/u32-cmp.c: Likewise.
64963         * lib/unistr/u32-cpy-alloc.c: Likewise.
64964         * lib/unistr/u32-cpy.c: Likewise.
64965         * lib/unistr/u32-endswith.c: Likewise.
64966         * lib/unistr/u32-mblen.c: Likewise.
64967         * lib/unistr/u32-mbsnlen.c: Likewise.
64968         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
64969         * lib/unistr/u32-mbtouc.c: Likewise.
64970         * lib/unistr/u32-mbtoucr.c: Likewise.
64971         * lib/unistr/u32-move.c: Likewise.
64972         * lib/unistr/u32-next.c: Likewise.
64973         * lib/unistr/u32-prev.c: Likewise.
64974         * lib/unistr/u32-set.c: Likewise.
64975         * lib/unistr/u32-startswith.c: Likewise.
64976         * lib/unistr/u32-stpcpy.c: Likewise.
64977         * lib/unistr/u32-stpncpy.c: Likewise.
64978         * lib/unistr/u32-strcat.c: Likewise.
64979         * lib/unistr/u32-strchr.c: Likewise.
64980         * lib/unistr/u32-strcmp.c: Likewise.
64981         * lib/unistr/u32-strcpy.c: Likewise.
64982         * lib/unistr/u32-strcspn.c: Likewise.
64983         * lib/unistr/u32-strdup.c: Likewise.
64984         * lib/unistr/u32-strlen.c: Likewise.
64985         * lib/unistr/u32-strmblen.c: Likewise.
64986         * lib/unistr/u32-strmbtouc.c: Likewise.
64987         * lib/unistr/u32-strncat.c: Likewise.
64988         * lib/unistr/u32-strncmp.c: Likewise.
64989         * lib/unistr/u32-strncpy.c: Likewise.
64990         * lib/unistr/u32-strnlen.c: Likewise.
64991         * lib/unistr/u32-strpbrk.c: Likewise.
64992         * lib/unistr/u32-strrchr.c: Likewise.
64993         * lib/unistr/u32-strspn.c: Likewise.
64994         * lib/unistr/u32-strstr.c: Likewise.
64995         * lib/unistr/u32-strtok.c: Likewise.
64996         * lib/unistr/u32-to-u16.c: Likewise.
64997         * lib/unistr/u32-to-u8.c: Likewise.
64998         * lib/unistr/u32-uctomb.c: Likewise.
64999         * lib/unistr/u8-check.c: Likewise.
65000         * lib/unistr/u8-chr.c: Likewise.
65001         * lib/unistr/u8-cmp.c: Likewise.
65002         * lib/unistr/u8-cpy-alloc.c: Likewise.
65003         * lib/unistr/u8-cpy.c: Likewise.
65004         * lib/unistr/u8-endswith.c: Likewise.
65005         * lib/unistr/u8-mblen.c: Likewise.
65006         * lib/unistr/u8-mbsnlen.c: Likewise.
65007         * lib/unistr/u8-mbtouc-aux.c: Likewise.
65008         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
65009         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
65010         * lib/unistr/u8-mbtouc.c: Likewise.
65011         * lib/unistr/u8-mbtoucr.c: Likewise.
65012         * lib/unistr/u8-move.c: Likewise.
65013         * lib/unistr/u8-next.c: Likewise.
65014         * lib/unistr/u8-prev.c: Likewise.
65015         * lib/unistr/u8-set.c: Likewise.
65016         * lib/unistr/u8-startswith.c: Likewise.
65017         * lib/unistr/u8-stpcpy.c: Likewise.
65018         * lib/unistr/u8-stpncpy.c: Likewise.
65019         * lib/unistr/u8-strcat.c: Likewise.
65020         * lib/unistr/u8-strchr.c: Likewise.
65021         * lib/unistr/u8-strcmp.c: Likewise.
65022         * lib/unistr/u8-strcpy.c: Likewise.
65023         * lib/unistr/u8-strcspn.c: Likewise.
65024         * lib/unistr/u8-strdup.c: Likewise.
65025         * lib/unistr/u8-strlen.c: Likewise.
65026         * lib/unistr/u8-strmblen.c: Likewise.
65027         * lib/unistr/u8-strmbtouc.c: Likewise.
65028         * lib/unistr/u8-strncat.c: Likewise.
65029         * lib/unistr/u8-strncmp.c: Likewise.
65030         * lib/unistr/u8-strncpy.c: Likewise.
65031         * lib/unistr/u8-strnlen.c: Likewise.
65032         * lib/unistr/u8-strpbrk.c: Likewise.
65033         * lib/unistr/u8-strrchr.c: Likewise.
65034         * lib/unistr/u8-strspn.c: Likewise.
65035         * lib/unistr/u8-strstr.c: Likewise.
65036         * lib/unistr/u8-strtok.c: Likewise.
65037         * lib/unistr/u8-to-u16.c: Likewise.
65038         * lib/unistr/u8-to-u32.c: Likewise.
65039         * lib/unistr/u8-uctomb-aux.c: Likewise.
65040         * lib/unistr/u8-uctomb.c: Likewise.
65041         * lib/unitypes.h: Likewise.
65042         * lib/uniwidth.h: Likewise.
65043         * lib/uniwidth/cjk.h: Likewise.
65044         * lib/uniwidth/u16-strwidth.c: Likewise.
65045         * lib/uniwidth/u16-width.c: Likewise.
65046         * lib/uniwidth/u32-strwidth.c: Likewise.
65047         * lib/uniwidth/u32-width.c: Likewise.
65048         * lib/uniwidth/u8-strwidth.c: Likewise.
65049         * lib/uniwidth/u8-width.c: Likewise.
65050         * lib/uniwidth/width.c: Likewise.
65051
65052 2007-10-07  Bruno Haible  <bruno@clisp.org>
65053
65054         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
65055         The file is still under LGPL (see modules/inttypes).
65056
65057 2007-10-06  Bruno Haible  <bruno@clisp.org>
65058
65059         * modules/trunc (Dependencies): Add 'extensions'.
65060         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
65061         Reported by Ben Pfaff <blp@gnu.org>.
65062
65063 2007-10-06  Bruno Haible  <bruno@clisp.org>
65064
65065         * modules/freopen-tests: New file.
65066         * tests/test-freopen.c: New file.
65067
65068         * modules/fopen-tests: New file.
65069         * tests/test-fopen.c: New file.
65070
65071         * modules/fopen: New file.
65072         * lib/fopen.c: New file.
65073         * m4/fopen.m4: New file.
65074         * modules/freopen: New file.
65075         * lib/freopen.c: New file.
65076         * m4/freopen.m4: New file.
65077         * lib/stdio.in.h (fopen, freopen): New declarations.
65078         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
65079         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
65080         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
65081         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
65082         * doc/functions/fopen.texi: Mention the 'fopen' module.
65083         * doc/functions/freopen.texi: Mention the 'freopen' module.
65084
65085 2007-10-06  Bruno Haible  <bruno@clisp.org>
65086
65087         * modules/open-tests: New file.
65088         * tests/test-open.c: New file.
65089
65090         * modules/open: New file.
65091         * lib/open.c: New file.
65092         * m4/open.m4: New file.
65093         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
65094         lib/open.c does.
65095         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
65096         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
65097         macros.
65098         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
65099         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
65100         REPLACE_OPEN.
65101         * doc/functions/open.texi: Mention the 'open' module.
65102
65103 2007-10-04  Bruno Haible  <bruno@clisp.org>
65104
65105         * modules/ceill-tests: New file.
65106         * tests/test-ceill.c: New file.
65107
65108         * modules/ceill: New file.
65109         * lib/ceill.c: Replace entire file.
65110         * m4/ceill.m4: New file.
65111         * lib/math.in.h (ceill): Replace declaration.
65112         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
65113         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
65114         * doc/functions/ceill.texi: Mention the 'ceill' module.
65115         * modules/mathl (Files): Remove lib/ceill.c.
65116         (Depends-on): Add ceill.
65117
65118 2007-10-04  Bruno Haible  <bruno@clisp.org>
65119
65120         * modules/ceilf-tests: New file.
65121         * tests/test-ceilf.c: New file.
65122
65123         * modules/ceilf: New file.
65124         * lib/ceil.c: New file.
65125         * lib/ceilf.c: New file.
65126         * m4/ceilf.m4: New file.
65127         * lib/math.in.h (ceilf): New declaration.
65128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
65129         HAVE_DECL_CEILF.
65130         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
65131         HAVE_DECL_CEILF.
65132         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
65133
65134 2007-10-04  Bruno Haible  <bruno@clisp.org>
65135
65136         * modules/floorl-tests: New file.
65137         * tests/test-floorl.c: New file.
65138
65139         * modules/floorl: New file.
65140         * lib/floorl.c: Replace entire file.
65141         * m4/floorl.m4: New file.
65142         * lib/math.in.h (floorl): Replace declaration.
65143         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
65144         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
65145         * doc/functions/floorl.texi: Mention the 'floorl' module.
65146         * modules/mathl (Files): Remove lib/floorl.c.
65147         (Depends-on): Add floorl.
65148
65149 2007-10-04  Bruno Haible  <bruno@clisp.org>
65150
65151         * modules/floorf-tests: New file.
65152         * tests/test-floorf.c: New file.
65153
65154         * modules/floorf: New file.
65155         * lib/floor.c: New file.
65156         * lib/floorf.c: New file.
65157         * m4/floorf.m4: New file.
65158         * lib/math.in.h (floorf): New declaration.
65159         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
65160         HAVE_DECL_FLOORF.
65161         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
65162         HAVE_DECL_FLOORF.
65163         * doc/functions/floorf.texi: Mention the 'floorf' module.
65164
65165 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
65166             Bruno Haible  <bruno@clisp.org>
65167
65168         Advertise for the Git server instead of the CVS server.
65169         * doc/gnulib-intro.texi (Steady Development): Mention the Git
65170         repository instead of the CVS one.
65171         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
65172         about all VCS systems generically.
65173         * doc/gnulib.texi (Introduction): Capitalize `Git'.
65174
65175 2007-10-04  Bruno Haible  <bruno@clisp.org>
65176
65177         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
65178         means.
65179         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
65180
65181 2007-10-04  Bruno Haible  <bruno@clisp.org>
65182
65183         * modules/truncl-tests: New file.
65184         * tests/test-truncl.c: New file.
65185
65186         * modules/truncl: New file.
65187         * lib/truncl.c: New file.
65188         * m4/truncl.m4: New file.
65189         * lib/math.in.h (truncl): New declaration.
65190         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
65191         HAVE_DECL_TRUNCL.
65192         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
65193         HAVE_DECL_TRUNCL.
65194         * doc/functions/truncl.texi: Mention the 'truncl' module.
65195
65196 2007-10-04  Bruno Haible  <bruno@clisp.org>
65197
65198         * modules/truncf-tests: New file.
65199         * tests/test-truncf.c: New file.
65200
65201         * modules/truncf: New file.
65202         * lib/trunc.c: Make paramerizable through USE_* macros.
65203         * lib/truncf.c: New file.
65204         * m4/truncf.m4: New file.
65205         * lib/math.in.h (truncf): New declaration.
65206         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
65207         HAVE_DECL_TRUNCF.
65208         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
65209         HAVE_DECL_TRUNCF.
65210         * doc/functions/truncf.texi: Mention the 'truncf' module.
65211
65212 2007-10-03  Bruno Haible  <bruno@clisp.org>
65213
65214         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
65215         augmentation also for tests modules.
65216         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
65217         * modules/atexit-tests (Makefile.am): Likewise.
65218         * modules/binary-io-tests (Makefile.am): Likewise.
65219         * modules/c-strcase-tests (Makefile.am): Likewise.
65220         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
65221         * modules/canonicalize-tests (Makefile.am): Likewise.
65222         * modules/closein-tests (Makefile.am): Likewise.
65223         * modules/fprintf-posix-tests (Makefile.am): Likewise.
65224         * modules/freadahead-tests (Makefile.am): Likewise.
65225         * modules/fseek-tests (Makefile.am): Likewise.
65226         * modules/fseeko-tests (Makefile.am): Likewise.
65227         * modules/ftell-tests (Makefile.am): Likewise.
65228         * modules/ftello-tests (Makefile.am): Likewise.
65229         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
65230         * modules/isnanl-tests (Makefile.am): Likewise.
65231         * modules/lseek-tests (Makefile.am): Likewise.
65232         * modules/mbscasecmp-tests (Makefile.am): Likewise.
65233         * modules/mbscasestr-tests (Makefile.am): Likewise.
65234         * modules/mbschr-tests (Makefile.am): Likewise.
65235         * modules/mbscspn-tests (Makefile.am): Likewise.
65236         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
65237         * modules/mbspbrk-tests (Makefile.am): Likewise.
65238         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
65239         * modules/mbsrchr-tests (Makefile.am): Likewise.
65240         * modules/mbsspn-tests (Makefile.am): Likewise.
65241         * modules/mbsstr-tests (Makefile.am): Likewise.
65242         * modules/printf-posix-tests (Makefile.am): Likewise.
65243         * modules/snprintf-posix-tests (Makefile.am): Likewise.
65244         * modules/sprintf-posix-tests (Makefile.am): Likewise.
65245         * modules/tsearch-tests (Makefile.am): Likewise.
65246         * modules/uniname/uniname-tests (Makefile.am): Likewise.
65247         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
65248         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
65249         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
65250         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
65251         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
65252         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
65253         * modules/vprintf-posix-tests (Makefile.am): Likewise.
65254         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
65255         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
65256         * modules/xstrtoimax-tests (Makefile.am): Likewise.
65257         * modules/xstrtol-tests (Makefile.am): Likewise.
65258         * modules/xstrtoumax-tests (Makefile.am): Likewise.
65259         * modules/yesno-tests (Makefile.am): Likewise.
65260
65261 2007-10-03  Bruno Haible  <bruno@clisp.org>
65262
65263         * modules/trunc-tests: New file.
65264         * tests/test-trunc.c: New file.
65265
65266         * modules/trunc: New file.
65267         * lib/trunc.c: New file.
65268         * m4/trunc.m4: New file.
65269         * lib/math.in.h (trunc): New declaration.
65270         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
65271         HAVE_DECL_TRUNC.
65272         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
65273         HAVE_DECL_TRUNC.
65274         * doc/functions/trunc.texi: Mention the 'trunc' module.
65275
65276 2007-10-03  Bruno Haible  <bruno@clisp.org>
65277
65278         * tests/test-fpending.c: New file, mostly copied
65279         from coreutils/lib/t-fpending.c.
65280         * modules/fpending-tests: New file.
65281
65282 2007-10-03  Bruno Haible  <bruno@clisp.org>
65283
65284         Port the stdio extensions to QNX (untested).
65285         * lib/fseterr.c (fseterr): Add support for QNX.
65286         * lib/fbufmode.c (fbufmode): Likewise.
65287         * lib/freadable.c (freadable): Likewise.
65288         * lib/fwritable.c (fwritable): Likewise.
65289         * lib/freading.c (freading): Likewise.
65290         * lib/fwriting.c (fwriting): Likewise.
65291         * lib/freadahead.c (freadahed): Likewise.
65292         * lib/fpurge.c (fpurge): Likewise.
65293         * lib/fseeko.c (rpl_fseeko): Likewise.
65294
65295 2007-10-03  Bruno Haible  <bruno@clisp.org>
65296             Jim Meyering  <jim@meyering.net>
65297             Eric Blake  <ebb9@byu.net>
65298
65299         * doc/relocatable.texi: Use @command instead of @program.
65300
65301 2007-10-02  Jim Meyering  <jim@meyering.net>
65302
65303         Perform one more "_.h" -> ".in.h" substitution.
65304         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
65305         instead of unistd_.h here, too.
65306
65307 2007-10-01  Bruno Haible  <bruno@clisp.org>
65308
65309         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
65310         Needed for the alloca-opt module.
65311
65312 2007-09-30  Bruno Haible  <bruno@clisp.org>
65313
65314         * lib/alloca.in.h: Renamed from lib/alloca_.h.
65315         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
65316         alloca_.h.
65317         * lib/argz.in.h: Renamed from lib/argz_.h.
65318         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
65319         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
65320         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
65321         byteswap_.h.
65322         * lib/dirent.in.h: Renamed from lib/dirent_.h.
65323         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
65324         dirent_.h.
65325         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
65326         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
65327         fcntl_.h.
65328         * lib/float.in.h: Renamed from lib/float_.h.
65329         * modules/float (Files, Makefile.am): Use float.in.h instead of
65330         float_.h.
65331         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
65332         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
65333         fnmatch_.h.
65334         * lib/getopt.in.h: Renamed from lib/getopt_.h.
65335         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
65336         getopt_.h.
65337         * lib/glob.in.h: Renamed from lib/glob_.h.
65338         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
65339         * lib/iconv.in.h: Renamed from lib/iconv_.h.
65340         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
65341         iconv_.h.
65342         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
65343         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
65344         inttypes_.h.
65345         * lib/locale.in.h: Renamed from lib/locale_.h.
65346         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
65347         locale_.h.
65348         * lib/math.in.h: Renamed from lib/math_.h.
65349         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
65350         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
65351         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
65352         of netinet_in_.h. Add dependency.
65353         * lib/poll.in.h: Renamed from lib/poll_.h.
65354         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
65355         * lib/search.in.h: Renamed from lib/search_.h.
65356         * modules/search (Files, Makefile.am): Use search.in.h instead of
65357         search_.h.
65358         * lib/signal.in.h: Renamed from lib/signal_.h.
65359         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
65360         _signal.h.
65361         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
65362         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
65363         stdbool_.h.
65364         * lib/stdint.in.h: Renamed from lib/stdint_.h.
65365         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
65366         stdint_.h.
65367         * lib/stdio.in.h: Renamed from lib/stdio_.h.
65368         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
65369         stdio_.h.
65370         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
65371         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
65372         stdlib_.h.
65373         * lib/string.in.h: Renamed from lib/string_.h.
65374         * modules/string (Files, Makefile.am): Use string.in.h instead of
65375         string_.h.
65376         * doc/gnulib-tool.texi (Initial import): Update.
65377         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
65378         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
65379         of sys_select_.h. Add dependency.
65380         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
65381         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
65382         of sys_socket_.h.
65383         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
65384         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
65385         sys_stat_.h.
65386         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
65387         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
65388         sys_time_.h.
65389         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
65390         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
65391         sysexits_.h.
65392         * lib/time.in.h: Renamed from lib/time_.h.
65393         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
65394         * lib/unistd.in.h: Renamed from lib/unistd_.h.
65395         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
65396         unistd_.h.
65397         * lib/wchar.in.h: Renamed from lib/wchar_.h.
65398         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
65399         wchar_.h.
65400         * lib/wctype.in.h: Renamed from lib/wctype_.h.
65401         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
65402         wctype_.h.
65403         * build-aux/bootstrap (slurp): Update.
65404         * lib/.cppi-disable: Update.
65405
65406 2007-09-30  Bruno Haible  <bruno@clisp.org>
65407
65408         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
65409         Needed on BeOS.
65410
65411 2007-09-30  Bruno Haible  <bruno@clisp.org>
65412
65413         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
65414
65415 2007-09-29  Bruno Haible  <bruno@clisp.org>
65416
65417         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
65418
65419 2007-09-29  Bruno Haible  <bruno@clisp.org>
65420
65421         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
65422         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
65423         * build-aux/install-reloc: Compile also areadlink.c.
65424         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
65425
65426 2007-09-29  Bruno Haible  <bruno@clisp.org>
65427
65428         * gnulib-tool (func_emit_initmacro_done): Indentation.
65429
65430 2007-09-29  Bruno Haible  <bruno@clisp.org>
65431
65432         * README: Add CVS checkout update instructions.
65433         Info from Bob Proulx <bob@proulx.com>.
65434
65435 2007-09-28  Eric Blake  <ebb9@byu.net>
65436
65437         Provide move-if-change.
65438         * build-aux/move-if-change: New file, based on best practice
65439         rather than any canonical upstream location.
65440
65441 2007-09-28  Jim Meyering  <jim@meyering.net>
65442
65443         Fix canonicalize loop-detection corner case.
65444         Do not attempt to stat the symlink values stored via seen_triple.
65445         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
65446         on linux-2.6.18, (but not 2.6.22).
65447         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
65448         triple_compare.  The former compares dev,ino,filename, while the latter
65449         would actually stat dirname(filename) when dev and ino were equal.
65450         * lib/hash-triple.c: Install <string.h>.
65451         (STREQ): Define.
65452         (triple_compare_ino_str): New function.
65453         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
65454
65455 2007-09-28  Eric Blake  <ebb9@byu.net>
65456
65457         Enforce that AC_REPLACE_FUNCS files exist.
65458         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
65459         override check for typos.
65460
65461         Fix test-closein on Solaris 10.
65462         * tests/test-closein.c (main): Don't assume stdin can be inherited
65463         closed on all systems.
65464         * tests/test-closein.sh: Likewise.
65465         Reported by Piotr Tarnowski.
65466
65467 2007-09-28  Jim Meyering  <jim@meyering.net>
65468
65469         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
65470
65471 2007-09-27  Jim Meyering  <jim@meyering.net>
65472
65473         canonicalize: Avoid a false-positive cycle failure.
65474         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
65475         Sort.  Remove cycle-check.
65476         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
65477         not cycle-check.h.
65478         (seen_triple): New function.
65479         (canonicalize_filename_mode): Use it instead of cycle-check.
65480         * tests/test-canonicalize.c: Add a test for this bug.
65481         * tests/test-canonicalize.sh: Set up and run the test.
65482
65483         New module, file-set, from coreutils.
65484         * modules/file-set: Define it.
65485         * lib/file-set.c, lib/file-set.h: Implement.
65486
65487         New module, hash-triple, from coreutils.
65488         * modules/hash-triple: Define it.
65489         * lib/hash-triple.c, lib/hash-triple.h: Implement.
65490
65491 2007-09-25  Eric Blake  <ebb9@byu.net>
65492
65493         Fix strerror on Interix.
65494         * lib/string_.h (strerror): Declare replacement.
65495         * doc/functions/strerror.texi (strerror): Document the Interix
65496         shortcoming.
65497         * modules/string (Makefile.am): Support new hooks.
65498         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
65499         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
65500         gl_FUNC_STRERROR_SEPARATE.
65501         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
65502         * lib/strerror.c (rpl_strerror): Provide replacement.
65503         * modules/strerror (Depends-on): Add string.
65504         (configure.ac): Detect use of module.
65505         * tests/test-strerror.c: New file.
65506         * modules/strerror-tests: New test module.
65507         * modules/argp (Depends-on): Add strerror.
65508         * modules/error (Depends-on): Likewise.
65509         Reported by Martin Koeppe.
65510
65511 2007-09-24  Bruno Haible  <bruno@clisp.org>
65512
65513         * README: Update git instructions.
65514
65515 2007-09-24  Eric Blake  <ebb9@byu.net>
65516
65517         Revert fpending breakage from 2007-09-08.
65518         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
65519         __fpending.c.
65520
65521 2007-09-24  Jim Meyering  <jim@meyering.net>
65522
65523         filenamecat.c: Add a test.
65524         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
65525         showing how the function works when DIR is the empty string.
65526
65527 2007-09-21  Simon Josefsson  <simon@josefsson.org>
65528
65529         * tests/test-canonicalize.sh: Turn on executable bit.
65530
65531 2007-09-19  Eric Blake  <ebb9@byu.net>
65532
65533         * README: Update CVS instructions.
65534
65535 2007-09-18  Bruno Haible  <bruno@clisp.org>
65536
65537         * modules/areadlink: New file.
65538         * lib/areadlink.h (areadlink): New declaration.
65539         * lib/areadlink.c: New file, based on lib/xreadlink.c.
65540
65541 2007-09-17  Jim Meyering  <jim@meyering.net>
65542
65543         * lib/savewd.c (ESTALE) [!defined]: Define.
65544         Reported to be required on Interix by Martin Koeppe.
65545
65546 2007-09-17  Bruno Haible  <bruno@clisp.org>
65547
65548         * gnulib-tool (func_version): Use $version.
65549
65550 2007-09-16  Bruno Haible  <bruno@clisp.org>
65551
65552         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
65553         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
65554         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
65555         Reported by Greg Schafer <gschafer@zip.com.au>.
65556
65557 2007-09-15  Bruno Haible  <bruno@clisp.org>
65558
65559         * gnulib-tool (sed): Try a little harder to make bash understand the
65560         alias.
65561         Reported by Bruce Korb <bruce.korb@gmail.com>.
65562
65563 2007-09-13  Eric Blake  <ebb9@byu.net>
65564
65565         * ChangeLog: Remove conflict markers.
65566
65567 2007-09-13  Simon Josefsson  <simon@josefsson.org>
65568
65569         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
65570         Reported by Bruno Haible <bruno@clisp.org>.
65571
65572 2007-09-12  Bruno Haible  <bruno@clisp.org>
65573
65574         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
65575         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
65576         is not defined.
65577
65578 2007-09-12  Eric Blake  <ebb9@byu.net>
65579
65580         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
65581         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
65582         Autoconf definition.
65583         * modules/euidaccess (Depends-on): Add extensions, for
65584         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
65585         * modules/fnmatch (Depends-on): Likewise.
65586         * modules/getaddrinfo (Depends-on): Likewise.
65587         * modules/getdelim (Depends-on): Likewise.
65588         * modules/getline (Depends-on): Likewise.
65589         * modules/getsubopt (Depends-on): Likewise.
65590         * modules/gettext (Depends-on): Likewise.
65591         * modules/group-member (Depends-on): Likewise.
65592         * modules/mbchar (Depends-on): Likewise.
65593         * modules/memmem (Depends-on): Likewise.
65594         * modules/mempcpy (Depends-on): Likewise.
65595         * modules/memrchr (Depends-on): Likewise.
65596         * modules/pagealign_alloc (Depends-on): Likewise.
65597         * modules/readutmp (Depends-on): Likewise.
65598         * modules/stpcpy (Depends-on): Likewise.
65599         * modules/stpncpy (Depends-on): Likewise.
65600         * modules/strchrnul (Depends-on): Likewise.
65601         * modules/strndup (Depends-on): Likewise.
65602         * modules/strsep (Depends-on): Likewise.
65603         * modules/strverscmp (Depends-on): Likewise.
65604         * modules/vasprintf (Depends-on): Likewise.
65605         * modules/wcwidth (Depends-on): Likewise.
65606         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
65607         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
65608         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
65609         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
65610         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
65611         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
65612         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
65613         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
65614         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
65615         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
65616         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
65617         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
65618         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
65619         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
65620         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
65621         * m4/readutmp.m4 (gl_READUTMP): Likewise.
65622         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
65623         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
65624         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
65625         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
65626         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
65627         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
65628         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
65629         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
65630         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
65631         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
65632         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
65633         so that lock.m4 can be used in gettext without extensions module.
65634
65635 2007-09-11  Bruno Haible  <bruno@clisp.org>
65636
65637         * m4/isc-posix.m4: Remove file.
65638         Suggested by Eric Blake.
65639
65640 2007-09-11  Eric Blake  <ebb9@byu.net>
65641
65642         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
65643
65644 2007-09-10  Bruno Haible  <bruno@clisp.org>
65645
65646         * posix-modules: Fix typo in error message.
65647         Reported by Matt <mkraai@beckman.com>.
65648
65649 2007-09-09  Bruno Haible  <bruno@clisp.org>
65650
65651         * doc/functions/getdelim.texi: Update list of platforms lacking the
65652         function.
65653         * doc/functions/getline.texi: Likewise.
65654
65655 2007-09-09  Jim Meyering  <jim@meyering.net>
65656
65657         * lib/hash.c (hash_initialize): Detect calloc failure.
65658         Reported by Bruno Haible.
65659
65660 2007-09-09  Bruno Haible  <bruno@clisp.org>
65661
65662         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
65663         malloc or realloc fails.
65664
65665 2007-09-09  Bruno Haible  <bruno@clisp.org>
65666
65667         * modules/getcwd (Depends-on): Add malloc-posix.
65668         * modules/glob (Depends-on): Likewise.
65669         * modules/putenv (Depends-on): Likewise.
65670         * modules/strdup (Depends-on): Likewise.
65671         * modules/getdelim (Depends-on): Add realloc-posix.
65672         * modules/read-file (Depends-on): Likewise.
65673
65674 2007-09-09  Bruno Haible  <bruno@clisp.org>
65675
65676         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
65677         (gl_FUNC_MALLOC_POSIX): Require it.
65678         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
65679         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
65680         * modules/realloc (Files): Add m4/malloc.m4.
65681         * modules/calloc (Files): Likewise.
65682
65683 2007-09-09  Bruno Haible  <bruno@clisp.org>
65684
65685         * modules/malloc-posix: New file.
65686         * modules/malloc (Depends-on): Add malloc-posix.
65687         * lib/malloc.c: Include errno.h.
65688         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
65689         and a POSIX-compatible malloc into a single function. Set ENOMEM
65690         when returning NULL.
65691         * m4/malloc.m4: New file.
65692         * doc/functions/malloc.texi: Mention the malloc-posix module.
65693         * lib/stdlib_.h (malloc): New declaration.
65694         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65695         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
65696         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
65697         and HAVE_MALLOC_POSIX.
65698
65699 2007-09-09  Bruno Haible  <bruno@clisp.org>
65700
65701         * modules/realloc-posix: New file.
65702         * modules/realloc (Depends-on): Add realloc-posix.
65703         * lib/realloc.c: Include errno.h.
65704         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
65705         and a POSIX-compatible realloc into a single function. Set ENOMEM
65706         when returning NULL.
65707         * m4/realloc.m4: New file.
65708         * doc/functions/realloc.texi: Mention the realloc-posix module.
65709         * lib/stdlib_.h (realloc): New declaration.
65710         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65711         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
65712         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
65713         and HAVE_REALLOC_POSIX.
65714
65715 2007-09-09  Bruno Haible  <bruno@clisp.org>
65716
65717         * modules/calloc-posix: New file.
65718         * modules/calloc (Depends-on): Add calloc-posix.
65719         * lib/calloc.c: Include errno.h.
65720         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
65721         and a POSIX-compatible calloc into a single function. Set ENOMEM
65722         when returning NULL.
65723         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
65724         * doc/functions/calloc.texi: Mention the calloc-posix module.
65725         * lib/stdlib_.h (calloc): New declaration.
65726         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
65727         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
65728         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
65729         and HAVE_CALLOC_POSIX.
65730
65731 2007-09-09  Bruno Haible  <bruno@clisp.org>
65732
65733         Allow for modules to show an arbitrary notice.
65734         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
65735         * gnulib-tool: New option --extract-notice.
65736         (func_usage): Document it.
65737         (sed_extract_prog): Update.
65738         (func_get_notice): New function.
65739         (func_modules_notice): New function.
65740         (func_import, func_create_testdir): Invoke it.
65741         Suggested by Jim Meyering.
65742
65743 2007-09-09  Bruno Haible  <bruno@clisp.org>
65744
65745         * gnulib-tool: New options --verbose, --quiet.
65746         (func_usage): Document them.
65747         (verbose): New variable.
65748         (func_execute_command): New function.
65749         (func_import): Don't show the module list and the file list if
65750         $verbose < 0.
65751         (func_create_testdir): Likewise. Use func_execute_command.
65752         (func_create_megatestdir): Use func_execute_command.
65753
65754 2007-09-08  Bruno Haible  <bruno@clisp.org>
65755
65756         * gnulib-tool (func_import): Prefer rsync over wget when available,
65757         for fetching the PO files.
65758
65759 2007-09-08  Bruno Haible  <bruno@clisp.org>
65760
65761         * posix-modules: New file. Portions copied from gnulib-tool.
65762         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
65763
65764 2007-09-08  Jim Meyering  <jim@meyering.net>
65765
65766         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
65767         * lib/fpending.h: Rename from __fpending.h.
65768         * lib/fpending.c: Rename from __fpending.c.
65769         Include "fpending.h", not "__fpending.h".
65770         * lib/__fpending.h, lib/__fpending.c: Remove files.
65771         * modules/fpending (Files): Reflect new file names.
65772         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
65773
65774 2007-09-08  Bruno Haible  <bruno@clisp.org>
65775
65776         * m4/inttypes-h.m4: Remove stub file.
65777
65778 2007-09-07  Simon Josefsson  <simon@josefsson.org>
65779
65780         * doc/headers/stdint.texi: Discuss #include_next issue.
65781
65782 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65783
65784         * build-aux/bootstrap: Remove obsolete comment about wget --help.
65785
65786 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
65787
65788         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
65789         in variable name.
65790
65791 2007-09-03  Jim Meyering  <jim@meyering.net>
65792
65793         New module: git-version-gen.
65794         * modules/git-version-gen: New file.
65795
65796         Import changes from coreutils for bootstrap script.
65797
65798         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
65799
65800         bootstrap: uses rsync to download the .po files
65801         * build-aux/bootstrap (po_download_command_format): New global.
65802         (download_po_files): Use rsync.
65803         (update_po_files): Don't remove .po files after download,
65804         so future rsync runs can take advantage of the copies.
65805
65806         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
65807
65808         Solve the unnecessary-.po-file-regeneration problem once and for all.
65809         * build-aux/bootstrap (download_po_files): New function, renamed from
65810         get_translations.  Now, downloads, but doesn't update LINGUAS.
65811         (update_po_files): New function.
65812
65813         bootstrap: Ignore more.
65814         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
65815         uniwidth to e.g., lib/.gitignore.
65816         (slurp): Handle the sys_stat_.h -> sys mapping, too.
65817
65818         * build-aux/bootstrap: New setting: vc_ignore.
65819         (insert_sorted_if_absent): Create $file if absent.
65820         Adapt to new, possibly empty, list: $vc_ignore.
65821
65822         bootstrap: generate more ignorable names
65823         * build-aux/bootstrap (slurp): When generating ignorable names,
65824         also map .sin to .sed, .gperf to .c, and .y to .c.
65825
65826 2007-09-03  Jim Meyering  <jim@meyering.net>
65827
65828         * build-aux/git-version-gen: New file, from coreutils.  For details, see
65829         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
65830
65831 2007-09-02  Bruno Haible  <bruno@clisp.org>
65832
65833         Fix mis-recognition of 'mcs' on QNX 6.
65834         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
65835         output contains the string "Mono".
65836         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
65837         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
65838
65839 2007-09-01  Bruno Haible  <bruno@clisp.org>
65840
65841         Fix collision between uniwidth/* and linebreak modules.
65842         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
65843         u32_width): Remove declarations.
65844         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
65845         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
65846         streq3, streq2, streq1, streq0): Remove functions.
65847         (STREQ): Remove macro.
65848         (is_cjk_encoding): Remove function.
65849         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
65850         (uc_width, u8_width, u16_width, u32_width): Remove functions.
65851         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
65852         * NEWS: Document the change.
65853
65854 2007-09-01  Bruno Haible  <bruno@clisp.org>
65855
65856         * lib/streq.h: Add double-inclusion guard.
65857
65858 2007-09-01  Karl Berry  <karl@gnu.org>
65859
65860         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
65861
65862 2007-08-28  Jim Meyering  <jim@meyering.net>
65863
65864         Rename mreadlink_with_size to areadlink_with_size.
65865         * NEWS: Document the change.
65866         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
65867         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
65868         * lib/mreadlink.h: Rename this to...
65869         * lib/areadlink.h: ...this.
65870         * modules/mreadlink-with-size: Rename this to...
65871         * modules/areadlink-with-size: ...this.
65872         * lib/canonicalize.c: Reflect the renaming.
65873         * modules/canonicalize: Likewise.
65874
65875 2007-08-26  Bruno Haible  <bruno@clisp.org>
65876
65877         * gnulib-tool (func_import): When deciding which files to remove,
65878         consider also dangling symbolic links.
65879         Reported by Eric Blake.
65880
65881 2007-08-26  Bruno Haible  <bruno@clisp.org>
65882
65883         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
65884
65885 2007-08-23  Simon Josefsson  <simon@josefsson.org>
65886
65887         * lib/readline.c: Don't include getline.h, the prototype is now
65888         found in stdio.h.
65889
65890 2007-08-23  Jim Meyering  <jim@meyering.net>
65891
65892         Getdelim touchup.
65893         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
65894         around the funlockfile call, since funlockfile never sets errno.
65895         Don't set errno upon failed realloc.
65896
65897 2007-08-22  Eric Blake  <ebb9@byu.net>
65898
65899         Getline touchups.
65900         * lib/getdelim.c (getdelim): Revert regression that required *n to
65901         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
65902         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
65903         getdelim, rather than whether implementation is missing.
65904         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
65905         * lib/stdio_.h (getline): Also declare if replacement is
65906         required.
65907         * doc/functions/getdelim.texi: New file.
65908         * doc/functions/getline.texi: Likewise.
65909         * doc/gnulib.texi (Function Substitutes): Add new files.
65910         Reported by Bruno Haible.
65911
65912 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
65913
65914         * users.txt: Add Guile.
65915
65916 2007-08-22  Eric Blake  <ebb9@byu.net>
65917
65918         * tests/test-getdelim.c (main): Use remove, not unlink.
65919         * tests/test-getline.c (main): Likewise.
65920
65921         Move getline and getdelim into stdio.h, per POSIX 200x.
65922         * modules/getline (Files): Remove getline.h.
65923         (Depends-on): Add stdio.
65924         (configure.ac): Add module indicator.
65925         * modules/getdelim (Files): Remove getdelim.h.
65926         (Depends-on): Add stdio.
65927         (configure.ac): Add module indicator.
65928         * modules/stdio (Makefile.am): Work with new indicators.
65929         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
65930         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
65931         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
65932         * lib/getdelim.h: Delete.
65933         * lib/getline.h: Delete.
65934         * lib/stdio_.h (getdelim, getline): Declare.
65935         * modules/getdelim-tests: New module.
65936         * modules/getline-tests: Likewise.
65937         * tests/test-getdelim.c: New file.
65938         * tests/test-getline.c: Likewise.
65939         * NEWS: Document the change.
65940         * lib/getline.c: Update choice of header.
65941         * lib/csharpcomp.c: Likewise.
65942         * lib/getpass.c: Likewise.
65943         * lib/javacomp.c: Likewise.
65944         * lib/javaversion.c: Likewise.
65945         * lib/yesno.c: Likewise.
65946         * lib/getdelim.c: Likewise.
65947         (getdelim): Set errno on failure, and avoid memory leak.
65948
65949 2007-08-19  Bruno Haible  <bruno@clisp.org>
65950
65951         * modules/closein (Depends-on): Add freadahead.
65952         * lib/closein.c: Include freadahead.h.
65953         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
65954         is zero.
65955
65956 2007-08-19  Bruno Haible  <bruno@clisp.org>
65957
65958         * modules/freadahead-tests: New file.
65959         * tests/test-freadahead.sh: New file.
65960         * tests/test-freadahead.c: New file.
65961
65962         * modules/freadahead: New file.
65963         * lib/freadahead.h: New file.
65964         * lib/freadahead.c: New file.
65965         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
65966         fbufmode, fpurge, freadable, fwritable.
65967
65968 2007-08-19  Eric Blake  <ebb9@byu.net>
65969
65970         Test yesno in combination with closein.
65971         * lib/yesno.c (yesno): Document use of stdin.
65972         * modules/yesno-tests (Files): New module.
65973         * tests/test-yesno.c (main): New file.
65974         * tests/test-yesno.sh: Likewise.
65975
65976 2007-08-19  Bruno Haible  <bruno@clisp.org>
65977
65978         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
65979         * lib/fseeko.c (rpl_fseeko): Likewise.
65980         * lib/fseterr.c (fseterr): Likewise.
65981
65982 2007-08-19  Bruno Haible  <bruno@clisp.org>
65983
65984         * tests/test-lseek.c (main): Disable a test for BeOS.
65985         * doc/functions/lseek.texi: Document the BeOS bug.
65986
65987 2007-08-19  Bruno Haible  <bruno@clisp.org>
65988             Eric Blake  <ebb9@byu.net>
65989
65990         * lib/lseek.c: Include <sys/stat.h>.
65991         (rpl_lseek): Add workaround code also for Unix platforms.
65992         Needed for BeOS.
65993         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
65994         * doc/functions/lseek.texi: Document BeOS definiency.
65995
65996 2007-08-18  Bruno Haible  <bruno@clisp.org>
65997
65998         * modules/fstrcmp-tests: New file.
65999         * tests/test-fstrcmp.c: New file.
66000
66001 2007-08-18  Bruno Haible  <bruno@clisp.org>
66002
66003         * modules/fstrcmp: New file, from GNU gettext with modifications.
66004         * lib/fstrcmp.h: New file, from GNU gettext.
66005         * lib/fstrcmp.c: New file, from GNU gettext.
66006         * MODULES.html.sh (String handling): Add fstrcmp.
66007
66008 2007-08-18  Bruno Haible  <bruno@clisp.org>
66009
66010         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
66011         'bool'.
66012         (diag, compareseq): Remove const from the ctxt argument.
66013         (USE_HEURISTIC): Undefine at the end.
66014
66015 2007-08-18  Jim Meyering  <jim@meyering.net>
66016
66017         New file: lib/idcache.h
66018         * NEWS: Mention the addition.
66019         * modules/idcache (Files): Add lib/idcache.h
66020         * lib/idcache.c: Include "idcache.h".
66021         Don't include <sys/types.h>.
66022         Add a FIXME comment.
66023         Move file-scoped "static" declarations to the top.
66024         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
66025
66026 2007-08-17  Bruno Haible  <bruno@clisp.org>
66027         and Paul Eggert  <eggert@cs.ucla.edu>
66028
66029         * MODULES.html.sh: Add diffseq.
66030         * modules/diffseq: New file.
66031         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
66032         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
66033
66034 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66035
66036         Import changes from coreutils for bootstrap script.
66037
66038         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
66039
66040         * build-aux/bootstrap (slurp): Work even in environments where
66041         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
66042         current code does not slurp files whose names start with ".", and
66043         this looks like it might be a troublesome area.
66044
66045         2007-07-11  Jim Meyering  <jim@meyering.net>
66046
66047         If there's a GPL vN copyright comment, require that N == 3.
66048
66049         2007-07-08  Jim Meyering  <jim@meyering.net>
66050
66051         Run the coreutils-specific code only if tests/Makefile.am.in exists.
66052         * build-aux/bootstrap (mam_template): Move definition out of loop.
66053
66054         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
66055
66056         * build-aux/bootstrap (symlink_to_dir): Rename function from
66057         symlink_to_gnulib.  Add a directory parameter.  Update all
66058         callers.
66059         (cp_mark_as_generated): Also check for -- and link to -- files in
66060         gl/.
66061
66062         2007-07-08  Jim Meyering  <jim@meyering.net>
66063
66064         Adapt to deeper hierarchy in gnulib.
66065         * build-aux/bootstrap (symlink_to_dir): If the destination
66066         directory doesn't exist, create it. This is required at least for
66067         "lib/uniwidth/cjk.h".
66068
66069         2007-05-15  Jim Meyering  <jim@meyering.net>
66070
66071         * build-aux/bootstrap: Now that generated Makefile.am files
66072         are no longer under version control, they must be created at
66073         bootstrap time.
66074
66075 2007-08-14  Ben Pfaff  <blp@gnu.org>
66076
66077         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
66078
66079 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
66080
66081         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
66082         given the changes below.
66083         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
66084         even on hosts that have padding bits beyond the supported 64.
66085
66086 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
66087
66088         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
66089         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
66090         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
66091         depends on it.
66092         (xstrtol_error): Remove.
66093         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
66094         but with a different signature.
66095         (ATTRIBUTE_NORETURN, __attribute__): New macros.
66096         * lib/xstrtol-error.c: Include exitfail.h.
66097         (xstrtol_fatal): New function, with a different signature from the
66098         old xstrtol_error, so that the caller need not worry about passing
66099         in an exit status, or about storage management of the option argument.
66100         (xstrtol_error): Now a static function.  Redo signature to
66101         implement xstrtol_fatal.  Output the correct number of hyphens in
66102         front of the option so that the caller need not worry about
66103         storage management.
66104         (N_): New macro.
66105         (_): Remove; not used now.
66106         * modules/xstrtol: Depend on getopt.
66107         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
66108         of old STRTOL_FATAL_ERROR macro.
66109         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
66110         of test program.
66111         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
66112         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
66113
66114 2007-08-08  Eric Blake  <ebb9@byu.net>
66115
66116         * lib/xstrtol-error.c: Add missing include.
66117
66118         Move xstrtol messages into gnulib domain, when --pobase is used.
66119         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
66120         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
66121         * modules/xstrtol (Files): Distribute new file.
66122         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
66123         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
66124         * tests/test-xstrtol.c: ...into new file.
66125         * tests/test-xstrtoul.c: Also test xstrtoul.
66126         * tests/test-xstrtoimax.c: Also test xstrtoimax.
66127         * tests/test-xstrtoumax.c: Also test xstrtoumax.
66128         * tests/test-xstrtol.sh: Drive the tests.
66129         * tests/test-xstrtoimax.sh: Likewise.
66130         * tests/test-xstrtoumax.sh: Likewise.
66131         * modules/xstrtol-tests: New module.
66132         * modules/xstrtoimax-tests: Likewise.
66133         * modules/xstrtoumax-tests: Likewise.
66134
66135 2007-08-08  Jim Meyering  <jim@meyering.net>
66136
66137         New function: mfile_name_concat.
66138         * lib/filenamecat.c (mfile_name_concat): New function, just like
66139         file_name_concat, but return NULL upon failure rather than exiting
66140         with a diagnostic.
66141         * lib/filenamecat.h: Declare it.
66142
66143 2007-08-07  Bruno Haible  <bruno@clisp.org>
66144
66145         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
66146         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
66147         warning from gcc.
66148         Reported by Eric Blake.
66149
66150 2007-08-07  Simon Josefsson  <simon@josefsson.org>
66151
66152         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
66153         * modules/crypto/arcfour (License): Likewise.
66154         * modules/crypto/des-tests (License): Likewise.
66155         * modules/crypto/gc-arctwo-tests (License): Likewise.
66156         * modules/crypto/gc-des-tests (License): Likewise.
66157         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
66158         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
66159         * modules/crypto/gc-md2-tests (License): Likewise.
66160         * modules/crypto/gc-md4-tests (License): Likewise.
66161         * modules/crypto/gc-md5-tests (License): Likewise.
66162         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
66163         * modules/crypto/gc-rijndael-tests (License): Likewise.
66164         * modules/crypto/gc-sha1-tests (License): Likewise.
66165         * modules/crypto/gc-tests (License): Likewise.
66166         * modules/crypto/hmac-md5 (License): Likewise.
66167         * modules/crypto/hmac-sha1 (License): Likewise.
66168         * modules/crypto/md2-tests (License): Likewise.
66169         * modules/crypto/md4-tests (License): Likewise.
66170         * modules/crypto/md5 (License): Likewise.
66171         * modules/crypto/rijndael (License): Likewise.
66172         * modules/crypto/sha1 (License): Likewise.
66173         * modules/memxor (License): Likewise.
66174
66175 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
66176         and Bruno Haible  <bruno@clisp.org>
66177
66178         * NEWS: Describe interface changes to human, xstrtol.
66179         * lib/human.h: Include <xstrtol.h>.
66180         (human_options): Return enum strtol_error, not int.  Remove
66181         bool arg; take int * instead.
66182         * lib/human.c: Don't include "gettext.h".
66183         (_): Remove; no longer used.
66184         Don't include <xstrtol.h>, since human.h does it.
66185         (human_options): Adjust to abovementioned interface changes.
66186         Do not report error to stderr; that's now the caller's
66187         responsibility.
66188         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
66189         interface change.
66190         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
66191         Str, Argument_type_string.  All uses changed.  Put " argument"
66192         in diagnostics to make them clearer.  Change wording of suffix
66193         message for clarity.
66194         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
66195         Argument_type_string.
66196         (STRTOL_FATAL_WARN): Remove; no longer used.
66197         * modules/human (Depends-on): Remove gettext-h.
66198
66199 2007-08-06  Simon Josefsson  <simon@josefsson.org>
66200
66201         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
66202
66203 2007-07-31  Bruno Haible  <bruno@clisp.org>
66204
66205         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
66206         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
66207         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
66208
66209 2007-07-31  Bruno Haible  <bruno@clisp.org>
66210
66211         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
66212         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
66213
66214 2007-07-30  Bruno Haible  <bruno@clisp.org>
66215
66216         * modules/base64 (License): Use the synonymous term "LGPLv2+".
66217         * modules/c-ctype (License): Likewise.
66218         * modules/c-strcase (License): Likewise.
66219         * modules/check-version (License): Likewise.
66220         * modules/iconv (License): Likewise.
66221         * modules/iconv_open (License): Likewise.
66222         * modules/read-file (License): Likewise.
66223         * modules/striconv (License): Likewise.
66224         * modules/strverscmp (License): Likewise.
66225         * modules/vasprintf (License): Likewise.
66226         * modules/crypto/des (License): Likewise.
66227         * modules/crypto/gc (License): Likewise.
66228         * modules/crypto/gc-arcfour (License): Likewise.
66229         * modules/crypto/gc-arctwo (License): Likewise.
66230         * modules/crypto/gc-des (License): Likewise.
66231         * modules/crypto/gc-hmac-md5 (License): Likewise.
66232         * modules/crypto/gc-hmac-sha1 (License): Likewise.
66233         * modules/crypto/gc-md2 (License): Likewise.
66234         * modules/crypto/gc-md4 (License): Likewise.
66235         * modules/crypto/gc-md5 (License): Likewise.
66236         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
66237         * modules/crypto/gc-random (License): Likewise.
66238         * modules/crypto/gc-rijndael (License): Likewise.
66239         * modules/crypto/gc-sha1 (License): Likewise.
66240         * modules/crypto/md2 (License): Likewise.
66241         * modules/crypto/md4 (License): Likewise.
66242
66243 2007-07-30  Jim Meyering  <jim@meyering.net>
66244
66245         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
66246         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
66247         it has valid stat data.  This bug would cause du not to count the
66248         sizes of inaccessible directories.
66249         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
66250         in <http://bugzilla.redhat.com/250077>.
66251
66252 2007-07-25  Peter O'Gorman  <peter@pogma.com>
66253             Bruno Haible  <bruno@clisp.org>
66254
66255         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
66256         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
66257         #include_next, gives a diagnostic about it, but reports no error in
66258         the exit code.
66259         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
66260
66261 2007-07-24  Ben Pfaff  <blp@gnu.org>
66262
66263         Improve name: "count-one-bits" is better than "popcount".
66264         * MODULES.html.sh: Update name.
66265         * lib/popcount.h: Renamed lib/count-one-bits.h.
66266         (popcount): Renamed count_one_bits.
66267         (popcountl): Renamed count_one_bits_l.
66268         (popcountll): Renamed count_one_bits_ll.
66269         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
66270         * modules/popcount: Renamed module/count-one-bits.
66271         * modules/popcount-tests: Renamed module/count-one-bits-tests.
66272         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
66273
66274 2007-07-23  Ben Pfaff  <blp@gnu.org>
66275
66276         * lib/popcount.h (popcount32): Reduce size of constants, to allow
66277         better code generation, and add U to large constants to avoid
66278         warnings, in non-GCC case.
66279         Suggested by Bruno Haible.
66280
66281 2007-07-23  Ben Pfaff  <blp@gnu.org>
66282
66283         * lib/popcount.h: Use verify_true instead of if...abort.
66284         * modules/popcount: Depend on verify module.
66285         Suggested by Jim Meyering.
66286
66287 2007-07-23  Bruno Haible  <bruno@clisp.org>
66288
66289         * gnulib-tool (func_import): Create a .cvsignore file also when the
66290         directory is not yet in CVS but the toplevel directory is. When
66291         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
66292         Reported by Karl Berry.
66293
66294 2007-07-22  Ben Pfaff  <blp@gnu.org>
66295
66296         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
66297         case.
66298         Suggested by Eric Blake.
66299
66300 2007-07-22  Ben Pfaff  <blp@gnu.org>
66301
66302         New module: popcount.
66303         * MODULES.html.sh: Add popcount.
66304         * modules/popcount: New file.
66305         * modules/popcount-tests: New file.
66306         * tests/test-popcount.c: New file.
66307         * lib/popcount.h: New file.
66308         * m4/popcount.m4: New file.
66309
66310 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
66311
66312         * build-aux/announce-gen: Update to GPLv3.
66313
66314         * build-aux/config.guess: Update from config.
66315
66316 2007-07-21  Bruno Haible  <bruno@clisp.org>
66317
66318         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
66319         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
66320
66321 2007-07-20  Jim Meyering  <jim@meyering.net>
66322
66323         * check-module: Diagnose a self-dependency.
66324
66325 2007-07-19  Bruno Haible  <bruno@clisp.org>
66326
66327         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
66328         empty.
66329         Reported by Eric Blake.
66330
66331 2007-07-18  Bruno Haible  <bruno@clisp.org>
66332
66333         * gnulib-tool: New options --po-base, --po-domain.
66334         (func_usage): Document them.
66335         (pobase, po_domain): New variables.
66336         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
66337         DEFAULT_TEXT_DOMAIN.
66338         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
66339         (func_import): Consider pobase and po_domain. Create a po/ directory.
66340         (func_create_testdir): Set pobase and po_domain to empty.
66341         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
66342         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
66343
66344 2007-07-18  Bruno Haible  <bruno@clisp.org>
66345
66346         * gnulib-tool (func_get_automake_snippet): Synthesize also an
66347         EXTRA_DIST augmentation for files in build-aux/.
66348
66349 2007-07-16  Bruno Haible  <bruno@clisp.org>
66350
66351         * modules/lseek (License): Use the synonymous term "LGPLv2+".
66352         * modules/getdelim (License): Likewise.
66353
66354 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66355
66356         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
66357         * modules/d-type (License): Likewise.
66358         * modules/extensions (License): Likewise.
66359         * modules/fnmatch (License): Likewise.
66360         * modules/fseeko (License): Likewise.
66361         * modules/getaddrinfo (License): Likewise.
66362         * modules/getline (License): Likewise.
66363         * modules/getlogin_r (License): Likewise.
66364         * modules/getpass (License): Likewise.
66365         * modules/gettimeofday (License): Likewise.
66366         * modules/glob (License): Likewise.
66367         * modules/inet_ntop (License): Likewise.
66368         * modules/malloc (License): Likewise.
66369         * modules/malloca (License): Likewise.
66370         * modules/memmem (License): Likewise.
66371         * modules/mempcpy (License): Likewise.
66372         * modules/memset (License): Likewise.
66373         * modules/minmax (License): Likewise.
66374         * modules/mktime (License): Likewise.
66375         * modules/netinet_in (License): Likewise.
66376         * modules/pathmax (License): Likewise.
66377         * modules/poll (License): Likewise.
66378         * modules/regex (License): Likewise.
66379         * modules/snprintf (License): Likewise.
66380         * modules/stdbool (License): Likewise.
66381         * modules/stdint (License): Likewise.
66382         * modules/stdio (License): Likewise.
66383         * modules/strcase (License): Likewise.
66384         * modules/strcasestr (License): Likewise.
66385         * modules/strdup (License): Likewise.
66386         * modules/string (License): Likewise.
66387         * modules/strndup (License): Likewise.
66388         * modules/strnlen (License): Likewise.
66389         * modules/strpbrk (License): Likewise.
66390         * modules/strptime (License): Likewise.
66391         * modules/strsep (License): Likewise.
66392         * modules/sys_select (License): Likewise.
66393         * modules/sys_socket (License): Likewise.
66394         * modules/sys_stat (License): Likewise.
66395         * modules/sys_time (License): Likewise.
66396         * modules/time (License): Likewise.
66397         * modules/time_r (License): Likewise.
66398         * modules/timegm (License): Likewise.
66399         * modules/unistd (License): Likewise.
66400         * modules/vsnprintf (License): Likewise.
66401         * modules/wctype (License): Likewise.
66402
66403 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66404
66405         * modules/argz (License): LGPLv2+.
66406
66407 2007-07-15  Karl Berry  <karl@gnu.org>
66408
66409         * doc/gnulib.texi: revise node structure per new fdl.texi.
66410
66411 2007-07-14  Bruno Haible  <bruno@clisp.org>
66412
66413         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
66414         the output file.
66415         * lib/uniname/uninames.h: Regenerated.
66416
66417 2007-07-14  Karl Berry  <karl@gnu.org>
66418
66419         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
66420         omitting sectioning and index commands.
66421
66422 2007-07-13  Bruno Haible  <bruno@clisp.org>
66423
66424         New gnulib-tool option --more-symlinks.
66425         * gnulib-tool (func_usage): Document --more-symlinks.
66426         (do_copyrights): New variable.
66427         Recognize option --more-symlinks.
66428         (func_import): Don't add a copyright notice transform to
66429         sed_transform_lib_file if do_copyrights is empty.
66430
66431 2007-07-13  Bruno Haible  <bruno@clisp.org>
66432
66433         * lib/vasnprintf.c (decimal_point_char): Define also if
66434         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
66435         && !NEED_PRINTF_DIRECTIVE_A.
66436         Reported by Clemens Koller <clemens.koller@anagramm.de> via
66437         Gary V. Vaughan <gary@gnu.org>.
66438
66439 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
66440
66441         * lib/inttypes_.h: Undo previous change, since it was fixed
66442         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
66443
66444 2007-07-13  Bruno Haible  <bruno@clisp.org>
66445
66446         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
66447         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
66448
66449 2007-07-13  Jim Meyering  <jim@meyering.net>
66450
66451         df: Don't fail for Tru64's "file-on-file mount".
66452         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
66453         so we fall through and use statfs instead.  Details here:
66454         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
66455         Reported by Albert Chin.
66456
66457 2007-07-13  Bruno Haible  <bruno@clisp.org>
66458
66459         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
66460         * modules/configmake (License): Likewise.
66461         * modules/gettext (License): Likewise.
66462         * modules/gettext-h (License): Likewise.
66463         * modules/include_next (License): Likewise.
66464         * modules/link-warning (License): Likewise.
66465         * modules/localcharset (License): Likewise.
66466         * modules/localename (License): Likewise.
66467         * modules/lock (License): Likewise.
66468         * modules/relocatable-lib-lgpl (License): Likewise.
66469         * modules/size_max (License): Likewise.
66470         * modules/vasnprintf (License): Likewise.
66471         * modules/wchar (License): Likewise.
66472         * modules/xsize (License): Likewise.
66473
66474 2007-07-13  Bruno Haible  <bruno@clisp.org>
66475
66476         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
66477         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
66478
66479 2007-07-12  Bruno Haible  <bruno@clisp.org>
66480
66481         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
66482         in the modules files.
66483
66484 2007-07-11  Karl Berry  <karl@gnu.org>
66485
66486         * MODULES.html.sh (func_module): use
66487          sed -e '\|^'"${includefile}"'$|d'
66488          instead of /.../d, to avoid errors on $includefile's containing /.
66489
66490 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
66491
66492         * gnulib-tool (func_import): Avoid duplication of --avoid
66493         statements
66494         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
66495         names to `_' in variable names.
66496
66497 2007-07-10  Eric Blake  <ebb9@byu.net>
66498
66499         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
66500         * NEWS: Document this change.
66501
66502 2007-07-08  Bruno Haible  <bruno@clisp.org>
66503
66504         Update to Unicode 5.0.
66505         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
66506         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
66507         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
66508         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
66509         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
66510         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
66511         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
66512         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
66513         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
66514         U+10A3F, U+1D242..U+1D244.
66515         (nonspacing_table_ind): Update.
66516         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
66517         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
66518
66519 2007-07-08  Bruno Haible  <bruno@clisp.org>
66520
66521         Update to Unicode 5.0.
66522         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
66523         code transform. Extend the name index field of unicode_name_to_code and
66524         unicode_code_to_name from 16 to 24 bits.
66525         * lib/uniname/uniname.c (unicode_character_name,
66526         unicode_name_character): Add the range 0x12xxx to the code transform.
66527         * lib/uniname/uninames.h: Regenerated.
66528         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
66529
66530 2007-07-07  Bruno Haible  <bruno@clisp.org>
66531
66532         * modules/wcwidth-tests: New file.
66533         * tests/test-wcwidth.c: New file.
66534
66535         Work around MacOS X wcwidth() bug.
66536         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
66537         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
66538         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
66539         original wcwidth in non-UTF-8 locales.
66540         * modules/wcwidth (Depends-on): Add localcharset, streq,
66541         uniwidth/width.
66542         * doc/functions/wcwidth.texi: Update.
66543
66544 2007-07-07  Bruno Haible  <bruno@clisp.org>
66545
66546         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
66547         (wcwidth): New declaration.
66548         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
66549         macros.
66550         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
66551         here. Prepare for creating <wchar.h> unconditionally.
66552         * modules/wchar (Depends-on): Add link-warning.
66553         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
66554         REPLACE_WCWIDTH, and GL_LINK_WARNING.
66555         * lib/wcwidth.h: Remove file.
66556         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
66557         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
66558         * modules/wcwidth (Files): Remove lib/wcwidth.h.
66559         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
66560         (Include): Replace wcwidth.h with <wchar.h>.
66561         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
66562         * lib/mbchar.h: Don't include wcwidth.h.
66563         * lib/mbswidth.c: Likewise.
66564         * NEWS: Mention the change.
66565
66566 2007-07-07  Bruno Haible  <bruno@clisp.org>
66567
66568         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
66569         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
66570         definition with an external declaration.
66571         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
66572         defined as a function. Remove AC_C_INLINE requirement.
66573         * modules/wcwidth (Files): Add lib/wcwidth.c.
66574         (Makefile.am): Remove redundant statement.
66575
66576 2007-07-07  Bruno Haible  <bruno@clisp.org>
66577
66578         * MODULES.html.sh (Unicode string functions): Add the new modules.
66579
66580         * tests/uniwidth/test-u32-strwidth.c: New file.
66581         * modules/uniwidth/u32-strwidth-tests: New file.
66582
66583         * lib/uniwidth/u32-strwidth.c: New file.
66584         * modules/uniwidth/u32-strwidth: New file.
66585
66586         * tests/uniwidth/test-u16-strwidth.c: New file.
66587         * modules/uniwidth/u16-strwidth-tests: New file.
66588
66589         * lib/uniwidth/u16-strwidth.c: New file.
66590         * modules/uniwidth/u16-strwidth: New file.
66591
66592         * tests/uniwidth/test-u8-strwidth.c: New file.
66593         * modules/uniwidth/u8-strwidth-tests: New file.
66594
66595         * lib/uniwidth/u8-strwidth.c: New file.
66596         * modules/uniwidth/u8-strwidth: New file.
66597
66598         * tests/uniwidth/test-u32-width.c: New file.
66599         * modules/uniwidth/u32-width-tests: New file.
66600
66601         * lib/uniwidth/u32-width.c: New file.
66602         * modules/uniwidth/u32-width: New file.
66603
66604         * tests/uniwidth/test-u16-width.c: New file.
66605         * modules/uniwidth/u16-width-tests: New file.
66606
66607         * lib/uniwidth/u16-width.c: New file.
66608         * modules/uniwidth/u16-width: New file.
66609
66610         * tests/uniwidth/test-u8-width.c: New file.
66611         * modules/uniwidth/u8-width-tests: New file.
66612
66613         * lib/uniwidth/u8-width.c: New file.
66614         * modules/uniwidth/u8-width: New file.
66615
66616         * tests/uniwidth/test-uc_width.c: New file.
66617         * modules/uniwidth/width-tests: New file.
66618
66619         * lib/uniwidth/width.c: New file, from GNU libiconv.
66620         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
66621         * modules/uniwidth/width: New file.
66622
66623         * lib/uniwidth.h: New file, from GNU libiconv.
66624         * modules/uniwidth/base: New file.
66625
66626 2007-07-07  Bruno Haible  <bruno@clisp.org>
66627
66628         * lib/uniname.h: New file, from GNU gettext.
66629         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
66630         * lib/uniname/uninames.h: New file, from GNU gettext.
66631         * lib/uniname/uniname.c: New file, from GNU gettext.
66632         * tests/uniname/test-uninames.sh: New file.
66633         * tests/uniname/test-uninames.c: New file, from GNU gettext.
66634         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
66635         * modules/uniname/base: New file.
66636         * modules/uniname/uniname: New file.
66637         * modules/uniname/uniname-tests: New file.
66638         * MODULES.html.sh (Unicode string functions): Add the new modules.
66639
66640 2007-07-06  Bruno Haible  <bruno@clisp.org>
66641
66642         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
66643
66644 2007-07-06  Bruno Haible  <bruno@clisp.org>
66645
66646         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
66647         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
66648         includes <cygwin/sys_time.h> which includes <sys/select.h> which
66649         include <sys/time.h>.
66650         Reported by Eric Blake.
66651
66652 2007-07-06  Eric Blake  <ebb9@byu.net>
66653
66654         Fix testing canonicalize on cygwin.
66655         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
66656         Revert patch from 2007-06-19.
66657         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
66658         canonicalize module is also in use.
66659         * tests/test-canonicalize.c: New file.
66660         * tests/test-canonicalize.sh: Likewise.
66661         * modules/canonicalize-tests: Likewise.
66662
66663 2007-07-06  Jim Meyering  <jim@meyering.net>
66664
66665         * lib/getugroups.c (getugroups): Detect getgrent failure.
66666         Adjust comment to reflect reality: this function may return -1.
66667
66668 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
66669
66670         * build-aux/bootstrap (TP_URL,get_translations): Update to use
66671         the new TP address.
66672         (usage): Fix typo
66673         (gnulib_mk): New variable.
66674
66675 2007-07-05  Jim Meyering  <jim@meyering.net>
66676
66677         Don't let endgrent clobber errno, no matter how improbable.
66678         * lib/getugroups.c (getugroups): Save and restore errno around
66679         endgrent call.
66680
66681         Close the group DB even when failing with 2^31 or more members.
66682         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
66683
66684 2007-07-04  Jim Meyering  <jim@meyering.net>
66685
66686         * lib/getugroups.h: New file.
66687         * lib/getugroups.c: Include "getugroups.h".
66688         Remove uses of "register" keyword.
66689         Move local variable, "cp", down into scope where used.
66690         Give "username" parameter the "const" attribute.
66691         * modules/getugroups (Files): Add lib/getugroups.h
66692
66693 2007-07-04  Karl Berry  <karl@gnu.org>
66694
66695         * MODULES.html.sh (func_all_modules): Complete rename of
66696         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
66697
66698 2007-07-02  Bruno Haible  <bruno@clisp.org>
66699
66700         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
66701         mode, when inttypes.h comes from gnulib.
66702         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
66703
66704 2007-07-02  Simon Josefsson  <simon@josefsson.org>
66705
66706         * NEWS: Mention lgpl module name change.
66707
66708         * modules/lgpl-2.1: Renamed from lgpl.
66709
66710         * NEWS: Mention gpl module name change.
66711
66712         * modules/gpl-3.0: New file, based on gpl-2.0.
66713
66714         * modules/gpl-2.0: Renamed from gpl.
66715
66716         * modules/gpl: Fix filename, doc/gpl.texi is now found at
66717         doc/gpl-2.0.texi.
66718
66719 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
66720
66721         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
66722         #define __STDC_LIMIT_MACROS temporarily while including
66723         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
66724         Problem reported by Joel E. Denny in
66725         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
66726
66727 2007-07-01  Bruno Haible  <bruno@clisp.org>
66728
66729         * lib/unistdio.h: New file.
66730         * lib/unistdio/u-asnprintf.h: New file.
66731         * lib/unistdio/u-asprintf.h: New file.
66732         * lib/unistdio/u-printf-args.c: New file.
66733         * lib/unistdio/u-printf-args.h: New file.
66734         * lib/unistdio/u-printf-parse.h: New file.
66735         * lib/unistdio/u-snprintf.h: New file.
66736         * lib/unistdio/u-sprintf.h: New file.
66737         * lib/unistdio/u-vasprintf.h: New file.
66738         * lib/unistdio/u-vsnprintf.h: New file.
66739         * lib/unistdio/u-vsprintf.h: New file.
66740         * lib/unistdio/ulc-asnprintf.c: New file.
66741         * lib/unistdio/ulc-asprintf.c: New file.
66742         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
66743         * lib/unistdio/ulc-printf-parse.c: New file.
66744         * lib/unistdio/ulc-snprintf.c: New file.
66745         * lib/unistdio/ulc-sprintf.c: New file.
66746         * lib/unistdio/ulc-vasnprintf.c: New file.
66747         * lib/unistdio/ulc-vasprintf.c: New file.
66748         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
66749         * lib/unistdio/ulc-vsnprintf.c: New file.
66750         * lib/unistdio/ulc-vsprintf.c: New file.
66751         * lib/unistdio/u8-asnprintf.c: New file.
66752         * lib/unistdio/u8-asprintf.c: New file.
66753         * lib/unistdio/u8-printf-parse.c: New file.
66754         * lib/unistdio/u8-snprintf.c: New file.
66755         * lib/unistdio/u8-sprintf.c: New file.
66756         * lib/unistdio/u8-vasnprintf.c: New file.
66757         * lib/unistdio/u8-vasprintf.c: New file.
66758         * lib/unistdio/u8-vsnprintf.c: New file.
66759         * lib/unistdio/u8-vsprintf.c: New file.
66760         * lib/unistdio/u8-u8-asnprintf.c: New file.
66761         * lib/unistdio/u8-u8-asprintf.c: New file.
66762         * lib/unistdio/u8-u8-snprintf.c: New file.
66763         * lib/unistdio/u8-u8-sprintf.c: New file.
66764         * lib/unistdio/u8-u8-vasnprintf.c: New file.
66765         * lib/unistdio/u8-u8-vasprintf.c: New file.
66766         * lib/unistdio/u8-u8-vsnprintf.c: New file.
66767         * lib/unistdio/u8-u8-vsprintf.c: New file.
66768         * lib/unistdio/u16-asnprintf.c: New file.
66769         * lib/unistdio/u16-asprintf.c: New file.
66770         * lib/unistdio/u16-printf-parse.c: New file.
66771         * lib/unistdio/u16-snprintf.c: New file.
66772         * lib/unistdio/u16-sprintf.c: New file.
66773         * lib/unistdio/u16-vasnprintf.c: New file.
66774         * lib/unistdio/u16-vasprintf.c: New file.
66775         * lib/unistdio/u16-vsnprintf.c: New file.
66776         * lib/unistdio/u16-vsprintf.c: New file.
66777         * lib/unistdio/u16-u16-asnprintf.c: New file.
66778         * lib/unistdio/u16-u16-asprintf.c: New file.
66779         * lib/unistdio/u16-u16-snprintf.c: New file.
66780         * lib/unistdio/u16-u16-sprintf.c: New file.
66781         * lib/unistdio/u16-u16-vasnprintf.c: New file.
66782         * lib/unistdio/u16-u16-vasprintf.c: New file.
66783         * lib/unistdio/u16-u16-vsnprintf.c: New file.
66784         * lib/unistdio/u16-u16-vsprintf.c: New file.
66785         * lib/unistdio/u32-asnprintf.c: New file.
66786         * lib/unistdio/u32-asprintf.c: New file.
66787         * lib/unistdio/u32-printf-parse.c: New file.
66788         * lib/unistdio/u32-snprintf.c: New file.
66789         * lib/unistdio/u32-sprintf.c: New file.
66790         * lib/unistdio/u32-vasnprintf.c: New file.
66791         * lib/unistdio/u32-vasprintf.c: New file.
66792         * lib/unistdio/u32-vsnprintf.c: New file.
66793         * lib/unistdio/u32-vsprintf.c: New file.
66794         * lib/unistdio/u32-u32-asnprintf.c: New file.
66795         * lib/unistdio/u32-u32-asprintf.c: New file.
66796         * lib/unistdio/u32-u32-snprintf.c: New file.
66797         * lib/unistdio/u32-u32-sprintf.c: New file.
66798         * lib/unistdio/u32-u32-vasnprintf.c: New file.
66799         * lib/unistdio/u32-u32-vasprintf.c: New file.
66800         * lib/unistdio/u32-u32-vsnprintf.c: New file.
66801         * lib/unistdio/u32-u32-vsprintf.c: New file.
66802         * tests/unistdio/test-ulc-asnprintf1.c: New file.
66803         * tests/unistdio/test-ulc-asnprintf1.h: New file.
66804         * tests/unistdio/test-ulc-printf1.h: New file.
66805         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
66806         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
66807         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
66808         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
66809         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
66810         * tests/unistdio/test-ulc-vasprintf1.c: New file.
66811         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
66812         * tests/unistdio/test-ulc-vsprintf1.c: New file.
66813         * tests/unistdio/test-u8-asnprintf1.c: New file.
66814         * tests/unistdio/test-u8-asnprintf1.h: New file.
66815         * tests/unistdio/test-u8-printf1.h: New file.
66816         * tests/unistdio/test-u8-vasnprintf1.c: New file.
66817         * tests/unistdio/test-u8-vasnprintf2.c: New file.
66818         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
66819         * tests/unistdio/test-u8-vasnprintf3.c: New file.
66820         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
66821         * tests/unistdio/test-u8-vasprintf1.c: New file.
66822         * tests/unistdio/test-u8-vsnprintf1.c: New file.
66823         * tests/unistdio/test-u8-vsprintf1.c: New file.
66824         * tests/unistdio/test-u16-asnprintf1.c: New file.
66825         * tests/unistdio/test-u16-asnprintf1.h: New file.
66826         * tests/unistdio/test-u16-printf1.h: New file.
66827         * tests/unistdio/test-u16-vasnprintf1.c: New file.
66828         * tests/unistdio/test-u16-vasnprintf2.c: New file.
66829         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
66830         * tests/unistdio/test-u16-vasnprintf3.c: New file.
66831         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
66832         * tests/unistdio/test-u16-vasprintf1.c: New file.
66833         * tests/unistdio/test-u16-vsnprintf1.c: New file.
66834         * tests/unistdio/test-u16-vsprintf1.c: New file.
66835         * tests/unistdio/test-u32-asnprintf1.c: New file.
66836         * tests/unistdio/test-u32-asnprintf1.h: New file.
66837         * tests/unistdio/test-u32-printf1.h: New file.
66838         * tests/unistdio/test-u32-vasnprintf1.c: New file.
66839         * tests/unistdio/test-u32-vasnprintf2.c: New file.
66840         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
66841         * tests/unistdio/test-u32-vasnprintf3.c: New file.
66842         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
66843         * tests/unistdio/test-u32-vasprintf1.c: New file.
66844         * tests/unistdio/test-u32-vsnprintf1.c: New file.
66845         * tests/unistdio/test-u32-vsprintf1.c: New file.
66846         * modules/unistdio/base: New file.
66847         * modules/unistdio/u-printf-args: New file.
66848         * modules/unistdio/ulc-asnprintf: New file.
66849         * modules/unistdio/ulc-asprintf: New file.
66850         * modules/unistdio/ulc-fprintf: New file.
66851         * modules/unistdio/ulc-printf-parse: New file.
66852         * modules/unistdio/ulc-snprintf: New file.
66853         * modules/unistdio/ulc-sprintf: New file.
66854         * modules/unistdio/ulc-vasnprintf: New file.
66855         * modules/unistdio/ulc-vasprintf: New file.
66856         * modules/unistdio/ulc-vfprintf: New file.
66857         * modules/unistdio/ulc-vsnprintf: New file.
66858         * modules/unistdio/ulc-vsprintf: New file.
66859         * modules/unistdio/u8-asnprintf: New file.
66860         * modules/unistdio/u8-asprintf: New file.
66861         * modules/unistdio/u8-printf-parse: New file.
66862         * modules/unistdio/u8-snprintf: New file.
66863         * modules/unistdio/u8-sprintf: New file.
66864         * modules/unistdio/u8-vasnprintf: New file.
66865         * modules/unistdio/u8-vasprintf: New file.
66866         * modules/unistdio/u8-vsnprintf: New file.
66867         * modules/unistdio/u8-vsprintf: New file.
66868         * modules/unistdio/u8-u8-asnprintf: New file.
66869         * modules/unistdio/u8-u8-asprintf: New file.
66870         * modules/unistdio/u8-u8-snprintf: New file.
66871         * modules/unistdio/u8-u8-sprintf: New file.
66872         * modules/unistdio/u8-u8-vasnprintf: New file.
66873         * modules/unistdio/u8-u8-vasprintf: New file.
66874         * modules/unistdio/u8-u8-vsnprintf: New file.
66875         * modules/unistdio/u8-u8-vsprintf: New file.
66876         * modules/unistdio/u16-asnprintf: New file.
66877         * modules/unistdio/u16-asprintf: New file.
66878         * modules/unistdio/u16-printf-parse: New file.
66879         * modules/unistdio/u16-snprintf: New file.
66880         * modules/unistdio/u16-sprintf: New file.
66881         * modules/unistdio/u16-vasnprintf: New file.
66882         * modules/unistdio/u16-vasprintf: New file.
66883         * modules/unistdio/u16-vsnprintf: New file.
66884         * modules/unistdio/u16-vsprintf: New file.
66885         * modules/unistdio/u16-u16-asnprintf: New file.
66886         * modules/unistdio/u16-u16-asprintf: New file.
66887         * modules/unistdio/u16-u16-snprintf: New file.
66888         * modules/unistdio/u16-u16-sprintf: New file.
66889         * modules/unistdio/u16-u16-vasnprintf: New file.
66890         * modules/unistdio/u16-u16-vasprintf: New file.
66891         * modules/unistdio/u16-u16-vsnprintf: New file.
66892         * modules/unistdio/u16-u16-vsprintf: New file.
66893         * modules/unistdio/u32-asnprintf: New file.
66894         * modules/unistdio/u32-asprintf: New file.
66895         * modules/unistdio/u32-printf-parse: New file.
66896         * modules/unistdio/u32-snprintf: New file.
66897         * modules/unistdio/u32-sprintf: New file.
66898         * modules/unistdio/u32-vasnprintf: New file.
66899         * modules/unistdio/u32-vasprintf: New file.
66900         * modules/unistdio/u32-vsnprintf: New file.
66901         * modules/unistdio/u32-vsprintf: New file.
66902         * modules/unistdio/u32-u32-asnprintf: New file.
66903         * modules/unistdio/u32-u32-asprintf: New file.
66904         * modules/unistdio/u32-u32-snprintf: New file.
66905         * modules/unistdio/u32-u32-sprintf: New file.
66906         * modules/unistdio/u32-u32-vasnprintf: New file.
66907         * modules/unistdio/u32-u32-vasprintf: New file.
66908         * modules/unistdio/u32-u32-vsnprintf: New file.
66909         * modules/unistdio/u32-u32-vsprintf: New file.
66910         * modules/unistdio/ulc-asnprintf-tests: New file.
66911         * modules/unistdio/ulc-vasnprintf-tests: New file.
66912         * modules/unistdio/ulc-vasprintf-tests: New file.
66913         * modules/unistdio/ulc-vsnprintf-tests: New file.
66914         * modules/unistdio/ulc-vsprintf-tests: New file.
66915         * modules/unistdio/u8-asnprintf-tests: New file.
66916         * modules/unistdio/u8-vasnprintf-tests: New file.
66917         * modules/unistdio/u8-vasprintf-tests: New file.
66918         * modules/unistdio/u8-vsnprintf-tests: New file.
66919         * modules/unistdio/u8-vsprintf-tests: New file.
66920         * modules/unistdio/u16-asnprintf-tests: New file.
66921         * modules/unistdio/u16-vasnprintf-tests: New file.
66922         * modules/unistdio/u16-vasprintf-tests: New file.
66923         * modules/unistdio/u16-vsnprintf-tests: New file.
66924         * modules/unistdio/u16-vsprintf-tests: New file.
66925         * modules/unistdio/u32-asnprintf-tests: New file.
66926         * modules/unistdio/u32-vasnprintf-tests: New file.
66927         * modules/unistdio/u32-vasprintf-tests: New file.
66928         * modules/unistdio/u32-vsnprintf-tests: New file.
66929         * modules/unistdio/u32-vsprintf-tests: New file.
66930         * MODULES.html.sh (Unicode string functions): Add the new modules.
66931
66932 2007-07-01  Bruno Haible  <bruno@clisp.org>
66933
66934         * lib/sprintf.c (sprintf): Limit the available length estimation,
66935         to avoid address wraparound.
66936         * lib/vsprintf.c (vsprintf): Likewise.
66937         * modules/sprintf-posix (Dependencies): Add stdint.
66938         * modules/vsprintf-posix (Dependencies): Likewise.
66939
66940 2007-07-01  Bruno Haible  <bruno@clisp.org>
66941
66942         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
66943         Windows PATH as well. Conservative double-quoting. Comments.
66944
66945 2007-07-01  Bruno Haible  <bruno@clisp.org>
66946             Eric Blake  <ebb9@byu.net>
66947             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66948
66949         * gnulib-tool (self_abspathname): Fix algorithm to cope with
66950         empty components in $PATH, denoting '.'.
66951
66952 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66953
66954         * gnulib-tool: Fix indentation.
66955         (func_create_megatestdir): Likewise.
66956         Report by Bruno Haible.
66957
66958 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
66959
66960         Sync from Automake.
66961         * build-aux/gnupload: Fix shell portability issues with for loops.
66962         Report by Karl Berry.
66963
66964 2007-06-29  Simon Josefsson  <simon@josefsson.org>
66965
66966         * build-aux/maint.mk (POURL): Use translationproject.org.
66967
66968 2007-06-27  Simon Josefsson  <simon@josefsson.org>
66969             Bruno Haible  <bruno@clisp.org>
66970
66971         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
66972         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
66973         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
66974         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
66975         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
66976
66977 2007-06-27  Bruno Haible  <bruno@clisp.org>
66978
66979         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
66980         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
66981
66982 2007-06-26  Karl Berry  <karl@gnu.org>
66983
66984         * MODULES.html.sh: remove xreadlink-with-size.
66985
66986 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
66987
66988         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
66989         method that I hope also handles the double-include problem noted
66990         by Bruno Haible in
66991         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
66992
66993 2007-06-23  Bruno Haible  <bruno@clisp.org>
66994
66995         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
66996         Don't let the 'mostlyclean' target fail if the last subdirectory could
66997         not be removed.
66998         Reported by Karl Berry.
66999
67000 2007-06-23  Bruno Haible  <bruno@clisp.org>
67001
67002         * gnulib-tool (echo): Add a speedier workaround for ksh.
67003         * tests/test-echo.sh: Likewise.
67004
67005 2007-06-23  Bruno Haible  <bruno@clisp.org>
67006
67007         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
67008         * tests/test-echo.sh: Likewise.
67009
67010 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67011
67012         * gnulib-tool (IFS): Initialize early, so we don't set it to
67013         empty later.
67014         (self_abspathname): Rewrite algorithm to set it, reindent.
67015         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
67016         (func_create_megatestdir): Merge some sed scripts.
67017
67018 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67019
67020         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
67021         exposed by Sun Studio 11 cc on Solaris 8.
67022
67023 2007-06-22  Bruno Haible  <bruno@clisp.org>
67024
67025         * gnulib-tool (echo): Ensure the echo primitive does not interpret
67026         backslashes.
67027         * tests/test-echo.sh: New file.
67028
67029 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67030
67031         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
67032         simplify `sed_replace_build_aux' scripts, they are portable but
67033         echoing them with `echo' is not.
67034         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
67035
67036 2007-06-21  Karl Berry  <karl@gnu.org>
67037
67038         * config/srclist.txt: guess we can't handle the licenses via
67039         srclist at the moment.
67040
67041 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
67042
67043         * MODULES.html.sh: Add include_next.
67044         * modules/include_next: New file.
67045
67046 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
67047
67048         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
67049         INCLUDE_NEXT.
67050         (gl_CHECK_NEXT_HEADERS): New macro.
67051         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
67052         the obsolescent gl_ABSOLUTE_HEADER.
67053         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
67054         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
67055         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
67056         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
67057         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
67058         * m4/math_h.m4 (gl_MATH_H): Likewise.
67059         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
67060         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
67061         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
67062         * m4/stdint.m4 (gl_STDINT_H): Likewise.
67063         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
67064         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
67065         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
67066         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
67067         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
67068         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
67069         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
67070         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
67071         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
67072         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
67073         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
67074         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
67075         * m4/inttypes.m4 (gl_INTTYPES_H): Define
67076         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
67077         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
67078         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
67079         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
67080         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
67081         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
67082         * lib/float_.h: Likewise.
67083         * lib/inttypes_.h: Likewise.
67084         * lib/math_.h: Likewise.
67085         * lib/search_.h: Likewise.
67086         * lib/signal_.h: Likewise.
67087         * lib/stdint_.h: Likewise.
67088         * lib/stdio_.h: Likewise.
67089         * lib/stdlib_.h: Likewise.
67090         * lib/string_.h: Likewise.
67091         * lib/sys_stat_.h: Likewise.
67092         * lib/sys_time_.h: Likewise.
67093         * lib/time_.h: Likewise.
67094         * lib/unistd_.h: Likewise.
67095         * lib/wchar_.h: Likewise.
67096         * lib/wctype_.h: Likewise.
67097         * lib/dirent_.h: Likewise.
67098         * lib/iconv_.h: Likewise.
67099         * lib/locale_.h: Likewise.
67100         * lib/netinet_in_.h: Likewise.
67101         * lib/sys_select_.h: Likewise.
67102         * lib/sys_socket_.h: Likewise.
67103         * lib/sysexits_.h: Likewise.
67104         * modules/fcntl (Depends-on): Depend on include_next, not
67105         absolute_header.
67106         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
67107         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
67108         * modules/fchdir: Likewise.
67109         * modules/float: Likewise.
67110         * modules/iconv_open: Likewise.
67111         * modules/inttypes: Likewise.
67112         * modules/locale: Likewise.
67113         * modules/math: Likewise.
67114         * modules/netinet_in: Likewise.
67115         * modules/search: Likewise.
67116         * modules/signal: Likewise.
67117         * modules/stdint: Likewise.
67118         * modules/stdio: Likewise.
67119         * modules/stdlib: Likewise.
67120         * modules/string: Likewise.
67121         * modules/sys_select: Likewise.
67122         * modules/sys_socket: Likewise.
67123         * modules/sys_stat: Likewise.
67124         * modules/sys_time: Likewise.
67125         * modules/sysexits: Likewise.
67126         * modules/time: Likewise.
67127         * modules/unistd: Likewise.
67128         * modules/wchar: Likewise.
67129         * modules/wctype: Likewise.
67130         * modules/sys_stat: Change maintainer to "all".
67131         * modules/unistd: Likewise.
67132
67133 2007-06-20  Karl Berry  <karl@gnu.org>
67134
67135         * config/srclist.txt: track www changes in license files.
67136
67137 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
67138
67139         * build-aux/bootstrap: Remove stray dot.
67140         Make sure build_aux settings are honored when linking
67141         gnulib_extra_files.
67142
67143 2007-06-19  Eric Blake  <ebb9@byu.net>
67144
67145         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67146         Allow compilation on cygwin.
67147
67148 2007-06-19  Jim Meyering  <jim@meyering.net>
67149
67150         xreadlink-with-size: Remove module.  No longer used.
67151         Ex-callers now use xreadlink or mreadlink-with-size.
67152         * modules/xreadlink-with-size: Remove module.
67153         * lib/xreadlink-with-size.c: Remove file.
67154         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
67155         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
67156         just before the function definition *is* accurate.
67157
67158         Eliminate one way canonicalize_filename_mode could exit.
67159         * lib/canonicalize.c (canonicalize_filename_mode):
67160         Use mreadlink_with_size, not xreadlink_with_size.
67161
67162 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
67163
67164         Detect porting problems to FreeBSD/arm, which has time_t wider than
67165         long int.  Original problem reported for GNU diff by Xin Li in
67166         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
67167         * modules/getdate (Depends-on): Add intprops, verify.
67168         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
67169         is an integer type no wider than long int.
67170
67171 2007-06-18  Jim Meyering  <jim@meyering.net>
67172
67173         New module: mreadlink-with-size.
67174         * MODULES.html.sh: Add mreadlink-with-size.
67175         * modules/mreadlink-with-size: New module
67176         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
67177         not xreadlink-with-size.
67178         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
67179
67180 2007-06-16  Bruno Haible  <bruno@clisp.org>
67181
67182         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
67183         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
67184         Reported by Gary V. Vaughan <gary@gnu.org>.
67185
67186 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
67187
67188         Revamp lchown so that it lives in unistd.h where it belongs.
67189         * lib/lchown.h: Remove.
67190         * lib/dirchownmod.c: Don't include lib/lchown.h.
67191         * lib/fchownat.c: Likewise.
67192         * lib/openat.c: Likewise.
67193         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
67194         does not follow symlinks.
67195         (EOPNOTSUPP): Define if not defined.
67196         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
67197         is defined to 0.
67198         (lchown): New decl.
67199         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
67200         Do not check for lchown decl.
67201         Set REPLACE_LCHOWN.
67202         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
67203         REPLACE_LCHOWN.
67204         * modules/chown: Make it clear it follows symlinks.
67205         * modules/lchown: Make it clear it doesn't follow symlinks.
67206         (Files): Remove lib/lchown.h
67207         (Depends-on): Add unistd.
67208         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
67209         (Include): Include <unistd.h>, not "lchown.h".
67210         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
67211         REPLACE_LCHOWN.
67212
67213 2007-06-15  Jim Meyering  <jim@meyering.net>
67214
67215         Change license (GPL to LGPL) of fsusage and dependents.
67216         * modules/fsusage (License): Change to LGPL.
67217         * modules/full-read (License): Likewise.
67218         * modules/full-write (License): Likewise.
67219         * modules/safe-read (License): Likewise.
67220         * modules/safe-write (License): Likewise.
67221
67222 2007-06-14  Ben Pfaff  <blp@gnu.org>
67223
67224         Missing part of allocsa -> malloca transition.
67225         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
67226         gl_MALLOCA.
67227
67228 2007-06-12  Bruno Haible  <bruno@clisp.org>
67229
67230         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
67231         to ia64, x86_64, i386.
67232         Reported by Eric Blake.
67233
67234 2007-06-12  Bruno Haible  <bruno@clisp.org>
67235
67236         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
67237         cross-compiling to x86_64.
67238
67239 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
67240
67241         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
67242         glitch reported by Ralf Wildenhues in
67243         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
67244
67245         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
67246         Vin Shelton.
67247
67248 2007-06-11  Bruno Haible  <bruno@clisp.org>
67249
67250         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
67251         replacement string.
67252         Reported by Eric Blake.
67253
67254 2007-06-10  Bruno Haible  <bruno@clisp.org>
67255
67256         Prepare vasnprintf code for use with Unicode strings.
67257         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
67258         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
67259         TYPE_U32_STRING.
67260         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
67261         a_u32_string variants.
67262         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
67263         * lib/printf-args.c: Don't include config.h and the specification
67264         header if PRINTF_FETCHARGS is already defined.
67265         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
67266         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
67267         TYPE_U16_STRING, TYPE_U32_STRING.
67268         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
67269         u16_directive, u16_directives, u32_directive, u32_directives): New
67270         types.
67271         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
67272         New declarations.
67273         * lib/printf-parse.c: Don't include config.h and the specification
67274         header if PRINTF_PARSE is already defined. Eliminate the set of
67275         parameters for WIDE_CHAR_VERSION; the user of this file must provide
67276         them now. Include c-ctype.h.
67277         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
67278         directive and CHAR_T_ONLY_ASCII.
67279         * lib/vasnprintf.c: Don't include config.h and the specification header
67280         if VASNPRINTF is already defined.
67281         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
67282         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
67283         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
67284         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
67285         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
67286         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
67287         code accordingly.
67288         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
67289         pad_ourselves also in this case, with the 'c' and 's' directives, and
67290         with a different notion of "width".
67291         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
67292
67293 2007-06-10  Bruno Haible  <bruno@clisp.org>
67294
67295         * modules/unistr/u32-mbsnlen: New file.
67296         * lib/unistr/u32-mbsnlen.c: New file.
67297
67298         * modules/unistr/u16-mbsnlen: New file.
67299         * lib/unistr/u16-mbsnlen.c: New file.
67300
67301         * modules/unistr/u8-mbsnlen: New file.
67302         * lib/unistr/u8-mbsnlen.c: New file.
67303
67304         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
67305         declarations.
67306
67307 2007-06-10  Bruno Haible  <bruno@clisp.org>
67308
67309         * lib/string_.h (mbsnlen): New declaration.
67310         * lib/mbsnlen.c: New file.
67311         * m4/mbsnlen.m4: New file.
67312         * modules/mbsnlen: New file.
67313         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
67314         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
67315         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
67316
67317 2007-06-10  Bruno Haible  <bruno@clisp.org>
67318
67319         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
67320
67321 2007-06-10  Bruno Haible  <bruno@clisp.org>
67322
67323         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
67324         * lib/mbuiter.h: Likewise.
67325
67326 2007-06-10  Bruno Haible  <bruno@clisp.org>
67327
67328         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
67329         declaration.
67330
67331 2007-06-10  Karl Berry  <karl@gnu.org>
67332
67333         * config/srclist.txt: remove gettext entries, Bruno prefers
67334         to update individually.
67335
67336 2007-06-10  Bruno Haible  <bruno@clisp.org>
67337
67338         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
67339         'maxlen'. Ensure only length + width bytes are allocated, not
67340         length + 1 + width.
67341
67342 2007-06-09  Bruno Haible  <bruno@clisp.org>
67343
67344         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
67345         (CHAR_T): Remove macro.
67346         (VASNPRINTF): Update.
67347
67348 2007-06-09  Bruno Haible  <bruno@clisp.org>
67349
67350         * MODULES.html.sh (Unicode string functions): Add the new modules.
67351
67352         * modules/uniconv/u32-conv-to-enc: New file.
67353         * lib/uniconv/u32-conv-to-enc.c: New file.
67354         * modules/uniconv/u32-conv-to-enc-tests: New file.
67355         * tests/uniconv/test-u32-conv-to-enc.c: New file.
67356
67357         * modules/uniconv/u16-conv-to-enc: New file.
67358         * lib/uniconv/u16-conv-to-enc.c: New file.
67359         * lib/uniconv/u-conv-to-enc.h: New file.
67360         * modules/uniconv/u16-conv-to-enc-tests: New file.
67361         * tests/uniconv/test-u16-conv-to-enc.c: New file.
67362
67363         * modules/uniconv/u8-conv-to-enc: New file.
67364         * lib/uniconv/u8-conv-to-enc.c: New file.
67365         * modules/uniconv/u8-conv-to-enc-tests: New file.
67366         * tests/uniconv/test-u8-conv-to-enc.c: New file.
67367
67368         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
67369         u32_conv_to_encoding): New declarations.
67370
67371 2007-06-09  Bruno Haible  <bruno@clisp.org>
67372
67373         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
67374
67375 2007-06-09  Bruno Haible  <bruno@clisp.org>
67376
67377         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
67378         * modules/malloca: Renamed from modules/allocsa, updated.
67379         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
67380         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
67381         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
67382         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
67383         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
67384         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
67385         * modules/xmalloca: Renamed from modules/xallocsa, updated.
67386         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
67387         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
67388         * modules/c-strcasestr (Depends-on): Update.
67389         * lib/c-strcasestr.c: Update.
67390         * modules/c-strstr (Depends-on): Update.
67391         * lib/c-strstr.c: Update.
67392         * modules/canonicalize-lgpl (Depends-on): Update.
67393         * lib/canonicalize-lgpl.c: Update.
67394         * modules/clean-temp (Depends-on): Update.
67395         * lib/clean-temp.c: Update.
67396         * modules/csharpcomp (Depends-on): Update.
67397         * lib/csharpcomp.c: Update.
67398         * modules/csharpexec (Depends-on): Update.
67399         * lib/csharpexec.c: Update.
67400         * modules/javacomp (Depends-on): Update.
67401         * lib/javacomp.c: Update.
67402         * modules/javaexec (Depends-on): Update.
67403         * lib/javaexec.c: Update.
67404         * modules/mbscasestr (Depends-on): Update.
67405         * lib/mbscasestr.c: Update.
67406         * modules/mbsstr (Depends-on): Update.
67407         * lib/mbsstr.c: Update.
67408         * modules/setenv (Depends-on): Update.
67409         * lib/setenv.c: Update.
67410         * modules/strcasestr (Depends-on): Update.
67411         * lib/strcasestr.c: Update.
67412         * modules/striconveha (Depends-on): Update.
67413         * lib/striconveha.c: Update.
67414         * modules/relocatable-prog-wrapper (Files): Update.
67415         * lib/relocwrapper.c: Update.
67416         * build-aux/install-reloc: Update.
67417         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
67418
67419 2007-06-08  Bruno Haible  <bruno@clisp.org>
67420
67421         Port to uClibc.
67422         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
67423         * lib/fpurge.c (fpurge): Likewise.
67424         * lib/freading.c (freading): Likewise.
67425         * lib/fseeko.c (rpl_fseeko): Likewise.
67426         * lib/fseterr.c (fseterr): Likewise.
67427         * lib/fwriting.c (fwriting): Likewise.
67428         * tests/test-fflush.c (main): Avoid a failure on uClibc.
67429
67430 2007-06-08  Bruno Haible  <bruno@clisp.org>
67431
67432         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
67433         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
67434         * modules/gettext (Files): Add m4/intlmacosx.m4.
67435
67436 2007-06-07  Bruno Haible  <bruno@clisp.org>
67437
67438         * modules/localename-tests: New file.
67439         * tests/test-localename.c: New file.
67440
67441         New module 'localename'.
67442         * lib/localename.h: New file.
67443         * lib/localename.c: New file, from GNU gettext.
67444         * m4/localename.m4: New file.
67445         * modules/localename: New file.
67446
67447 2007-06-07  Bruno Haible  <bruno@clisp.org>
67448
67449         Work around the lack of <wchar.h> on some builds of uClibc.
67450         * doc/headers/wchar.texi: Update.
67451         * lib/wchar_.h: Include <wchar.h> only if it exists.
67452         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
67453         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
67454         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
67455         doesn't exist.
67456         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
67457         * modules/mbfile (Depends-on): Add wchar.
67458         * modules/mbiter (Depends-on): Likewise.
67459         * modules/mbuiter (Depends-on): Likewise.
67460         Reported by Simon Josefsson.
67461
67462 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
67463
67464         Work around problem reported by Steven M. Schweda in
67465         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
67466         Tru64 5.1B with the Compaq compiler environment installed declares
67467         an 'isblank' function but does not define it in the C library.
67468         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
67469         * lib/regex_internal.h (isblank): Likewise.
67470         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
67471         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67472
67473 2007-06-05  Bruno Haible  <bruno@clisp.org>
67474
67475         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
67476         ia64.
67477         * modules/printf-safe: New file.
67478         * modules/fprintf-posix (Depends-on): Add printf-safe.
67479         * modules/printf-posix (Depends-on): Likewise.
67480         * modules/snprintf-posix (Depends-on): Likewise.
67481         * modules/sprintf-posix (Depends-on): Likewise.
67482         * modules/vasnprintf-posix (Depends-on): Likewise.
67483         * modules/vasprintf-posix (Depends-on): Likewise.
67484         * modules/vfprintf-posix (Depends-on): Likewise.
67485         * modules/vprintf-posix (Depends-on): Likewise.
67486         * modules/vsnprintf-posix (Depends-on): Likewise.
67487         * modules/vsprintf-posix (Depends-on): Likewise.
67488         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
67489         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
67490         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
67491         "no" on i386, x86_64, ia64.
67492         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
67493         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
67494         on i386, x86_64, ia64.
67495         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
67496         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
67497         on i386, x86_64, ia64.
67498         * tests/test-vasnprintf-posix.c: Include float.h.
67499         (LDBL80_WORDS): New macro.
67500         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
67501         on i386, x86_64, ia64.
67502         * tests/test-vasprintf-posix.c: Include float.h.
67503         (LDBL80_WORDS): New macro.
67504         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
67505         on i386, x86_64, ia64.
67506         * tests/test-snprintf-posix.c: Include float.h.
67507         * tests/test-sprintf-posix.c: Likewise.
67508         * tests/test-vsnprintf-posix.c: Likewise.
67509         * tests/test-vsprintf-posix.c: Likewise.
67510
67511 2007-06-05  Bruno Haible  <bruno@clisp.org>
67512
67513         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
67514         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
67515         non-IEEE numbers on i386, x86_64, ia64.
67516         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
67517         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
67518         * tests/test-isnanl.h: Include float.h.
67519         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
67520
67521 2007-06-05  Bruno Haible  <bruno@clisp.org>
67522
67523         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
67524         also the %a / %A. Handle the %a / %A code before this extra handling.
67525
67526 2007-06-05  Bruno Haible  <bruno@clisp.org>
67527
67528         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
67529         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
67530
67531 2007-06-05  Bruno Haible  <bruno@clisp.org>
67532
67533         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
67534         typo in variable name.
67535
67536 2007-06-05  Eric Blake  <ebb9@byu.net>
67537
67538         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
67539         Reported by Simon Josefsson.
67540
67541 2007-06-04  Bruno Haible  <bruno@clisp.org>
67542
67543         Avoid test failures on some PowerPC platforms.
67544         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
67545         Define differently for PowerPC.
67546         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
67547         Reported by Gary V. Vaughan <gary@gnu.org>.
67548
67549 2007-06-02  Bruno Haible  <bruno@clisp.org>
67550
67551         Fix test-stdint failure on FreeBSD/ia64.
67552         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
67553         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
67554         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
67555         * doc/headers/stdint.texi: Update.
67556
67557 2007-06-01  Bruno Haible  <bruno@clisp.org>
67558
67559         * tests/test-binary-io.c (main): Pass a third argument to open().
67560         Reported by Gary V. Vaughan <gary@gnu.org>.
67561
67562 2007-06-01  Bruno Haible  <bruno@clisp.org>
67563
67564         * doc/functions/frexpl.texi: Update for mingw.
67565
67566 2007-06-01  Bruno Haible  <bruno@clisp.org>
67567
67568         * tests/test-lseek.c (main): Disable test of errno for invalid third
67569         argument.
67570         * doc/functions/lseek.texi: Update.
67571         Reported by Gary V. Vaughan <gary@gnu.org>.
67572
67573 2007-05-28  Bruno Haible  <bruno@clisp.org>
67574
67575         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
67576
67577 2007-05-31  Eric Blake  <ebb9@byu.net>
67578
67579         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
67580         cross compiling.
67581
67582 2007-05-30  Eric Blake  <ebb9@byu.net>
67583         and Bruno Haible  <bruno@clisp.org>
67584
67585         Work around mingw test failures exposed by m4-1.4.9b.
67586         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
67587         * tests/test-unistd.c: Disable uid_t and git_t tests for the
67588         moment.
67589
67590 2007-05-30  Bruno Haible  <bruno@clisp.org>
67591
67592         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
67593         assuming that they are closed. Needed on HP-UX 11.
67594
67595 2007-05-29  Bruno Haible  <bruno@clisp.org>
67596
67597         Fix a problem with #include_next.
67598         * lib/dirent_.h: Split the double-inclusion guard.
67599         * lib/fcntl_.h: Likewise.
67600         * lib/float_.h: Likewise.
67601         * lib/iconv_.h: Likewise.
67602         * lib/inttypes_.h: Likewise.
67603         * lib/locale_.h: Likewise.
67604         * lib/math_.h: Likewise.
67605         * lib/netinet_in_.h: Likewise.
67606         * lib/search_.h: Likewise.
67607         * lib/signal_.h: Likewise.
67608         * lib/stdint_.h: Likewise.
67609         * lib/stdio_.h: Likewise.
67610         * lib/stdlib_.h: Likewise.
67611         * lib/string_.h: Likewise.
67612         * lib/sys_select_.h: Likewise.
67613         * lib/sys_socket_.h: Likewise.
67614         * lib/sys_stat_.h: Likewise.
67615         * lib/sys_time_.h: Likewise.
67616         * lib/sysexits_.h: Likewise.
67617         * lib/time_.h: Likewise.
67618         * lib/unistd_.h: Likewise.
67619         * lib/wchar_.h: Likewise.
67620         * lib/wctype_.h: Likewise.
67621
67622 2007-05-29  Bruno Haible  <bruno@clisp.org>
67623
67624         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
67625         for the moment.
67626
67627 2007-05-29  Bruno Haible  <bruno@clisp.org>
67628
67629         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
67630         invocation.
67631         Reported by Eric Blake.
67632
67633 2007-05-29  Bruno Haible  <bruno@clisp.org>
67634
67635         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
67636         compiling case.
67637
67638 2007-05-29  Eric Blake  <ebb9@byu.net>
67639             Bruno Haible  <bruno@clisp.org>
67640
67641         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
67642         cross compiles.
67643
67644 2007-05-28  Eric Blake  <ebb9@byu.net>
67645
67646         * modules/closein-tests (test_closein_LDADD): Support test on
67647         cygwin with libtool.
67648
67649 2007-05-28  Bruno Haible  <bruno@clisp.org>
67650
67651         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
67652         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
67653         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
67654         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
67655         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
67656         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
67657         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
67658         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
67659         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
67660
67661 2007-05-28  Eric Blake  <ebb9@byu.net>
67662
67663         Unconditionally include <config.h> in unit tests.
67664         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
67665         * tests/test-allocsa.c, tests/test-arcfour.c,
67666         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
67667         tests/test-array_list.c, tests/test-array_oset.c,
67668         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
67669         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
67670         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
67671         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
67672         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
67673         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
67674         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
67675         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
67676         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
67677         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
67678         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
67679         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
67680         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
67681         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
67682         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
67683         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
67684         test-md5.c, test-memmem.c, test-printf-posix.c,
67685         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
67686         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
67687         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
67688         test-strcasestr.c, test-striconv.c, test-striconveh.c,
67689         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
67690         test-vasnprintf-posix2.c, test-vasnprintf.c,
67691         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
67692         test-vfprintf-posix.c, test-vprintf-posix.c,
67693         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
67694         test-xvasprintf.c: Likewise.
67695
67696 2007-05-28  Bruno Haible  <bruno@clisp.org>
67697
67698         * gnulib-tool (func_import): Remember the --with-tests command-line
67699         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
67700         Reported by Eric Blake.
67701
67702 2007-05-28  Bruno Haible  <bruno@clisp.org>
67703
67704         * modules/ftell-tests: New file.
67705         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
67706         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
67707
67708         * lib/ftell.c: New file.
67709         * modules/ftell: New file.
67710         * m4/ftell.m4: New file.
67711         * doc/functions/ftell.texi: Update.
67712         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
67713         REPLACE_FTELL.
67714         * lib/stdio_.h (rpl_ftell): New declaration.
67715         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
67716         REPLACE_FTELL.
67717
67718 2007-05-28  Eric Blake  <ebb9@byu.net>
67719
67720         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
67721
67722 2007-05-28  Bruno Haible  <bruno@clisp.org>
67723
67724         * modules/fseek-tests: New file.
67725         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
67726         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
67727
67728         * lib/fseek.c: New file.
67729         * modules/fseek: New file.
67730         * m4/fseek.m4: New file.
67731         * doc/functions/fseek.texi: Update.
67732         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
67733         REPLACE_FSEEK.
67734         * lib/stdio_.h (rpl_fseek): New declaration.
67735         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
67736         REPLACE_FSEEK.
67737
67738 2007-05-28  Bruno Haible  <bruno@clisp.org>
67739
67740         * lib/stdio_.h (fflush): More comments.
67741
67742 2007-05-28  Bruno Haible  <bruno@clisp.org>
67743
67744         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
67745         runtime test.
67746
67747 2007-05-28  Eric Blake  <ebb9@byu.net>
67748
67749         Improve lseek module.
67750         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
67751         * lib/unistd_.h (lseek): Scale back link warning message.
67752         * tests/test-lseek.c: Beef up test.
67753         * tests/test-lseek.sh: Exercise more facets of lseek.
67754         Reported by Bruno Haible.
67755
67756 2007-05-28  Bruno Haible  <bruno@clisp.org>
67757
67758         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
67759         to define.
67760
67761 2007-05-27  Bruno Haible  <bruno@clisp.org>
67762
67763         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
67764
67765 2007-05-27  Bruno Haible  <bruno@clisp.org>
67766
67767         * modules/openmp: New file.
67768         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
67769         Noah Misch.
67770
67771 2007-05-26  Bruno Haible  <bruno@clisp.org>
67772
67773         * modules/chdir-long (Depends-on): Add fchdir.
67774         * modules/chdir-safer (Depends-on): Likewise.
67775         * modules/fts (Depends-on): Likewise.
67776         * modules/fts-lgpl (Depends-on): Likewise.
67777         * modules/openat (Depends-on): Likewise.
67778         * modules/savewd (Depends-on): Likewise.
67779
67780 2007-05-24  Eric Blake  <ebb9@byu.net>
67781
67782         Fix lseek on mingw.
67783         * modules/lseek: New module.
67784         * m4/lseek.m4: New file.
67785         * lib/lseek.c: New file.
67786         * modules/lseek-tests: New file.
67787         * tests/test-lseek.c: New file.
67788         * tests/test-lseek.sh: New file.
67789         * MODULES.html.sh: Document lseek module.
67790         * modules/fflush (Depends-on): Add lseek, fseeko.
67791         * modules/fseeko (Depends-on): Likewise.
67792         * modules/ftello (Depends-on): Likewise.
67793         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
67794         broken.
67795         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
67796         broken.
67797         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
67798         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
67799         * lib/ftello.c (rpl_ftello): Likewise.
67800         * tests/test-fseeko.c (main): Test this.
67801         * tests/test-fseeko.sh: Likewise.
67802         * tests/test-ftello.c (main): Likewise.
67803         * tests/test-ftello.sh: Likewise.
67804         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
67805         implies replacing fseek.
67806         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
67807         HAVE_FTELLO.
67808         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
67809         * modules/unistd (Makefile.am): Likewise.
67810         * lib/unistd_.h (lseek): Declare a replacement.
67811         * doc/functions/lseek.texi (lseek): Document this fix.
67812         * doc/functions/fseek.texi (fseek): Likewise.
67813         * doc/functions/ftell.texi (ftell): Likewise.
67814
67815 2007-05-24  Bruno Haible  <bruno@clisp.org>
67816
67817         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
67818         in the printed representation of a NaN.
67819         * tests/test-vasprintf-posix.c (test_function): Likewise.
67820         * tests/test-snprintf-posix.h (test_function): Likewise.
67821         * tests/test-sprintf-posix.h (test_function): Likewise.
67822         Reported by Eric Blake.
67823
67824 2007-05-23  Eric Blake  <ebb9@byu.net>
67825
67826         Fix fseeko/ftello on cygwin 1.5.24.
67827         * doc/functions/fseeko.texi (fseeko): Document the fix.
67828         * doc/functions/ftello.texi (ftello): Document the fix.
67829         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
67830         * doc/functions/stdout.text (stdout): New file.
67831         * doc/functions/stderr.text (stderr): New file.
67832         * doc/gnulib.texi (Function Substitutes): Use new files.
67833         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
67834         prior to 1.7.0.
67835         * tests/test-ftello.c (main): Likewise for ftello.
67836         * tests/test-fseeko.sh: New file.
67837         * tests/test-ftello.sh: New file.
67838         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
67839         with seekable stdin.
67840         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
67841         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
67842         (gl_REPLACE_FSEEKO): New macro.
67843         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
67844         * modules/fseeko (Files): Distribute fseeko.c.
67845         * modules/ftello (Files): Distribute ftello.c.
67846         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
67847         mode.
67848         * lib/ftello.c (rpl_ftello): New file.
67849         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
67850         fseeko, ftello.
67851         (gl_STDIN_LARGE_OFFSET): New macro.
67852         * modules/stdio (Makefile.am): Perform the replacement.
67853         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
67854
67855 2007-05-23  Bruno Haible  <bruno@clisp.org>
67856
67857         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
67858         GNULIB_POSIXCHECK is defined.
67859
67860 2007-05-21  Bruno Haible  <bruno@clisp.org>
67861
67862         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
67863         Check also the output for NaN arguments. When cross-compiling, guess
67864         no on IRIX.
67865         * lib/vasnprintf.c: Update comments.
67866         * tests/test-vasnprintf-posix.c (strisnan): New function.
67867         (test_function): Use it.
67868         * tests/test-vasprintf-posix.c (strisnan): New function.
67869         (test_function): Use it.
67870         * tests/test-snprintf-posix.h (strisnan): New function.
67871         (test_function): Use it.
67872         * tests/test-sprintf-posix.h (strisnan): New function.
67873         (test_function): Use it.
67874         Reported by Eric Blake.
67875
67876 2007-05-20  Bruno Haible  <bruno@clisp.org>
67877
67878         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
67879         numbers that fails on BeOS.
67880         * doc/functions/frexpl.texi: Update.
67881
67882 2007-05-20  Jim Meyering  <jim@meyering.net>
67883
67884         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
67885         forced upon us by glibc-2.6.
67886
67887 2007-05-20  Bruno Haible  <bruno@clisp.org>
67888
67889         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
67890         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
67891         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
67892         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
67893         NEED_PRINTF_INFINITE.
67894         (is_infinitel): New function.
67895         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
67896         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
67897         gl_PREREQ_VASNPRINTF_INFINITE.
67898         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
67899         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
67900         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
67901         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
67902         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
67903         gl_PREREQ_VASNPRINTF_INFINITE.
67904         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
67905         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
67906         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
67907         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
67908         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
67909         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
67910         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
67911         * doc/functions/fprintf.texi: Update.
67912         * doc/functions/printf.texi: Update.
67913         * doc/functions/snprintf.texi: Update.
67914         * doc/functions/sprintf.texi: Update.
67915         * doc/functions/vfprintf.texi: Update.
67916         * doc/functions/vprintf.texi: Update.
67917         * doc/functions/vsnprintf.texi: Update.
67918         * doc/functions/vsprintf.texi: Update.
67919
67920 2007-05-20  Bruno Haible  <bruno@clisp.org>
67921
67922         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
67923         was not found in libc.
67924         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
67925
67926 2007-05-20  Bruno Haible  <bruno@clisp.org>
67927
67928         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
67929         printed as "-nan" instead of "nan".
67930         * tests/test-vasprintf-posix.c (test_function): Likewise.
67931         * tests/test-snprintf-posix.h (test_function): Likewise.
67932         * tests/test-sprintf-posix.h (test_function): Likewise.
67933         Needed for HP-UX 11.
67934
67935 2007-05-20  Jim Meyering  <jim@meyering.net>
67936
67937         Fix buggy test for the fchownat-deref bug.
67938         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
67939         symlink required for the run-test.  Without it, this test would
67940         always declare that fchownat doesn't work, and client code would
67941         unnecessarily use the replacement function with fixed libc.
67942         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
67943         Reported by Greg Schafer.
67944
67945 2007-05-19  Bruno Haible  <bruno@clisp.org>
67946
67947         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
67948         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
67949         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
67950         Needed for IRIX 6.5 and Solaris 2.5.1.
67951
67952 2007-05-19  Bruno Haible  <bruno@clisp.org>
67953
67954         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
67955         (test_function): Skip tests involving -0.0 on platforms where
67956         -0.0 = 0.0.
67957         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
67958         (test_function): Skip tests involving -0.0 on platforms where
67959         -0.0 = 0.0.
67960         * tests/test-snprintf-posix.h (have_minus_zero): New function.
67961         (test_function): Skip tests involving -0.0 on platforms where
67962         -0.0 = 0.0.
67963         * tests/test-sprintf-posix.h (have_minus_zero): New function.
67964         (test_function): Skip tests involving -0.0 on platforms where
67965         -0.0 = 0.0.
67966         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
67967         tests.
67968         * tests/test-printf-posix.h (test_function): Likewise.
67969         * tests/test-printf-posix.output: Remove all -0.0 related results.
67970         Needed for IRIX 6.5.
67971
67972 2007-05-19  Bruno Haible  <bruno@clisp.org>
67973
67974         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
67975         printed as "nan0x7fffffff" instead of "nan".
67976         * tests/test-vasprintf-posix.c (test_function): Likewise.
67977         * tests/test-snprintf-posix.h (test_function): Likewise.
67978         * tests/test-sprintf-posix.h (test_function): Likewise.
67979         * tests/test-fprintf-posix.h (NaN): Remove macro.
67980         (test_function): Remove all NaN related tests.
67981         * tests/test-printf-posix.h (NaN): Remove macro.
67982         (test_function): Remove all NaN related tests.
67983         * tests/test-printf-posix.output: Remove all NaN related results.
67984         Needed for IRIX 6.5.
67985
67986 2007-05-19  Bruno Haible  <bruno@clisp.org>
67987
67988         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
67989         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
67990
67991 2007-05-19  Bruno Haible  <bruno@clisp.org>
67992
67993         * lib/float_.h: New file.
67994         * m4/float_h.m4: New file.
67995         * modules/float: New file.
67996         * modules/isnanl (Dependencies): Add float.
67997         * modules/isnanl-nolibm (Dependencies): Likewise.
67998         * modules/mathl (Dependencies): Likewise.
67999         * modules/printf-frexpl (Dependencies): Likewise.
68000         * modules/signbit (Dependencies): Likewise.
68001         * modules/vasnprintf (Dependencies): Likewise.
68002         * doc/headers/float.texi: Update.
68003
68004 2007-05-19  Jim Meyering  <jim@meyering.net>
68005
68006         * lib/utimens.c (gl_futimens): Rename from futimens,
68007         now that glibc-2.6 declares futimens.
68008         * lib/utimens.h: Likewise.
68009
68010 2007-05-19  Bruno Haible  <bruno@clisp.org>
68011
68012         Avoid test failures on mingw.
68013         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
68014         * tests/test-printf-posix.sh: Likewise.
68015         * tests/test-vfprintf-posix.sh: Likewise.
68016         * tests/test-vprintf-posix.sh: Likewise.
68017
68018 2007-05-19  Bruno Haible  <bruno@clisp.org>
68019
68020         Fix *printf result for NaN, Inf, -0.0 on mingw.
68021         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
68022         * lib/vasnprintf.c: Include math.h and isnan.h.
68023         (is_infinite_or_zero): New function.
68024         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
68025         values in the %f, %F, %e, %E, %g, %G directives.
68026         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
68027         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68028         gl_PRINTF_INFINITE and test its result. Invoke
68029         gl_PREREQ_VASNPRINTF_INFINITE.
68030         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68031         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68032         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68033         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68034         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68035         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68036         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68037         * doc/functions/fprintf.texi: Update.
68038         * doc/functions/printf.texi: Update.
68039         * doc/functions/snprintf.texi: Update.
68040         * doc/functions/sprintf.texi: Update.
68041         * doc/functions/vfprintf.texi: Update.
68042         * doc/functions/vprintf.texi: Update.
68043         * doc/functions/vsnprintf.texi: Update.
68044         * doc/functions/vsprintf.texi: Update.
68045
68046 2007-05-19  Bruno Haible  <bruno@clisp.org>
68047
68048         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
68049         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
68050         Instead of multiplying with 10^k, set extra_zeroes to k.
68051         (scale10_round_long_double): Remove function.
68052
68053 2007-05-18  Bruno Haible  <bruno@clisp.org>
68054
68055         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
68056         introduced on 2007-05-06.
68057
68058 2007-05-18  Bruno Haible  <bruno@clisp.org>
68059
68060         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
68061         %g directives.
68062         * tests/test-vasprintf-posix.c (test_function): Likewise.
68063         * tests/test-snprintf-posix.h (test_function): Likewise.
68064         * tests/test-sprintf-posix.h (test_function): Likewise.
68065
68066 2007-05-18  Bruno Haible  <bruno@clisp.org>
68067
68068         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
68069         (strmatch): New function.
68070         (test_function): Test the %f directive on numbers of various exponents.
68071         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
68072         (strmatch): New function.
68073         (test_function): Test the %f directive on numbers of various exponents.
68074         * tests/test-snprintf-posix.h (strmatch): New function.
68075         (test_function): Test the %f directive on numbers of various exponents.
68076         * tests/test-sprintf-posix.h (strmatch): New function.
68077         (test_function): Test the %f directive on numbers of various exponents.
68078         * tests/test-snprintf-posix.c (SIZEOF): New macro.
68079         * tests/test-sprintf-posix.c (SIZEOF): New macro.
68080         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
68081         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
68082
68083 2007-05-18  Bruno Haible  <bruno@clisp.org>
68084
68085         Add support for 'long double' number output.
68086         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
68087         * lib/vasnprintf.c: Include math.h and float+.h.
68088         (mp_limb_t): New type.
68089         (GMP_LIMB_BITS): New macro.
68090         (mp_twolimb_t): New type.
68091         (GMP_TWOLIMB_BITS): New macro.
68092         (mpn_t): New type.
68093         (multiply, divide, convert_to_decimal, decode_long_double,
68094         scale10_round_long_double, scale10_round_decimal_long_double,
68095         floorlog10l): New functions.
68096         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
68097         for the %f, %F, %e, %E, %g, %G directives.
68098         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
68099         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68100         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
68101         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
68102         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68103         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68104         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68105         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68106         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68107         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68108         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68109         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
68110         * modules/snprintf-posix (Depends-on): Likewise.
68111         * modules/sprintf-posix (Depends-on): Likewise.
68112         * modules/vasnprintf-posix (Depends-on): Likewise.
68113         * modules/vasprintf-posix (Depends-on): Likewise.
68114         * modules/vfprintf-posix (Depends-on): Likewise.
68115         * modules/vsnprintf-posix (Depends-on): Likewise.
68116         * modules/vsprintf-posix (Depends-on): Likewise.
68117         * modules/vasnprintf (Files): Add lib/float+.h.
68118         * doc/functions/fprintf.texi: Update.
68119         * doc/functions/printf.texi: Update.
68120         * doc/functions/snprintf.texi: Update.
68121         * doc/functions/sprintf.texi: Update.
68122         * doc/functions/vfprintf.texi: Update.
68123         * doc/functions/vprintf.texi: Update.
68124         * doc/functions/vsnprintf.texi: Update.
68125         * doc/functions/vsprintf.texi: Update.
68126
68127 2007-05-18  Bruno Haible  <bruno@clisp.org>
68128
68129         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
68130
68131 2007-05-18  Bruno Haible  <bruno@clisp.org>
68132
68133         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
68134         for printing 64-bit integers. Needed for mingw.
68135
68136 2007-05-18  Bruno Haible  <bruno@clisp.org>
68137
68138         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
68139         gl_FUNC_FREXPL_WORKS.
68140         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
68141
68142 2007-05-18  Bruno Haible  <bruno@clisp.org>
68143
68144         * modules/frexpl-nolibm-tests: New file.
68145
68146         * modules/frexpl-nolibm: New file.
68147         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
68148
68149 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
68150
68151         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
68152         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
68153         GCC 4.2, which otherwise issues a lot of warnings.
68154         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
68155         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
68156         Likewise.
68157         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
68158         * modules/iconv_open (iconv.h): Likewise.
68159         * modules/locale (locale.h): Likewise.
68160         * modules/netinet_in (netinet/in.h): Likewise.
68161         * modules/sys_select (sys_select.h): Likewise.
68162         * modules/sys_socket (sys/socket.h): Likewise.
68163         * modules/sys_stat (sys/stat.h): Likewise.
68164         * modules/sysexits (sysexits.h): Likewise.
68165         * modules/unistd (unistd.h): Likewise.
68166
68167 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68168
68169         * modules/closein-tests (Makefile.am): Distribute
68170         `test-closein.sh'.
68171
68172 2007-05-17  Bruno Haible  <bruno@clisp.org>
68173
68174         * tests/test-printf-posix.output: Renamed from
68175         tests/test-fprintf-posix.out.
68176         * modules/fprintf-posix-tests: Update.
68177         * modules/printf-posix-tests: Update.
68178         * modules/vfprintf-posix-tests: Update.
68179         * modules/vprintf-posix-tests: Update.
68180         * tests/test-fprintf-posix.sh: Update.
68181         * tests/test-printf-posix.sh: Update.
68182         * tests/test-vfprintf-posix.sh: Update.
68183         * tests/test-vprintf-posix.sh: Update.
68184         Reported by Ralf Wildenhues.
68185
68186 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
68187
68188         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
68189         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
68190         GCC 4.2, which otherwise issues a lot of warnings.
68191         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
68192         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
68193         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
68194         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
68195         it should no longer be needed.
68196         * lib/string_.h: Likewise.
68197         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
68198         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
68199         * modules/inttypes (inttypes.h): Likewise.
68200         * modules/math (math.h): Likewise.
68201         * modules/search (search.h): Likewise.
68202         * modules/signal (signal.h): Likewise.
68203         * modules/stdint (stdint.h): Likewise.
68204         * modules/stdio (stdio.h): Likewise.
68205         * modules/stdlib (stdlib.h): Likewise.
68206         * modules/string (string.h): Likewise.
68207         * modules/sys_time (sys/time.h): Likewise.
68208         * modules/time (time.h): Likewise.
68209         * modules/wchar (wchar.h): Likewise.
68210         * modules/wctype (wtype.h): Likewise.
68211
68212 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
68213
68214         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
68215
68216 2007-05-13  Bruno Haible  <bruno@clisp.org>
68217
68218         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
68219         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68220         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
68221         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68222         (gl_PREREQ_STRTOK_R): Don't require it here.
68223
68224 2007-05-13  Bruno Haible  <bruno@clisp.org>
68225
68226         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
68227         when used in C++ mode.
68228
68229 2007-05-12  Bruno Haible  <bruno@clisp.org>
68230
68231         * lib/linebuffer.h: Tweak doc.
68232         * lib/linebuffer.c: Likewise.
68233
68234 2007-05-12  James Youngman  <jay@gnu.org>
68235
68236         * lib/linebuffer.c (readlinebuffer_delim): New function,
68237         like readlinebuffer, but use a caller-specified delimiter.
68238         (readlinebuffer): Just call readlinebuffer_delim with '\n'
68239         as the delimiter.
68240         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
68241
68242 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
68243
68244         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
68245         * modules/openat (Files): Remove openat-die.c.
68246         (Depends-on): Add openat-die.
68247         * modules/openat-die: New module.
68248
68249 2007-05-06  Bruno Haible  <bruno@clisp.org>
68250
68251         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
68252         Update with info about Cygwin.
68253         * doc/functions/fprintf.texi: Update.
68254         * doc/functions/printf.texi: Update.
68255         * doc/functions/snprintf.texi: Update.
68256         * doc/functions/sprintf.texi: Update.
68257         * doc/functions/vfprintf.texi: Update.
68258         * doc/functions/vprintf.texi: Update.
68259         * doc/functions/vsnprintf.texi: Update.
68260         * doc/functions/vsprintf.texi: Update.
68261         Reported by Eric Blake.
68262
68263 2007-05-06  Bruno Haible  <bruno@clisp.org>
68264
68265         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
68266         padding ourselves for the floating-point directives.
68267         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
68268         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
68269         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68270         gl_PRINTF_FLAG_ZERO and test its result. Invoke
68271         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
68272         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68273         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
68274         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68275         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68276         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68277         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68278         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68279         * tests/test-snprintf-posix.h (test_function): Also check the width
68280         and some flags in the %f directive.
68281         * tests/test-sprintf-posix.h (test_function): Likewise.
68282         * tests/test-vasnprintf-posix.c (test_function): Likewise.
68283         * tests/test-vasprintf-posix.c (test_function): Likewise.
68284         * doc/functions/fprintf.texi: Update.
68285         * doc/functions/printf.texi: Update.
68286         * doc/functions/snprintf.texi: Update.
68287         * doc/functions/sprintf.texi: Update.
68288         * doc/functions/vfprintf.texi: Update.
68289         * doc/functions/vprintf.texi: Update.
68290         * doc/functions/vsnprintf.texi: Update.
68291         * doc/functions/vsprintf.texi: Update.
68292
68293 2007-05-06  Bruno Haible  <bruno@clisp.org>
68294
68295         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
68296         pass the ' flag character to sprintf or snprintf.
68297         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
68298         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
68299         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68300         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
68301         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
68302         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68303         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
68304         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68305         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68306         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68307         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68308         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68309         * tests/test-snprintf-posix.h (test_function): Also check the grouping
68310         flag.
68311         * tests/test-sprintf-posix.h (test_function): Likewise.
68312         * tests/test-vasnprintf-posix.c (test_function): Likewise.
68313         * tests/test-vasprintf-posix.c (test_function): Likewise.
68314         * doc/functions/fprintf.texi: Update.
68315         * doc/functions/printf.texi: Update.
68316         * doc/functions/snprintf.texi: Update.
68317         * doc/functions/sprintf.texi: Update.
68318         * doc/functions/vfprintf.texi: Update.
68319         * doc/functions/vprintf.texi: Update.
68320         * doc/functions/vsnprintf.texi: Update.
68321         * doc/functions/vsprintf.texi: Update.
68322
68323 2007-05-01  Bruno Haible  <bruno@clisp.org>
68324
68325         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
68326
68327 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
68328
68329         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
68330         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
68331
68332 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
68333
68334         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
68335         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
68336         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
68337
68338 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
68339
68340         * lib/argp-help.c (struct hol_entry): New member `ord'.
68341         (HOL_ENTRY_PTRCMP): Use ord for comparison
68342         (hol_sort): Initialize ord.
68343
68344 2007-05-01  Bruno Haible  <bruno@clisp.org>
68345
68346         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
68347         Reported by Eric Blake.
68348         * doc/gnulib.texi (Function Substitutes): Update.
68349
68350 2007-05-01  Bruno Haible  <bruno@clisp.org>
68351
68352         * doc/functions.texi: Remove file, now redundant through
68353         doc/functions/*.texi.
68354
68355 2007-05-01  Bruno Haible  <bruno@clisp.org>
68356
68357         * modules/argp (Depends-on): Add sleep.
68358
68359 2007-05-01  Bruno Haible  <bruno@clisp.org>
68360
68361         * modules/sleep-tests: New file.
68362         * tests/test-sleep.c: New file.
68363
68364         * modules/sleep: New file.
68365         * lib/sleep.c: New file.
68366         * m4/sleep.m4: New file.
68367         * lib/unistd_.h (sleep): New declaration.
68368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
68369         HAVE_SLEEP.
68370         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
68371         * doc/functions/sleep.texi: Document the sleep module.
68372
68373 2007-05-01  Bruno Haible  <bruno@clisp.org>
68374
68375         * lib/sigprocmask.h: Remove file.
68376         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
68377         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
68378         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
68379         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
68380         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
68381         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
68382         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
68383         HAVE_SIGSET_T as a shell variable.
68384         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
68385         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
68386         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
68387         (Depends-on): Add signal. Remove verify.
68388         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
68389         (Include): Mention <signal.h> instead of sigprocmask.h.
68390         * NEWS: Mention the change.
68391         * lib/fatal-signal.c: Don't include sigprocmask.h.
68392
68393 2007-05-01  Bruno Haible  <bruno@clisp.org>
68394
68395         * modules/signal: New file.
68396         * lib/signal_.h: New file.
68397         * m4/signal_h.m4: New file.
68398
68399 2007-05-01  Bruno Haible  <bruno@clisp.org>
68400
68401         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
68402         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
68403         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
68404         HAVE_WCTYPE_CTMP_BUG into wctype.h.
68405
68406 2007-05-01  Bruno Haible  <bruno@clisp.org>
68407
68408         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
68409         configure time.
68410         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
68411         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
68412         * modules/sys_stat (Makefile.am): Substitute their values into
68413         sys/stat.h.
68414
68415 2007-05-01  Bruno Haible  <bruno@clisp.org>
68416
68417         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
68418         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
68419         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
68420
68421 2007-05-01  Bruno Haible  <bruno@clisp.org>
68422
68423         * doc/header/assert.texi: Undo last change: don't mention the gnulib
68424         'assert' module here.
68425
68426 2007-05-01  Bruno Haible  <bruno@clisp.org>
68427
68428         * doc/functions/*.texi: New files.
68429         * doc/functions/google-ranking.txt: New file.
68430         * doc/gnulib.texi (Function Substitutes): New chapter.
68431         (ctime, inet_ntoa): Remove sections.
68432         * doc/ctime.texi: Remove file.
68433         * doc/inet_ntoa.texi: Remove file.
68434         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
68435         dependencies.
68436         (%.info): New rule, specifying a --reference-limit.
68437
68438 2007-05-01  Bruno Haible  <bruno@clisp.org>
68439
68440         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
68441
68442 2007-05-01  Bruno Haible  <bruno@clisp.org>
68443
68444         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
68445         the portability of 'mkdir' to mingw systems.
68446
68447 2007-05-01  Bruno Haible  <bruno@clisp.org>
68448
68449         * doc/headers/google-ranking.txt: New file.
68450
68451 2007-04-30  Eric Blake  <ebb9@byu.net>
68452
68453         Prefer fseeko to fseek.
68454         * modules/getpass (Depends-on): Add fseeko.
68455         * lib/getpass.c (getpass): Use fseeko, not fseek.
68456
68457 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
68458
68459         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
68460         assumes the sorting is stable, while most qsort implementations
68461         are not.  Use argument addresses to ensure they never compare as
68462         equal.
68463
68464         * tests/test-argp-2.sh (usage-indent test): Fix output
68465         (func_compare): Restore diff options
68466         * tests/test-argp.c: Restore #include "progname.h"
68467
68468 2007-04-29  Bruno Haible  <bruno@clisp.org>
68469
68470         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
68471         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68472         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
68473         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68474         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
68475         (configure.ac): Define CHECK_SNPRINTF_POSIX.
68476         (TESTS, check_PROGRAMS): Add test-snprintf.
68477         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
68478         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
68479         (TESTS, check_PROGRAMS): Add test-vsnprintf.
68480         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
68481         assertions that fail on HP-UX, OSF/1, or IRIX.
68482         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
68483
68484 2007-04-29  Bruno Haible  <bruno@clisp.org>
68485
68486         * MODULES.html.sh (posix_functions): Remove 'contents'.
68487
68488 2007-04-29  Karl Berry  <karl@gnu.org>
68489
68490         * config/srclist.txt (gendocs_template_min): new entry.
68491
68492 2007-04-29  Bruno Haible  <bruno@clisp.org>
68493
68494         Work around fpurge bug on BSD systems.
68495         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
68496         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
68497         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
68498         fpurge to rpl_fpurge if the system already has this function.
68499         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
68500         the case where the system already has this function. Correct invariants
68501         on BSD systems.
68502         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
68503         BSD systems.
68504
68505 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
68506
68507         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
68508         proposed by Sven Verdoolaege.
68509
68510         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
68511         options.
68512         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
68513         (usage and help tests): Update
68514
68515 2007-04-29  Bruno Haible  <bruno@clisp.org>
68516
68517         * tests/test-fflush.c (main): Use a file of size 17, not 10.
68518         Print more information in case of failure. Disable a test on BeOS.
68519
68520 2007-04-29  Bruno Haible  <bruno@clisp.org>
68521
68522         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
68523         This helps debugging on systems on which no gdb is available.
68524
68525 2007-04-29  Bruno Haible  <bruno@clisp.org>
68526
68527         * lib/freading.h: Improve comments.
68528         * lib/fwriting.h: Likewise.
68529         * tests/test-freading.c (main): Don't check freading immediately after
68530         repositioning. Needed for glibc.
68531
68532 2007-04-29  Bruno Haible  <bruno@clisp.org>
68533
68534         * lib/freading.c (freading): Trivial simplification.
68535
68536 2007-04-28  Bruno Haible  <bruno@clisp.org>
68537
68538         * tests/test-fwriting.c (main): Also test the interaction between
68539         fflush and fwriting.
68540         * modules/fwriting-tests (Depends-on): Add fflush.
68541
68542         * tests/test-freading.c (main): Also test the interaction between
68543         fflush and freading.
68544         * modules/freading-tests (Depends-on): Add fflush.
68545
68546 2007-04-28  Bruno Haible  <bruno@clisp.org>
68547
68548         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
68549         fseeko and ftello.
68550         Suggested by Eric Blake.
68551
68552 2007-04-28  Jim Meyering  <jim@meyering.net>
68553
68554         Avoid false-negative in gl_STDINT_H's C99 conformance test.
68555         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
68556         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
68557
68558 2007-04-27  Eric Blake  <ebb9@byu.net>
68559
68560         * doc/headers/assert.texi (assert.h): Document assert module use.
68561
68562 2007-04-27  Bruno Haible  <bruno@clisp.org>
68563
68564         * doc/headers/*.texi: New files.
68565         * doc/gnulib.texi (Header File Substitutes): New chapter.
68566         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
68567         dependencies.
68568         (standards.info ,standards.html, standards.dvi): Update dependencies.
68569         (mostlyclean, clean): New targets.
68570
68571 2007-04-27  Bruno Haible  <bruno@clisp.org>
68572
68573         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
68574         * modules/sysexits (Files, Makefile.am): Update.
68575
68576         * lib/sys_socket_.h: Renamed from lib/socket_.h.
68577         * modules/sys_socket (Files, Makefile.am): Update.
68578
68579         * lib/sys_stat_.h: Renamed from lib/stat_.h.
68580         * modules/sys_stat (Files, Makefile.am): Update.
68581
68582 2007-04-27  Eric Blake  <ebb9@byu.net>
68583
68584         * lib/freading.h: Improve comments.
68585         * lib/fwriting.h: Likewise.
68586         * lib/fflush.c: Likewise.
68587
68588         Fix closein for mingw.
68589         * modules/closein-tests: Add tests for closein.
68590         * tests/test-closein.c: New file.
68591         * tests/test-closein.sh: Likewise.
68592         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
68593         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
68594
68595 2007-04-27  Bruno Haible  <bruno@clisp.org>
68596
68597         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
68598         version is < 6.
68599         * lib/math_.h [__DECC]: Likewise.
68600         * lib/stdio_.h [__DECC]: Likewise.
68601         * lib/stdlib_.h [__DECC]: Likewise.
68602         * lib/string_.h [__DECC]: Likewise.
68603         * lib/time_.h [__DECC]: Likewise.
68604         * lib/wchar_.h [__DECC]: Likewise.
68605         * lib/wctype_.h [__DECC]: Likewise.
68606
68607 2007-04-27  Bruno Haible  <bruno@clisp.org>
68608
68609         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
68610
68611 2007-04-27  Bruno Haible  <bruno@clisp.org>
68612
68613         * lib/fflush.c: Add comments.
68614         * modules/fpurge-tests (Depends-on): Add fflush.
68615         * modules/freadable-tests (Depends-on): Likewise.
68616         * modules/fwritable-tests (Depends-on): Likewise.
68617
68618 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
68619
68620         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
68621         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
68622         Report by Bruno Haible <bruno@clisp.org>.
68623
68624 2007-04-26  Eric Blake  <ebb9@byu.net>
68625
68626         Fix fflush on mingw.
68627         * modules/fflush (Depends-on): Add freading.
68628         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
68629         but unread data.
68630
68631 2007-04-26  Eric Blake  <ebb9@byu.net>
68632         and Bruno Haible  <bruno@clisp.org>
68633
68634         Implement freading and fwriting.
68635         * lib/freading.c: New file.
68636         * lib/freading.h: Likewise.
68637         * m4/freading.m4: Likewise.
68638         * modules/freading: Likewise.
68639         * modules/freading-tests: Likewise.
68640         * tests/test-freading.c: Likewise.
68641         * lib/fwriting.c: New file.
68642         * lib/fwriting.h: Likewise.
68643         * m4/fwriting.m4: Likewise.
68644         * modules/fwriting: Likewise.
68645         * modules/fwriting-tests: Likewise.
68646         * tests/test-fwriting.c: Likewise.
68647         * MODULES.html.sh (File stream based Input/Output): Mention them.
68648
68649 2007-04-26  Bruno Haible  <bruno@clisp.org>
68650
68651         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
68652         'long' when we assume it.
68653         Suggested by Eric Blake.
68654
68655 2007-04-26  Bruno Haible  <bruno@clisp.org>
68656
68657         Ensure fseeko, ftello are declared on glibc systems.
68658         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
68659         * modules/fseeko (configure.ac-early): Likewise.
68660         * modules/ftello (configure.ac-early): Likewise.
68661         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
68662         AC_FUNC_FSEEKO for this.
68663         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
68664         (gl_CHECK_FSEEKO): Remove macro.
68665
68666 2007-04-26  Bruno Haible  <bruno@clisp.org>
68667
68668         * tests/test-fflush.c (main): Also check the ftell result after
68669         fflush and fseek/fseeko.
68670         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
68671         file descriptor position cache in the stream.
68672         * lib/fseeko.c (rpl_fseeko): Likewise.
68673
68674 2007-04-26  Bruno Haible  <bruno@clisp.org>
68675
68676         * modules/fflush-tests (Depends-on): Add fseeko.
68677
68678 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
68679             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68680
68681         * lib/argz_.h: ensure error_t definition is obtained in same
68682         mechanism system argz.h would have.
68683         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
68684         argz facilities are known bad.  Err on the side of caution if
68685         cross-compiling.
68686
68687 2007-04-25  Eric Blake  <ebb9@byu.net>
68688
68689         * lib/fpurge.c (includes): Use stdlib.h for free.
68690         * tests/test-fflush.c (main): Also test fflush-fseeko.
68691
68692 2007-04-25  Bruno Haible  <bruno@clisp.org>
68693
68694         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
68695         * lib/fseeko.c: New file.
68696         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
68697         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
68698         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
68699         gl_FUNC_FSEEKO.
68700         (gl_FUNC_FSEEKO): Invoke it.
68701         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
68702         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
68703         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
68704
68705 2007-04-25  Bruno Haible  <bruno@clisp.org>
68706
68707         * modules/fflush (Depends-on): Add ftello.
68708
68709 2007-04-25  Bruno Haible  <bruno@clisp.org>
68710
68711         * modules/ftello-tests: New file.
68712         * tests/test-ftello.c: New file.
68713
68714         * modules/ftello: New file.
68715         * m4/ftello.m4: New file.
68716         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
68717         HAVE_FTELLO.
68718         * lib/stdio_.h (ftello): New declaration.
68719         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
68720         HAVE_FTELLO.
68721
68722 2007-04-25  Bruno Haible  <bruno@clisp.org>
68723
68724         * modules/fseeko-tests: New file.
68725         * tests/test-fseeko.c: New file.
68726
68727         * modules/fseeko: New file.
68728         * m4/fseeko.m4: New file.
68729         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
68730         HAVE_FSEEKO.
68731         * lib/stdio_.h (fseeko): New declaration.
68732         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
68733         HAVE_FSEEKO.
68734
68735 2007-04-25  Bruno Haible  <bruno@clisp.org>
68736
68737         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
68738
68739 2007-04-25  Bruno Haible  <bruno@clisp.org>
68740
68741         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
68742         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
68743         * tests/test-unistd.c: Likewise.
68744         * tests/test-fcntl.c: Likewise.
68745
68746 2007-04-23  Eric Blake  <ebb9@byu.net>
68747
68748         * lib/fflush.c: Fix missing include.
68749         Reported by Bruno Haible.
68750
68751 2007-04-23  Bruno Haible  <bruno@clisp.org>
68752
68753         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
68754         Reported by Eric Blake.
68755
68756 2007-04-23  Bruno Haible  <bruno@clisp.org>
68757
68758         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
68759
68760 2007-04-23  Bruno Haible  <bruno@clisp.org>
68761
68762         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
68763
68764 2007-04-23  Bruno Haible  <bruno@clisp.org>
68765
68766         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
68767         Needed on HP-UX 11.
68768
68769 2007-04-16  Eric Blake  <ebb9@byu.net>
68770
68771         Make fflush rely on fpurge.
68772         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
68773         open coding all variants.
68774         * modules/fflush (Depends-on): Add fpurge and unistd.
68775         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
68776         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
68777
68778         Fix --with-tests compilation on cygwin.
68779         * modules/argmatch-tests (Makefile.am): List gnulib library first
68780         in LDADD.
68781         * modules/argp-tests (Makefile.am): Likewise.
68782         * modules/array-list-tests (Makefile.am): Likewise.
68783         * modules/array-oset-tests (Makefile.am): Likewise.
68784         * modules/avltree-list-tests (Makefile.am): Likewise.
68785         * modules/avltree-oset-tests (Makefile.am): Likewise.
68786         * modules/avltreehash-list-tests (Makefile.am): Likewise.
68787         * modules/carray-list-tests (Makefile.am): Likewise.
68788         * modules/dirname-tests (Makefile.am): Likewise.
68789         * modules/frexp-tests (Makefile.am): Likewise.
68790         * modules/isnanl-tests (Makefile.am): Likewise.
68791         * modules/linked-list-tests (Makefile.am): Likewise.
68792         * modules/linkedhash-list-tests (Makefile.am): Likewise.
68793         * modules/lock-tests (Makefile.am): Likewise.
68794         * modules/rbtree-list-tests (Makefile.am): Likewise.
68795         * modules/rbtree-oset-tests (Makefile.am): Likewise.
68796         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
68797         * modules/tls-tests (Makefile.am): Likewise.
68798         * modules/tsearch-tests (Makefile.am): Likewise.
68799         * modules/xvasprintf-tests (Makefile.am): Likewise.
68800
68801         Fix fpurge for cygwin.
68802         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
68803         value.
68804         * modules/fpurge-tests (Depends-on): Clean up trash.
68805
68806 2007-04-16  Simon Josefsson  <simon@josefsson.org>
68807
68808         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
68809
68810         * m4/autobuild.m4: Re-indent.
68811
68812 2007-04-13  Bruno Haible  <bruno@clisp.org>
68813
68814         * modules/fpurge-tests: New file.
68815         * tests/test-fpurge.c: New file.
68816
68817         * modules/fpurge: New file.
68818         * lib/fpurge.h: New file.
68819         * lib/fpurge.c: New file.
68820         * m4/fpurge.m4: New file.
68821
68822 2007-04-13  Bruno Haible  <bruno@clisp.org>
68823
68824         * modules/fbufmode-tests: New file.
68825         * tests/test-fbufmode.c: New file.
68826
68827         * modules/fbufmode: New file.
68828         * lib/fbufmode.h: New file.
68829         * lib/fbufmode.c: New file.
68830         * m4/fbufmode.m4: New file.
68831
68832 2007-04-13  Bruno Haible  <bruno@clisp.org>
68833
68834         * modules/fwritable-tests: New file.
68835         * tests/test-fwritable.c: New file.
68836
68837         * modules/fwritable: New file.
68838         * lib/fwritable.h: New file.
68839         * lib/fwritable.c: New file.
68840         * m4/fwritable.m4: New file.
68841
68842 2007-04-13  Bruno Haible  <bruno@clisp.org>
68843
68844         * modules/freadable-tests: New file.
68845         * tests/test-freadable.c: New file.
68846
68847         * modules/freadable: New file.
68848         * lib/freadable.h: New file.
68849         * lib/freadable.c: New file.
68850         * m4/freadable.m4: New file.
68851
68852 2007-04-13  Bruno Haible  <bruno@clisp.org>
68853
68854         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
68855         MOSTLYCLEANFILES.
68856
68857 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
68858
68859         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
68860         gzip bootstrap.conf to avoid dragging in i18n machinery.
68861         (gnulib_tool_option): Use it.
68862
68863 2007-04-13  Bruno Haible  <bruno@clisp.org>
68864
68865         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
68866         %F directives.
68867         * tests/test-vasprintf-posix.c (test_function): Likewise.
68868         * tests/test-snprintf-posix.h (test_function): Likewise.
68869         * tests/test-sprintf-posix.h (test_function): Likewise.
68870         * tests/test-fprintf-posix.h (test_function): Likewise.
68871         * tests/test-printf-posix.h (test_function): Likewise.
68872         * tests/test-fprintf-posix.out: Likewise.
68873
68874 2007-04-13  Bruno Haible  <bruno@clisp.org>
68875
68876         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
68877         * modules/tls-tests (configure.ac): Likewise.
68878         Reported by Arto C. Nirkko <anirkko@insel.ch>.
68879
68880 2007-04-13  Bruno Haible  <bruno@clisp.org>
68881
68882         * lib/tls.c (glthread_tls_get): Fix return type.
68883         Patch by Arto C. Nirkko <anirkko@insel.ch>.
68884
68885 2007-04-12  Eric Blake  <ebb9@byu.net>
68886
68887         * modules/gettime (Depends-on): Remove gettime.
68888         Reported by Dmitry V. Levin.
68889
68890 2007-04-12  Bruno Haible  <bruno@clisp.org>
68891
68892         * modules/fflush (Include): Mention <stdio.h>.
68893         * modules/strtoimax (Include): Mention <inttypes.h>.
68894         * modules/strtoumax (Include): Likewise.
68895
68896 2007-04-12  Eric Blake  <ebb9@byu.net>
68897
68898         * .cvsignore: New file.
68899         * .gitignore: Likewise.
68900
68901 2007-04-12  Bruno Haible  <bruno@clisp.org>
68902
68903         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
68904         not before, since $(LDADD) often contains libgnu.a.
68905         * modules/striconv-tests (test_striconv_LDADD): Likewise.
68906         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
68907         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
68908         Needed on Cygwin.
68909
68910 2007-04-12  Eric Blake  <ebb9@byu.net>
68911
68912         Work around glibc's failure to flush stdin on fclose.
68913         * lib/closein.c (close_stdin): Flush stdin before closing.
68914
68915         Work around glibc's failure to reset seekable stdin on exit.
68916         * modules/closein: New module.
68917         * lib/closein.c: New file.
68918         * lib/closein.h: Likewise.
68919         * m4/closein.m4: Likewise.
68920         * MODULES.html.sh (File stream based Input/Output): Document it.
68921
68922 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68923
68924         * gnulib-tool: Rename generated 'autobuild' script to
68925         'do-autobuild' in --create-megatestdir output.
68926
68927         * doc/gnulib.texi (Build robot for gnulib): Fix.
68928
68929 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68930
68931         * modules/sysexits (Depends-on): Add absolute-header.
68932
68933 2007-04-12  Eric Blake  <ebb9@byu.net>
68934
68935         No need to preserve errno on success.
68936         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
68937         Reported by Bruno Haible.
68938
68939 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68940
68941         * MODULES.html.sh (Support for maintaining and releasing
68942         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
68943
68944 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68945
68946         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
68947
68948 2007-04-12  Simon Josefsson  <simon@josefsson.org>
68949
68950         * modules/autobuild: New module.
68951
68952         * m4/autobuild.m4: New file.
68953
68954 2007-04-11  Bruno Haible  <bruno@clisp.org>
68955
68956         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
68957         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
68958         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
68959         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
68960         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68961         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68962         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68963         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
68964         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68965         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68966         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
68967         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68968         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68969         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
68970         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68971         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68972         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
68973         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68974         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68975         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
68976         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68977         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68978         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
68979         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68980         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68981         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
68982         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
68983         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
68984         Reported by Eric Blake.
68985
68986 2007-04-11  Bruno Haible  <bruno@clisp.org>
68987
68988         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
68989
68990 2007-04-10  Bruno Haible  <bruno@clisp.org>
68991
68992         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
68993         for NaN and Infinity. Needed on FreeBSD 6.1.
68994         * tests/test-vasnprintf-posix.c (test_function): Undo last change
68995         regarding results for "%010a" of Infinity and NaN.
68996         * tests/test-vasprintf-posix.c (test_function): Likewise.
68997         * tests/test-snprintf-posix.h (test_function): Likewise.
68998         * tests/test-sprintf-posix.h (test_function): Likewise.
68999         * tests/test-fprintf-posix.h (test_function): Likewise.
69000         * tests/test-printf-posix.h (test_function): Likewise.
69001         * tests/test-fprintf-posix.out: Likewise.
69002
69003 2007-04-10  Bruno Haible  <bruno@clisp.org>
69004
69005         * modules/locale-tests: New file.
69006         * tests/test-locale.c: New file.
69007
69008         * modules/locale: New file.
69009         * lib/locale_.h: New file.
69010         * m4/locale_h.m4: New file.
69011
69012 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
69013             Bruno Haible  <bruno@clisp.org>
69014
69015         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
69016         be determined, test for availability of the copysignf, copysign,
69017         copysignl functions.
69018         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
69019         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
69020         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
69021
69022 2007-04-09  Eric Blake  <ebb9@byu.net>
69023
69024         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
69025         * modules/stdio (Makefile.am): Support fflush.
69026         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
69027         * modules/fflush: New file.
69028         * lib/fflush.c: Likewise.
69029         * m4/fflush.m4: Likewise.
69030         * modules/fflush-tests: New test.
69031         * tests/test-fflush.c: Likewise.
69032         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
69033
69034 2007-04-06  Bruno Haible  <bruno@clisp.org>
69035
69036         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
69037         (VASNPRINTF): Use signbit for faster determination whether to print a
69038         minus sign.
69039         * modules/vasnprintf (Files): Remove lib/float+.h.
69040         * modules/fprintf-posix (Depends-on): Add signbit.
69041         * modules/snprintf-posix (Depends-on): Likewise.
69042         * modules/sprintf-posix (Depends-on): Likewise.
69043         * modules/vasnprintf-posix (Depends-on): Likewise.
69044         * modules/vasprintf-posix (Depends-on): Likewise.
69045         * modules/vfprintf-posix (Depends-on): Likewise.
69046         * modules/vsnprintf-posix (Depends-on): Likewise.
69047         * modules/vsprintf-posix (Depends-on): Likewise.
69048
69049 2007-04-06  Bruno Haible  <bruno@clisp.org>
69050
69051         * tests/test-frexp.c (main): Test also the sign bit of zero results.
69052         * tests/test-frexpl.c (main): Likewise.
69053         * tests/test-ldexpl.c (main): Likewise.
69054         * modules/frexp-tests (Depends-on): Add signbit.
69055         * modules/frexpl-tests (Depdends-on): Likewise.
69056         * modules/ldexpl-tests (Depdends-on): Likewise.
69057
69058 2007-04-06  Bruno Haible  <bruno@clisp.org>
69059
69060         * modules/signbit-tests: New file.
69061         * tests/test-signbit.c: New file.
69062
69063         * modules/signbit: New file.
69064         * lib/signbitf.c: New file.
69065         * lib/signbitd.c: New file.
69066         * lib/signbitl.c: New file.
69067         * m4/signbit.m4: New file.
69068         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
69069         (signbit): New macro.
69070         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
69071         REPLACE_SIGNBIT.
69072         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
69073         REPLACE_FREXPL into math.h.
69074
69075 2007-04-06  Bruno Haible  <bruno@clisp.org>
69076
69077         * modules/isnanf-nolibm-tests: New file.
69078         * tests/test-isnanf.c: New file.
69079
69080         * modules/isnanf-nolibm: New file.
69081         * lib/isnanf.h: New file.
69082         * lib/isnanf.c: New file.
69083         * lib/isnan.c: Consider the USE_FLOAT macro.
69084         * m4/isnanf.m4: New file.
69085
69086 2007-04-06  Bruno Haible  <bruno@clisp.org>
69087
69088         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
69089         (Link): New section.
69090
69091         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
69092
69093 2007-04-06  Bruno Haible  <bruno@clisp.org>
69094
69095         Assume the 'long double' type.
69096         * m4/longdouble.m4: Remove file.
69097         * config/srclist.txt: Don't mention longdouble.m4.
69098         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
69099         * lib/float+.h: Likewise.
69100         * lib/frexp.c: Likewise.
69101         * lib/printf-args.h: Likewise.
69102         * lib/printf-args.c: Likewise.
69103         * lib/printf-frexp.c: Likewise.
69104         * lib/printf-parse.c: Likewise.
69105         * lib/vasnprintf.c: Likewise.
69106         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
69107         * m4/intl.m4: Likewise.
69108         * m4/isnanl.m4: Likewise.
69109         * m4/printf.m4: Likewise.
69110         * m4/printf-frexpl.m4: Likewise.
69111         * m4/vasnprintf.m4: Likewise.
69112         * modules/allocsa (Files): Remove m4/longdouble.m4.
69113         * modules/gettext (Files): Likewise.
69114         * modules/relocatable-prog-wrapper (Files): Likewise.
69115         * modules/vasnprintf (Files): Likewise.
69116         * modules/isnanl (Files): Likewise.
69117         (Include): Simplify.
69118         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
69119         (Include): Simplify.
69120         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
69121         (Include): Simplify.
69122         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
69123         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69124         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
69125         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69126         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
69127         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69128         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
69129         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69130         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
69131         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69132         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
69133         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
69134         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
69135         * tests/test-isnanl.c: Likewise.
69136         * tests/test-snprintf-posix.h: Likewise.
69137         * tests/test-sprintf-posix.h: Likewise.
69138         * tests/test-vasnprintf-posix.c: Likewise.
69139         * tests/test-vasnprintf-posix2.c: Likewise.
69140         * tests/test-vasprintf-posix.c: Likewise.
69141
69142 2007-04-06  Bruno Haible  <bruno@clisp.org>
69143
69144         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
69145         * lib/math_.h [__DECC]: Include the overridden include file through
69146         #include_next, outside the double-inclusion guard.
69147         * lib/stdio_.h [__DECC]: Likewise.
69148         * lib/stdlib_.h [__DECC]: Likewise.
69149         * lib/string_.h [__DECC]: Likewise.
69150         * lib/time_.h [__DECC]: Likewise.
69151         * lib/wchar_.h [__DECC]: Likewise.
69152         * lib/wctype_.h [__DECC]: Likewise.
69153         * lib/inttypes_.h [__DECC]: Likewise.
69154         Reported by Albert Chin <china@thewrittenword.com> in
69155         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
69156
69157 2007-04-04  Eric Blake  <ebb9@byu.net>
69158
69159         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
69160         1.5.x.
69161
69162 2007-04-04  Bruno Haible  <bruno@clisp.org>
69163
69164         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
69165         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
69166
69167 2007-04-04  Bruno Haible  <bruno@clisp.org>
69168
69169         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
69170         results for "%010a" of Infinity and NaN.
69171         * tests/test-vasprintf-posix.c (test_function): Likewise.
69172         * tests/test-snprintf-posix.h (test_function): Likewise.
69173         * tests/test-sprintf-posix.h (test_function): Likewise.
69174         * tests/test-fprintf-posix.h (test_function): Remove these tests.
69175         * tests/test-printf-posix.h (test_function): Likewise.
69176         * tests/test-fprintf-posix.out: Update.
69177         Needed for FreeBSD 6.1.
69178
69179 2007-04-04  Bruno Haible  <bruno@clisp.org>
69180
69181         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
69182         directly used by the gnulib modules nor by gnulib-tool.
69183
69184 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
69185
69186         * DEPENDENCIES: Give overall description of version dependency
69187         desirability.  Use more-typical names for apps.
69188         Add shell, coreutils, diffutils, grep, tar, gzip.
69189
69190 2007-04-04  Simon Josefsson  <simon@josefsson.org>
69191
69192         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
69193
69194 2007-04-04  Karl Berry  <karl@gnu.org>
69195
69196         * MODULES.html.sh (func_module): missing '.
69197
69198 2007-04-03  Bruno Haible  <bruno@clisp.org>
69199
69200         * modules/argmatch-tests (Makefile.am): New variable
69201         test_argmatch_LDADD.
69202         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
69203         * modules/array-list-tests (Makefile.am): New variable
69204         test_array_list_LDADD.
69205         * modules/array-oset-tests (Makefile.am): New variable
69206         test_array_oset_LDADD.
69207         * modules/avltree-list-tests (Makefile.am): New variable
69208         test_avltree_list_LDADD.
69209         * modules/avltree-oset-tests (Makefile.am): New variable
69210         test_avltree_oset_LDADD.
69211         * modules/avltreehash-list-tests (Makefile.am): New variable
69212         test_avltreehash_list_LDADD.
69213         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
69214         test_canonicalize_lgpl_LDADD.
69215         * modules/carray-list-tests (Makefile.am): New variable
69216         test_carray_list_LDADD.
69217         * modules/dirname-tests (Makefile.am): New variable
69218         test_dirname_LDADD.
69219         * modules/linked-list-tests (Makefile.am): New variable
69220         test_linked_list_LDADD.
69221         * modules/linkedhash-list-tests (Makefile.am): New variable
69222         test_linkedhash_list_LDADD.
69223         * modules/rbtree-list-tests (Makefile.am): New variable
69224         test_rbtree_list_LDADD.
69225         * modules/rbtree-oset-tests (Makefile.am): New variable
69226         test_rbtree_oset_LDADD.
69227         * modules/rbtreehash-list-tests (Makefile.am): New variable
69228         test_rbtreehash_list_LDADD.
69229         * modules/xvasprintf-tests (Makefile.am): New variable
69230         test_xvasprintf_LDADD.
69231         Reported by Eric Blake.
69232
69233 2007-04-03  Eric Blake  <ebb9@byu.net>
69234
69235         * DEPENDENCIES: Weaken m4 requirements.
69236
69237 2007-04-03  Bruno Haible  <bruno@clisp.org>
69238
69239         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
69240         * modules/isnanl-tests (configure.ac): Likewise.
69241
69242 2007-04-03  Ben Pfaff  <blp@gnu.org>
69243
69244         * modules/iconv_open: Add $(srcdir)/ to source directory
69245         references in Makefile fragments that call gperf, to fix VPATH
69246         builds.
69247
69248 2007-04-03  Bruno Haible  <bruno@clisp.org>
69249
69250         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
69251         * lib/ldexpl.c: Undo last change.
69252
69253 2007-04-03  Bruno Haible  <bruno@clisp.org>
69254
69255         * modules/printf-frexpl (Depends-on): Undo last change.
69256         (Files): Add m4/ldexpl.m4.
69257
69258 2007-04-03  Bruno Haible  <bruno@clisp.org>
69259
69260         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
69261         * modules/isnanl (Link): New section.
69262
69263         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
69264         * modules/frexp (Link): New section.
69265
69266         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
69267         * modules/frexpl (Link): New section.
69268
69269         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
69270         * modules/ldexpl (Link): New section.
69271
69272 2007-04-03  Bruno Haible  <bruno@clisp.org>
69273
69274         * modules/TEMPLATE-EXTENDED: New file.
69275         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
69276
69277 2007-04-03  Bruno Haible  <bruno@clisp.org>
69278
69279         * DEPENDENCIES: New file.
69280         Suggested by Simon Josefsson.
69281
69282 2007-04-03  Bruno Haible  <bruno@clisp.org>
69283
69284         * doc/gnulib.texi: Escape @.
69285
69286 2007-04-03  James Youngman  <jay@gnu.org>
69287         and Paul Eggert  <eggert@cs.ucla.edu>
69288
69289         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
69290         birthtime on all systems that have birthtime, not just those which
69291         use st_birthtimensec rather than st_birthtim.  Putting zero in
69292         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
69293         that the birth time is not available for files on an NFS mount.
69294
69295 2007-04-03  Simon Josefsson  <simon@josefsson.org>
69296
69297         * modules/memxor: Move back from crypto/, suggested by Bruno.
69298         * modules/crypto/hmac-sha1: Fix memxor dependency.
69299
69300         * modules/crypto/gc: Moved from ../.
69301
69302 2007-04-02  Eric Blake  <ebb9@byu.net>
69303
69304         * lib/ldexpl.c (includes): Avoid libm.
69305
69306         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
69307
69308 2007-04-02  Bruno Haible  <bruno@clisp.org>
69309
69310         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
69311         on IRIX.
69312
69313 2007-04-02  Bruno Haible  <bruno@clisp.org>
69314
69315         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
69316         x86 or x86_64 platforms running MacOS X.
69317         Reported by Ryan Schmidt <@ryandesign.com>.
69318
69319 2007-04-02  Bruno Haible  <bruno@clisp.org>
69320
69321         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
69322         i386.
69323
69324 2007-04-01  Simon Josefsson  <simon@josefsson.org>
69325
69326         * modules/crypto/arcfour: Moved from ../.
69327         * modules/crypto/arcfour-tests: Moved from ../.
69328         * modules/crypto/arctwo: Moved from ../.
69329         * modules/crypto/arctwo-tests: Moved from ../.
69330         * modules/crypto/des: Moved from ../.
69331         * modules/crypto/des-tests: Moved from ../.
69332         * modules/crypto/gc-arcfour: Moved from ../.
69333         * modules/crypto/gc-arcfour-tests: Moved from ../.
69334         * modules/crypto/gc-arctwo: Moved from ../.
69335         * modules/crypto/gc-arctwo-tests: Moved from ../.
69336         * modules/crypto/gc-des: Moved from ../.
69337         * modules/crypto/gc-des-tests: Moved from ../.
69338         * modules/crypto/gc-hmac-md5: Moved from ../.
69339         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
69340         * modules/crypto/gc-hmac-sha1: Moved from ../.
69341         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
69342         * modules/crypto/gc-md2: Moved from ../.
69343         * modules/crypto/gc-md2-tests: Moved from ../.
69344         * modules/crypto/gc-md4: Moved from ../.
69345         * modules/crypto/gc-md4-tests: Moved from ../.
69346         * modules/crypto/gc-md5: Moved from ../.
69347         * modules/crypto/gc-md5-tests: Moved from ../.
69348         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
69349         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
69350         * modules/crypto/gc-random: Moved from ../.
69351         * modules/crypto/gc-rijndael: Moved from ../.
69352         * modules/crypto/gc-rijndael-tests: Moved from ../.
69353         * modules/crypto/gc-sha1: Moved from ../.
69354         * modules/crypto/gc-sha1-tests: Moved from ../.
69355         * modules/crypto/gc-tests: Moved from ../.
69356         * modules/crypto/hmac-md5: Moved from ../.
69357         * modules/crypto/hmac-md5-tests: Moved from ../.
69358         * modules/crypto/hmac-sha1: Moved from ../.
69359         * modules/crypto/hmac-sha1-tests: Moved from ../.
69360         * modules/crypto/md2: Moved from ../.
69361         * modules/crypto/md2-tests: Moved from ../.
69362         * modules/crypto/md4: Moved from ../.
69363         * modules/crypto/md4-tests: Moved from ../.
69364         * modules/crypto/md5: Moved from ../.
69365         * modules/crypto/md5-tests: Moved from ../.
69366         * modules/crypto/memxor: Moved from ../.
69367         * modules/crypto/rijndael: Moved from ../.
69368         * modules/crypto/rijndael-tests: Moved from ../.
69369         * modules/crypto/sha1: Moved from ../.
69370
69371 2007-03-30  James Youngman  <jay@gnu.org>
69372
69373         * tests/test-stat-time.c (prepare_test): use chmod() rather than
69374         rename() to change the ctime of a file (because ctime is unaffected
69375         by rename on jfs2 on AIX 5.1).
69376         (main): Start by doing cleanup, in case a previous run failed leaving
69377         test files behind.
69378
69379 2007-03-31  Bruno Haible  <bruno@clisp.org>
69380
69381         Support old proprietary implementations of iconv.
69382         * modules/iconv_open: New file.
69383         * lib/iconv_.h: New file.
69384         * m4/iconv_h.m4: New file.
69385         * lib/iconv_open.c: New file.
69386         * lib/iconv_open-aix.gperf: New file.
69387         * lib/iconv_open-hpux.gperf: New file.
69388         * lib/iconv_open-irix.gperf: New file.
69389         * lib/iconv_open-osf.gperf: New file.
69390         * m4/iconv_open.m4: New file.
69391         * modules/linebreak (Depends-on): Add iconv_open.
69392         * modules/striconv (Depends-on): Likewise.
69393         * modules/striconveh (Depends-on): Likewise.
69394         * modules/unicodeio (Depends-on): Likewise.
69395         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
69396         (iconv_t)(-1).
69397         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
69398         conversion if cd is (iconv_t)(-1).
69399         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
69400         is not possible.
69401
69402 2007-03-31  Bruno Haible  <bruno@clisp.org>
69403
69404         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
69405         work on Solaris either. Protect also second use of "autodetect_jp".
69406
69407 2007-03-31  Bruno Haible  <bruno@clisp.org>
69408
69409         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
69410         the function is not present.
69411
69412 2007-03-31  Bruno Haible  <bruno@clisp.org>
69413
69414         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
69415         the function is not present.
69416
69417 2007-03-31  Bruno Haible  <bruno@clisp.org>
69418
69419         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
69420         a bug in HP-UX iconv_open().
69421
69422 2007-03-31  Bruno Haible  <bruno@clisp.org>
69423
69424         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
69425         (Mathematics <math.h>): New section, add fpieee.
69426         (Input/output <stdio.h>): Add fseterr.
69427         (Mathematics <math.h>): New section, add printf-frexp.
69428         (Container data structures): Add sublist.
69429         (Core language properties): Add fpucw, inline.
69430         (Functions for greatest-width integer types <inttypes.h>): Add
69431         imaxabs, imaxdiv, inttypes.
69432         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
69433         isnanl-nolibm, ldexp.
69434         (Mathematics <math.h>): New section, add printf-frexpl.
69435         (Support for systems lacking POSIX:2001): Add fprintf-posix,
69436         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
69437         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
69438         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
69439         (Unicode string functions): Add unistr/u*-mbtoucr.
69440         (Java): Add javacomp-script, javaexec-script.
69441         (C#): Add csharpcomp-script, csharpexec-script.
69442         (Support for building libraries and executables): Add havelib,
69443         relocatable-*.
69444         (Support for maintaining and releasing projects): Renamed from
69445         'Support for maintaining and release projects'. Add announce-gen.
69446
69447 2007-03-31  Bruno Haible  <bruno@clisp.org>
69448
69449         * README: Talk primarily about git.
69450         (git and CVS): Renamed from CVS.
69451         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
69452         gnulib is available through git.
69453         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
69454
69455 2007-03-30  Bruno Haible  <bruno@clisp.org>
69456
69457         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
69458         * lib/poll_.h: Likewise.
69459         * lib/stat_.h: Likewise.
69460         * lib/sys_time_.h: Likewise.
69461         * lib/sysexit_.h: Likewise.
69462         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
69463         * lib/stdbool_.h: Likewise.
69464         * lib/byteswap_.h: Add double-inclusion guard.
69465
69466 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
69467
69468         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
69469
69470 2007-03-30  Karl Berry  <karl@gnu.org>
69471
69472         * config/srclist-update: double space after USA in the license
69473         substitution, since that's how it's usually (?) written.
69474
69475 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
69476
69477         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
69478         reported by Bruno Haible.
69479
69480 2007-03-29  Bruno Haible  <bruno@clisp.org>
69481
69482         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
69483         a bug in AIX iconv().
69484
69485 2007-03-29  Bruno Haible  <bruno@clisp.org>
69486
69487         * modules/ldexpl-tests: New file.
69488         * tests/test-ldexpl.c: New file.
69489
69490 2007-03-29  Bruno Haible  <bruno@clisp.org>
69491
69492         * lib/ldexpl.c: Include fpucw.h.
69493         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
69494         multiplication.
69495         * modules/ldexpl (Depends-on): Add fpucw.
69496
69497 2007-03-29  Bruno Haible  <bruno@clisp.org>
69498
69499         * modules/ldexpl: New file.
69500         * m4/ldexpl.m4: New file.
69501         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
69502         set.
69503         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
69504         REPLACE_LDEXPL.
69505         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
69506         REPLACE_LDEXPL.
69507         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69508         gl_FUNC_LDEXPL_WORKS.
69509         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
69510         * modules/mathl (Files): Remove lib/ldexpl.c.
69511         (Depends-on): Add ldexpl.
69512
69513 2007-03-29  Bruno Haible  <bruno@clisp.org>
69514
69515         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
69516
69517 2007-03-29  Bruno Haible  <bruno@clisp.org>
69518
69519         * tests/test-striconveh.c (main): Don't assume that a direct conversion
69520         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
69521         and possibly also HP-UX.
69522         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
69523         work on AIX, IRIX, HP-UX, OSF/1.
69524         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
69525         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
69526         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
69527         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
69528         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
69529         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
69530
69531 2007-03-29  Bruno Haible  <bruno@clisp.org>
69532
69533         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
69534
69535 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
69536
69537         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
69538         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
69539
69540 2007-03-29  Eric Blake  <ebb9@byu.net>
69541
69542         * lib/acl-internal.h: Remove redundant include.
69543         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
69544         Cygwin when a file is locked.
69545
69546 2007-03-29  Bruno Haible  <bruno@clisp.org>
69547
69548         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
69549         file.
69550         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
69551
69552 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
69553
69554         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
69555         try to remove a parent directory if the child couldn't be removed
69556         (except for the first rmdir, which could fail because the child
69557         doesn't exist).  Problem reported by Jeff Blaine in
69558         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
69559
69560 2007-03-28  Bruno Haible  <bruno@clisp.org>
69561
69562         * lib/striconveh.c (utf8conv_carefully): New function.
69563         (mem_cd_iconveh_internal): Invoke it.
69564
69565 2007-03-28  Bruno Haible  <bruno@clisp.org>
69566
69567         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
69568         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
69569         input.
69570         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
69571         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
69572         unistr/u8-uctomb.
69573
69574 2007-03-28  Bruno Haible  <bruno@clisp.org>
69575
69576         * modules/unistr/u8-mbtoucr: New file.
69577         * lib/unistr/u8-mbtoucr.c: New file.
69578         * modules/unistr/u16-mbtoucr: New file.
69579         * lib/unistr/u16-mbtoucr.c: New file.
69580         * modules/unistr/u16-mbtoucr: New file.
69581         * lib/unistr/u16-mbtoucr.c: New file.
69582         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
69583
69584 2007-03-27  Simon Josefsson  <simon@josefsson.org>
69585             Bruno Haible  <bruno@clisp.org>
69586
69587         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
69588         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
69589         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
69590
69591         * m4/stdio_h.m4: Add stubs for vasprintf too.
69592
69593         * modules/stdio: Support vasprintf in sed command.
69594
69595         * modules/vasprintf: Depend on stdio for prototypes.  Remove
69596         vasprintf.h.  Add stdio module indicator.
69597
69598         * lib/stdio_.h: Declare asprintf and vasprintf, based on
69599         vasprintf.h.
69600
69601         * lib/vasprintf.h: File removed.
69602
69603         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
69604         * lib/vasprintf.c: Ditto.
69605         * lib/xvasprintf.c: Ditto.
69606         * tests/test-vasprintf-posix.c: Ditto.
69607         * tests/test-vasprintf.c: Ditto.
69608
69609 2007-03-27  Bruno Haible  <bruno@clisp.org>
69610
69611         Make vasnprintf multithread-safe.
69612         * lib/vasnprintf.c (decimal_point_char): New function.
69613         (VASNPRINTF): Use it.
69614         Suggested by Simon Josefsson.
69615
69616 2007-03-27  Eric Blake  <ebb9@byu.net>
69617
69618         Support sub-second birthtime on cygwin.
69619         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
69620         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
69621         (get_stat_birthtime): Also work with st_birthtim.
69622
69623 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
69624
69625         * lib/stat-time.h (USE_BIRTHTIME): Remove.
69626         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
69627         (get_stat_birthtime_ns): Do not try to use "spare" fields.
69628         (get_stat_birthtime_ns): Simplify compile-time tests.
69629         (get_stat_birthtime): Change the API to look like
69630         get_stat_mtime etc., except return a negative tv_nsec on error.
69631         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
69632         Don't check for "spare" fields.
69633         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
69634         or for struct stat.st_birthtime, as these tests aren't used.
69635         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
69636
69637 2007-03-27  Bruno Haible  <bruno@clisp.org>
69638
69639         * lib/stat-time.h: Include <sys/stat.h>.
69640
69641 2007-03-27  James Youngman  <jay@gnu.org>
69642
69643         * lib/stat-time.h (get_stat_birthtime): New function for
69644           retrieving st_birthtime as provided by UFS2 (hence *BSD).
69645         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
69646           and its variants.
69647         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
69648         * modules/stat-time-test: New file.
69649         * tests/test-stat-time.c: New test, devised by Bruno Haible.
69650
69651 2007-03-26  Bruno Haible  <bruno@clisp.org>
69652
69653         Better support of signalling NaNs.
69654         * lib/atanl.c: Include isnanl.h.
69655         (atanl): Perform test for NaN at the beginning of the function and
69656         through a call to isnanl.
69657         * lib/cosl.c: Include isnanl.h.
69658         (cosl): Perform test for NaN at the beginning of the function and
69659         through a call to isnanl.
69660         * lib/ldexpl.c: Include isnanl.h.
69661         (ldexpl): Perform test for NaN through a call to isnanl.
69662         * lib/logl.c: Include isnanl.h.
69663         (logl): Perform test for NaN at the beginning of the function and
69664         through a call to isnanl.
69665         * lib/sinl.c: Include isnanl.h.
69666         (sinl): Perform test for NaN at the beginning of the function and
69667         through a call to isnanl.
69668         * lib/sqrtl.c: Include isnanl.h.
69669         (sqrtl): Perform test for NaN at the beginning of the function and
69670         through a call to isnanl.
69671         * lib/tanl.c: Include isnanl.h.
69672         (tanl): Perform test for NaN at the beginning of the function and
69673         through a call to isnanl.
69674         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
69675         * modules/mathl (Depends-on): Add isnanl.
69676
69677 2007-03-26  Eric Blake  <ebb9@byu.net>
69678
69679         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
69680         regression in logic sense of previous patch.
69681
69682 2007-03-26  Bruno Haible  <bruno@clisp.org>
69683
69684         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
69685         unportable shell command "if ! ...".
69686         Reported by Ralf Wildenhues.
69687
69688 2007-03-25  Bruno Haible  <bruno@clisp.org>
69689
69690         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
69691         <sysexits.h> file, and only add EX_CONFIG.
69692         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
69693         absolute file name and whether it is sufficient. Substitute also
69694         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
69695         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
69696         ABSOLUTE_SYSEXITS_H into sysexits.h.
69697
69698 2007-03-25  Bruno Haible  <bruno@clisp.org>
69699
69700         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
69701         hints is NULL.
69702
69703 2007-03-25  Bruno Haible  <bruno@clisp.org>
69704
69705         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
69706         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
69707
69708 2007-03-25  Bruno Haible  <bruno@clisp.org>
69709
69710         * lib/vasnprintf.c: Include langinfo.h.
69711         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
69712         multithread-safe.
69713         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
69714         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
69715         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69716         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69717         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69718         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69719         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69720         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
69721         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69722         Reported by Simon Josefsson.
69723
69724 2007-03-25  Bruno Haible  <bruno@clisp.org>
69725
69726         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
69727         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
69728         * modules/vasnprintf (Depends-on): Add stdint.
69729
69730 2007-03-25  Bruno Haible  <bruno@clisp.org>
69731
69732         * modules/fpieee: New file.
69733         * m4/fpieee.m4: New file.
69734         * modules/isnan-nolibm (Depends-on): Add fpieee.
69735         * modules/isnanl-nolibm (Depends-on): Add fpieee.
69736         * modules/isnanl (Depends-on): Add fpieee.
69737
69738 2007-03-25  Bruno Haible  <bruno@clisp.org>
69739
69740         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
69741
69742 2007-03-25  Bruno Haible  <bruno@clisp.org>
69743
69744         Avoid test failures on IRIX 6.5.
69745         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
69746         (main): Use it.
69747         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
69748         macros.
69749         (main): Use them.
69750
69751 2007-03-25  Bruno Haible  <bruno@clisp.org>
69752
69753         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
69754         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
69755         exists but doesn't work.
69756         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
69757         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
69758         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
69759         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
69760         math.h.
69761
69762 2007-03-25  Bruno Haible  <bruno@clisp.org>
69763
69764         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
69765         returns inf. Needed on IRIX 6.5.
69766
69767 2007-03-25  Bruno Haible  <bruno@clisp.org>
69768
69769         * tests/test-frexpl.c: Include isnanl-nolibm.h.
69770         (main): Use isnanl instead of x != x idiom.
69771         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
69772
69773         * tests/test-frexp.c: Include isnan.h.
69774         (main): Use isnan instead of x != x idiom.
69775         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
69776
69777 2007-03-25  Bruno Haible  <bruno@clisp.org>
69778
69779         * tests/test-frexp.c (NaN): New function/macro.
69780         (main): Use it instead of 0.0 / 0.0.
69781         * tests/test-isnan.c (NaN): New function/macro.
69782         (main): Use it instead of 0.0 / 0.0.
69783         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
69784         (test_function): Use it instead of 0.0 / 0.0.
69785         * tests/test-vasprintf-posix.c (NaN): New function/macro.
69786         (test_function): Use it instead of 0.0 / 0.0.
69787         * tests/test-snprintf-posix.h (NaN): New function/macro.
69788         (test_function): Use it instead of 0.0 / 0.0.
69789         * tests/test-sprintf-posix.h (NaN): New function/macro.
69790         (test_function): Use it instead of 0.0 / 0.0.
69791         * tests/test-fprintf-posix.h (NaN): New function/macro.
69792         (test_function): Use it instead of 0.0 / 0.0.
69793         * tests/test-printf-posix.h (NaN): New function/macro.
69794         (test_function): Use it instead of 0.0 / 0.0.
69795
69796         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
69797
69798 2007-03-25  Bruno Haible  <bruno@clisp.org>
69799
69800         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
69801
69802 2007-03-25  Bruno Haible  <bruno@clisp.org>
69803
69804         * lib/regexec.c (merge_state_with_log): Make static.
69805
69806 2007-03-25  Bruno Haible  <bruno@clisp.org>
69807
69808         * lib/trigl.c (kernel_rem_pio2): Make static.
69809
69810 2007-03-25  Bruno Haible  <bruno@clisp.org>
69811
69812         * lib/sincosl.c (sincosl_table): Make static.
69813
69814 2007-03-25  Bruno Haible  <bruno@clisp.org>
69815
69816         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
69817         if the compiler does not support C99.
69818
69819 2007-03-25  Bruno Haible  <bruno@clisp.org>
69820
69821         * modules/time (Makefile.am): Ensure all rule action lines start with a
69822         tab.
69823
69824 2007-03-24  Bruno Haible  <bruno@clisp.org>
69825
69826         * modules/tsearch-tests: New file.
69827         * tests/test-tsearch.sh: New file.
69828         * tests/test-tsearch.c: New file, mostly copied from glibc.
69829
69830         * modules/search-tests: New file.
69831         * tests/test-search.c: New file.
69832
69833         * modules/search: New file.
69834         * lib/search_.h: New file, incorporating lib/tsearch.h.
69835         * m4/search_h.m4: New file.
69836         * lib/tsearch.h: Remove file.
69837         * lib/tsearch.c: Include search.h instead of tsearch.h.
69838         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
69839         HAVE_TSEARCH.
69840         * modules/tsearch (Files): Remove lib/tsearch.h.
69841         (Depends-on): Add search.
69842         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
69843         (Include): Change tsearch.h into search.h.
69844
69845 2007-03-24  Bruno Haible  <bruno@clisp.org>
69846
69847         * modules/fpucw: New file.
69848         * lib/fpucw.h: New file.
69849         * lib/frexp.c: Include fpucw.h.
69850         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
69851         (FUNC): Use them.
69852         * lib/printf-frexp.c: Include fpucw.h.
69853         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
69854         (FUNC): Use them.
69855         * lib/vasnprintf.c: Include fpucw.h.
69856         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
69857         'long double' calculations.
69858         * tests/test-frexpl.c: Include fpucw.h.
69859         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
69860         * tests/test-printf-frexpl.c: Include fpucw.h.
69861         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
69862         * modules/frexpl (Depends-on): Add fpucw.
69863         * modules/printf-frexpl (Depends-on): Likewise.
69864         * modules/fprintf-posix (Depends-on): Likewise.
69865         * modules/snprintf-posix (Depends-on): Likewise.
69866         * modules/sprintf-posix (Depends-on): Likewise.
69867         * modules/vasnprintf-posix (Depends-on): Likewise.
69868         * modules/vasprintf-posix (Depends-on): Likewise.
69869         * modules/vfprintf-posix (Depends-on): Likewise.
69870         * modules/vsnprintf-posix (Depends-on): Likewise.
69871         * modules/vsprintf-posix (Depends-on): Likewise.
69872         * modules/frexpl-tests (Depends-on): Likewise.
69873         * modules/printf-frexpl-tests (Depends-on): Likewise.
69874
69875 2007-03-24  Bruno Haible  <bruno@clisp.org>
69876
69877         * lib/float+.h: New file.
69878         * lib/isnan.c: Include float+.h.
69879         (SIZE): New macro.
69880         (FUNC): Compare only SIZE bytes of the value.
69881         * lib/vasnprintf.c: Include float+.h.
69882         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
69883         SIZEOF_LDBL or SIZEOF_DBL bytes.
69884         * modules/isnan-nolibm (Files): Add lib/float+.h.
69885         * modules/isnanl-nolibm (Files): Add lib/float+.h.
69886         * modules/isnanl (Files): Add lib/float+.h.
69887         * modules/vasnprintf (Files): Add lib/float+.h.
69888
69889 2007-03-24  Bruno Haible  <bruno@clisp.org>
69890
69891         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
69892         include isnanl-nolibm.h.
69893
69894 2007-03-24  Bruno Haible  <bruno@clisp.org>
69895
69896         * tests/test-read-file.c (main): Don't produce spurious output for
69897         expected situations. Make the test fail if it encountered unexpected
69898         results.
69899
69900 2007-03-24  Bruno Haible  <bruno@clisp.org>
69901
69902         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
69903         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
69904
69905 2007-03-24  Bruno Haible  <bruno@clisp.org>
69906
69907         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
69908
69909 2007-03-24  Bruno Haible  <bruno@clisp.org>
69910
69911         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
69912         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
69913
69914         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
69915         * modules/utf8-ucs4: Turn into a symbolic link to module
69916         unistr/u8-mbtouc.
69917
69918         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
69919         utf8-ucs4-unsafe.
69920         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
69921         unistr/u8-mbtouc-unsafe.
69922
69923         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
69924         * modules/utf16-ucs4: Turn into a symbolic link to module
69925         unistr/u16-mbtouc.
69926
69927         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
69928         utf16-ucs4-unsafe.
69929         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
69930         unistr/u16-mbtouc-unsafe.
69931
69932         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
69933         * modules/ucs4-utf8: Turn into a symbolic link to module
69934         unistr/u8-ubtomb.
69935
69936         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
69937         * modules/ucs4-utf16: Turn into a symbolic link to module
69938         unistr/u16-ubtomb.
69939
69940 2007-03-24  Bruno Haible  <bruno@clisp.org>
69941
69942         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
69943         Enable the function only if HAVE_INLINE.
69944         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
69945         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
69946         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
69947         Enable the function only if HAVE_INLINE.
69948         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
69949         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
69950         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
69951         Enable the function only if HAVE_INLINE.
69952         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
69953         Enable the function only if HAVE_INLINE.
69954         * modules/utf8-ucs4: Update.
69955         * modules/utf8-ucs4-unsafe: Update.
69956         * modules/utf16-ucs4: Update.
69957         * modules/utf16-ucs4-unsafe: Update.
69958         * modules/ucs4-utf8: Update.
69959         * modules/ucs4-utf16: Update.
69960
69961 2007-03-24  Bruno Haible  <bruno@clisp.org>
69962
69963         * lib/utf8-ucs4.h: Remove file.
69964         * lib/utf8-ucs4-unsafe.h: Remove file.
69965         * lib/utf16-ucs4.h: Remove file.
69966         * lib/utf16-ucs4-unsafe.h: Remove file.
69967         * lib/ucs4-utf8.h: Remove file.
69968         * lib/ucs4-utf16.h: Remove file.
69969         * lib/unistr.h: Include their previous contents.
69970         * m4/utf-ucs4.m4: Remove file.
69971         * m4/ucs4-utf.m4: Remove file.
69972         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
69973         (Depends-on): Add unistr/base.
69974         (configure.ac): Remove gl_UTF_UCS4.
69975         (Makefile.am): Update.
69976         (Include): Change to unistr.h.
69977         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
69978         (Depends-on): Add unistr/base.
69979         (configure.ac): Remove gl_UTF_UCS4.
69980         (Makefile.am): Update.
69981         (Include): Change to unistr.h.
69982         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
69983         (Depends-on): Add unistr/base.
69984         (configure.ac): Remove gl_UTF_UCS4.
69985         (Makefile.am): Update.
69986         (Include): Change to unistr.h.
69987         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
69988         (Depends-on): Add unistr/base.
69989         (configure.ac): Remove gl_UTF_UCS4.
69990         (Makefile.am): Update.
69991         (Include): Change to unistr.h.
69992         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
69993         (Depends-on): Add unistr/base.
69994         (configure.ac): Remove gl_UCS4_UTF.
69995         (Makefile.am): Update.
69996         (Include): Change to unistr.h.
69997         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
69998         (Depends-on): Add unistr/base.
69999         (configure.ac): Remove gl_UCS4_UTF.
70000         (Makefile.am): Update.
70001         (Include): Change to unistr.h.
70002         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
70003         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
70004         utf8-ucs4-unsafe.h.
70005         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
70006         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
70007         utf16-ucs4-unsafe.h.
70008         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
70009         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
70010         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
70011         * lib/unistr/u8-strchr.c: Likewise.
70012         * lib/unistr/u8-strrchr.c: Likewise.
70013         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
70014         * lib/unistr/u16-strchr.c: Likewise.
70015         * lib/unistr/u16-strrchr.c: Likewise.
70016         * lib/striconveh.c: Update.
70017         * lib/linebreak.c: Update.
70018
70019 2007-03-24  Bruno Haible  <bruno@clisp.org>
70020
70021         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
70022         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
70023
70024 2007-03-22  Bruno Haible  <bruno@clisp.org>
70025
70026         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
70027
70028 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
70029
70030         * MODULES.html.sh (File system functions): New module write-any-file.
70031         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
70032         * m4/write-any-file.m4: New files.
70033
70034 2007-03-23  Eric Blake  <ebb9@byu.net>
70035
70036         * gnulib-tool: Rearrange space-tab sequences, since some editors
70037         like to eat them.
70038
70039 2007-03-23  Eric Blake  <ebb9@byu.net>
70040
70041         * lib/version-etc.c (version_etc_va): Update license wording to
70042         be more concise.  Recommended by Richard Stallman.
70043
70044 2007-03-22  Bruno Haible  <bruno@clisp.org>
70045
70046         * lib/poll.c (MSG_PEEK): New fallback definition.
70047
70048 2007-03-22  Bruno Haible  <bruno@clisp.org>
70049
70050         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
70051         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
70052         (main): Update.
70053         Fixes a compilation error on BeOS.
70054
70055 2007-03-22  Bruno Haible  <bruno@clisp.org>
70056
70057         * modules/frexpl-tests: New file.
70058         * tests/test-frexpl.c: New file.
70059
70060         * modules/frexpl: New file.
70061         * m4/frexpl.m4: New file.
70062         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
70063         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
70064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
70065         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
70066         (Depends-on): Add frexpl. Remove isnanl-nolibm.
70067         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
70068
70069 2007-03-22  Bruno Haible  <bruno@clisp.org>
70070
70071         * lib/frexpl.c: Share code with lib/frexp.c.
70072         * modules/mathl (Files): Add lib/frexp.c.
70073         (Depends-on): Add isnanl-nolibm.
70074
70075 2007-03-22  Bruno Haible  <bruno@clisp.org>
70076
70077         * modules/printf-frexp (Files): Add m4/frexp.m4.
70078         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
70079         only if the found frexp function actually works.
70080
70081 2007-03-22  Bruno Haible  <bruno@clisp.org>
70082
70083         * lib/frexp.c: Remove older implementation that uses divisions.
70084
70085 2007-03-21  Bruno Haible  <bruno@clisp.org>
70086
70087         * modules/frexp-tests: New file.
70088         * tests/test-frexp.c: New file.
70089
70090         * modules/frexp: New file.
70091         * lib/frexp.c: New file.
70092         * m4/frexp.m4: New file.
70093         * lib/math_.h (frexp): New declaration.
70094         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
70095         REPLACE_FREXP.
70096         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
70097
70098 2007-03-21  Bruno Haible  <bruno@clisp.org>
70099
70100         * modules/isnanl-tests: New file.
70101         * tests/test-isnanl.c: New file.
70102
70103         * modules/isnanl: New file.
70104         * lib/isnanl.h: New file.
70105         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
70106         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
70107         gl_FUNC_ISNANL_WORKS.
70108         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
70109         New macros.
70110
70111 2007-03-21  Bruno Haible  <bruno@clisp.org>
70112
70113         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
70114         lib/isnanl.h.
70115         (Include): Update.
70116         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
70117         * lib/vasnprintf.c: Update.
70118         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
70119         tests/test-isnanl.h, remove tests/test-isnanl.c.
70120         (Makefile.am): Update.
70121         * tests/test-isnanl-nolibm.c: New file.
70122         * tests/test-isnanl.h: New file.
70123         * tests/test-isnanl.c: Remove file.
70124
70125 2007-03-21  Jim Meyering  <jim@meyering.net>
70126
70127         When trying to open ".", treat ESTALE like EACCES.
70128         * lib/savewd.c (savewd_save): Resort to forking not just upon
70129         failure with EACCES, but also when errno is ESTALE.
70130
70131 2007-03-20  Bruno Haible  <bruno@clisp.org>
70132
70133         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
70134         Needed on AIX 5.1. Reported by Matthew Woehlke.
70135
70136 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
70137
70138         Suggestions by Bruno Haible:
70139         * lib/acl-internal.h: Include "gettext.h" rather than rolling
70140         our own.
70141         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
70142         * modules/acl (Depends-on): Add gettext.
70143
70144 2007-03-19  Bruno Haible  <bruno@clisp.org>
70145
70146         * modules/iconvme: Remove file.
70147         * lib/iconvme.h: Remove file.
70148         * lib/iconvme.c: Remove file.
70149         * m4/iconvme.m4: Remove file.
70150
70151 2007-03-19  Bruno Haible  <bruno@clisp.org>
70152
70153         * doc/relocatable-maint.texi: Break long shell script line.
70154         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
70155
70156 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
70157
70158         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
70159         handle file_has_acl.
70160         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
70161         * lib/acl.c: Move header inclusions and related macro defns into
70162         lib/acl-internal.h.
70163         (S_ISLNK): Remove defn, since that's now done for us.
70164         (file_has_acl): Move to lib/file-has-acl.c.
70165         Call acl_trivial if available.  This is the crucial part of the fix.
70166         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
70167         shared within the library.  Rewrite a bit, partly to make it compatible
70168         with the GNU coding style.
70169         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
70170         Remove unnecessary double-quotes.
70171         Don't test for acl_to_text; the build will catch that.
70172         Replace acl_entries if it doesn't exist and it is needed.
70173         Check for -lsec and acl_trivial (as used on Solaris 10).
70174         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
70175         lib/file-has-acl.c.
70176         (Depends-on): Add sys_stat, for S_ISLNK.
70177
70178 2007-03-19  Ben Pfaff  <blp@gnu.org>
70179
70180         * doc/gnulib.texi: Fix typos.
70181         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
70182
70183 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
70184
70185         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
70186         If size is zero here, buf must be zero.
70187
70188 2007-03-19  Simon Josefsson  <simon@josefsson.org>
70189
70190         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
70191         <bruno@clisp.org>.
70192
70193 2007-03-18  Bruno Haible  <bruno@clisp.org>
70194
70195         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
70196         Suggested by Eric Blake.
70197
70198 2007-03-18  Ben Pfaff  <blp@gnu.org>
70199
70200         * doc/relocatable.texi: Recommend using as prefix a directory
70201         that does not exist and will never be created.  Based on
70202         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
70203         and others.
70204
70205 2007-03-17  Bruno Haible  <bruno@clisp.org>
70206
70207         * lib/fchownat.c: Include lchown.h.
70208
70209 2007-03-17  Bruno Haible  <bruno@clisp.org>
70210
70211         Fix endless loop when the given allocated size was > INT_MAX.
70212         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
70213         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
70214         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
70215         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
70216         * lib/sprintf.c (sprintf): Likewise.
70217
70218 2007-03-17  Bruno Haible  <bruno@clisp.org>
70219
70220         * tests/test-argp-2.sh (func_compare): Output a context diff.
70221
70222 2007-03-17  Bruno Haible  <bruno@clisp.org>
70223
70224         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
70225         locale's decimal-point character.
70226
70227 2007-03-17  Bruno Haible  <bruno@clisp.org>
70228
70229         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
70230         before comparing it. Needed because on some platforms (e.g. x86) a
70231         'long double' occupies less bytes than sizeof (long double).
70232
70233 2007-03-17  Bruno Haible  <bruno@clisp.org>
70234
70235         * tests/test-crc.c (main): Make printf statements 64-bit clean.
70236         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
70237         * tests/test-getaddrinfo.c (simple): Likewise.
70238         * tests/test-read-file.c (main): Likewise.
70239
70240 2007-03-17  Bruno Haible  <bruno@clisp.org>
70241
70242         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
70243
70244 2007-03-17  Bruno Haible  <bruno@clisp.org>
70245
70246         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
70247         unused variable.
70248
70249 2007-03-17  Bruno Haible  <bruno@clisp.org>
70250
70251         * tests/test-c-strcasecmp.c: Include c-strcase.h.
70252         * tests/test-c-strncasecmp.c: Likewise.
70253
70254 2007-03-17  Bruno Haible  <bruno@clisp.org>
70255
70256         * modules/stdlib (Depends-on): Add unistd.
70257         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
70258         Needed for MacOS X 10.3.
70259
70260 2007-03-17  Bruno Haible  <bruno@clisp.org>
70261
70262         * lib/unistr/u-strdup.h: Include <stdlib.h>.
70263
70264 2007-03-17  Bruno Haible  <bruno@clisp.org>
70265
70266         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
70267
70268 2007-03-17  Bruno Haible  <bruno@clisp.org>
70269
70270         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
70271         to reflect files copied from gnulib (with or without modifications).
70272         Suggested by Jim Meyering.
70273
70274 2007-03-17  Eric Blake  <ebb9@byu.net>
70275
70276         * NEWS: Document stdlib change from 2007-02-18.
70277
70278 2007-03-17  Jim Meyering  <jim@meyering.net>
70279
70280         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
70281         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
70282         someone uses a name containing shell meta-characters.
70283         Reported by Alfred M. Szmidt.
70284
70285         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
70286
70287 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
70288
70289         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
70290         and copy gettext configuration files only if configure.ac contains
70291         a use of AM_GNU_GETTEXT_VERSION.
70292
70293 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
70294
70295         * build-aux/bootstrap (gnulib_name): New variable.
70296         (gnulib_tool_options): Use it.
70297
70298 2007-03-13  Simon Josefsson  <simon@josefsson.org>
70299
70300         * tests/test-des.c: Use new namespace.
70301
70302 2007-03-15  Bruno Haible  <bruno@clisp.org>
70303
70304         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
70305         Reported by James Youngman <jay@gnu.org>.
70306
70307 2007-03-15  Bruno Haible  <bruno@clisp.org>
70308
70309         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
70310         declared prototype. Needed with cc on OSF/1 5.1.
70311
70312 2007-03-15  Bruno Haible  <bruno@clisp.org>
70313
70314         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
70315         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
70316         (struct gl_list_implementation): Add dispose_fn argument to the
70317         'create_empty', 'create' methods.
70318         (struct gl_list_impl_base): Add field 'dispose_fn'.
70319         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
70320         argument.
70321         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
70322         dispose_fn argument.
70323         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
70324         dispose_fn on the dropped values.
70325         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
70326         dispose_fn argument.
70327         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
70328         dropped values.
70329         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
70330         (gl_tree_remove_node): Call dispose_fn on the dropped value.
70331         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
70332         (gl_tree_remove_node): Call dispose_fn on the dropped value.
70333         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
70334         argument.
70335         (gl_tree_list_free): Call dispose_fn on the dropped values.
70336         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
70337         the dropped values.
70338         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70339         Add dispose_fn argument.
70340         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
70341         Call dispose_fn on the dropped values.
70342         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
70343         Add dispose_fn argument.
70344         (gl_sublist_create): Initialize the 'dispose_fn' field.
70345         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
70346         * tests/test-array_list.c (main): Update.
70347         * tests/test-carray_list.c (main): Update.
70348         * tests/test-avltree_list.c (main): Update.
70349         * tests/test-rbtree_list.c (main): Update.
70350         * tests/test-avltreehash_list.c (main): Update.
70351         * tests/test-rbtreehash_list.c (main): Update.
70352         * tests/test-linked_list.c (main): Update.
70353         * tests/test-linkedhash_list.c (main): Update.
70354         * tests/test-array_oset.c (main): Update.
70355
70356 2007-03-15  Bruno Haible  <bruno@clisp.org>
70357
70358         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
70359         (gl_oset_create_empty): Add dispose_fn argument.
70360         (struct gl_oset_implementation): Add dispose_fn argument to
70361         'create_empty' method.
70362         (struct gl_oset_impl_base): Add dispose_fn field.
70363         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
70364         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
70365         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
70366         values.
70367         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
70368         (gl_tree_oset_free): Call dispose_fn on the dropped values.
70369         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
70370         dropped value.
70371         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
70372         dropped value.
70373         * tests/test-array_oset.c (main): Update.
70374         * tests/test-avltree_oset.c (main): Update.
70375         * tests/test-rbtree_oset.c (main): Update.
70376         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
70377
70378 2007-03-13  Bruno Haible  <bruno@clisp.org>
70379
70380         * tests/test-stdbool.c (i): Update after last patch.
70381
70382 2007-03-12  Bruno Haible  <bruno@clisp.org>
70383
70384         * lib/quotearg.c: Include <wctype.h> early, before the definition of
70385         the iswprint macro. Needed on Solaris 2.5.1.
70386
70387 2007-03-12  Bruno Haible  <bruno@clisp.org>
70388
70389         * tests/test-printf-frexp.c (main): Declare x as volatile.
70390
70391 2007-03-12  Simon Josefsson  <simon@josefsson.org>
70392
70393         * doc/gnulib.texi (Build robot for gnulib): New section.
70394
70395 2007-03-12  Jim Meyering  <jim@meyering.net>
70396
70397         * build-aux/bootstrap: New file.
70398         * build-aux/bootstrap.conf: New file, from coreutils.
70399
70400 2007-03-11  Bruno Haible  <bruno@clisp.org>
70401
70402         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
70403
70404 2007-03-12  Simon Josefsson  <simon@josefsson.org>
70405
70406         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
70407         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
70408         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
70409
70410 2007-03-11  Bruno Haible  <bruno@clisp.org>
70411
70412         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
70413         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
70414
70415 2007-03-11  Bruno Haible  <bruno@clisp.org>
70416
70417         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
70418         formula. Needed for SunPRO C 5.0.
70419
70420 2007-03-11  Bruno Haible  <bruno@clisp.org>
70421
70422         * modules/long-options (Depends-on): Add getopt.
70423
70424 2007-03-11  Bruno Haible  <bruno@clisp.org>
70425
70426         * modules/modechange (Depends-on): Add stdbool.
70427
70428 2007-03-11  Bruno Haible  <bruno@clisp.org>
70429
70430         * modules/i-ring (Depends-on): Add stdbool.
70431
70432 2007-03-11  Bruno Haible  <bruno@clisp.org>
70433
70434         * modules/gc-des (Depends-on): Add stdbool.
70435
70436 2007-03-11  Bruno Haible  <bruno@clisp.org>
70437
70438         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
70439
70440 2007-03-11  Bruno Haible  <bruno@clisp.org>
70441
70442         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
70443
70444 2007-03-11  Bruno Haible  <bruno@clisp.org>
70445
70446         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
70447
70448 2007-03-11  Bruno Haible  <bruno@clisp.org>
70449
70450         * lib/vasnprintf.c (sprintf): Undefine.
70451
70452 2007-03-11  Bruno Haible  <bruno@clisp.org>
70453
70454         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
70455         initializers in SunPRO C and Compaq C compilers.
70456
70457 2007-03-11  Bruno Haible  <bruno@clisp.org>
70458
70459         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
70460         decrementing code ANSI C compliant.
70461
70462 2007-03-11  Bruno Haible  <bruno@clisp.org>
70463
70464         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
70465         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
70466
70467 2007-03-11  Bruno Haible  <bruno@clisp.org>
70468
70469         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
70470         <stdbool.h> substitute doesn't pass.
70471
70472 2007-03-11  Bruno Haible  <bruno@clisp.org>
70473
70474         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
70475
70476 2007-03-11  Bruno Haible  <bruno@clisp.org>
70477
70478         * gnulib-tool (func_create_megatestdir): Create also an autobuild
70479         script, for submission to autobuild.josefsson.org.
70480
70481 2007-03-10  Bruno Haible  <bruno@clisp.org>
70482
70483         * modules/canonicalize-lgpl-tests: New file.
70484         * tests/test-canonicalize-lgpl.sh: New file.
70485         * tests/test-canonicalize-lgpl.c: New file.
70486
70487         * modules/c-strcase-tests: New file.
70488         * tests/test-c-strcase.sh: New file.
70489         * tests/test-c-strcasecmp.c: New file.
70490         * tests/test-c-strncasecmp.c: New file.
70491
70492         * modules/atexit-tests: New file.
70493         * tests/test-atexit.sh: New file.
70494         * tests/test-atexit.c: New file.
70495
70496 2007-03-10  Bruno Haible  <bruno@clisp.org>
70497
70498         * tests/test-binary-io.sh: Use temporary filenames that are not so
70499         likely to clash with those of other tests (in a parallel make).
70500         * tests/test-binary-io.c: Likewise.
70501
70502 2007-03-10  Bruno Haible  <bruno@clisp.org>
70503
70504         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
70505         fallback; use #error instead.
70506         Suggested by Simon Josefsson.
70507
70508 2007-03-10  Bruno Haible  <bruno@clisp.org>
70509
70510         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
70511         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
70512         first and the last.
70513
70514 2007-03-10  Bruno Haible  <bruno@clisp.org>
70515
70516         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
70517
70518 2007-03-10  Bruno Haible  <bruno@clisp.org>
70519
70520         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
70521         "make distcheck".
70522         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
70523         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
70524         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
70525
70526 2007-03-10  Bruno Haible  <bruno@clisp.org>
70527
70528         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
70529         variable.
70530         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
70531         variable.
70532
70533 2007-03-09  Eric Blake  <ebb9@byu.net>
70534         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
70535
70536         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
70537         types are not being provided by gnulib.
70538         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
70539         types are supported.
70540
70541 2007-03-10  Bruno Haible  <bruno@clisp.org>
70542
70543         * lib/stdio_.h (__attribute__): New macro.
70544         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
70545         vsprintf): Specify __attribute__ __format__ for GCC.
70546         Suggested by Eric Blake.
70547
70548 2007-03-09  Bruno Haible  <bruno@clisp.org>
70549
70550         * modules/printf-posix-tests: New file.
70551         * tests/test-printf-posix.sh: New file.
70552         * tests/test-printf-posix.c: New file.
70553
70554         * modules/printf-posix: New file.
70555         * lib/printf.c: New file.
70556         * m4/printf-posix-rpl.m4: New file.
70557         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
70558         REPLACE_PRINTF.
70559         * lib/stdio_.h (printf): New declaration.
70560         (format, __format__, ____printf____, ____scanf____, ____strftime____,
70561         ____strfmon____): New macros.
70562         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
70563         REPLACE_PRINTF.
70564
70565 2007-03-09  Bruno Haible  <bruno@clisp.org>
70566
70567         * tests/test-vasnprintf-posix2.sh: New file.
70568         * tests/test-vasnprintf-posix2.c: New file.
70569         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
70570         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
70571         (Makefile.am): Activate test-vasnprintf-posix2.sh.
70572
70573         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
70574         a locale dependent decimal point, rather than always '.'.
70575
70576 2007-03-09  Eric Blake  <ebb9@byu.net>
70577
70578         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
70579         spite of platforms like Tandem/NSK that define it to -1.
70580
70581 2007-03-08  Bruno Haible  <bruno@clisp.org>
70582
70583         * modules/vprintf-posix-tests: New file.
70584         * tests/test-vprintf-posix.sh: New file.
70585         * tests/test-vprintf-posix.c: New file.
70586         * tests/test-printf-posix.h: New file.
70587
70588         * modules/vprintf-posix: New file.
70589         * lib/vprintf.c: New file.
70590         * m4/vprintf-posix.m4: New file.
70591         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
70592         REPLACE_VPRINTF.
70593         * lib/stdio_.h (vprintf): New declaration.
70594         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
70595         REPLACE_VPRINTF.
70596
70597 2007-03-08  Bruno Haible  <bruno@clisp.org>
70598
70599         * modules/fprintf-posix-tests: New file.
70600         * tests/test-fprintf-posix.sh: New file.
70601         * tests/test-fprintf-posix.c: New file.
70602
70603         * modules/fprintf-posix: New file.
70604         * lib/fprintf.c: New file.
70605         * m4/fprintf-posix.m4: New file.
70606         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
70607         REPLACE_FPRINTF.
70608         * lib/stdio_.h (fprintf): New declaration.
70609         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
70610         REPLACE_FPRINTF.
70611
70612 2007-03-08  Bruno Haible  <bruno@clisp.org>
70613
70614         * modules/vfprintf-posix-tests: New file.
70615         * tests/test-vfprintf-posix.sh: New file.
70616         * tests/test-vfprintf-posix.c: New file.
70617         * tests/test-fprintf-posix.h: New file.
70618         * tests/test-fprintf-posix.out: New file.
70619
70620         * modules/vfprintf-posix: New file.
70621         * lib/vfprintf.c: New file.
70622         * m4/vfprintf-posix.m4: New file.
70623         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
70624         REPLACE_VFPRINTF.
70625         * lib/stdio_.h (vfprintf): New declaration.
70626         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
70627         REPLACE_VFPRINTF.
70628
70629 2007-03-08  Bruno Haible  <bruno@clisp.org>
70630
70631         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
70632
70633 2007-03-08  Bruno Haible  <bruno@clisp.org>
70634
70635         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
70636         instead of 'expr' invocations.
70637         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70638         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70639         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70640         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
70641         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70642         Suggested by Paul Eggert.
70643
70644 2007-03-08  Bruno Haible  <bruno@clisp.org>
70645
70646         * modules/fseterr-tests: New file.
70647         * tests/test-fseterr.c: New file.
70648
70649         * modules/fseterr: New file.
70650         * lib/fseterr.h: New file.
70651         * lib/fseterr.c: New file.
70652
70653 2007-03-08  Bruno Haible  <bruno@clisp.org>
70654
70655         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
70656         * lib/getopt_.h: Likewise.
70657         * lib/mbswidth.h: Likewise.
70658         * lib/setenv.h: Likewise.
70659         * lib/vasnprintf.h: Likewise.
70660         * lib/vasprintf.h: Likewise.
70661         * lib/verror.h: Likewise.
70662         * lib/xsetenv.h: Likewise.
70663         * lib/xvasprintf.h: Likewise.
70664
70665 2007-03-08  Jim Meyering  <jim@meyering.net>
70666
70667         * users.txt: Add parted.
70668
70669         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
70670
70671 2007-03-07  Bruno Haible  <bruno@clisp.org>
70672
70673         * m4/printf.m4: Make the shell script snippets copy&pastable.
70674
70675 2007-03-02  Bruno Haible  <bruno@clisp.org>
70676
70677         * lib/netinet_in_.h: New file.
70678         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
70679         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
70680         * modules/netinet_in (Files): Add lib/netinet_in_.h.
70681         (Depends-on): Add absolute-header.
70682         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
70683         into netinet/in.h.
70684
70685 2007-03-03  Bruno Haible  <bruno@clisp.org>
70686
70687         * lib/sys_select_.h: New file.
70688         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
70689         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
70690         * modules/sys_select (Files): Add lib/sys_select_.h.
70691         (Depends-on): Add absolute-header.
70692         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
70693         into sys/select.h.
70694
70695 2007-03-02  Bruno Haible  <bruno@clisp.org>
70696
70697         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
70698         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
70699         values.
70700         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
70701         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
70702         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
70703         * modules/sys_socket (Depends-on): Add absolute-header.
70704         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
70705         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
70706         (Include): Remove requirement of inclusion of <sys/types.h>.
70707
70708 2007-03-02  Bruno Haible  <bruno@clisp.org>
70709
70710         * lib/byteswap_.h (bswap_32): Fix formula.
70711
70712 2007-03-06  Bruno Haible  <bruno@clisp.org>
70713
70714         * modules/sprintf-posix-tests: New file.
70715         * tests/test-sprintf-posix.c: New file.
70716
70717         * modules/sprintf-posix: New file.
70718         * lib/sprintf.c: New file.
70719         * m4/sprintf-posix.m4: New file.
70720         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
70721         REPLACE_SPRINTF.
70722         * lib/stdio_.h (sprintf): New declaration.
70723         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
70724         REPLACE_SPRINTF.
70725
70726 2007-03-06  Bruno Haible  <bruno@clisp.org>
70727
70728         * modules/vsprintf-posix-tests: New file.
70729         * tests/test-vsprintf-posix.c: New file.
70730         * tests/test-sprintf-posix.h: New file.
70731
70732         * modules/vsprintf-posix: New file.
70733         * lib/vsprintf.c: New file.
70734         * m4/vsprintf-posix.m4: New file.
70735         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
70736         REPLACE_VSPRINTF.
70737         * lib/stdio_.h (vsprintf): New declaration.
70738         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
70739         REPLACE_VSPRINTF.
70740
70741 2007-03-06  Bruno Haible  <bruno@clisp.org>
70742
70743         * modules/vsnprintf (Depend-on): Remove minmax.
70744
70745 2007-03-06  Bruno Haible  <bruno@clisp.org>
70746
70747         * modules/snprintf-posix-tests: New file.
70748         * tests/test-snprintf-posix.c: New file.
70749
70750         * modules/snprintf-posix: New file.
70751         * m4/snprintf-posix.m4: New file.
70752         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
70753         gl_FUNC_SNPRINTF.
70754         (gl_FUNC_SNPRINTF): Invoke it.
70755         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
70756         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
70757         is set.
70758         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
70759
70760 2007-03-06  Bruno Haible  <bruno@clisp.org>
70761
70762         * modules/vsnprintf-posix-tests: New file.
70763         * tests/test-vsnprintf-posix.c: New file.
70764         * tests/test-snprintf-posix.h: New file.
70765
70766         * modules/vsnprintf-posix: New file.
70767         * m4/vsnprintf-posix.m4: New file.
70768         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
70769         gl_FUNC_VSNPRINTF.
70770         (gl_FUNC_VSNPRINTF): Invoke it.
70771         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
70772         * lib/stdio_.h (vsnprintf): Define as a replacement if
70773         REPLACE_VSNPRINTF is set.
70774         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
70775
70776 2007-03-06  Bruno Haible  <bruno@clisp.org>
70777
70778         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
70779         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
70780
70781 2007-03-06  Bruno Haible  <bruno@clisp.org>
70782
70783         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
70784         (asinl): Declare also if HAVE_DECL_ASINL is set.
70785         (atanl): Declare also if HAVE_DECL_ATANL is set.
70786         (ceill): Declare also if HAVE_DECL_CEILL is set.
70787         (cosl): Declare also if HAVE_DECL_COSL is set.
70788         (expl): Declare also if HAVE_DECL_EXPL is set.
70789         (floorl): Declare also if HAVE_DECL_FLOORL is set.
70790         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
70791         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
70792         (logl): Declare also if HAVE_DECL_LOGL is set.
70793         (sinl): Declare also if HAVE_DECL_SINL is set.
70794         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
70795         (tanl): Declare also if HAVE_DECL_TANL is set.
70796         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
70797         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
70798         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
70799         declaration of frexpl, ldexpl.
70800         * modules/printf-frexpl (Depends-on): Add math.
70801         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
70802
70803 2007-03-05  Bruno Haible  <bruno@clisp.org>
70804
70805         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
70806         frexpl and ldexpl are declared.
70807         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
70808
70809 2007-03-05  Bruno Haible  <bruno@clisp.org>
70810
70811         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
70812         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
70813
70814 2007-03-05  Bruno Haible  <bruno@clisp.org>
70815
70816         * lib/stdio_.h: Include <stddef.h>.
70817
70818 2007-03-05  Bruno Haible  <bruno@clisp.org>
70819
70820         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
70821
70822 2007-03-05  Bruno Haible  <bruno@clisp.org>
70823
70824         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
70825         NetBSD 4, from Ralf Wildenhues.
70826
70827 2007-03-04  Bruno Haible  <bruno@clisp.org>
70828
70829         * lib/vasprintf.h: Update #if logic for the case when the functions
70830         exist but are overridden.
70831
70832 2007-03-04  Bruno Haible  <bruno@clisp.org>
70833
70834         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
70835         implementations: glibc-2.4 and MacOS X 10.3.
70836         * tests/test-vasnprintf-posix.c (test_function): Test also the case
70837         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
70838         * tests/test-vasprintf-posix.c (test_function): Likewise.
70839
70840 2007-03-04  Bruno Haible  <bruno@clisp.org>
70841
70842         * modules/vasprintf-posix-tests: New file.
70843         * tests/test-vasprintf-posix.c: New file.
70844
70845         * modules/vasprintf-posix: New file.
70846         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
70847         defined.
70848         * m4/vasprintf-posix.m4: New file.
70849         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
70850         gl_FUNC_VASPRINTF.
70851         (gl_FUNC_VASPRINTF): Invoke it.
70852         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
70853         here.
70854         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
70855
70856 2007-03-04  Bruno Haible  <bruno@clisp.org>
70857
70858         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
70859         REPLACE_GETTIMEOFDAY.
70860         * modules/sys_time (Makefile.am): Likewise.
70861         * m4/sys_time_h.m4: Likewise.
70862         * m4/gettimeofday.m4: Likewise.
70863
70864 2007-03-04  Bruno Haible  <bruno@clisp.org>
70865
70866         * modules/vasnprintf-posix-tests: New file.
70867         * tests/test-vasnprintf-posix.c: New file.
70868
70869         * modules/vasnprintf-posix: New file.
70870         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
70871         printf-frexpl.h.
70872         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
70873         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
70874         REPLACE_VASNPRINTF is defined.
70875         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
70876         gl_FUNC_VASNPRINTF.
70877         (gl_FUNC_VASNPRINTF): Invoke it.
70878         * m4/vasnprintf-posix.m4: New file.
70879         * m4/printf.m4: New file.
70880
70881 2007-03-04  Bruno Haible  <bruno@clisp.org>
70882
70883         Compile progreloc.c only if --enable-relocatable is specified.
70884         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
70885         if --enable-relocatable was specified.
70886         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
70887         lib_SOURCES.
70888
70889 2007-03-04  Jim Meyering  <jim@meyering.net>
70890
70891         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
70892         Use it consistently, rather than enumerating errno constants.
70893
70894 2007-03-04  Bruno Haible  <bruno@clisp.org>
70895
70896         * modules/xvasprintf-tests: New file.
70897         * tests/test-xvasprintf.c: New file.
70898
70899         * modules/vasprintf-tests: New file.
70900         * tests/test-vasprintf.c: New file.
70901
70902         * modules/vasnprintf-tests: New file.
70903         * tests/test-vasnprintf.c: New file.
70904
70905         * modules/vsnprintf-tests: New file.
70906         * tests/test-vsnprintf.c: New file.
70907
70908         * modules/snprintf-tests: New file.
70909         * tests/test-snprintf.c: New file.
70910
70911 2007-03-04  Bruno Haible  <bruno@clisp.org>
70912
70913         Compile relocatable.c only if --enable-relocatable is specified.
70914         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
70915         gl_RELOCATABLE_LIBRARY.
70916         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
70917         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
70918         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
70919         gl_RELOCATABLE_LIBRARY.
70920         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
70921         (Makefile.am): Remove lib_SOURCES.
70922         * modules/relocatable-lib-lgpl (configure.ac): Invoke
70923         gl_RELOCATABLE_LIBRARY.
70924         (Makefile.am): Remove lib_SOURCES.
70925         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
70926         always.
70927         * modules/relocatable-prog-wrapper (configure.ac): Invoke
70928         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
70929
70930 2007-03-04  Bruno Haible  <bruno@clisp.org>
70931
70932         * modules/argmatch-tests: New file.
70933         * tests/test-argmatch.c: New file.
70934
70935         * tests/test-allocsa.c (main): Halve the number of loop runs.
70936
70937         * modules/alloca-opt-tests: New file.
70938         * tests/test-alloca-opt.c: New file.
70939
70940 2007-03-04  Jim Meyering  <jim@meyering.net>
70941
70942         Work around difference between Linux ACLs and Solaris 10 ZFS.
70943         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
70944         for EINVAL.
70945
70946 2007-03-03  Bruno Haible  <bruno@clisp.org>
70947
70948         * modules/relocatable-prog (Depends-on): Add back progreloc's
70949         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
70950
70951 2007-03-03  Bruno Haible  <bruno@clisp.org>
70952
70953         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
70954         * modules/relocatable-lib: New file.
70955
70956 2007-03-03  Bruno Haible  <bruno@clisp.org>
70957
70958         * modules/relocatable-prog: Renamed from modules/relocatable.
70959         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
70960
70961 2007-03-03  Bruno Haible  <bruno@clisp.org>
70962
70963         * modules/relocatable-script (Files): Add doc/relocatable.texi,
70964         m4/relocatable-lib.m4.
70965         (Depends-on): Remove 'relocatable'.
70966         (configure.ac): Add gl_RELOCATABLE_NOP.
70967
70968 2007-03-03  Bruno Haible  <bruno@clisp.org>
70969
70970         * modules/relocatable-prog-wrapper: New file.
70971         * modules/relocatable (Depends-on): Add it. Remove all other
70972         dependencies except progname.
70973         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
70974
70975         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
70976         (gl_FUNC_STRERROR): Nop.
70977         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
70978
70979         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
70980         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
70981
70982         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
70983         (gl_FUNC_READLINK): Update.
70984
70985         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
70986
70987 2007-03-03  Bruno Haible  <bruno@clisp.org>
70988
70989         * lib/xreadlink.c: Include <unistd.h> unconditionally.
70990         * modules/xreadlink (Depends-on): Add unistd.
70991         * modules/xreadlink-with-size (Depends-on): Likewise.
70992
70993 2007-03-03  Bruno Haible  <bruno@clisp.org>
70994
70995         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
70996         extracted from gt_FUNC_SETENV.
70997         (gt_FUNC_SETENV): Remove macro.
70998         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
70999         remove gt_FUNC_SETENV.
71000
71001 2007-03-03  Bruno Haible  <bruno@clisp.org>
71002
71003         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
71004         ENABLE_RELOCATABLE here.
71005         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
71006
71007 2007-03-03  Bruno Haible  <bruno@clisp.org>
71008
71009         * modules/rbtreehash-list-tests (Depends-on): Add progname.
71010         * tests/test-rbtreehash_list.c: Include progname.h.
71011         (main): Call set_program_name.
71012
71013         * modules/rbtree-oset-tests (Depends-on): Add progname.
71014         * tests/test-rbtree_oset.c: Include progname.h.
71015         (main): Call set_program_name.
71016
71017         * modules/rbtree-list-tests (Depends-on): Add progname.
71018         * tests/test-rbtree_list.c: Include progname.h.
71019         (main): Call set_program_name.
71020
71021         * modules/linked-list-tests (Depends-on): Add progname.
71022         * tests/test-linked_list.c: Include progname.h.
71023         (main): Call set_program_name.
71024
71025 2007-03-03  Bruno Haible  <bruno@clisp.org>
71026
71027         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
71028         All uses of __restrict changed to _Restrict_.
71029         * lib/glob_.h (__restrict): Remove macro.
71030
71031 2007-03-02  Bruno Haible  <bruno@clisp.org>
71032
71033         * modules/gettext (configure.ac): Require gettext infrastructure
71034         from version 0.16.1.
71035
71036 2007-03-02  Bruno Haible  <bruno@clisp.org>
71037
71038         * modules/linkedhash-list-tests (Depends-on): Add progname.
71039         * tests/test-linkedhash_list.c: Include progname.h.
71040         (main): Call set_program_name.
71041
71042         * modules/carray-list-tests (Depends-on): Add progname.
71043         * tests/test-carray_list.c: Include progname.h.
71044         (main): Call set_program_name.
71045
71046         * modules/avltreehash-list-tests (Depends-on): Add progname.
71047         * tests/test-avltreehash_list.c: Include progname.h.
71048         (main): Call set_program_name.
71049
71050         * modules/avltree-oset-tests (Depends-on): Add progname.
71051         * tests/test-avltree_oset.c: Include progname.h.
71052         (main): Call set_program_name.
71053
71054         * modules/avltree-list-tests (Depends-on): Add progname.
71055         * tests/test-avltree_list.c: Include progname.h.
71056         (main): Call set_program_name.
71057
71058         * modules/array-oset-tests (Depends-on): Add progname.
71059         * tests/test-array_oset.c: Include progname.h.
71060         (main): Call set_program_name.
71061
71062         * modules/array-list-tests (Depends-on): Add progname.
71063         * tests/test-array_list.c: Include progname.h.
71064         (main): Call set_program_name.
71065
71066         * modules/argp-tests (Depends-on): Add progname.
71067         * tests/test-argp.c: Include argp.h first. Include progname.h.
71068         (main): Call set_program_name.
71069
71070 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
71071
71072         * doc/gnulib-tool.texi (Initial import): Reword description of
71073         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
71074         limited effect even if defined after the first system include.
71075
71076 2007-03-01  Bruno Haible  <bruno@clisp.org>
71077
71078         * build-aux/config.libpath: Update to libtool-1.5.22.
71079         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
71080
71081 2007-03-01  Bruno Haible  <bruno@clisp.org>
71082
71083         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
71084         foo_CFLAGS.
71085         Reported by Ralf Wildenhues.
71086
71087 2007-03-01  Bruno Haible  <bruno@clisp.org>
71088
71089         * build-aux/install-reloc: Remove object files left over by some
71090         compilers.
71091         Reported by Ralf Wildenhues.
71092
71093 2007-03-01  Bruno Haible  <bruno@clisp.org>
71094
71095         * build-aux/install-reloc: Break long lines.
71096
71097 2007-03-01  Bruno Haible  <bruno@clisp.org>
71098
71099         * doc/relocatable.texi: Document that it may not work on OpenBSD.
71100         Reported by Ralf Wildenhues.
71101
71102 2007-03-01  Bruno Haible  <bruno@clisp.org>
71103
71104         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
71105         include ordering constraints.
71106
71107 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
71108
71109         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
71110         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
71111         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
71112         as another example.
71113         * lib/time_.h: Fix misspelling.
71114         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
71115         Require gl_HEADER_TIME_H_DEFAULTS.
71116         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
71117         * m4/time_r.m4 (gl_TIME_R): Likewise.
71118         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
71119
71120 2007-03-01  Bruno Haible  <bruno@clisp.org>
71121
71122         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
71123         * m4/utimens.m4 (gl_UTIMENS): Likewise.
71124
71125 2007-03-01  Jim Meyering  <jim@meyering.net>
71126
71127         * modules/xreadlink (Maintainer): Add my name.
71128         * modules/xreadlink-with-size (Depends-on): Alphabetize.
71129
71130 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
71131             Bruno Haible  <bruno@clisp.org>
71132
71133         * build-aux/install-reloc: Compile also c-ctype.c.
71134         * build-aux/relocatable.sh.in: New file.
71135         * doc/relocatable.texi: New file.
71136         * doc/relocatable-maint.texi: New file.
71137         * doc/gnulib.texi: Include relocatable-maint.texi.
71138         * lib/progreloc.c: Include unistd.h unconditionally.
71139         * lib/relocwrapper.c: Include unistd.h unconditionally.
71140         Include c-ctype.h.
71141         (add_dotbin): Use c_tolower.
71142         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
71143         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
71144         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
71145         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
71146         to m4/relocatable-lib.m4.
71147         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
71148         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
71149         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
71150         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
71151         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
71152         * modules/relocatable: New file.
71153         * modules/relocatable-lib: New file.
71154         * modules/relocatable-script: New file.
71155
71156 2007-02-28  Bruno Haible  <bruno@clisp.org>
71157
71158         Import --enable-relocatable infrastructure.
71159         * build-aux/config.libpath: New file, from GNU gettext.
71160         * build-aux/install-reloc: New file, from GNU gettext.
71161         * build-aux/reloc-ldflags: New file, from GNU gettext.
71162         * lib/relocatable.h: New file, from GNU gettext.
71163         * lib/relocatable.c: New file, from GNU gettext.
71164         * lib/relocwrapper.c: New file, from GNU gettext.
71165         * m4/relocatable.m4: New file, from GNU gettext.
71166
71167 2007-02-28  Bruno Haible  <bruno@clisp.org>
71168
71169         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
71170
71171         * modules/xreadlink: New file, from GNU gettext with modifications.
71172         * lib/xreadlink.c: New file, from GNU gettext.
71173         * lib/xreadlink.h: Add comments.
71174         (xreadlink): New declaration.
71175
71176         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
71177         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
71178         lib/xreadlink-with-size.c.
71179         (configure.ac): Remove gl_XREADLINK invocation.
71180         (Makefile.am): Augment lib_SOURCES.
71181         * m4/xreadlink.m4: Remove file.
71182         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
71183         (xreadlink_with_size): Renamed from xreadink.
71184         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
71185         * modules/canonicalize (Depends-on): Replace xreadlink with
71186         xreadlink-with-size.
71187         * lib/canonicalize.c (canonicalize_filename_mode): Update.
71188
71189 2007-02-25  Jim Meyering  <jim@meyering.net>
71190
71191         * build-aux/announce-gen: When complaining about excess arguments,
71192         list them.
71193
71194 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
71195
71196         * README: Document signed integer overflow situation more
71197         accurately.
71198
71199 2007-02-25  Bruno Haible  <bruno@clisp.org>
71200
71201         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
71202         'a' or 'A' conversion.
71203
71204 2007-02-25  Bruno Haible  <bruno@clisp.org>
71205
71206         * modules/filename: Renamed from modules/pathname.
71207         (Files): Replace lib/pathname.h with lib/filename.h. Replace
71208         lib/concatpath.c with lib/concat-filename.c.
71209         (Makefile.am): Update.
71210         (Include): Replace pathname.h with filename.h.
71211         * lib/filename.h: Renamed from lib/pathname.h.
71212         (concatenated_filename): Renamed from concatenated_pathname.
71213         * lib/concat-filename.c: Renamed from lib/concatpath.c.
71214         (concatenated_filename): Renamed from concatenated_pathname.
71215         * lib/findprog.c: Include filename.h instead of pathname.h.
71216         (find_in_path): Update.
71217         * lib/javacomp.c: Include filename.h instead of pathname.h.
71218         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
71219         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
71220         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
71221         is_oldgcj_14_13_usable, is_javac_usable): Update.
71222         * lib/javaexec.c: Include filename.h instead of pathname.h.
71223         (execute_java_class): Update.
71224         * modules/findprog: Update.
71225         * modules/javacomp: Update.
71226         * modules/javaexec: Update.
71227         * MODULES.html.sh (File system functions): Add 'filename', remove
71228         'pathname'.
71229
71230 2007-02-25  Bruno Haible  <bruno@clisp.org>
71231
71232         * modules/printf-frexpl-tests: New file.
71233         * tests/test-printf-frexpl.c: New file.
71234
71235         * modules/printf-frexpl: New file.
71236         * lib/printf-frexpl.h: New file.
71237         * lib/printf-frexpl.c: New file.
71238         * m4/printf-frexpl.m4: New file.
71239
71240 2007-02-25  Bruno Haible  <bruno@clisp.org>
71241
71242         * modules/printf-frexp-tests: New file.
71243         * tests/test-printf-frexp.c: New file.
71244
71245         * modules/printf-frexp: New file.
71246         * lib/printf-frexp.h: New file.
71247         * lib/printf-frexp.c: New file.
71248         * m4/printf-frexp.m4: New file.
71249
71250 2007-02-25  Bruno Haible  <bruno@clisp.org>
71251
71252         Assume automake >= 1.10 for the tests.
71253         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
71254         * modules/arctwo-tests: Likewise.
71255         * modules/argp-tests: Likewise.
71256         * modules/avltree-list-tests: Likewise.
71257         * modules/avltree-oset-tests: Likewise.
71258         * modules/avltreehash-list-tests: Likewise.
71259         * modules/carray-list-tests: Likewise.
71260         * modules/crc-tests: Likewise.
71261         * modules/des-tests: Likewise.
71262         * modules/gc-arcfour-tests: Likewise.
71263         * modules/gc-arctwo-tests: Likewise.
71264         * modules/gc-des-tests: Likewise.
71265         * modules/gc-hmac-md5-tests: Likewise.
71266         * modules/gc-hmac-sha1-tests: Likewise.
71267         * modules/gc-md2-tests: Likewise.
71268         * modules/gc-md4-tests: Likewise.
71269         * modules/gc-md5-tests: Likewise.
71270         * modules/gc-pbkdf2-sha1-tests: Likewise.
71271         * modules/gc-rijndael-tests: Likewise.
71272         * modules/gc-sha1-tests: Likewise.
71273         * modules/gc-tests: Likewise.
71274         * modules/getaddrinfo-tests: Likewise.
71275         * modules/hmac-md5-tests: Likewise.
71276         * modules/hmac-sha1-tests: Likewise.
71277         * modules/linked-list-tests: Likewise.
71278         * modules/linkedhash-list-tests: Likewise.
71279         * modules/lock-tests: Likewise.
71280         * modules/md2-tests: Likewise.
71281         * modules/md4-tests: Likewise.
71282         * modules/md5-tests: Likewise.
71283         * modules/rbtree-list-tests: Likewise.
71284         * modules/rbtree-oset-tests: Likewise.
71285         * modules/rbtreehash-list-tests: Likewise.
71286         * modules/read-file-tests: Likewise.
71287         * modules/rijndael-tests: Likewise.
71288         * modules/stdint-tests: Likewise.
71289         * modules/tls-tests: Likewise.
71290
71291 2007-02-24  Bruno Haible  <bruno@clisp.org>
71292
71293         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
71294         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
71295         function; instead check whether isnan with a double argument links.
71296         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
71297         function; instead check whether isnan with a 'long double' argument
71298         links.
71299         Reported by Eric Blake <ebb9@byu.net>.
71300
71301 2007-02-24  Bruno Haible  <bruno@clisp.org>
71302
71303         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
71304         defined.
71305         * lib/isnanl.c: Remove all code. Just include isnan.c.
71306         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
71307
71308 2007-02-25  Jim Meyering  <jim@meyering.net>
71309
71310         Avoid conflicting types for 'unsetenv' on FreeBSD.
71311         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
71312         conflicting with FreeBSD's (5.0 and 6.1) function declaration
71313         in stdlib.h.
71314
71315 2007-02-24  Bruno Haible  <bruno@clisp.org>
71316
71317         * modules/isnanl-nolibm-tests: New file.
71318         * tests/test-isnanl.c: New file.
71319
71320         * modules/isnanl-nolibm: New file.
71321         * lib/isnanl.h: New file.
71322         * lib/isnanl.c: New file.
71323         * m4/isnanl.m4: New file.
71324
71325 2007-02-24  Bruno Haible  <bruno@clisp.org>
71326
71327         * modules/isnan-nolibm-tests: New file.
71328         * tests/test-isnan.c: New file.
71329
71330         * modules/isnan-nolibm: New file.
71331         * lib/isnan.h: New file.
71332         * lib/isnan.c: New file.
71333         * m4/isnan.m4: New file.
71334
71335 2007-02-24  Bruno Haible  <bruno@clisp.org>
71336
71337         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
71338         assume that an exponent fits in 20 bits.
71339
71340 2007-02-24  Jim Meyering  <jim@meyering.net>
71341
71342         * m4/regex.m4: Update the description of the configure-time option,
71343         --without-included-regex, to state accurately what the defaults are,
71344         and perhaps to give people an idea why using this option is risky.
71345
71346 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
71347
71348         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
71349         loops on small arguments.  This attempts to avoid the problem
71350         Bruno Haible reported for AIX 4.3.2 in
71351         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
71352
71353 2007-02-23  Bruno Haible  <bruno@clisp.org>
71354
71355         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
71356         Needed for help2man.
71357
71358 2007-02-23  Karl Berry  <karl@gnu.org>
71359
71360         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
71361         exists, foo.h should be cvs-ignored, not committed.
71362
71363 2007-02-23  Eric Blake  <ebb9@byu.net>
71364
71365         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
71366         * lib/stat-time.h (includes): Likewise.
71367         * lib/utimecmp.c (includes): Likewise.
71368         * lib/utimens.h (includes): Likewise.
71369         * lib/getdate.y (includes): Also include "timespec.h" for use
71370         internal to the module.
71371         * modules/utimens (Depends-on): Revert yesterday's patch.
71372         * modules/nanosleep (Depends-on): Add missing dependency.
71373
71374 2007-02-22  Bruno Haible  <bruno@clisp.org>
71375
71376         * lib/glob.c: Don't include getlogin_r.h.
71377
71378 2007-02-22  Jim Meyering  <jim@meyering.net>
71379
71380         * modules/utimens (Depends-on): Add timespec, required for
71381         utimens.h's inclusion of timespec.h.
71382
71383 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
71384
71385         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
71386         long unreadable paths in GNU/Linux.  Problem reported by Andreas
71387         Schwab in
71388         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
71389         I'll try to think of a better way to fix the Solaris problem.
71390
71391         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
71392         like glibc; on Solaris 10, it fails with errno == EINVAL.
71393         POSIX says the behavior is unspecified if the first argument is NULL,
71394         so play it safe and never pass NULL to the system getcwd.
71395
71396 2007-02-21  Jim Meyering  <jim@meyering.net>
71397
71398         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
71399         of gettimeofday.  It would conflict with the one now always
71400         provided via sys_time_.h.  Reported by Matthew Woehlke, as
71401         an IRIX 6.5 build failure.
71402
71403 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
71404
71405         Minor fixups to port to Solaris 10 with Sun C 5.8.
71406         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
71407         * modules/getcwd (Depends-on): Add dirfd.
71408         * lib/putenv.c (putenv): #undef it.
71409         (rpl_putenv): New decl.
71410         (malloc, free): Include <stdlib.h> rather than prototyping separately.
71411
71412 2007-02-20  Bruno Haible  <bruno@clisp.org>
71413
71414         * modules/stdio-tests: New file.
71415         * tests/test-stdio.c: New file.
71416
71417         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
71418         (Depends-on): Add stdio.
71419         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
71420         (Include): Use <stdio.h> instead of vsnprintf.h.
71421         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
71422         HAVE_DECL_VSNPRINTF.
71423         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
71424
71425         * modules/snprintf (Files): Remove lib/snprintf.h.
71426         (Depends-on): Add stdio.
71427         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
71428         (Include): Use <stdio.h> instead of snprintf.h.
71429         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
71430         HAVE_DECL_SNPRINTF.
71431         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
71432         * lib/getaddrinfo.c: Likewise.
71433
71434         * modules/stdio: New file.
71435         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
71436         * lib/snprintf.h: Remove file.
71437         * lib/vsnprintf.h: Remove file.
71438         * lib/.cppi-disable: Remove snprintf.h.
71439         * m4/stdio_h.m4: New file.
71440         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
71441
71442 2007-02-20  Jim Meyering  <jim@meyering.net>
71443
71444         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
71445         used by e.g., mingw.  From Bruno Haible.
71446
71447 2007-02-19  Bruno Haible  <bruno@clisp.org>
71448
71449         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
71450         warnings.
71451         Reported by Ben Pfaff <blp@cs.stanford.edu>.
71452
71453 2007-02-19  Bruno Haible  <bruno@clisp.org>
71454
71455         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
71456         from mingw users.
71457
71458 2007-02-19  Bruno Haible  <bruno@clisp.org>
71459
71460         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
71461         warnings.
71462         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
71463
71464 2007-02-19  Jim Meyering  <jim@meyering.net>
71465
71466         Don't use FD after a successful "fdopendir (fd)".
71467         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
71468         Reset it by calling dirfd on the just-obtained DIR*.
71469
71470         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
71471         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
71472
71473 2007-02-18  Bruno Haible  <bruno@clisp.org>
71474
71475         * lib/readlink.c: Include <unistd.h>.
71476         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
71477         HAVE_READLINK.
71478         * modules/readlink (Depends-on): Add unistd.
71479         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71480         (Include): Add <unistd.h>.
71481
71482         * lib/getlogin_r.h: Remove file.
71483         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
71484         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
71485         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
71486         HAVE_DECL_GETLOGIN_R.
71487         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
71488         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71489         (Include): Use <unistd.h> instead of getlogin_r.h.
71490
71491         * lib/getcwd.h: Remove file.
71492         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
71493         * lib/xgetcwd.c: Likewise.
71494         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
71495         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
71496         * modules/getcwd (Files): Remove lib/getcwd.h.
71497         (Depends-on): Add unistd.
71498         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71499         (Include): Use <unistd.h> instad of getcwd.h.
71500
71501         * lib/ftruncate.c: Include <unistd.h> first.
71502         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
71503         Set HAVE_FTRUNCATE.
71504         * modules/ftruncate (Depends-on): Add unistd.
71505         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71506
71507         * lib/fchdir.c: Include <unistd.h> first.
71508         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
71509         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
71510         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
71511         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71512         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
71513
71514         * lib/dup2.c: Include <unistd.h> first.
71515         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
71516         HAVE_DUP2.
71517         * modules/dup2 (Depends-on): Add unistd.
71518         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71519
71520         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
71521         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
71522         REPLACE_CHOWN. Don't define chown as a macro here.
71523         * modules/chown (Depends-on): Add unistd.
71524         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
71525
71526         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
71527         Add definition for GL_LINK_WARNING.
71528         (chown, dup2): New declarations.
71529         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
71530         link warning.
71531         (ftruncate): New declaration.
71532         (getcwd): New declaration, taken from old getcwd.h.
71533         (getlogin_r): New declaration, taken from old getlogin_r.h.
71534         (readlink): New declaration.
71535         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
71536         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
71537         (gl_PREREQ_UNISTD): Remove macro.
71538         (gl_UNISTD_MODULE_INDICATOR): New macro.
71539         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
71540         many new variables. Don't set UNISTD_H.
71541         * modules/unistd (Description): Change.
71542         (Depends-on): Add link-warning.
71543         (configure.ac): Update.
71544         (Makefile.am): Create unistd.h always. Substitute many new variables
71545         into it.
71546
71547 2007-02-18  Bruno Haible  <bruno@clisp.org>
71548
71549         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
71550         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
71551         HAVE_GETSUBOPT.
71552         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
71553         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
71554         * lib/getsubopt.h: Remove file.
71555         * modules/getsubopt (Files): Remove lib/getsubopt.h.
71556         (Depends-on): Add stdlib.
71557         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
71558         (Includes): Use <stdlib.h> instead of getsubopt.h.
71559         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
71560         Set HAVE_GETSUBOPT.
71561         * lib/getsubopt.c: Don't include getsubopt.h.
71562
71563 2007-02-18  Bruno Haible  <bruno@clisp.org>
71564
71565         * modules/fchdir (Depends-on): Add dup2.
71566
71567 2007-02-18  Bruno Haible  <bruno@clisp.org>
71568
71569         * lib/stdlib_.h: Handle glibc's special invocation convention
71570         specially.
71571
71572 2007-02-18  Bruno Haible  <bruno@clisp.org>
71573
71574         * modules/stdlib-tests: New file.
71575         * tests/test-stdlib.c: New file.
71576
71577         * modules/mkstemp (Files): Remove lib/mkstemp.h.
71578         (Depends-on): Add stdlib.
71579         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
71580         (Includes): Use <stdlib.h> instead of mkstemp.h.
71581         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
71582         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
71583         * lib/mkstemp.c: Don't include mkstemp.h.
71584         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
71585         * lib/stdlib--.h: Don't include mkstemp.h.
71586
71587         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
71588         (Depends-on): Add stdlib.
71589         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
71590         (Includes): Use <stdlib.h> instead of mkdtemp.h.
71591         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
71592         HAVE_MKDTEMP.
71593         * lib/mkdtemp.c: Don't include mkdtemp.h.
71594         * lib/clean-temp.c: Don't include mkdtemp.h.
71595
71596         * modules/exit (Files): Remove lib/exit.h.
71597         (Depends-on): Add stdlib.
71598         (Makefile.am): Remove lib_SOURCES.
71599         (Include): Use <stdlib.h> instead of exit.h.
71600         * lib/argmatch.c: Don't include exit.h.
71601         * lib/execute.c: Likewise.
71602         * lib/pagealign_alloc.c: Likewise.
71603         * lib/pipe.c: Likewise.
71604         * lib/wait-process.c: Likewise.
71605         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
71606         * lib/exitfail.c: Likewise.
71607         * lib/savewd.c: Likewise.
71608         * lib/xsetenv.c: Likewise.
71609
71610         * modules/stdlib: New file.
71611         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
71612         and extra comments about mkstemp().
71613         * lib/exit.h: Remove file.
71614         * lib/mkdtemp.h: Remove file.
71615         * lib/mkstemp.h: Remove file.
71616         * m4/stdlib_h.m4: New file.
71617         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
71618
71619 2007-02-18  Bruno Haible  <bruno@clisp.org>
71620
71621         * modules/math-tests: New file.
71622         * tests/test-math.c: New file.
71623
71624         * modules/math: New file.
71625         * modules/mathl (Files): Remove lib/mathl.h.
71626         (Depends-on): Add math.
71627         (Makefile.am): Don't mention mathl.h.
71628         (Include): Use <math.h> instead of mathl.h.
71629         * lib/math_.h: New file.
71630         * lib/mathl.h: Remove file.
71631         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
71632         mathl.h.
71633         * lib/asinl.c: Likewise.
71634         * lib/atanl.c: Likewise.
71635         * lib/ceill.c: Likewise.
71636         * lib/cosl.c: Likewise.
71637         * lib/expl.c: Likewise.
71638         * lib/floorl.c: Likewise.
71639         * lib/frexpl.c: Likewise.
71640         * lib/ldexpl.c: Likewise.
71641         * lib/logl.c: Likewise.
71642         * lib/sincosl.c: Likewise.
71643         * lib/sinl.c: Likewise.
71644         * lib/sqrtl.c: Likewise.
71645         * lib/tanl.c: Likewise.
71646         * lib/trigl.c: Likewise.
71647         * m4/math_h.m4: New file.
71648         * MODULES.html.sh (Mathematics): Add math.
71649
71650 2007-02-17  Bruno Haible  <bruno@clisp.org>
71651
71652         * modules/wctype-tests: New file.
71653         * tests/test-wctype.c: New file.
71654
71655         * modules/wchar-tests: New file.
71656         * tests/test-wchar.c: New file.
71657
71658         * modules/unistd-tests: New file.
71659         * tests/test-unistd.c: New file.
71660
71661         * modules/time-tests: New file.
71662         * tests/test-time.c: New file.
71663
71664         * modules/sysexits-tests: New file.
71665         * tests/test-sysexits.c: New file.
71666
71667         * modules/sys_time-tests: New file.
71668         * tests/test-sys_time.c: New file.
71669
71670         * modules/sys_stat-tests: New file.
71671         * tests/test-sys_stat.c: New file.
71672
71673         * modules/sys_socket-tests: New file.
71674         * tests/test-sys_socket.c: New file.
71675
71676         * modules/sys_select-tests: New file.
71677         * tests/test-sys_select.c: New file.
71678
71679         * modules/string-tests: New file.
71680         * tests/test-string.c: New file.
71681
71682         * modules/stdbool-tests: New file.
71683         * tests/test-stdbool.c: New file.
71684
71685         * modules/netinet_in-tests: New file.
71686         * tests/test-netinet_in.c: New file.
71687
71688         * modules/inttypes-tests: New file.
71689         * tests/test-inttypes.c: New file.
71690
71691         * modules/fcntl-tests: New file.
71692         * tests/test-fcntl.c: New file.
71693
71694         * modules/byteswap-tests: New file.
71695         * tests/test-byteswap.c: New file.
71696
71697         * modules/arpa_inet-tests: New file.
71698         * tests/test-arpa_inet.c: New file.
71699
71700 2007-02-17  Bruno Haible  <bruno@clisp.org>
71701
71702         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
71703         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
71704         if the corresponding module is not enabled. Emit link warnings if
71705         the function is used nevertheless.
71706         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
71707         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
71708         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
71709         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
71710         * modules/inttypes (Depends-on): Add link-warning.
71711         (Makefile.am): Copy the contents of build-aux/link-warning.h into
71712         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
71713         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
71714         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
71715         * modules/imaxdiv (configure.ac): Likewise.
71716         * modules/strtoimax (configure.ac): Likewise.
71717         * modules/strtoumax (configure.ac): Likewise.
71718
71719 2007-02-17  Bruno Haible  <bruno@clisp.org>
71720
71721         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
71722         gl_STRING_MODULE_INDICATOR_DEFAULTS.
71723         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
71724         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
71725
71726 2007-02-17  Bruno Haible  <bruno@clisp.org>
71727
71728         * modules/link-warning: New file.
71729         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
71730         * lib/string_.h (GL_LINK_WARNING): Remove definition.
71731         * modules/string (Depends-on): Add link-warning.
71732         (Makefile.am): Copy the contents of build-aux/link-warning.h into
71733         string.h.
71734         * MODULES.html.sh (Support for building libraries and executables): Add
71735         link-warning.
71736
71737 2007-02-17  Bruno Haible  <bruno@clisp.org>
71738
71739         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
71740         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
71741         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
71742         long lines.
71743
71744 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
71745             Bruno Haible  <bruno@clisp.org>
71746
71747         * modules/tmpfile: New file.
71748         * lib/tmpfile.c: New file.
71749         * m4/tmpfile.m4: New file.
71750         * MODULES.html.sh (func_all_modules): New section "Input/output".
71751
71752 2007-02-15  Bruno Haible  <bruno@clisp.org>
71753
71754         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
71755         (supports_delete_on_close): New function.
71756         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
71757
71758 2007-02-14  Bruno Haible  <bruno@clisp.org>
71759
71760         * modules/mbspcasecmp-tests: New file.
71761         * tests/test-mbspcasecmp.sh: New file.
71762         * tests/test-mbspcasecmp.c: New file.
71763
71764         New module mbspcasecmp.
71765         * modules/mbspcasecmp: New file.
71766         * lib/mbspcasecmp.c: New file.
71767         * lib/string_.h (strncasecmp): Change warning message.
71768         (mbspcasecmp): New declaration.
71769         * m4/mbspcasecmp.m4: New file.
71770         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71771         GNULIB_MBSPCASECMP.
71772         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
71773         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
71774
71775 2007-02-14  Bruno Haible  <bruno@clisp.org>
71776
71777         * modules/mbsncasecmp-tests: New file.
71778         * tests/test-mbsncasecmp.sh: New file.
71779         * tests/test-mbsncasecmp.c: New file.
71780
71781         New module mbsncasecmp.
71782         * modules/mbsncasecmp: New file.
71783         * lib/mbsncasecmp.c: New file.
71784         * lib/string_.h (mbsncasecmp): New declaration.
71785         * m4/mbsncasecmp.m4: New file.
71786         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
71787         GNULIB_MBSNCASECMP.
71788         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
71789         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
71790
71791 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
71792
71793         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
71794         Verify that it doesn't overlap with our flags.
71795         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
71796         do not have the desired effect in multibyte locales; instead, use
71797         mbscasecmp.
71798         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
71799         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
71800         we don't require GNU fnmatch ourselves (if our users require it, they
71801         should do so explicitly).
71802
71803         Fix regex code so it doesn't rely on strcasecmp.
71804         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
71805         Otherwise, include gnulib's langinfo.h.
71806         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
71807         undesirable behavior in non-C locales.  Instead, rely on localecharset.
71808         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
71809         * modules/regex (FILES): Remove m4/codeset.m4.
71810         (Depends-on): Add localcharset.  Remove strcase.
71811
71812 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71813
71814         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
71815         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
71816
71817 2007-02-13  Bruno Haible  <bruno@clisp.org>
71818
71819         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
71820         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71821
71822 2007-02-12  Bruno Haible  <bruno@clisp.org>
71823
71824         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
71825         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
71826         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
71827         time warning rather than a link error.
71828
71829 2007-02-12  Bruno Haible  <bruno@clisp.org>
71830
71831         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
71832         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
71833         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
71834
71835 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
71836
71837         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
71838         args, not 2.
71839
71840 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
71841
71842         New module 'time', so that apps can include <time.h> as per
71843         POSIX and GNU instead of separate include files like time_r.h
71844         and timegm.h.  This implementation tries out a simpler approach
71845         for replacing decls in standard include files (as compared to
71846         the string module), somewhat as an experiment.
71847
71848         * config/srclist.txt: Comment out mktime.c for now.
71849         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
71850         since it doesn't apply any more.  Use generic wording instead.
71851         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
71852         'time'.
71853         * lib/time_.h, m4/time_h.m4, modules/time: New files.
71854         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
71855         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
71856         Don't include <sys/types.h>; no longer needed since we assume C89.
71857         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
71858         * lib/strftime.c: Likewise.
71859         * lib/time_r.c: Likewise.
71860         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
71861         * lib/nanosleep.c: Include <time.h> first, to check interface.
71862         * lib/strptime.c: Likewise.
71863         * lib/time_r.c: Likewise.
71864         * lib/timegm.c: Likewise.
71865         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
71866         needed.
71867         * lib/timegm.c: Don't include timegm.h; no longer needed.
71868         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
71869         time.h now handles any problems in that area.
71870         (struct timespec, nanosleep): Remove; time.h now arranges for these.
71871         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
71872         that time.h defines struct timespec.
71873         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
71874         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
71875         handles that.
71876         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
71877         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
71878         needed.  Set REPLACE_LOCALTIME.
71879         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
71880         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
71881         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
71882         nanosleep; time_h.m4 now does that.  Don't require
71883         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
71884         module handles this now.
71885         * modules/getdate (Depends-on): Remove timespec.  Add time.
71886         * modules/nanosleep (Depends-on): Likewise.
71887         * modules/stat-time (Depends-on): Likewise.
71888         * modules/nanosleep (Include): Include time.h, not timespec.h.
71889         * modules/strptime (Files): Remove lib/strptime.h.
71890         (Depends-on): Add extensions, time.
71891         (Include): Include time.h, not strptime.h.
71892         * modules/time_r (Files): Remove lib/time_r.h.
71893         (Depends-on): Add time.
71894         (Include): Include time.h, not time_r.h.
71895         * modules/timegm: Likewise.
71896         * modules/timespec (Description): Now does timespec-related decls
71897         of our own, instead of struct timespec itself.
71898         (Depends-on): Add time; remove extensions.
71899         (Maintainer): Add self.
71900         * modules/utimecmp (Depends-on): Add time; remove timespec.
71901         * modules/utimens (Depends-on): Likewise.
71902         * modules/xnanosleep (Depends-on): Likewise.
71903
71904 2007-02-11  Bruno Haible  <bruno@clisp.org>
71905
71906         * lib/c-strstr.c: Include allocsa.h.
71907         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
71908         * lib/c-strcasestr.c: Include allocsa.h.
71909         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
71910         * lib/strcasestr.c: Include allocsa.h.
71911         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
71912         * lib/mbsstr.c: Include allocsa.h.
71913         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
71914         allocsa/freesa instead of malloc/free.
71915         * lib/mbscasestr.c: Include allocsa.h.
71916         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
71917         allocsa/freesa instead of malloc/free.
71918         * modules/c-strstr (Depends-on): Add allocsa.
71919         * modules/c-strcasestr (Depends-on): Likewise.
71920         * modules/strcasestr (Depends-on): Likewise.
71921         * modules/mbsstr (Depends-on): Likewise.
71922         * modules/mbscasestr (Depends-on): Likewise.
71923
71924 2007-02-11  Bruno Haible  <bruno@clisp.org>
71925
71926         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
71927
71928         * modules/mbsspn-tests: New file.
71929         * tests/test-mbsspn.sh: New file.
71930         * tests/test-mbsspn.c: New file.
71931
71932 2007-02-11  Bruno Haible  <bruno@clisp.org>
71933
71934         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
71935
71936         * modules/mbspbrk-tests: New file.
71937         * tests/test-mbspbrk.sh: New file.
71938         * tests/test-mbspbrk.c: New file.
71939
71940 2007-02-11  Bruno Haible  <bruno@clisp.org>
71941
71942         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
71943         unneeded cast.
71944
71945         * modules/mbscspn-tests: New file.
71946         * tests/test-mbscspn.sh: New file.
71947         * tests/test-mbscspn.c: New file.
71948
71949 2007-02-11  Bruno Haible  <bruno@clisp.org>
71950
71951         * modules/mbscasecmp-tests: New file.
71952         * tests/test-mbscasecmp.sh: New file.
71953         * tests/test-mbscasecmp.c: New file.
71954
71955 2007-02-11  Bruno Haible  <bruno@clisp.org>
71956
71957         Ensure O(n) worst-case complexity of mbscasestr.
71958         * lib/mbscasestr.c: Include stdbool.h.
71959         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
71960         functions.
71961         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
71962         the bookkeeping indicates that it's worth it.
71963         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
71964
71965         * modules/mbscasestr-tests: New file.
71966         * tests/test-mbscasestr1.c: New file.
71967         * tests/test-mbscasestr2.sh: New file.
71968         * tests/test-mbscasestr2.c: New file.
71969         * tests/test-mbscasestr3.sh: New file.
71970         * tests/test-mbscasestr3.c: New file.
71971         * tests/test-mbscasestr4.sh: New file.
71972         * tests/test-mbscasestr4.c: New file.
71973         * m4/locale-tr.m4: New file.
71974
71975 2007-02-11  Bruno Haible  <bruno@clisp.org>
71976
71977         Ensure O(n) worst-case complexity of mbsstr.
71978         * lib/mbsstr.c: Include stdbool.h.
71979         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
71980         functions.
71981         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
71982         bookkeeping indicates that it's worth it.
71983         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
71984
71985         * modules/mbsstr-tests: New file.
71986         * tests/test-mbsstr1.c: New file.
71987         * tests/test-mbsstr2.sh: New file.
71988         * tests/test-mbsstr2.c: New file.
71989         * tests/test-mbsstr3.sh: New file.
71990         * tests/test-mbsstr3.c: New file.
71991         * m4/locale-fr.m4: New file.
71992
71993 2007-02-11  Bruno Haible  <bruno@clisp.org>
71994
71995         * lib/mbsrchr.c (mbsrchr): Fix bug.
71996
71997         * modules/mbsrchr-tests: New file.
71998         * tests/test-mbsrchr.sh: New file.
71999         * tests/test-mbsrchr.c: New file.
72000
72001 2007-02-11  Bruno Haible  <bruno@clisp.org>
72002
72003         * lib/mbschr.c (mbschr): Fix bug.
72004
72005         * modules/mbschr-tests: New file.
72006         * tests/test-mbschr.sh: New file.
72007         * tests/test-mbschr.c: New file.
72008         * m4/locale-zh.m4: New file.
72009
72010 2007-02-11  Bruno Haible  <bruno@clisp.org>
72011
72012         Support for copying multibyte string iterators.
72013         * lib/mbiter.h: Include <string.h>.
72014         (mbiter_multi_copy): New function.
72015         (mbi_copy): New macro.
72016         * lib/mbuiter.h: Include <string.h>.
72017         (mbuiter_multi_copy): New function.
72018         (mbui_copy): New macro.
72019
72020 2007-02-11  Bruno Haible  <bruno@clisp.org>
72021
72022         New module mbslen.
72023         * modules/mbslen: New file.
72024         * lib/mbslen.c: New file.
72025         * lib/string_.h (mbslen): New declaration.
72026         * m4/mbslen.m4: New file.
72027         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72028         GNULIB_MBSLEN.
72029         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
72030         * MODULES.html.sh (Internationalization functions): Add mbslen.
72031
72032 2007-02-11  Bruno Haible  <bruno@clisp.org>
72033
72034         Ensure O(n) worst-case complexity of strcasestr substitute.
72035         * lib/strcasestr.c: Include stdbool.h.
72036         (knuth_morris_pratt): New function.
72037         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
72038         bookkeeping indicates that it's worth it.
72039         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
72040
72041         * modules/strcasestr-tests: New file.
72042         * tests/test-strcasestr.c: New file.
72043
72044 2007-02-11  Bruno Haible  <bruno@clisp.org>
72045
72046         Ensure O(n) worst-case complexity of c_strcasestr.
72047         * lib/c-strcasestr.c: Include stdbool.h, string.h.
72048         (knuth_morris_pratt): New function.
72049         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
72050         the bookkeeping indicates that it's worth it.
72051         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
72052
72053         * modules/c-strcasestr-tests: New file.
72054         * tests/test-c-strcasestr.c: New file.
72055
72056 2007-02-11  Bruno Haible  <bruno@clisp.org>
72057
72058         Ensure O(n) worst-case complexity of c_strstr.
72059         * lib/c-strstr.c: Include stdbool.h, string.h.
72060         (knuth_morris_pratt): New function.
72061         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
72062         bookkeeping indicates that it's worth it.
72063         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
72064
72065         * lib/c-strstr.c: Complete rewrite for maintainability.
72066
72067         * modules/c-strstr-tests: New file.
72068         * tests/test-c-strstr.c: New file.
72069
72070 2007-02-11  Bruno Haible  <bruno@clisp.org>
72071
72072         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
72073         5.2.1 and earlier, whereby \055 was treated just like the range
72074         delimiter '-'.
72075         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
72076
72077 2007-02-08  Bruno Haible  <bruno@clisp.org>
72078
72079         * modules/regex (Depends-on): Add stdbool.
72080         Reported by Dalibor Topic <robilad@kaffe.org>.
72081
72082 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
72083
72084         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
72085         Prefer returning from main to exiting from it.
72086         Remove unnecessary parens after sizeof.
72087
72088 2007-02-05  Bruno Haible  <bruno@clisp.org>
72089
72090         New module mbssep.
72091         * modules/mbssep: New file.
72092         * lib/mbssep.c: New file.
72093         * lib/string_.h (strsep): Add a conditional link warning.
72094         (mbssep): New declaration.
72095         * m4/mbssep.m4: New file.
72096         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72097         GNULIB_MBSSEP.
72098         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
72099         * MODULES.html.sh (Internationalization functions): Add mbssep.
72100
72101 2007-02-05  Bruno Haible  <bruno@clisp.org>
72102
72103         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
72104         Optimize search in case of 1 delimiter.
72105
72106 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
72107
72108         * lib/acl.h: Include sys/types.h before sys/acl.h.
72109
72110 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
72111
72112         Merge upstream fix for glibc bugzilla #3957:
72113
72114         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
72115
72116         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
72117         bit for RE_HAT_LISTS_NOT_NEWLINE.
72118         (build_charclass_op): Remove bogus comment.
72119
72120 2007-02-05  Simon Josefsson  <simon@josefsson.org>
72121
72122         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
72123
72124 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
72125
72126         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
72127         * lib/memmem.c [!defined _LIBC]: Include config.h.
72128
72129 2007-02-04  Bruno Haible  <bruno@clisp.org>
72130
72131         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
72132         warning message.
72133
72134 2007-02-04  Bruno Haible  <bruno@clisp.org>
72135
72136         New module mbstok_r.
72137         * modules/mbstok_r: New file.
72138         * lib/mbstok_r.c: New file.
72139         * lib/string_.h (strtok_r): Change argument names to match the
72140         comments. Add a conditional link warning.
72141         (mbstok_r): New declaration.
72142         * m4/mbstok_r.m4: New file.
72143         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72144         GNULIB_MBSTOK_R.
72145         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
72146         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
72147
72148 2007-02-04  Bruno Haible  <bruno@clisp.org>
72149
72150         New module mbsspn.
72151         * modules/mbsspn: New file.
72152         * lib/mbsspn.c: New file.
72153         * lib/string_.h (strspn): Add a conditional link warning.
72154         (mbsspn): New declaration.
72155         * m4/mbsspn.m4: New file.
72156         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72157         GNULIB_MBSSPN.
72158         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
72159         * MODULES.html.sh (Internationalization functions): Add mbsspn.
72160
72161 2007-02-04  Bruno Haible  <bruno@clisp.org>
72162
72163         New module mbspbrk.
72164         * modules/mbspbrk: New file.
72165         * lib/mbspbrk.c: New file.
72166         * lib/string_.h (strpbrk): Add a conditional link warning.
72167         (mbspbrk): New declaration.
72168         * m4/mbspbrk.m4: New file.
72169         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72170         GNULIB_MBSPBRK.
72171         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
72172         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
72173
72174 2007-02-04  Bruno Haible  <bruno@clisp.org>
72175
72176         New module mbscspn.
72177         * modules/mbscspn: New file.
72178         * lib/mbscspn.c: New file.
72179         * lib/string_.h (strcspn): Add a conditional link warning.
72180         (mbscspn): New declaration.
72181         * m4/mbscspn.m4: New file.
72182         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72183         GNULIB_MBSCSPN.
72184         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
72185         * MODULES.html.sh (Internationalization functions): Add mbscspn.
72186
72187 2007-02-04  Bruno Haible  <bruno@clisp.org>
72188
72189         New module mbscasestr, reduced goal of strcasestr.
72190         * modules/mbscasestr: New file.
72191         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
72192         (mbscasestr): Renamed from strcasestr.
72193         * lib/strcasestr.c: Don't include mbuiter.h.
72194         (strcasestr): Remove support for multibyte locales.
72195         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
72196         Change the conditional link warning.
72197         (mbscasestr): New declaration.
72198         * m4/mbscasestr.m4: New file.
72199         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
72200         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
72201         REPLACE_STRCASESTR.
72202         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
72203         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
72204         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
72205         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
72206         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
72207         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
72208         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
72209         (Depends-on): Remove mbuiter.
72210         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
72211
72212 2007-02-04  Bruno Haible  <bruno@clisp.org>
72213
72214         Simplify handling of strncasecmp.
72215         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
72216         the conditional link warning.
72217         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
72218         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
72219         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
72220         * modules/strcase (configure.ac): Don't invoke
72221         gl_STRING_MODULE_INDICATOR.
72222         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
72223
72224 2007-02-04  Bruno Haible  <bruno@clisp.org>
72225
72226         New module mbscasecmp, reduced goal of strcasecmp.
72227         * modules/mbscasecmp: New file.
72228         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
72229         (mbscasecmp): Renamed from strcasecmp.
72230         * lib/strcasecmp.c: Don't include mbuiter.h.
72231         (strcasecmp): Remove support for multibyte locales.
72232         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
72233         Change the conditional link warning.
72234         (mbscasecmp): New declaration.
72235         * m4/mbscasecmp.m4: New file.
72236         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
72237         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
72238         REPLACE_STRCASECMP.
72239         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
72240         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72241         GNULIB_MBSCASECMP.
72242         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
72243         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
72244         * modules/strcase (Files): Remove m4/mbrtowc.m4.
72245         (Depends-on): Remove mbuiter.
72246         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
72247
72248 2007-02-04  Bruno Haible  <bruno@clisp.org>
72249
72250         New module mbsstr. Remove module strstr.
72251         * modules/mbsstr: New file.
72252         * modules/strstr: Remove file.
72253         * lib/mbsstr.c: Renamed from lib/strstr.c.
72254         (mbsstr): Renamed from strstr.
72255         * lib/string_.h (strstr): Remove declaration. Change the conditional
72256         link warning.
72257         (mbsstr): New declaration.
72258         * m4/mbsstr.m4: New file.
72259         * m4/strstr.m4: Remove file.
72260         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
72261         REPLACE_STRSTR.
72262         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
72263         Don't initialize GNULIB_STRSTR.
72264         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
72265         substitute GNULIB_STRSTR and REPLACE_STRSTR.
72266         * MODULES.html.sh (Internationalization functions): Add mbsstr.
72267         (Support for systems lacking ANSI C 89): Remove strstr.
72268
72269 2007-02-04  Bruno Haible  <bruno@clisp.org>
72270
72271         New module mbsrchr.
72272         * modules/mbsrchr: New file.
72273         * lib/mbsrchr.c: New file.
72274         * lib/string_.h (strrchr): Add a conditional link warning.
72275         (mbsrchr): New declaration.
72276         * m4/mbsrchr.m4: New file.
72277         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72278         GNULIB_MBSRCHR.
72279         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
72280         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
72281
72282 2007-02-04  Bruno Haible  <bruno@clisp.org>
72283
72284         New module mbschr.
72285         * modules/mbschr: New file.
72286         * lib/mbschr.c: New file.
72287         * lib/string_.h (strchr): Add a conditional link warning.
72288         (mbschr): New declaration.
72289         * m4/mbschr.m4: New file.
72290         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72291         GNULIB_MBSCHR.
72292         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
72293         * MODULES.html.sh (Internationalization functions): Add mbschr.
72294
72295 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
72296
72297         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
72298
72299         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
72300
72301 2007-02-04  Bruno Haible  <bruno@clisp.org>
72302
72303         New module description section 'configure.ac-early'.
72304         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
72305         (func_get_autoconf_early_snippet): New function.
72306         (func_import, func_create_testdir): Use it. Remove special cases for
72307         modules 'extensions' and 'lock'.
72308         * modules/extensions (configure.ac-early): Require
72309         gl_USE_SYSTEM_EXTENSIONS.
72310         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
72311
72312 2007-02-04  Bruno Haible  <bruno@clisp.org>
72313
72314         Make use of gcj-4.3's -fsource and -ftarget option.
72315         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
72316         and if so try the options -fsource and -ftarget.
72317         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
72318         source_version, ftarget_option, target_version arguments.
72319         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
72320         (is_envjavac_oldgcj_14_14_usable): Renamed from
72321         is_envjavac_gcj_14_14_usable.
72322         (is_envjavac_oldgcj_14_13_usable): Renamed from
72323         is_envjavac_gcj_14_13_usable.
72324         (is_gcj_present): Update.
72325         (is_gcj_43, is_gcj43_usable): New functions.
72326         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
72327         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
72328         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
72329         try the options -fsource and -ftarget.
72330
72331 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
72332
72333         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
72334         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
72335         larger value.
72336
72337 2007-02-03  Jim Meyering  <jim@meyering.net>
72338
72339         Give tools a better chance to allocate space for very large buffers.
72340         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
72341
72342         Make pwd and readlink work also when run with an unreadable parent dir
72343         on systems with openat support.
72344         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
72345         provided getcwd function, even when we have openat support.
72346         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
72347
72348 2007-02-02  Bruno Haible  <bruno@clisp.org>
72349
72350         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
72351         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
72352         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
72353         portability problems if one of these functions is only used on specific
72354         platforms.
72355         Reported by Paul Eggert.
72356
72357 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
72358
72359         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
72360         is causing more trouble than it's curing.
72361         * lib/regex_internal.h (__mempcpy): Remove.
72362         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
72363         (and make the code a tad smaller to boot).
72364         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
72365
72366 2007-02-02  Jim Meyering  <jim@meyering.net>
72367
72368         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
72369         section, not in the Makefile.am: one.
72370
72371 2007-02-02  Eric Blake  <ebb9@byu.net>
72372
72373         * lib/strchrnul.c: Always include config.h first.
72374
72375         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
72376         gnulib strstr is not necessary here.
72377
72378 2007-02-02  Simon Josefsson  <simon@josefsson.org>
72379
72380         * m4/socklen.m4: Fix typo.
72381
72382 2007-02-02  Eric Blake  <ebb9@byu.net>
72383
72384         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
72385         * modules/netinet_in (Makefile.am): Likewise.
72386
72387 2007-02-01  Bruno Haible  <bruno@clisp.org>
72388
72389         * lib/string_.h (GL_LINK_WARNING): New macro.
72390         (strcasecmp, strstr, strcasestr): If provided by the system,
72391         conditionally define as a macro that leads to a warning instead of to
72392         an error.
72393         (strncasecmp): Conditionally define as a macro that leads to a warning.
72394
72395 2007-02-01  Karl Berry  <karl@gnu.org>
72396
72397         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
72398
72399 2007-02-01  Bruno Haible  <bruno@clisp.org>
72400
72401         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
72402         renamings.
72403
72404 2007-02-01  Eric Blake  <ebb9@byu.net>
72405
72406         * modules/regex (Depends-on): Revert dependence on mempcpy.
72407         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
72408         module's definition of mempcpy.
72409         Reported by Paul Eggert.
72410
72411 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
72412
72413         * lib/string_.h: If the gnulib module XYZ is not present, undefine
72414         the symbol XYZ before redefining it.  This fixes a problem with
72415         programs that don't use XYZ, when compiled on systems that define
72416         XYZ to something else.
72417
72418 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
72419
72420         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
72421         occurs when "mkdir -m foo" creates a setgid directory that is (1)
72422         writeable to group or other and (2) is intended to have a special
72423         mode bit that is set or cleared.  In such a case, the directory
72424         should be neither group- nor other-writeable until the special
72425         mode bits are right.
72426
72427 2007-01-31  Eric Blake  <ebb9@byu.net>
72428
72429         * modules/mountlist (Depends-on): Add strstr.
72430
72431         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
72432         bug.
72433         * modules/string (Makefile.am): Remove redundant replacement.
72434         * modules/regex (Depends-on): Add mempcpy.
72435
72436 2007-01-31  Bruno Haible  <bruno@clisp.org>
72437
72438         New module description field 'Link'.
72439         * gnulib-tool (func_usage): Document --extract-link-directive.
72440         (sed_extract_prog): Recognize 'Link' directive.
72441         (func_get_link_directive): New function.
72442         (func_import): Show summary of link directives.
72443         Handle --extract-link-directive option.
72444         * modules/acl (Link): New section.
72445         * modules/clock-time (Link): New section.
72446         * modules/euidaccess (Link): New section.
72447         * modules/gettext (Link): New section.
72448         * modules/iconv (Link): New section.
72449         * modules/lock (Link): New section.
72450         * modules/nanosleep (Link): New section.
72451         * modules/readline (Link): New section.
72452
72453 2007-01-27  Bruno Haible  <bruno@clisp.org>
72454
72455         Enforce the use of gnulib modules for unportable <string.h> functions.
72456         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
72457         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
72458         (gl_HEADER_STRING_H_BODY): Require it.
72459         * lib/string_.h: If the gnulib module XYZ is not present, redefine
72460         the symbol XYZ to one that gives a link error.
72461         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
72462         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
72463         * modules/mempcpy (configure.ac): Likewise.
72464         * modules/memrchr (configure.ac): Likewise.
72465         * modules/stpcpy (configure.ac): Likewise.
72466         * modules/stpncpy (configure.ac): Likewise.
72467         * modules/strcase (configure.ac): Likewise.
72468         * modules/strcasestr (configure.ac): Likewise.
72469         * modules/strchrnul (configure.ac): Likewise.
72470         * modules/strdup (configure.ac): Likewise.
72471         * modules/strndup (configure.ac): Likewise.
72472         * modules/strnlen (configure.ac): Likewise.
72473         * modules/strpbrk (configure.ac): Likewise.
72474         * modules/strsep (configure.ac): Likewise.
72475         * modules/strstr (configure.ac): Likewise.
72476         * modules/strtok_r (configure.ac): Likewise.
72477
72478 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
72479
72480         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
72481
72482 2007-01-30  Jim Meyering  <jim@meyering.net>
72483
72484         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
72485
72486 2007-01-29  Bruno Haible  <bruno@clisp.org>
72487
72488         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
72489         * lib/execute.c: Likewise.
72490         * lib/pipe.c: Likewise.
72491         * lib/printf-args.h: Likewise.
72492         * lib/printf-args.c: Likewise.
72493         * lib/printf-parse.c: Likewise.
72494         * lib/vasnprintf.c: Likewise.
72495
72496 2007-01-29  Eric Blake  <ebb9@byu.net>
72497
72498         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
72499         declaration.
72500
72501 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
72502
72503         * lib/strptime.h (strptime): Use 'restrict' for args where
72504         POSIX requires this.
72505         * lib/strptime.c (strptime): Likewise.
72506         Change license notice from LGPL to GPL, since gnulib-tool will
72507         change this as needed.
72508         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
72509         defined.
72510         Include "strptime.h" first, to check interface.
72511         Do not #undef _LIBC and _NL_CURRENT.
72512         Do not include <stdlib.h>; no longer needed.
72513         Include "time_r.h" and declare ptime_locale_status
72514         only if _LIBC is not defined.
72515         (__P): Remove unused macro.
72516         (match_string): Bring back glibc version, but use it only if _LIBC
72517         is defined.
72518         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
72519         Remove unnecessary assertion and abort() call.
72520         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
72521         * m4/strptime.m4: Fix serial number comment.
72522         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
72523         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
72524         (Depends-on): Add time_r.
72525
72526 2007-01-29  Bruno Haible  <bruno@clisp.org>
72527
72528         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
72529         strptime.
72530         * modules/strptime (Depends-on): Add stdbool.
72531         * lib/strptime.h: Include <time.h> always. Add comments.
72532
72533 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
72534
72535         * modules/strptime: New file.
72536         * lib/strptime.h: New file.
72537         * lib/strptime.c: New file.
72538         * m4/strptime.m4: New file.
72539
72540 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
72541
72542         * MODULES.html.sh: New module mpsort.
72543         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
72544
72545         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
72546         a circularity problem with HP-UX ia64 reported by Bob Proulx in
72547         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
72548         All uses changed.
72549         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
72550         All uses changed.
72551         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
72552         to _Restrict_.
72553         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
72554         the parameter matches the prototype.
72555
72556 2007-01-28  Jim Meyering  <jim@meyering.net>
72557
72558         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
72559         sys/time.h here, reverting that part of the previous patch:
72560         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
72561
72562 2007-01-28  Bruno Haible  <bruno@clisp.org>
72563
72564         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
72565         value of $(SYS_TIME_H).
72566         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
72567         remove it conditionally, too. [added by Jim Meyering]
72568         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
72569         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
72570         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
72571         GETTIMEOFDAY_REPLACEMENT to 1.
72572
72573 2007-01-28  Bruno Haible  <bruno@clisp.org>
72574
72575         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
72576         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
72577         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
72578         Set UNISTD_H instead of UNISTD_H2.
72579         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
72580
72581 2007-01-28  Bruno Haible  <bruno@clisp.org>
72582
72583         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
72584         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
72585
72586 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72587
72588         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
72589         (func_create_testdir): Ensure C locale for `grep' and `tr'
72590         character ranges.
72591         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
72592         ACLOCAL_AMFLAGS parsing state machine.
72593
72594 2007-01-27  Bruno Haible  <bruno@clisp.org>
72595
72596         * modules/unistr/base: Update.
72597
72598 2007-01-27  Bruno Haible  <bruno@clisp.org>
72599
72600         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
72601         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
72602         * modules/unistr/u32-mbtouc-unsafe: Renamed from
72603         modules/unistr/u32-mbtouc.
72604         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
72605         * lib/unistr.h: Update.
72606         * lib/linebreak.c: Update.
72607         * modules/unistr/u32-mbtouc: Renamed from
72608         modules/unistr/u32-mbtouc-safe.
72609         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
72610         * lib/unistr.h: Update.
72611         * lib/unistr/u32-to-u8.c: Update.
72612         * lib/unistr/u32-to-u16.c: Update.
72613
72614 2007-01-27  Bruno Haible  <bruno@clisp.org>
72615
72616         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
72617         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
72618         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
72619         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
72620         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
72621         * modules/unistr/u16-mbtouc-unsafe: Renamed from
72622         modules/unistr/u16-mbtouc.
72623         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
72624         * lib/unistr.h: Update.
72625         * lib/linebreak.c: Update.
72626         * modules/linebreak: Update.
72627         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
72628         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
72629         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
72630         * modules/unistr/u16-mbtouc: Renamed from
72631         modules/unistr/u16-mbtouc-safe.
72632         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
72633         * lib/unistr.h: Update.
72634         * lib/unistr/u16-to-u8.c: Update.
72635         * modules/unistr/u16-to-u8: Update.
72636         * lib/unistr/u16-to-u32.c: Update.
72637         * modules/unistr/u16-to-u32: Update.
72638
72639 2007-01-27  Bruno Haible  <bruno@clisp.org>
72640
72641         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
72642         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
72643         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
72644         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
72645         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
72646         * modules/unistr/u8-mbtouc-unsafe: Renamed from
72647         modules/unistr/u8-mbtouc.
72648         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
72649         * lib/unistr.h: Update.
72650         * lib/striconveh.c: Update.
72651         * modules/striconveh: Update.
72652         * lib/linebreak.c: Update.
72653         * modules/linebreak: Update.
72654         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
72655         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
72656         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
72657         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
72658         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
72659         * lib/unistr.h: Update.
72660         * lib/striconveh.c: Update.
72661         * modules/striconveh: Update.
72662         * lib/unistr/u8-to-u16.c: Update.
72663         * modules/unistr/u8-to-u16: Update.
72664         * lib/unistr/u8-to-u32.c: Update.
72665         * modules/unistr/u8-to-u32: Update.
72666
72667 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72668
72669         Sync from Libtool.
72670         * lib/argz.c: Do not include strings.h nor memory.h, include
72671         string.h unconditionally.  Patch by Simon Josefsson.
72672
72673 2007-01-27  Bruno Haible  <bruno@clisp.org>
72674
72675         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
72676         from gl_HEADER_STRING_H_BODY.
72677         (gl_HEADER_STRING_H_BODY): Require it.
72678         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
72679         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
72680         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
72681         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
72682         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
72683         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
72684         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
72685         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
72686         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
72687         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
72688         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
72689         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
72690         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
72691         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
72692         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
72693
72694 2007-01-27  Bruno Haible  <bruno@clisp.org>
72695
72696         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
72697         check_PROGRAMS into noinst_PROGRAMS.
72698         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
72699         check_PROGRAMS in this case.
72700         (func_import): Set for_test to false.
72701         (func_create_testdir): Set for_test to true.
72702
72703 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
72704             Bruno Haible  <bruno@clisp.org>
72705
72706         * modules/strcasestr (Files): Remove lib/strcasestr.h.
72707         (Depends-on): Add string.
72708         (Includes): Use <string.h> instead of strcasestr.h.
72709         * modules/string (Makefile.am): Also substitute the value of
72710         REPLACE_STRCASESTR.
72711         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
72712         assume strcasestr is declared in <string.h> not <strings.h>. Also
72713         set REPLACE_STRCASESTR.
72714         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
72715         REPLACE_STRCASESTR.
72716         * lib/strcasestr.h: Remove file.
72717         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
72718         * lib/string_.h (strcasestr): New declaration.
72719
72720 2007-01-27  Bruno Haible  <bruno@clisp.org>
72721
72722         * lib/string_.h: Use 'extern'.
72723
72724 2007-01-27  Jim Meyering  <jim@meyering.net>
72725
72726         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
72727         of set-but-not-used local, "q".
72728
72729         * lib/mempcpy.c: Include <config.h> before <string.h>.
72730         This fixes a compilation error on HP-UX, due to the system's
72731         "restrict"-using mempcpy prototype.
72732
72733 2007-01-26  Bruno Haible  <bruno@clisp.org>
72734
72735         Small optimization.
72736         * lib/javacomp.c: Include c-strstr.h.
72737          (is_envjavac_gcj): Use c_strstr instead of strstr.
72738         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
72739
72740 2007-01-26  Bruno Haible  <bruno@clisp.org>
72741
72742         * MODULES.html.sh (Unicode string functions): Add the new modules.
72743
72744         * modules/uniconv/u32-strconv-to-locale: New file.
72745         * lib/uniconv/u32-strconv-to-locale.c: New file.
72746
72747         * modules/uniconv/u16-strconv-to-locale: New file.
72748         * lib/uniconv/u16-strconv-to-locale.c: New file.
72749
72750         * modules/uniconv/u8-strconv-to-locale: New file.
72751         * lib/uniconv/u8-strconv-to-locale.c: New file.
72752
72753         * modules/uniconv/u32-strconv-from-locale: New file.
72754         * lib/uniconv/u32-strconv-from-locale.c: New file.
72755
72756         * modules/uniconv/u16-strconv-from-locale: New file.
72757         * lib/uniconv/u16-strconv-from-locale.c: New file.
72758
72759         * modules/uniconv/u8-strconv-from-locale: New file.
72760         * lib/uniconv/u8-strconv-from-locale.c: New file.
72761
72762         * modules/uniconv/u32-strconv-to-enc: New file.
72763         * lib/uniconv/u32-strconv-to-enc.c: New file.
72764         * modules/uniconv/u32-strconv-to-enc-tests: New file.
72765         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
72766
72767         * modules/uniconv/u16-strconv-to-enc: New file.
72768         * lib/uniconv/u16-strconv-to-enc.c: New file.
72769         * lib/uniconv/u-strconv-to-enc.h: New file.
72770         * modules/uniconv/u16-strconv-to-enc-tests: New file.
72771         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
72772
72773         * modules/uniconv/u8-strconv-to-enc: New file.
72774         * lib/uniconv/u8-strconv-to-enc.c: New file.
72775         * modules/uniconv/u8-strconv-to-enc-tests: New file.
72776         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
72777
72778         * modules/uniconv/u32-strconv-from-enc: New file.
72779         * lib/uniconv/u32-strconv-from-enc.c: New file.
72780         * modules/uniconv/u32-strconv-from-enc-tests: New file.
72781         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
72782
72783         * modules/uniconv/u16-strconv-from-enc: New file.
72784         * lib/uniconv/u16-strconv-from-enc.c: New file.
72785         * modules/uniconv/u16-strconv-from-enc-tests: New file.
72786         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
72787
72788         * modules/uniconv/u8-strconv-from-enc: New file.
72789         * lib/uniconv/u8-strconv-from-enc.c: New file.
72790         * lib/uniconv/u-strconv-from-enc.h: New file.
72791         * modules/uniconv/u8-strconv-from-enc-tests: New file.
72792         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
72793
72794         * modules/uniconv/u32-conv-from-enc: New file.
72795         * lib/uniconv/u32-conv-from-enc.c: New file.
72796         * modules/uniconv/u32-conv-from-enc-tests: New file.
72797         * tests/uniconv/test-u32-conv-from-enc.c: New file.
72798
72799         * modules/uniconv/u16-conv-from-enc: New file.
72800         * lib/uniconv/u16-conv-from-enc.c: New file.
72801         * lib/uniconv/u-conv-from-enc.h: New file.
72802         * modules/uniconv/u16-conv-from-enc-tests: New file.
72803         * tests/uniconv/test-u16-conv-from-enc.c: New file.
72804
72805         * modules/uniconv/u8-conv-from-enc: New file.
72806         * lib/uniconv/u8-conv-from-enc.c: New file.
72807         * modules/uniconv/u8-conv-from-enc-tests: New file.
72808         * tests/uniconv/test-u8-conv-from-enc.c: New file.
72809
72810         * modules/uniconv/base: New file.
72811         * lib/uniconv.h: New file.
72812
72813 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
72814
72815         * doc/gnulib-tool.texi (Initial import): Update to match current
72816         behavior with strdup module.
72817         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
72818         * lib/memmem.h: Remove; all uses removed.  This is now done
72819         by <string.h>.
72820         * lib/mempcpy.h: Likewise.
72821         * lib/memrchr.h: Likewise.
72822         * lib/stpcpy.h: Likewise.
72823         * lib/stpncpy.h: Likewise.
72824         * lib/strcase.h: Likewise.
72825         * lib/strchrnul.h: Likewise.
72826         * lib/strdup.h: Likewise.
72827         * lib/strndup.h: Likewise.
72828         * lib/strnlen.h: Likewise.
72829         * lib/strpbrk.h: Likewise.
72830         * lib/strsep.h: Likewise.
72831         * lib/strstr.h: Likewise.
72832         * lib/strtok_r.h: Likewise.
72833         * lib/string_.h: New file.
72834         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
72835         Rely on <string.h> instead.
72836         * lib/canon-host.c: Likewise.
72837         * lib/chdir-long.c: Likewise.
72838         * lib/concatpath.c: Likewise.
72839         * lib/exclude.c: Likewise.
72840         * lib/fchdir.c: Likewise.
72841         * lib/getaddrinfo.c: Likewise.
72842         * lib/getcwd.c: Likewise.
72843         * lib/getsubopt.c: Likewise.
72844         * lib/glob.c: Likewise.
72845         * lib/hard-locale.c: Likewise.
72846         * lib/iconvme.c: Likewise.
72847         * lib/javacomp.c: Likewise.
72848         * lib/mempcpy.c: Likewise.
72849         * lib/memrchr.c: Likewise.
72850         * lib/regex_internal.h: Likewise.
72851         * lib/stpncpy.c: Likewise.
72852         * lib/strcasecmp.c: Likewise.
72853         * lib/strchrnul.c: Likewise.
72854         * lib/strdup.c: Likewise.
72855         * lib/striconv.c: Likewise.
72856         * lib/striconveh.c: Likewise.
72857         * lib/striconveha.c: Likewise.
72858         * lib/strncasecmp.c: Likewise.
72859         * lib/strndup.c: Likewise.
72860         * lib/strnlen.c: Likewise.
72861         * lib/strsep.c: Likewise.
72862         * lib/strstr.c: Likewise.
72863         * lib/strtok_r.c: Likewise.
72864         * lib/userspec.c: Likewise.
72865         * lib/w32spawn.h: Likewise.
72866         * lib/xstrndup.c: Likewise.
72867         * lib/mountlist.c (strstr): Remove decl.
72868         * m4/string_h.m4: New file.
72869         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
72870         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
72871         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
72872         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
72873         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
72874         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
72875         Set REPLACE_STRCASECMP if necessary.
72876         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
72877         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
72878         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
72879         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
72880         HAVE_DECL_STRDUP if necessary.
72881         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
72882         since gl_FUNC_STRNDUP does that now.
72883         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
72884         Check for decl here...
72885         (gl_PREREQ_STRNLEN): ... not here.
72886         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
72887         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
72888         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
72889         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
72890         necessary.
72891         * modules/string: New file.
72892         * modules/memmem (Files): Remove special-purpose include file.
72893         (Depends-on): Add string.
72894         (Include): Include <string.h>, not the removed file.
72895         * modules/mempcpy: Likewise.
72896         * modules/memrchr: Likewise.
72897         * modules/stpcpy: Likewise.
72898         * modules/stpncpy: Likewise.
72899         * modules/strcase: Likewise.
72900         * modules/strchrnul: Likewise.
72901         * modules/strdup: Likewise.
72902         * modules/strndup: Likewise.
72903         * modules/strnlen: Likewise.
72904         * modules/strpbrk: Likewise.
72905         * modules/strsep: Likewise.
72906         * modules/strstr: Likewise.
72907         * modules/strtok_r: Likewise.
72908         * tests/test-dirname.c: Don't include "strdup.h", since
72909         <string.h> now suffices.
72910         * tests/test-memmem.c: Don't include "memmem.h", since
72911         <string.h> now suffices.
72912
72913 2007-01-25  Bruno Haible  <bruno@clisp.org>
72914
72915         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
72916         *resultp is 0.
72917
72918         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
72919         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
72920         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
72921         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
72922
72923         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
72924         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
72925         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
72926         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
72927         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
72928         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
72929
72930 2007-01-24  Bruno Haible  <bruno@clisp.org>
72931
72932         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
72933         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
72934         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
72935         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
72936         gl_FUNC_FTS_CORE.
72937         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
72938         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
72939         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
72940         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
72941         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
72942         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
72943         gl_FUNC_FCHOWNAT.
72944         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
72945         gl_FUNC_STRFTIME.
72946         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
72947         Reported by Ralf Wildenhues.
72948
72949 2007-01-24  Bruno Haible  <bruno@clisp.org>
72950
72951         Drop AC_REQUIRE calls that are redundant with the module dependencies.
72952         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
72953         gl_GETADDRINFO.
72954         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
72955         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
72956         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
72957
72958 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
72959
72960         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
72961         Don't use 'exit'; just return from 'main'.
72962         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
72963
72964         * lib/fnmatch_.h: Readjust white space and comments to match
72965         glibc, to avoid spurious diffs.
72966
72967 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
72968
72969         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
72970         2004-12-01 change by Jakub Jelinek, since this code won't compile
72971         if !LIBC.  Problem reported by Bob Proulx.
72972
72973 2007-01-23  Bruno Haible  <bruno@clisp.org>
72974
72975         * lib/striconveh.c: Include c-strcaseeq.h.
72976         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
72977         * modules/striconveh (Depends-on): Add c-strcaseeq.
72978
72979 2007-01-23  Bruno Haible  <bruno@clisp.org>
72980
72981         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
72982
72983         * modules/c-strcaseeq: New file.
72984         * lib/c-strcaseeq.h: New file.
72985
72986         * modules/streq: New file.
72987         * lib/streq.h: New file.
72988
72989 2007-01-23  Bruno Haible  <bruno@clisp.org>
72990
72991         * modules/striconveha-tests: New file.
72992         * tests/test-striconveha.c: New file.
72993
72994         * lib/striconveha.h: Include <stdbool.h>.
72995         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
72996         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
72997         (mem_iconveha_notranslit): Renamed from mem_iconveha.
72998         (mem_iconveha): New function.
72999         (str_iconveha_notranslit): Renamed from str_iconveha.
73000         (str_iconveha): New function.
73001         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
73002         c-strcase.
73003
73004 2007-01-23  Bruno Haible  <bruno@clisp.org>
73005
73006         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
73007         encodings without forgiving before trying any encoding with handler.
73008         (str_iconveha): Try all encodings without forgiving before trying any
73009         encoding with handler.
73010
73011 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73012
73013         Import the following changes from libc.
73014
73015         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
73016
73017         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
73018
73019         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
73020
73021         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
73022         normal_bracket label.
73023
73024         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
73025
73026         [BZ #361]
73027         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
73028         to normal_bracket after fetching the next character.
73029
73030 2007-01-22  Bruno Haible  <bruno@clisp.org>
73031
73032         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
73033         argument.
73034         * lib/striconveh.c (iconv_carefully_1): New function.
73035         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
73036         argument.
73037         (str_cd_iconveh): Update.
73038         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
73039         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
73040         * tests/test-striconveh.c (MAGIC): New macro.
73041         (new_offsets): New function.
73042         (main): Test call with and without offsets.
73043
73044 2007-01-22  Bruno Haible  <bruno@clisp.org>
73045
73046         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
73047         * modules/sys_select (Makefile.am): Likewise.
73048         * modules/sys_socket (Makefile.am): Likewise.
73049         * modules/sys_time (Makefile.am): Likewise.
73050
73051 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
73052
73053         * modules/gettimeofday (License): Change from GPL to LGPL, since
73054         gettimeofday is a library function.
73055
73056 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73057
73058         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
73059
73060 2007-01-21  Bruno Haible  <bruno@clisp.org>
73061
73062         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
73063
73064 2007-01-21  Bruno Haible  <bruno@clisp.org>
73065
73066         * modules/striconveha: New file.
73067         * lib/striconveha.h: New file.
73068         * lib/striconveha.c: New file.
73069         * MODULES.html.sh (Internationalization functions): Add striconveha.
73070         * lib/striconv.c (str_iconv): Optimize the case of an empty input
73071         string.
73072         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
73073
73074 2007-01-21  Bruno Haible  <bruno@clisp.org>
73075
73076         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
73077         * lib/striconveh.c (str_iconveh): Likewise.
73078
73079 2007-01-21  Bruno Haible  <bruno@clisp.org>
73080
73081         * lib/striconveh.h (mem_iconveh): New declaration.
73082         * lib/striconveh.c (mem_iconveh): New function.
73083         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
73084
73085 2007-01-21  Bruno Haible  <bruno@clisp.org>
73086
73087         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
73088
73089         * lib/striconveh.h (mem_cd_iconveh): Change specification.
73090         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
73091         original result buffer.
73092         (str_cd_iconveh): Update.
73093         * tests/test-striconveh.c (main): Update.
73094
73095         * lib/striconv.h (mem_cd_iconv): Change specification.
73096         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
73097         result buffer.
73098         (str_cd_iconv): Update.
73099         * tests/test-striconv.c (main): Update.
73100
73101 2007-01-21  Bruno Haible  <bruno@clisp.org>
73102
73103         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
73104
73105 2007-01-20  Jim Meyering  <jim@meyering.net>
73106
73107         * lib/userspec.c (parse_with_separator): If a user or group string
73108         starts with "+", skip the corresponding name-to-ID look-up, since
73109         such a look-up must fail: user and group names may not include "+".
73110
73111 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
73112
73113         * lib/poll.c: Include sys/time.h and time.h unconditionally,
73114         since we now assume the sys_time module.
73115         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
73116         check for sys/time.h; no longer needed.
73117         * modules/poll (Depends-on): Depend on sys_time.
73118
73119 2007-01-18  Bruno Haible  <bruno@clisp.org>
73120
73121         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
73122         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
73123
73124         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
73125         gettimeofday.
73126
73127         * tests/test-gettimeofday.c: Include <time.h>.
73128         (dummy): Remove variable.
73129
73130         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
73131         gl_HEADER_SYS_TIME_H.
73132         (gl_HEADER_SYS_TIME_H): New macro.
73133
73134         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
73135         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73136         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
73137         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
73138         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73139         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
73140         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
73141         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73142         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
73143         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
73144         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73145
73146         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
73147         last change; it caused a compilation error when cross-compiling to
73148         Cygwin.
73149
73150 2007-01-18  Jim Meyering  <jim@meyering.net>
73151
73152         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
73153         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
73154         than the race-prone "test -d sys || mkdir sys".
73155         (configure.ac): Use AC_PROG_MKDIR_P.
73156         * modules/sys_select: Likewise.
73157         * modules/sys_socket: Likewise.
73158         * modules/sys_time: Likewise.
73159
73160 2007-01-18  Eric Blake  <ebb9@byu.net>
73161
73162         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
73163         replace gettimeofday.
73164         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
73165         name, to avoid infinite recursion.
73166
73167 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
73168
73169         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
73170         module sys_time.
73171         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
73172         assume timespec.h defines struct timeval.
73173         * lib/settime.c: Likewise.
73174         * lib/utimens.c: Likewise.
73175         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
73176         since we now assume the gettimeofday module.
73177         * lib/tempname.c (__gen_tempname): Likewise.
73178         * lib/gettimeofday.h: Remove.
73179         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
73180         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
73181         Include <time.h>, for 'time()'.
73182         (localtime_buffer_addr): Also use this workaround if
73183         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
73184         to simplify the uses.  All uses changed.
73185         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
73186         that #undef is inside {}, and 'const' follows type name consistently.
73187         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
73188         (gettimeofday): Do not use the maximum possible value for
73189         tv->tv_usec, since that might break usages other than ls.c.
73190         Instead, we'll leave ls.c alone.  This undoes today's patch
73191         by Bruno.  Add a compile-time warning for 1s-clock resolution;
73192         we've never observed the problem but might as well keep the
73193         canary.
73194         * lib/nanosleep.c: Include timespec.h first, for interface check.
73195         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
73196         now assume the sys_time module.
73197         * lib/tempname.c: Likewise.
73198         * lib/timespec.h: Likewise.
73199         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
73200         needed.
73201         * lib/strftime.c: Likewise.
73202         * lib/timespec.h: Likewise.
73203         * lib/posixtm.c: Include posixtm.h first, for interface check.
73204         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
73205         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
73206         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
73207         * lib/sys_time_.h: New file.
73208         * lib/timespec.h (struct timespec): Use long int, not long.
73209         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73210         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
73211         Remove obsolescent call to AC_HEADER_TIME.
73212         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
73213         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
73214         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
73215         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
73216         Likewise.
73217         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
73218         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
73219         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
73220         into the sys_time module.  Check for gettimeofday just once.
73221         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
73222         for gettimeofday signature to just check the signature.  Merely
73223         compile it, since linking doesn't test signature.  Improve test for
73224         whether gettimeofday.o is actually needed.
73225         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
73226         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
73227         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
73228         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73229         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
73230         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
73231         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
73232         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
73233         than worrying about sys/time.h.
73234         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73235         Don't bother worrying about TIME_WITH_SYS_TIME.
73236         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
73237         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
73238         * m4/sys_time_h.m4: New file.
73239         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
73240         Don't include sys/time.h.  Return from main rather than exiting.
73241         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
73242         all uses changed.
73243         * modules/gethrxtime (Depends-on): Add sys_time.
73244         * modules/gettime (Depends-on): Likewise.
73245         * modules/gettimeofday (Depends-on): Likewise.
73246         * modules/nanosleep (Depends-on): Likewise.
73247         * modules/settime (Depends-on): Likewise.
73248         * modules/tempname (Depends-on): Likewise.
73249         * modules/utimens (Depends-on): Likewise.
73250         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
73251         (Include): Change back to <sys/time.h>.
73252         (Maintainer): Add self.
73253         * modules/sys_time: New file.
73254         * modules/tempname (Depends-on): Add gettimeofday.
73255         * tests/test-gettimeofday.c: Include <sys/time.h>
73256         rather than gettimeofday.h.
73257
73258 2007-01-17  Bruno Haible  <bruno@clisp.org>
73259
73260         * gnulib-tool (func_get_license): Revert last patch. Instead, let
73261         the license default to GPL.
73262         (func_create_testdir): Don't complain if a module is LGPL and its
73263         tests module depends on GPLed modules.
73264
73265 2007-01-17  Bruno Haible  <bruno@clisp.org>
73266
73267         * lib/gettimeofday.c (gettimeofday): Add code for the case
73268         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
73269         maximum possible value for tv->tv_usec, rather than the minimum one.
73270
73271 2005-10-08  Martin Lambers  <marlam@marlam.de>
73272 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
73273 2007-01-16  Bruno Haible  <bruno@clisp.org>
73274
73275         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
73276         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
73277         gl_FUNC_GETTIMEOFDAY.
73278         (Include): Add gettimeofday.h.
73279         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
73280         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
73281         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
73282         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
73283         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
73284         * lib/gettimeofday.h: New file.
73285         * lib/gettimeofday.c: Include <sys/timeb.h>.
73286         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
73287         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
73288         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
73289         fall back on time().
73290
73291         * tests/test-gettimeofday.c: New file.
73292         * modules/gettimeofday-tests: New file.
73293
73294 2007-01-16  Eric Blake  <ebb9@byu.net>
73295
73296         * modules/fnmatch (Depends-on): Depend on wchar.
73297         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
73298         * m4/fnmatch.m4: Likewise.
73299         * modules/mbchar (Makefile.am): Assume <wchar.h>.
73300         * m4/mbchar.m4: Likewise.
73301         * modules/mbswidth (Depends-on): Depend on wchar.
73302         * lib/mbswidth.c: Assume <wchar.h>.
73303         * m4/mbswidth.m4: Likewise.
73304         * modules/quotearg (Depends-on): Depend on wchar.
73305         * lib/quotearg.c: Assume <wchar.h>.
73306         * m4/quotearg.m4: Likewise.
73307         * modules/regex (Depends-on): Depend on wchar.
73308         * lib/regex_internal.h: Assume <wchar.h>.
73309         * m4/regex.m4: Likewise.
73310         * modules/stdint (Depends-on): Depend on wchar.
73311         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
73312         * m4/stdint.m4: Likewise.
73313         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
73314         * modules/strftime (Depends-on): Depend on wchar.
73315         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
73316         * modules/strtol (Depends-on): Depend on wchar.
73317         * lib/strtol.c: Assume <wchar.h>.
73318         * modules/wcwidth (Depends-on): Depend on wchar.
73319         * lib/wcwidth.h: Assume <wchar.h>.
73320         * m4/wcwidth.m4: Likewise.
73321
73322 2007-01-16  Bruno Haible  <bruno@clisp.org>
73323
73324         * modules/csharpexec-script: New, created from...
73325         * modules/csharpexec: ... this.
73326
73327 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
73328
73329         * modules/javaexec-script: New, created from...
73330         * modules/javaexec: ... this.
73331
73332 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
73333
73334         * modules/poll (Dependencies): Add sys_select.
73335
73336 2007-01-15  Jim Meyering  <jim@meyering.net>
73337
73338         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
73339         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
73340         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
73341         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
73342
73343 2007-01-15  Bruno Haible  <bruno@clisp.org>
73344
73345         * modules/striconveh: New file.
73346         * lib/striconveh.h: New file.
73347         * lib/striconveh.c: New file.
73348         * MODULES.html.sh (Internationalization functions): Add striconveh.
73349
73350         * modules/striconveh-tests: New file.
73351         * tests/test-striconveh.c: New file.
73352
73353 2007-01-15  Bruno Haible  <bruno@clisp.org>
73354
73355         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
73356         not from GNU libiconv or GNU libc.
73357
73358 2007-01-15  Bruno Haible  <bruno@clisp.org>
73359
73360         * doc/gnulib-intro.texi (Copyright): Explain the different license
73361         terms for module descriptions, autoconf macros, tests, documentation.
73362
73363 2007-01-14  Bruno Haible  <bruno@clisp.org>
73364
73365         * modules/striconv-tests: New file.
73366         * tests/test-striconv.c: New file.
73367
73368 2007-01-14  Bruno Haible  <bruno@clisp.org>
73369
73370         * modules/iconv-tests: New file.
73371         * tests/test-iconv.c: New file.
73372
73373 2007-01-14  Bruno Haible  <bruno@clisp.org>
73374
73375         * gnulib-tool (func_get_license): For test modules, use the license of
73376         the main module.
73377
73378 2007-01-14  Bruno Haible  <bruno@clisp.org>
73379
73380         * modules/iconv (Include): Clarify that <iconv.h> can only be included
73381         if iconv is found to exist.
73382
73383 2007-01-14  Bruno Haible  <bruno@clisp.org>
73384
73385         * modules/c-ctype-tests: New file.
73386         * tests/test-c-ctype.c: New file.
73387
73388 2007-01-14  Bruno Haible  <bruno@clisp.org>
73389
73390         * modules/binary-io-tests: New file.
73391         * tests/test-binary-io.sh: New file.
73392         * tests/test-binary-io.c: New file.
73393
73394 2007-01-14  Bruno Haible  <bruno@clisp.org>
73395
73396         * modules/array-oset-tests: New file.
73397         * tests/test-array_oset.c: New file.
73398
73399 2007-01-14  Bruno Haible  <bruno@clisp.org>
73400
73401         * modules/array-list-tests: New file.
73402         * tests/test-array_list.c: New file.
73403
73404 2007-01-14  Bruno Haible  <bruno@clisp.org>
73405
73406         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
73407         and make.
73408         Reported by Simon Josefsson in
73409         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
73410
73411 2007-01-14  Bruno Haible  <bruno@clisp.org>
73412
73413         * modules/allocsa-tests: New file.
73414         * tests/test-allocsa.c: New file.
73415
73416 2007-01-14  Bruno Haible  <bruno@clisp.org>
73417
73418         * modules/fchdir (Depends-on): Add absolute-header.
73419         * modules/unistd (Depends-on): Likewise.
73420
73421 2006-12-30  Bruno Haible  <bruno@clisp.org>
73422
73423         * modules/fchdir: New file.
73424         * modules/unistd (Files): Add lib/unistd_.h.
73425         (Makefile.am): Generate unistd.h from unistd_.h.
73426         * lib/fchdir.c: New file.
73427         * lib/dirent_.h: New file.
73428         * lib/unistd_.h: New file.
73429         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
73430         * m4/fchdir.m4: New file.
73431         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
73432         (gl_HEADER_UNISTD): Invoke it.
73433         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
73434         function.
73435         * lib/backupfile.c (opendir, closedir): Undefine.
73436         * lib/chown.c (open, close): Undefine.
73437         * lib/clean-temp.c (open, close): Undefine.
73438         * lib/copy-file.c (open, close): Undefine.
73439         * lib/execute.c (open, close): Undefine.
73440         * lib/fsusage.c (open, close): Undefine.
73441         * lib/gc-gnulib.c (open, close): Undefine.
73442         * lib/getcwd.c (opendir, closedir): Undefine.
73443         * lib/glob.c (opendir, closedir): Undefine.
73444         * lib/javacomp.c (open, close): Undefine.
73445         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
73446         * lib/openat-proc.c (open, close): Undefine.
73447         * lib/pagealign_alloc.c (open, close): Undefine.
73448         * lib/pipe.c (open, close): Undefine.
73449         * lib/progreloc.c (open, close): Undefine.
73450         * lib/savedir.c (opendir, closedir): Undefine.
73451         * lib/utime.c (open, close): Undefine.
73452         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
73453
73454 2007-01-10  Bruno Haible  <bruno@clisp.org>
73455
73456         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
73457
73458 2007-01-12  Eric Blake  <ebb9@byu.net>
73459
73460         Provide a robust <wchar.h>.  Further simplifications are now
73461         possible in other modules, but not included here.
73462         * modules/wchar: New module.
73463         * m4/wchar.m4: New file.
73464         * lib/wchar_.h: Likewise.
73465         * modules/mbchar (Depends-on): Depend on wchar, as the first use
73466         of the new module.
73467         * MODULES.html.sh (Extended multibyte and wide character utilities):
73468         New section.
73469
73470 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
73471
73472         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
73473         to a reasonable default for memory allocation.
73474         (xreadlink): Don't allocate a huge buffer, to work around a buggy
73475         file system that reports garbage st_size values for symlinks.
73476         Problem reported by Liyang Hu.
73477
73478 2007-01-11  Simon Josefsson  <simon@josefsson.org>
73479
73480         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
73481         Emacs .#* auto-save files).
73482
73483 2007-01-11  Bruno Haible  <bruno@clisp.org>
73484
73485         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
73486         directory.
73487
73488 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
73489
73490         Use @...@ consistently in lib/wctype_.h.
73491         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
73492         on it being set to 1 or 0.
73493         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
73494         go back to AC_SUBSTing it.
73495         * modules/wctype (Makefile.am): Undo previous change.
73496
73497 2007-01-10  Eric Blake  <ebb9@byu.net>
73498
73499         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
73500         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
73501         * modules/wctype (Makefile.am): Likewise.
73502         Reported by Chris McGuire.
73503
73504 2007-01-10  Jim Meyering  <jim@meyering.net>
73505
73506         fts.c: a small readability/maintainability improvement
73507         * lib/fts.c (fts_read): Make this code slightly more readable and
73508         maintainable by hoisting the "sp->fts_cur = p" assignments to
73509         immediately follow the statements that set P.  Derived from
73510         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
73511
73512 2007-01-10  Eric Blake  <ebb9@byu.net>
73513
73514         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
73515         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
73516         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
73517         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
73518         Reported by Chris McGuire.
73519
73520 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73521
73522         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
73523         in sed script.
73524
73525 2007-01-09  Bruno Haible  <bruno@clisp.org>
73526
73527         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
73528         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
73529         variables.
73530         (func_module): Use them.
73531
73532 2007-01-09  Bruno Haible  <bruno@clisp.org>
73533
73534         * modules/unistr/base: New file.
73535         * lib/unistr.h: New file.
73536
73537         * modules/unistr/u8-to-u16: New file.
73538         * lib/unistr/u8-to-u16.c: New file.
73539
73540         * modules/unistr/u8-to-u32: New file.
73541         * lib/unistr/u8-to-u32.c: New file.
73542
73543         * modules/unistr/u16-to-u8: New file.
73544         * lib/unistr/u16-to-u8.c: New file.
73545
73546         * modules/unistr/u16-to-u32: New file.
73547         * lib/unistr/u16-to-u32.c: New file.
73548
73549         * modules/unistr/u32-to-u8: New file.
73550         * lib/unistr/u32-to-u8.c: New file.
73551
73552         * modules/unistr/u32-to-u16: New file.
73553         * lib/unistr/u32-to-u16.c: New file.
73554
73555         * modules/unistr/u8-check: New file.
73556         * modules/unistr/u16-check: New file.
73557         * modules/unistr/u32-check: New file.
73558         * lib/unistr/u8-check.c: New file.
73559         * lib/unistr/u16-check.c: New file.
73560         * lib/unistr/u32-check.c: New file.
73561
73562         * modules/unistr/u8-chr: New file.
73563         * modules/unistr/u16-chr: New file.
73564         * modules/unistr/u32-chr: New file.
73565         * lib/unistr/u8-chr.c: New file.
73566         * lib/unistr/u16-chr.c: New file.
73567         * lib/unistr/u32-chr.c: New file.
73568
73569         * modules/unistr/u8-cmp: New file.
73570         * modules/unistr/u16-cmp: New file.
73571         * modules/unistr/u32-cmp: New file.
73572         * lib/unistr/u8-cmp.c: New file.
73573         * lib/unistr/u16-cmp.c: New file.
73574         * lib/unistr/u32-cmp.c: New file.
73575
73576         * modules/unistr/u8-cpy: New file.
73577         * modules/unistr/u16-cpy: New file.
73578         * modules/unistr/u32-cpy: New file.
73579         * lib/unistr/u8-cpy.c: New file.
73580         * lib/unistr/u16-cpy.c: New file.
73581         * lib/unistr/u32-cpy.c: New file.
73582         * lib/unistr/u-cpy.h: New file.
73583
73584         * modules/unistr/u8-cpy-alloc: New file.
73585         * modules/unistr/u16-cpy-alloc: New file.
73586         * modules/unistr/u32-cpy-alloc: New file.
73587         * lib/unistr/u8-cpy-alloc.c: New file.
73588         * lib/unistr/u16-cpy-alloc.c: New file.
73589         * lib/unistr/u32-cpy-alloc.c: New file.
73590         * lib/unistr/u-cpy-alloc.h: New file.
73591
73592         * modules/unistr/u8-endswith: New file.
73593         * modules/unistr/u16-endswith: New file.
73594         * modules/unistr/u32-endswith: New file.
73595         * lib/unistr/u8-endswith.c: New file.
73596         * lib/unistr/u16-endswith.c: New file.
73597         * lib/unistr/u32-endswith.c: New file.
73598         * lib/unistr/u-endswith.h: New file.
73599
73600         * modules/unistr/u8-mblen: New file.
73601         * modules/unistr/u16-mblen: New file.
73602         * modules/unistr/u32-mblen: New file.
73603         * lib/unistr/u8-mblen.c: New file.
73604         * lib/unistr/u16-mblen.c: New file.
73605         * lib/unistr/u32-mblen.c: New file.
73606
73607         * modules/unistr/u8-mbtouc: New file.
73608         * modules/unistr/u16-mbtouc: New file.
73609         * modules/unistr/u32-mbtouc: New file.
73610         * lib/unistr/u8-mbtouc.c: New file.
73611         * lib/unistr/u16-mbtouc.c: New file.
73612         * lib/unistr/u32-mbtouc.c: New file.
73613
73614         * modules/unistr/u8-mbtouc-safe: New file.
73615         * modules/unistr/u16-mbtouc-safe: New file.
73616         * modules/unistr/u32-mbtouc-safe: New file.
73617         * lib/unistr/u8-mbtouc-safe.c: New file.
73618         * lib/unistr/u16-mbtouc-safe.c: New file.
73619         * lib/unistr/u32-mbtouc-safe.c: New file.
73620
73621         * modules/unistr/u8-move: New file.
73622         * modules/unistr/u16-move: New file.
73623         * modules/unistr/u32-move: New file.
73624         * lib/unistr/u8-move.c: New file.
73625         * lib/unistr/u16-move.c: New file.
73626         * lib/unistr/u32-move.c: New file.
73627         * lib/unistr/u-move.h: New file.
73628
73629         * modules/unistr/u8-next: New file.
73630         * modules/unistr/u16-next: New file.
73631         * modules/unistr/u32-next: New file.
73632         * lib/unistr/u8-next.c: New file.
73633         * lib/unistr/u16-next.c: New file.
73634         * lib/unistr/u32-next.c: New file.
73635
73636         * modules/unistr/u8-prev: New file.
73637         * modules/unistr/u16-prev: New file.
73638         * modules/unistr/u32-prev: New file.
73639         * lib/unistr/u8-prev.c: New file.
73640         * lib/unistr/u16-prev.c: New file.
73641         * lib/unistr/u32-prev.c: New file.
73642
73643         * modules/unistr/u8-set: New file.
73644         * modules/unistr/u16-set: New file.
73645         * modules/unistr/u32-set: New file.
73646         * lib/unistr/u8-set.c: New file.
73647         * lib/unistr/u16-set.c: New file.
73648         * lib/unistr/u32-set.c: New file.
73649         * lib/unistr/u-set.h: New file.
73650
73651         * modules/unistr/u8-startswith: New file.
73652         * modules/unistr/u16-startswith: New file.
73653         * modules/unistr/u32-startswith: New file.
73654         * lib/unistr/u8-startswith.c: New file.
73655         * lib/unistr/u16-startswith.c: New file.
73656         * lib/unistr/u32-startswith.c: New file.
73657         * lib/unistr/u-startswith.h: New file.
73658
73659         * modules/unistr/u8-stpcpy: New file.
73660         * modules/unistr/u16-stpcpy: New file.
73661         * modules/unistr/u32-stpcpy: New file.
73662         * lib/unistr/u8-stpcpy.c: New file.
73663         * lib/unistr/u16-stpcpy.c: New file.
73664         * lib/unistr/u32-stpcpy.c: New file.
73665         * lib/unistr/u-stpcpy.h: New file.
73666
73667         * modules/unistr/u8-stpncpy: New file.
73668         * modules/unistr/u16-stpncpy: New file.
73669         * modules/unistr/u32-stpncpy: New file.
73670         * lib/unistr/u8-stpncpy.c: New file.
73671         * lib/unistr/u16-stpncpy.c: New file.
73672         * lib/unistr/u32-stpncpy.c: New file.
73673         * lib/unistr/u-stpncpy.h: New file.
73674
73675         * modules/unistr/u8-strcat: New file.
73676         * modules/unistr/u16-strcat: New file.
73677         * modules/unistr/u32-strcat: New file.
73678         * lib/unistr/u8-strcat.c: New file.
73679         * lib/unistr/u16-strcat.c: New file.
73680         * lib/unistr/u32-strcat.c: New file.
73681         * lib/unistr/u-strcat.h: New file.
73682
73683         * modules/unistr/u8-strchr: New file.
73684         * modules/unistr/u16-strchr: New file.
73685         * modules/unistr/u32-strchr: New file.
73686         * lib/unistr/u8-strchr.c: New file.
73687         * lib/unistr/u16-strchr.c: New file.
73688         * lib/unistr/u32-strchr.c: New file.
73689
73690         * modules/unistr/u8-strcmp: New file.
73691         * modules/unistr/u16-strcmp: New file.
73692         * modules/unistr/u32-strcmp: New file.
73693         * lib/unistr/u8-strcmp.c: New file.
73694         * lib/unistr/u16-strcmp.c: New file.
73695         * lib/unistr/u32-strcmp.c: New file.
73696
73697         * modules/unistr/u8-strcpy: New file.
73698         * modules/unistr/u16-strcpy: New file.
73699         * modules/unistr/u32-strcpy: New file.
73700         * lib/unistr/u8-strcpy.c: New file.
73701         * lib/unistr/u16-strcpy.c: New file.
73702         * lib/unistr/u32-strcpy.c: New file.
73703         * lib/unistr/u-strcpy.h: New file.
73704
73705         * modules/unistr/u8-strcspn: New file.
73706         * modules/unistr/u16-strcspn: New file.
73707         * modules/unistr/u32-strcspn: New file.
73708         * lib/unistr/u8-strcspn.c: New file.
73709         * lib/unistr/u16-strcspn.c: New file.
73710         * lib/unistr/u32-strcspn.c: New file.
73711         * lib/unistr/u-strcspn.h: New file.
73712
73713         * modules/unistr/u8-strdup: New file.
73714         * modules/unistr/u16-strdup: New file.
73715         * modules/unistr/u32-strdup: New file.
73716         * lib/unistr/u8-strdup.c: New file.
73717         * lib/unistr/u16-strdup.c: New file.
73718         * lib/unistr/u32-strdup.c: New file.
73719         * lib/unistr/u-strdup.h: New file.
73720
73721         * modules/unistr/u8-strlen: New file.
73722         * modules/unistr/u16-strlen: New file.
73723         * modules/unistr/u32-strlen: New file.
73724         * lib/unistr/u8-strlen.c: New file.
73725         * lib/unistr/u16-strlen.c: New file.
73726         * lib/unistr/u32-strlen.c: New file.
73727         * lib/unistr/u-strlen.h: New file.
73728
73729         * modules/unistr/u8-strmblen: New file.
73730         * modules/unistr/u16-strmblen: New file.
73731         * modules/unistr/u32-strmblen: New file.
73732         * lib/unistr/u8-strmblen.c: New file.
73733         * lib/unistr/u16-strmblen.c: New file.
73734         * lib/unistr/u32-strmblen.c: New file.
73735
73736         * modules/unistr/u8-strmbtouc: New file.
73737         * modules/unistr/u16-strmbtouc: New file.
73738         * modules/unistr/u32-strmbtouc: New file.
73739         * lib/unistr/u8-strmbtouc.c: New file.
73740         * lib/unistr/u16-strmbtouc.c: New file.
73741         * lib/unistr/u32-strmbtouc.c: New file.
73742
73743         * modules/unistr/u8-strncat: New file.
73744         * modules/unistr/u16-strncat: New file.
73745         * modules/unistr/u32-strncat: New file.
73746         * lib/unistr/u8-strncat.c: New file.
73747         * lib/unistr/u16-strncat.c: New file.
73748         * lib/unistr/u32-strncat.c: New file.
73749         * lib/unistr/u-strncat.h: New file.
73750
73751         * modules/unistr/u8-strncmp: New file.
73752         * modules/unistr/u16-strncmp: New file.
73753         * modules/unistr/u32-strncmp: New file.
73754         * lib/unistr/u8-strncmp.c: New file.
73755         * lib/unistr/u16-strncmp.c: New file.
73756         * lib/unistr/u32-strncmp.c: New file.
73757
73758         * modules/unistr/u8-strncpy: New file.
73759         * modules/unistr/u16-strncpy: New file.
73760         * modules/unistr/u32-strncpy: New file.
73761         * lib/unistr/u8-strncpy.c: New file.
73762         * lib/unistr/u16-strncpy.c: New file.
73763         * lib/unistr/u32-strncpy.c: New file.
73764         * lib/unistr/u-strncpy.h: New file.
73765
73766         * modules/unistr/u8-strnlen: New file.
73767         * modules/unistr/u16-strnlen: New file.
73768         * modules/unistr/u32-strnlen: New file.
73769         * lib/unistr/u8-strnlen.c: New file.
73770         * lib/unistr/u16-strnlen.c: New file.
73771         * lib/unistr/u32-strnlen.c: New file.
73772         * lib/unistr/u-strnlen.h: New file.
73773
73774         * modules/unistr/u8-strpbrk: New file.
73775         * modules/unistr/u16-strpbrk: New file.
73776         * modules/unistr/u32-strpbrk: New file.
73777         * lib/unistr/u8-strpbrk.c: New file.
73778         * lib/unistr/u16-strpbrk.c: New file.
73779         * lib/unistr/u32-strpbrk.c: New file.
73780         * lib/unistr/u-strpbrk.h: New file.
73781
73782         * modules/unistr/u8-strrchr: New file.
73783         * modules/unistr/u16-strrchr: New file.
73784         * modules/unistr/u32-strrchr: New file.
73785         * lib/unistr/u8-strrchr.c: New file.
73786         * lib/unistr/u16-strrchr.c: New file.
73787         * lib/unistr/u32-strrchr.c: New file.
73788
73789         * modules/unistr/u8-strspn: New file.
73790         * modules/unistr/u16-strspn: New file.
73791         * modules/unistr/u32-strspn: New file.
73792         * lib/unistr/u8-strspn.c: New file.
73793         * lib/unistr/u16-strspn.c: New file.
73794         * lib/unistr/u32-strspn.c: New file.
73795         * lib/unistr/u-strspn.h: New file.
73796
73797         * modules/unistr/u8-strstr: New file.
73798         * modules/unistr/u16-strstr: New file.
73799         * modules/unistr/u32-strstr: New file.
73800         * lib/unistr/u8-strstr.c: New file.
73801         * lib/unistr/u16-strstr.c: New file.
73802         * lib/unistr/u32-strstr.c: New file.
73803         * lib/unistr/u-strstr.h: New file.
73804
73805         * modules/unistr/u8-strtok: New file.
73806         * modules/unistr/u16-strtok: New file.
73807         * modules/unistr/u32-strtok: New file.
73808         * lib/unistr/u8-strtok.c: New file.
73809         * lib/unistr/u16-strtok.c: New file.
73810         * lib/unistr/u32-strtok.c: New file.
73811         * lib/unistr/u-strtok.h: New file.
73812
73813         * modules/unistr/u8-uctomb: New file.
73814         * modules/unistr/u16-uctomb: New file.
73815         * modules/unistr/u32-uctomb: New file.
73816         * lib/unistr/u8-uctomb.c: New file.
73817         * lib/unistr/u16-uctomb.c: New file.
73818         * lib/unistr/u32-uctomb.c: New file.
73819
73820         * MODULES.html.sh (Unicode string functions): Add the new modules.
73821
73822 2007-01-08  Bruno Haible  <bruno@clisp.org>
73823
73824         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
73825         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
73826         subdirectories.
73827
73828 2007-01-08  Karl Berry  <karl@gnu.org>
73829
73830         * doc/error.texi: mention that main() fns must set program_name
73831         when progname is used.
73832
73833 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
73834
73835         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
73836         WCTYPE_H is empty, for the benefit of builds from non-distclean
73837         directories.  Problem reported by Eric Blake in
73838         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
73839
73840 2007-01-08  Bruno Haible  <bruno@clisp.org>
73841
73842         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
73843         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
73844         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
73845         PROVIDE_CANONICALIZE_FILENAME_MODE.
73846         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
73847
73848 2007-01-08  Bruno Haible  <bruno@clisp.org>
73849
73850         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
73851         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
73852         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
73853         * lib/fts.c: Likewise.
73854         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
73855
73856 2006-12-25  Bruno Haible  <bruno@clisp.org>
73857
73858         * modules/utf8-ucs4-safe: New file.
73859         * lib/utf8-ucs4-safe.h: New file.
73860         * lib/unistr/utf8-ucs4-safe.c: New file.
73861
73862         * modules/utf16-ucs4-safe: New file.
73863         * lib/utf16-ucs4-safe.h: New file.
73864         * lib/unistr/utf16-ucs4-safe.c: New file.
73865
73866         * MODULES.html.sh (Unicode string functions): Add the new modules.
73867
73868 2007-01-08  Bruno Haible  <bruno@clisp.org>
73869
73870         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
73871         (Depends-on): Add unitypes.
73872         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
73873         (u8_mbtouc_aux): Move out to separate file.
73874         (u8_mbtouc): Use ucs4_t, uint8_t types.
73875         * lib/unistr/utf8-ucs4.c: New file.
73876
73877         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
73878         (Depends-on): Add unitypes.
73879         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
73880         (u16_mbtouc_aux): Move out to separate file.
73881         (u16_mbtouc): Use ucs4_t, uint16_t types.
73882         * lib/unistr/utf16-ucs4.c: New file.
73883
73884         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
73885         (Depends-on): Add unitypes.
73886         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
73887         (u8_uctomb_aux): Move out to separate file.
73888         (u8_uctomb): Use ucs4_t, uint8_t types.
73889         * lib/unistr/ucs4-utf8.c: New file.
73890
73891         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
73892         (Depends-on): Add unitypes.
73893         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
73894         (u16_uctomb_aux): Move out to separate file.
73895         (u16_uctomb): Use ucs4_t, uint16_t types.
73896         * lib/unistr/ucs4-utf16.c: New file.
73897
73898 2006-12-25  Bruno Haible  <bruno@clisp.org>
73899
73900         * modules/unitypes: New file.
73901         * lib/unitypes.h: New file.
73902         * MODULES.html.sh (func_all_modules): New section "Unicode string
73903         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
73904         this section. Add unitypes.
73905
73906 2007-01-08  Bruno Haible  <bruno@clisp.org>
73907
73908         Avoid variable names that conflict with those from libtool.
73909         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
73910         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
73911         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
73912         library_names_spec to acl_library_names_spec, hardcode_* to
73913         acl_hardcode_*.
73914         Reported by Ralf Wildenhues.
73915
73916 2007-01-08  Bruno Haible  <bruno@clisp.org>
73917
73918         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
73919         definition.
73920         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
73921         definition.
73922         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
73923         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
73924         definition.
73925         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
73926         definition.
73927         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
73928         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
73929         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
73930         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
73931         definition.
73932         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
73933         definition.
73934         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
73935         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
73936         GC_USE_<algorithm>.
73937         * lib/gc-libgcrypt.c: Likewise.
73938         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
73939         * modules/gc-arctwo (configure.ac): Likewise.
73940         * modules/gc-des (configure.ac): Likewise.
73941         * modules/gc-hmac-md5 (configure.ac): Likewise.
73942         * modules/gc-hmac-sha1 (configure.ac): Likewise.
73943         * modules/gc-md2 (configure.ac): Likewise.
73944         * modules/gc-md4 (configure.ac): Likewise.
73945         * modules/gc-md5 (configure.ac): Likewise.
73946         * modules/gc-random (configure.ac): Likewise.
73947         * modules/gc-rijndael (configure.ac): Likewise.
73948         * modules/gc-sha1 (configure.ac): Likewise.
73949
73950 2007-01-08  Bruno Haible  <bruno@clisp.org>
73951
73952         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
73953         macro definition.
73954         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
73955         definition.
73956         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
73957         definition.
73958         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
73959         * modules/fcntl-safer (configure.ac): Likewise.
73960         * modules/fopen-safer (configure.ac): Likewise.
73961         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
73962         GNULIB_FWRITEERROR macro definition.
73963
73964 2007-01-08  Bruno Haible  <bruno@clisp.org>
73965
73966         * m4/gnulib-common.m4: New file.
73967         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
73968         (func_get_filelist): Add m4/gnulib-common.m4.
73969
73970 2007-01-08  Bruno Haible  <bruno@clisp.org>
73971
73972         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
73973         command.
73974
73975 2007-01-08  Jim Meyering  <jim@meyering.net>
73976
73977         Use a more robust test for a "can't happen" condition.
73978         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
73979         narrowed the st_size value.  Presuming the "can't happen" condition
73980         is true, that narrowing could conceivably convert an invalid st_size
73981         value into a valid one.  Instead, use a change based on Matthew
73982         Woehlke's original patch.
73983
73984         Slight readability improvement: use an assert-like macro
73985         in place of literal "abort ()" uses.
73986         * lib/fts.c (fts_assert): Define.
73987         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
73988         Use this macro instead of a bare 'abort'.
73989
73990 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
73991
73992         Don't worry about using IRIX 5.3's wctype.h broken definitions;
73993         simply work around them.
73994         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
73995         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
73996         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
73997         declaring.
73998         Don't bother to define as macros, since the standard doesn't require it.
73999         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
74000         longer worry about IRIX 5.3.
74001         (HAVE_WCTYPE_CTMP_BUG): Remove.
74002
74003 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
74004
74005         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
74006         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
74007         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
74008         Problems reported by Georg Schwarz for IRIX 5.3.
74009
74010         * gnulib-tool (autoconf_minversion): Take the maximum version number
74011         found, not the minimum.  Problem reported by James Youngman.
74012
74013 2007-01-03  Karl Berry  <karl@gnu.org>
74014
74015         * doc/error.texi: new file, explaining interaction with progname.
74016         * doc/gnulib.texi: include it.  Update copyright.
74017
74018 2007-01-03  Simon Josefsson  <simon@josefsson.org>
74019
74020         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
74021         AC_CANONICAL_HOST, to improve autobuild outputs.
74022
74023 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
74024             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74025
74026         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
74027         sockets, server sockets, and other file descriptors.  Count errors
74028         to compute the return value.  Reorder the code a bit to be easier
74029         to follow.  Don't set event bits that were not requested (except
74030         POLLERR and POLLHUP).
74031
74032 2007-01-01  Bruno Haible  <bruno@clisp.org>
74033
74034         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
74035
74036 2007-01-03  Jim Meyering  <jim@meyering.net>
74037
74038         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
74039
74040 2007-01-02  Bruno Haible  <bruno@clisp.org>
74041
74042         * modules/settime (Include): Require timespec.h.
74043         * modules/nanosleep (Include): Likewise.
74044
74045 2007-01-01  Bruno Haible  <bruno@clisp.org>
74046
74047         * gnulib-tool (func_emit_copyright_notice): Bump year.
74048         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
74049
74050 2007-01-01  Bruno Haible  <bruno@clisp.org>
74051
74052         Improve support for OpenBSD.
74053         * build-aux/config.rpath (libname_spec): Export.
74054         (library_names_spec): New variable. Export.
74055         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
74056         library_names_spec from the config.rpath output. Locate shared library
74057         through the name pattern in library_names_spec.
74058
74059 2007-01-01  Eric Blake  <ebb9@byu.net>
74060
74061         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
74062
74063 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
74064
74065         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
74066         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
74067         assume the C locale, and avoid an "eval" that could cause trouble.
74068         Problem with SORT reported by Bob Proulx.
74069
74070         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
74071         Define.  Trivial patch from Henning Nielsen Lund, originally
74072         sent to bug-grep@gnu.org today.
74073
74074 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
74075
74076         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
74077         struct stat.  Problem reported by Henning Nielsen Lund.
74078         * lib/acl.c: Include acl.h first, to check interface.  Don't
74079         bother to include sys/types.h and sys/stat.h again.
74080
74081 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
74082
74083         Import the following change from libc; problem reported by
74084         Sven Verdoolaege.
74085
74086         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
74087
74088         [BZ #1373]
74089         * lib/argp.h: Remove __NTH for __argp_usage inline function.
74090
74091 2006-12-28  Jim Meyering  <jim@meyering.net>
74092
74093         * build-aux/announce-gen: Do not assume that the package
74094         builds any of tar.gz, tar.bz2, and .xdelta files.
74095         Suggestion from Simon Josefsson.
74096
74097 2006-12-28  Simon Josefsson  <simon@josefsson.org>
74098
74099         * modules/announce-gen: New file.
74100
74101 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
74102
74103         * lib/mbchar.h: Just include <wctype.h>; the wctype module
74104         handles its gotchas now.
74105         * lib/mbswidth.c: Likewise.
74106         * lib/wcwidth.h: Likewise.
74107         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
74108         and iswcntrl; the wctype module does this stuff now.
74109         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
74110         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74111         * modules/mbchar (Depends-on): Add wctype.
74112         * modules/mbswidth (Depends-on): Likewise.
74113         * modules/wcwidth (Depends-on): Likewise.
74114
74115 2006-12-27  Eric Blake  <ebb9@byu.net>
74116
74117         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
74118         module uses more than what <wctype.h> is required to provide.
74119
74120 2006-12-26  Eric Blake  <ebb9@byu.net>
74121
74122         * gnulib-tool (sed_extract_prog): Avoid space-tab.
74123
74124 2006-12-26  Eric Blake  <ebb9@byu.net>
74125
74126         * modules/absolute-header: New module.
74127         * modules/fcntl (Depends-on): Depend on it.
74128         * modules/inttypes (Depends-on): Likewise.
74129         * modules/stdint (Depends-on): Likewise.
74130         * modules/sys_stat (Depends-on): Likewise.
74131         * modules/wctype (Depends-on): Likewise.
74132         * MODULES.html.sh (Support for building libraries and
74133         executables): Document it.
74134
74135 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
74136
74137         * gnulib-tool (SED): Remove, undoing previous change.
74138         The problem was that it broke coreutils on Solaris, because
74139         "sed --posix" leaked into a makefile.
74140         (sed): New alias, if 'alias' and GNU sed.
74141
74142 2006-12-24  Jim Meyering  <jim@meyering.net>
74143
74144         Work around an fchownat bug in glibc-2.4:
74145         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
74146         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
74147         in spite of the -P option.
74148         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
74149         New macros.
74150         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
74151         * modules/openat (Files): Add lib/fchownat.c.
74152         * lib/openat.c (fchownat): Don't define here.  Move to...
74153         * lib/fchownat.c: ...this new file.
74154
74155 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
74156
74157         Fix bug reported by Bruno Haible in
74158         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
74159         where quotearg.c didn't compile on Mac OS X 10.2 because it
74160         lacks <wchar.h> and wint_t.
74161         * lib/wctype_.h (__wctype_wint_t): New type.
74162         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
74163         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
74164         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
74165         Arg is now of type __wctype_wint_t, not wint_t.
74166         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
74167         substitute HAVE_WINT_T.
74168         * modules/wctype (Files): Add m4/wint_t.m4.
74169         (wctype.h): Substitute HAVE_WINT_T.
74170
74171 2006-12-23  Bruno Haible  <bruno@clisp.org>
74172
74173         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
74174
74175 2006-12-23  Bruno Haible  <bruno@clisp.org>
74176
74177         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
74178         S_ISLNK.
74179         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
74180         mingw.
74181
74182 2006-12-22  Bruno Haible  <bruno@clisp.org>
74183
74184         * lib/copy-file.c: Include acl.h.
74185         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
74186         Close the file descriptors only after being done with copy_acl.
74187         * modules/copy-file (Depends-on): Add acl.
74188
74189 2006-12-22  Bruno Haible  <bruno@clisp.org>
74190
74191         * gnulib-tool (SED): New variable.
74192         Use $SED instead of sed everywhere.
74193
74194 2006-12-22  Bruno Haible  <bruno@clisp.org>
74195
74196         * modules/no-c++: New file.
74197         * m4/no-c++.m4: New file.
74198         * MODULES.html.sh (Support for building libraries and executables):
74199         Add no-c++.
74200
74201 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
74202
74203         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
74204         Include <limits.h>, and use its INT_MAX to rewrite the
74205         j loop so that it does not overflow 'int'.  Problem reported by
74206         Ralf Wildenhues in
74207         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
74208         Play it safe by shifting left by 1 rather than multiplying by 2,
74209         as GCC is less likely to optimize this away when the value
74210         is signed (when it assumes overflow leads to undefined behavior).
74211         Also, don't assume time_t uses two's complement.
74212
74213 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
74214
74215         * MODULES.html.sh: New module wctype.
74216         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
74217         * lib/fnmatch.c: Don't bother to include <wchar.h> before
74218         <wctype.h>, since the new wctype module should fix this.
74219         * lib/quotearg.c: Include <wctype.h> unconditionally, since
74220         the wctype module should arrange for it.
74221         * lib/regex_internal.h: Likewise.
74222         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
74223         since the wctype module should handle this now.
74224         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
74225         * modules/fnmatch (Depends-on): Add wctype.
74226         * modules/quotearg (Depends-on): Likewise.
74227         * modules/regex (Depends-on): Likewise.
74228
74229 2006-12-19  Bruno Haible  <bruno@clisp.org>
74230
74231         * lib/strdup.h [C++]: Wrap definitions in extern "C".
74232         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
74233
74234 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74235
74236         * modules/savewd (Depends-on): Fix dependency on fcntl.
74237
74238 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
74239
74240         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
74241         conforms to C99, rather than relying on the user's environment
74242         setting of STDINT_H.
74243
74244 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
74245         and Eric Blake  <ebb9@byu.net>
74246
74247         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
74248         This is more consistent with the other defines here.
74249         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
74250         Port to z/OS.  Problem reported by Paul Gilmartin.
74251         Change local vars to use gl_ prefix rather than ac_.
74252         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
74253         with other defines.
74254         * modules/double-slash-root: New module.
74255         * modules/dirname (Files): Remove m4/double-slash-root.m4.
74256         (Depends-on): Add double-slash-root.
74257         * MODULES.html.sh (File system functions): Mention new module.
74258
74259 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
74260
74261         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
74262         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
74263         This is for the benefit of gzip, which doesn't do i18n.
74264
74265 2006-12-12  Jim Meyering  <jim@meyering.net>
74266
74267         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
74268         Reported by Andreas Schwab <schwab@suse.de>.
74269
74270 2006-12-12  Bruno Haible  <bruno@clisp.org>
74271
74272         Merge these changes.
74273         2006-09-05  Bruno Haible  <bruno@clisp.org>
74274         * lib/iconvme.c (iconv_string): No need to save and restore errno when
74275         iconv_alloc succeeded.
74276         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
74277         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
74278         test for " && dest " at the end - dest is always != NULL there. Call
74279         iconv with 4xNULL arguments initially, to reset the state. Call iconv
74280         with 2xNULL arguments, also to flush the state storage. Handle the
74281         IRIX iconv behaviour. Realloc the final result, to throw away unused
74282         memory.
74283
74284 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
74285
74286         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
74287         and fchmodat unconditionally, since glibc 2.4 has them.
74288         Problem reported by Arkadiusz Miskiewicz.
74289
74290 2006-12-10  Bruno Haible  <bruno@clisp.org>
74291
74292         * gnulib-tool (func_import): Show the include files only for those
74293         modules that are copied and specified.
74294         Reported by Karl Berry.
74295
74296 2006-12-08  Jim Meyering  <jim@meyering.net>
74297
74298         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
74299         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
74300
74301         * build-aux/announce-gen: Add two new options, both optional:
74302         --bootstrap-tools=TOOL_LIST
74303               a comma-separated list of tools, e.g.,
74304               autoconf,automake,bison,gnulib
74305         --gnulib-snapshot-date=DATE
74306               if gnulib is in the bootstrap tool list,
74307               then report this as the snapshot date.
74308               If not specified, use the current date/time.
74309               If you specify a date here, be sure it's UTC.
74310
74311 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74312
74313         * tests/test-argp-2.sh: Fix test to match actual output.
74314         (func_compare): Fix sed script to be portable.
74315
74316 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
74317
74318         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
74319         workaround for this case.  It is not autoconfigured now; offhand
74320         it's hard to see how to autoconfigure it.
74321
74322 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
74323
74324         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
74325         a directory that is about to be chowned.  Such a directory's
74326         initial file permissions should permit the owner only and this
74327         should not be changed until after the chown, since the group and
74328         other bits would be incorrect if they granted permission before
74329         the chown.
74330
74331         Fix porting problem for iswctype reported by Georg Schwarz in:
74332         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
74333         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
74334         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
74335         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
74336         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
74337
74338 2006-12-03  Jim Meyering  <jim@meyering.net>
74339
74340         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
74341         p->fts_statp may not yet be defined.
74342         (fts_read): Instead, set it in the caller, once p->fts_statp is
74343         sure to be defined, and corresponds to a top-level directory.
74344         This bug made du -x fail.  Here's the coreutils test case:
74345         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
74346         Reported by Mike Frysinger.
74347
74348 2006-12-01  Jim Meyering  <jim@meyering.net>
74349
74350         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
74351         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
74352         Reported by Simon Josefsson.
74353
74354 2006-11-30  Jim Meyering  <jim@meyering.net>
74355
74356         * m4/warning.m4: Use the all-permissive copyright notice
74357         recommended by RMS (rather than LGPL).
74358         * m4/vararrays.m4: Likewise.
74359         * m4/flexmember.m4: Likewise.
74360
74361 2006-11-29  Bruno Haible  <bruno@clisp.org>
74362
74363         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74364         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
74365         using +=.
74366         Reported by Simon Josefsson <simon@josefsson.org>.
74367
74368 2006-11-28  James Youngman <jay@gnu.org>
74369
74370         * README: Advise users that they might find the bug-gnulib@gnu.org
74371         and autotools-announce@gnu.org mailing lists useful.
74372
74373 2006-11-28  Bruno Haible  <bruno@clisp.org>
74374
74375         * m4/ptrdiff_max.m4: Remove file.
74376
74377 2006-11-21  Bruno Haible  <bruno@clisp.org>
74378
74379         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
74380         _AC_COMPUTE_INT.
74381         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
74382         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
74383         _AC_COMPUTE_INT.
74384         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
74385         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
74386         _AC_COMPUTE_INT.
74387         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
74388
74389 2006-11-28  Jim Meyering  <jim@meyering.net>
74390
74391         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
74392         warning from "gcc -Wshadow" about shadowing the builtin.
74393
74394 2006-11-27  Bruno Haible  <bruno@clisp.org>
74395
74396         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
74397         _AC_COMPUTE_INT.
74398         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
74399
74400 2006-11-27  Bruno Haible  <bruno@clisp.org>
74401             Paul Eggert  <eggert@cs.ucla.edu>
74402
74403         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
74404
74405 2006-11-26  Bruno Haible  <bruno@clisp.org>
74406
74407         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
74408         noinst_LTLIBRARIES.
74409
74410 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
74411             Bruno Haible  <bruno@clisp.org>
74412
74413         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
74414         if compiling with "gcc -ansi".
74415
74416 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
74417
74418         Fix some incompatibilities with gcc -ansi -pedantic.
74419         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
74420         if compiling pedantically with GCC, unless it's C99 or later.
74421         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
74422         it mishandles gcc -ansi -pedantic as well.
74423         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
74424         if gcc -pedantic.
74425         * lib/regexec.c (check_node_accept_bytes): Don't use auto
74426         initializers for struct if -pedantic, unless it's C99 or later.
74427
74428 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
74429
74430         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
74431         Don't close an fd more than once. Identical atimes indicate
74432         success, not failure.
74433
74434 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
74435
74436         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
74437
74438 2006-11-23  Jim Meyering  <jim@meyering.net>
74439
74440         * build-aux/announce-gen: New file.  From coreutils.
74441
74442 2006-11-22  Jim Meyering  <jim@meyering.net>
74443
74444         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
74445         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
74446         (fts_read): Use a temporary to narrow the overused st_size member
74447         before using it in a switch statement.  Reported by Matthew Woehlke.
74448
74449         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
74450         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
74451
74452 2006-11-20  Bruno Haible  <bruno@clisp.org>
74453
74454         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
74455         changequote instead of pairs of brackets.
74456         Reported by Andreas Schwab <schwab@suse.de>.
74457
74458 2006-11-21  Jim Meyering  <jim@meyering.net>
74459
74460         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
74461         so as to remain compatible with older compilers.
74462         Patch from Michael Deutschmann.
74463
74464 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
74465
74466         * MODULES.html.sh (File system functions): Add openat.
74467
74468         * lib/openat.h (rpl_fstatat): New macro, if
74469         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
74470         (fstatat): Define to rpl_fstatat under the same conditions,
74471         unless COMPILING_FSTATAT.
74472         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
74473         seems to have the bug.
74474         * lib/fstatat.c: New file.
74475         * modules/openat (Files): Add it.
74476
74477 2006-11-20  Bruno Haible  <bruno@clisp.org>
74478
74479         * Makefile: New file.
74480
74481 2006-11-20  Jim Meyering  <jim@meyering.net>
74482
74483         The beginnings of syntax-related checks for gnulib.
74484         * lib/Makefile: New file.
74485         * lib/t-idcache: New script.  Ensure that the two halves of
74486         idcache.c stay in sync.
74487
74488         * lib/idcache.c: Adjust comments in user- and group- portions to
74489         be more accurate, and to be consistent with one another.
74490
74491 2006-11-20  Jim Meyering  <jim@meyering.net>
74492
74493         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
74494         continue using the flexible array member (thus, this module performs
74495         half as many malloc calls), with the addition that...
74496         (getgroup, getuser): Consistently record a non-match via an empty
74497         "name" string, and map an empty string match to a NULL return value.
74498         * modules/idcache (Depends-on): Re-add flexmember.
74499
74500         * lib/idcache.c (getuser): Remove all uses of the register keyword.
74501         (getuidbyname, getgroup, getgidbyname): Likewise.
74502
74503         Use cleaner syntax: NULL rather than 0.
74504         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
74505
74506 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
74507
74508         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
74509         It mishandled the case where the group was missing.
74510         Problem reported by Greg Schafer.
74511         * modules/idcache: Likewise.
74512
74513 2006-11-18  Jim Meyering  <jim@meyering.net>
74514
74515         * check-module (%exempt_header): Add exception for some
74516         conditionally-included headers.
74517
74518         * modules/i-ring (Depends-on): Add verify.
74519         (License): Change to LGPL.
74520
74521 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
74522
74523         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
74524         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
74525         and inttostr.h.  Use snprintf rather than uinttostr, so that
74526         LGPLed code doesn't depend on GPLed.
74527
74528 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
74529
74530         * modules/inline (License): Change from GPL to LGPL.
74531
74532 2006-11-17  Jim Meyering  <jim@meyering.net>
74533
74534         * modules/d-type (License): Switch to LGPL.
74535
74536 2006-11-15  Bruno Haible  <bruno@clisp.org>
74537
74538         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
74539
74540 2006-11-15  Eric Blake  <ebb9@byu.net>
74541
74542         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
74543         the module dependency.
74544
74545 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74546             Bruno Haible  <bruno@clisp.org>
74547
74548         * gnulib-tool (func_create_testdir): Add license consistency check.
74549
74550 2006-11-15  Eric Blake  <ebb9@byu.net>
74551
74552         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
74553         random "(cached)" in configure output.
74554
74555 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74556
74557         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
74558         test for conforming inttypes.h is both announced and cached.
74559
74560         * MODULES.html.sh (seen_modules, seen_files): New variables.
74561         (func_module): Rewrite to use a few less gnulib-tool and sed
74562         invocations.  Avoid a couple of quadratic algorithms for ...
74563         (missed_modules, missed_files): ... these, with ...
74564         (func_append, func_tmpdir): ... these new functions, from
74565         gnulib-tool.  Analogously, install traps for cleanup.
74566
74567         * tests/test-gc.c (main): Remove unused variables.
74568         * tests/test-read-file.c: Include stdlib.h, for 'free'.
74569
74570 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
74571
74572         * modules/inttostr (License): Change to LGPL.
74573
74574 2006-11-14  Eric Blake  <ebb9@byu.net>
74575
74576         * modules/tempname (License): Change to LGPL.
74577
74578 2006-11-14  Eric Blake  <ebb9@byu.net>
74579
74580         * doc/functions.texi (Function Portability): *printf functions on
74581         Cygwin now understand all POSIX size specifiers.
74582
74583 2006-11-14  Bruno Haible  <bruno@clisp.org>
74584
74585         * modules/c-ctype (License): Change to LGPL.
74586
74587 2006-11-12  Bruno Haible  <bruno@clisp.org>
74588
74589         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
74590         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
74591         for GNOME libraries, for which the include files are installed in
74592         subdirectories of $prefix/include.
74593
74594 2006-11-12  Bruno Haible  <bruno@clisp.org>
74595
74596         * m4/lib-link.m4: Require at least autoconf-2.54.
74597         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
74598         name to underscores for the --with option.
74599
74600 2006-11-13  Bruno Haible  <bruno@clisp.org>
74601
74602         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
74603         the tests directory.
74604         Reported by Ralf Wildenhues.
74605
74606 2006-11-13  Bruno Haible  <bruno@clisp.org>
74607
74608         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
74609         (func_emit_initmacro_end): Undo the override here.
74610         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
74611         Works around the famous automake error in coreutils.
74612
74613 2006-11-13  Eric Blake  <ebb9@byu.net>
74614
74615         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
74616         element, not its node.
74617
74618 2006-11-12  Bruno Haible  <bruno@clisp.org>
74619
74620         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
74621         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
74622
74623 2006-11-12  Bruno Haible  <bruno@clisp.org>
74624
74625         * gnulib-tool: New option --local-symlink.
74626         (func_usage): Document it.
74627         (lsymbolic): New variable.
74628         (func_import, func_create_testdir): If --symlink was not specified,
74629         test whether --local-symlink was specified and the file comes from
74630         the local_gnulib_dir.
74631
74632 2006-11-12  Bruno Haible  <bruno@clisp.org>
74633
74634         * gnulib-tool (func_ln): New function.
74635         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
74636
74637 2006-11-12  Bruno Haible  <bruno@clisp.org>
74638
74639         Finish support for source files in subdirectories.
74640         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
74641         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
74642         AUTOMAKE_OPTIONS.
74643         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
74644
74645 2006-11-12  Bruno Haible  <bruno@clisp.org>
74646
74647         * gnulib-tool (func_get_automake_snippet): Synthesize also an
74648         EXTRA_lib_SOURCES augmentation.
74649         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
74650
74651 2006-11-12  Jim Meyering  <jim@meyering.net>
74652
74653         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
74654         file descriptors.  This also averts a failure on systems with
74655         native openat support when a traversed directory lacks "x" access.
74656         * lib/fts_.h: Include "i-ring.h"
74657         (struct FTS) [fts_fd_ring]: New member.
74658         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
74659         (FCHDIR): Add parentheses.
74660         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
74661         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
74662         When descending, rather than simply closing the previous
74663         fts_cwd_fd value, push that file descriptor onto the ring.
74664         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
74665         (fts_open): Initialize the new fd_ring member.
74666         (fts_close): Clear the ring.
74667         (fts_safe_changedir): When possible, use our new fd_ring to skip
74668         the diropen and fstat and dev/ino comparison that would normally
74669         accompany a virtual `chdir ("..")'.
74670
74671         * modules/fts (Depends-on): Add i-ring.
74672         * modules/i-ring: New module.
74673         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
74674         * m4/i-ring.m4: New file.
74675
74676 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74677
74678         * gnulib-tool (func_create_testdir): Fix replacement of
74679         `build-aux' in configure.ac.  Run autotools in gltests
74680         subdirectory.
74681         (func_create_testdir, func_create_megatestdir, test): There is
74682         no need for '--force' in most autotool invocations in a new
74683         tree.  Actually fail the whole test if any of the tools, or the
74684         configure or make stages fail.
74685
74686         Sync from Automake.
74687         * build-aux/gnupload: Revert last change.  Add pointer to upload
74688         instructions of the GNU Maintenance Instructions.
74689         Suggestion by Karl Berry.
74690
74691 2006-11-10  Jim Meyering  <jim@meyering.net>
74692
74693         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
74694
74695 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74696
74697         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
74698         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
74699         (bind_textdomain_codeset) [! ENABLE_NLS]:
74700         Evaluate all the arguments.  That way, callers get compatible behavior
74701         if the arguments have side effects.  Also, it avoids some GCC
74702         diagnostics in some cases; Joel E. Denny reported problems when Bison
74703         was configured with --enable-gcc-warnigs.
74704
74705 2006-11-10  Jim Meyering  <jim@meyering.net>
74706
74707         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
74708         relevant options in CFLAGS (like -O, -fno-inline) are taken into
74709         account.
74710
74711 2006-11-10  Jim Meyering  <jim@meyering.net>
74712
74713         * modules/inline: New file/module.
74714         * modules/xalloc (Files): Remove m4/inline.m4.
74715         (Depends-on): Add inline, instead.
74716         * modules/oset: Likewise.
74717         * modules/list: Likewise.
74718
74719 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
74720
74721         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
74722         Problem reported by Matthew Woehlke.
74723
74724 2006-11-09  Bruno Haible  <bruno@clisp.org>
74725
74726         * lib/tempname.c (gen_tempname): Remove variant that invokes
74727         __gen_tempname.
74728         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
74729         __gen_tempname.
74730
74731 2006-11-08  Bruno Haible  <bruno@clisp.org>
74732
74733         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
74734         to 'yes' instead of 'cross-compiling'.
74735
74736 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
74737
74738         * lib/quotearg.h (quotearg_free): New decl.
74739         * lib/quotearg.c (quotearg_free): New function.
74740         (slot0, nslots, slotvec0, slotvec):
74741         Now file-scope so that quotearg_free can get at them.
74742
74743 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74744
74745         Sync from Automake.
74746         * build-aux/gnupload: Add missing 'gnu' to example URL.
74747         Report by Karl Berry.
74748
74749 2006-11-08  Bruno Haible  <bruno@clisp.org>
74750
74751         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
74752         Suggested by Paul Eggert.
74753
74754 2006-11-08  Jim Meyering  <jim@meyering.net>
74755
74756         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
74757         It's already included if !_LIBC.
74758         (fts_safe_changedir): Add a comment.
74759
74760 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
74761
74762         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
74763         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
74764         Matthew Woehlke.
74765
74766         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
74767         definitions up, to avoid colliding with change below.
74768         (static_inline) [HAVE_INLINE]: New macro.
74769         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
74770         Provide extern decls when !HAVE_INLINE.  Do not define unless
74771         static_inline is defined, either by us or by xmalloc.c.  Use
74772         static_inline rather than static inline.
74773         (XCALLOC): Optimize sizeof(T) = 1 case.
74774         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
74775
74776 2006-11-07  Bruno Haible  <bruno@clisp.org>
74777
74778         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
74779         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
74780         AC_C_INLINE.
74781         * modules/xalloc (Files): Add m4/inline.m4.
74782
74783 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74784
74785         * README: Fix typo.
74786         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
74787         (Miscellanous Notes): ...from this.
74788
74789 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
74790
74791         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
74792         Mention that offsetof should be used instead of sizeof.
74793         From Bruno Haible.
74794
74795 2006-11-07  Bruno Haible  <bruno@clisp.org>
74796
74797         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
74798
74799 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
74800
74801         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
74802         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
74803         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
74804         (gl_tree_add_before, gl_tree_add_after):
74805         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
74806         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
74807         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
74808         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
74809         (gl_linked_add_after, gl_linked_add_at): Likewise.
74810         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
74811         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
74812         (gl_tree_add_before, gl_tree_add_after): Likewise.
74813         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
74814         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
74815         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
74816
74817 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74818
74819         * lib/gl_oset.h: Use C comment style, not C++ comment style.
74820
74821 2006-11-06  Bruno Haible  <bruno@clisp.org>
74822
74823         * m4/inline.m4: New file.
74824         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
74825         * modules/list (Files): Add m4/inline.m4.
74826         * modules/oset (Files): Likewise.
74827
74828 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
74829
74830         * lib/idcache.c: Include <stddef.h>, for offsetof.
74831         (struct userid.name): Change from char * to a flexible array member.
74832         All uses changed.
74833         * modules/idcache (Depends-on): Add flexmember.
74834
74835         * MODULES.html.sh (Core language properties): New module flexmember.
74836         * modules/flexmember, m4/flexmember.m4: New files.
74837
74838         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
74839         inline functions that are identical with the old xnmalloc_inline,
74840         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
74841         that we can avoid some unnecessary integer multiplications and
74842         divisions in the common case where the element size is known at
74843         compile time.
74844         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
74845         needed.
74846         (xnboundedmalloc): Remove.
74847         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
74848         arguments, for consistency with rest of this header.
74849         (xcharalloc): Rewrite using XNMALLOC.
74850         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
74851         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
74852         versions have been moved to lib/xalloc.h and renamed to be the
74853         non-*_inline versions.
74854         (xmalloc, xrealloc): Implement without reference to the xnmalloc
74855         and xnrealloc functions, since those functions are now inline and
74856         now call us.
74857         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
74858         renaming described above.
74859         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
74860         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
74861         captures the dependency in AC_C_INLINE.
74862
74863         New module canonicalize-lgpl, proposed by Charles Wilson in
74864         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
74865         with a few small changes afterwards.
74866         * MODULES.html.sh (File system functions): New module
74867         canonicalize-lgpl.
74868         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
74869         and canonicalize_file_name.
74870         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
74871         * modules/canonicalize-lgpl: New files.
74872
74873 2006-11-05  Bruno Haible  <bruno@clisp.org>
74874
74875         * gnulib-tool (func_import, func_create_testdir): Create directories
74876         also for files in subdirectories of lib/.
74877
74878 2006-11-05  Bruno Haible  <bruno@clisp.org>
74879
74880         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
74881         ANSI C compliant.
74882
74883 2006-11-03  Bruno Haible  <bruno@clisp.org>
74884
74885         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
74886         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
74887         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
74888         (xnboundedmalloc): New inline function.
74889         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
74890         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
74891         xmalloc.
74892         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
74893         xmalloc.
74894         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
74895         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
74896         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
74897         xmalloc.
74898         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
74899         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
74900         xmalloc.
74901         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
74902         gl_tree_add_after): Use XMALLOC instead of xmalloc.
74903         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
74904         xmalloc.
74905         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
74906         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
74907         gl_tree_add_after): Use XMALLOC instead of xmalloc.
74908         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
74909         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
74910         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
74911         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
74912
74913 2006-11-03  Bruno Haible  <bruno@clisp.org>
74914
74915         * lib/c-ctype.h [C++]: Define functions without name mangling.
74916         * lib/fwriteerror.h [C++]: Likewise.
74917         * lib/gcd.h [C++]: Likewise.
74918         * lib/linebreak.h [C++]: Likewise.
74919
74920 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
74921
74922         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
74923         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
74924         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
74925         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
74926         Check for functions and headers just once.
74927         Check for declaration of canonicalize_file_name.
74928         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
74929
74930 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74931
74932         * gnulib-tool (func_import): Fix typo in actioncmd.
74933
74934 2006-11-02  Bruno Haible  <bruno@clisp.org>
74935
74936         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
74937         newline sequence in the Makefile.am snippet as a space, like "make"
74938         does.
74939         Reported by Roger Persson <perrog@gmail.com>.
74940
74941 2006-11-01  Bruno Haible  <bruno@clisp.org>
74942
74943         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
74944         already declared in <string.h>.
74945         * lib/strcase.h (strncasecmp): Don't declare it if yes.
74946
74947 2006-11-01  Bruno Haible  <bruno@clisp.org>
74948
74949         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
74950         * lib/strcase.h: Include <string.h>.
74951         (strcasecmp): Define to rpl_strcasecmp here.
74952
74953 2006-11-01  Bruno Haible  <bruno@clisp.org>
74954
74955         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
74956
74957 2006-11-01  Eric Blake  <ebb9@byu.net>
74958
74959         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
74960
74961         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
74962
74963 2006-10-29  Bruno Haible  <bruno@clisp.org>
74964
74965         Make it compile in C++ mode.
74966         * lib/full-write.c (full_rw): Add a cast.
74967
74968 2006-11-01  Bruno Haible  <bruno@clisp.org>
74969
74970         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
74971         be POSIX compliant.
74972         Reported by Roger Persson <perrog@gmail.com>.
74973
74974 2006-11-01  Eric Blake  <ebb9@byu.net>
74975
74976         * lib/getopt_.h: Fix comments.
74977
74978 2006-10-31  Eric Blake  <ebb9@byu.net>
74979
74980         * modules/tmpdir (Depends-on): Add sys_stat.
74981         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
74982         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
74983         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
74984         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
74985         tempname.
74986
74987 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
74988
74989         Avoid some C++ diagnostics reported by Bruno Haible.
74990         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
74991         xmalloc.
74992         (quotearg_alloc): Use xcharalloc rather than xmalloc.
74993         (struct slotvec): Move to top level.
74994         (quotearg_n_options): Rewrite to avoid xmalloc.
74995         * lib/xalloc.h (xcharalloc): New function.
74996         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
74997         [defined __cplusplus]: Add function template that provides result
74998         type propagation.  This part of the change is from Bruno Haible.
74999
75000 2006-10-29  Bruno Haible  <bruno@clisp.org>
75001
75002         Make it compile in C++ mode.
75003         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
75004         * lib/strnlen1.c (strnlen1): Cast memchr result.
75005         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
75006         * lib/clean-temp.c (string_equals, string_hash): Add casts.
75007         (create_temp_dir): Rename local variable 'template'.
75008         (compile_csharp_using_sscli): Add cast.
75009         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
75010         * lib/findprog.c (find_in_path): Likewise.
75011         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
75012         * lib/wait-process.c (register_slave_subprocess): Likewise.
75013
75014 2006-10-22  Bruno Haible  <bruno@clisp.org>
75015
75016         * modules/tsearch: New file.
75017         * lib/tsearch.h: New file.
75018         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
75019         * m4/tsearch.m4: New file.
75020         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
75021
75022 2006-10-29  Eric Blake  <ebb9@byu.net>
75023
75024         * lib/arcfour.c: Assume config.h.
75025         * lib/arctwo.c: Likewise.
75026         * lib/base64.c: Likewise.
75027         * lib/check-version.c: Likewise.
75028         * lib/crc.c: Likewise.
75029         * lib/des.c: Likewise.
75030         * lib/gc-gnulib.c: Likewise.
75031         * lib/gc-libgcrypt.c: Likewise.
75032         * lib/gc-pbkdf2-sha1.c: Likewise.
75033         * lib/getaddrinfo.c: Likewise.
75034         * lib/getdelim.c: Likewise.
75035         * lib/getline.c: Likewise.
75036         * lib/hmac-md5.c: Likewise.
75037         * lib/hmac-sha1.c: Likewise.
75038         * lib/iconvme.c: Likewise.
75039         * lib/md2.c: Likewise.
75040         * lib/md4.c: Likewise.
75041         * lib/memxor.c: Likewise.
75042         * lib/read-file.c: Likewise.
75043         * lib/readline.c: Likewise.
75044         * lib/rijndael-alg-fst.c: Likewise.
75045         * lib/rijndael-api-fst.c: Likewise.
75046         * lib/xgetdomainname.c: Likewise.
75047
75048 2006-10-28  Eric Blake  <ebb9@byu.net>
75049
75050         * lib/xstrndup.c: Assume config.h.
75051
75052 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
75053
75054         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
75055         stat-macros.h is now for our own macros, whereas stat_h is for
75056         macros in the <sys/stat.h> name space.
75057         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
75058         (STAT_MACROS_H): Remove.
75059         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
75060         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
75061         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
75062         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
75063         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
75064         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
75065         Move these macros to ...
75066         * lib/stat_.h: here.  Don't include stat-macros.h.
75067         * lib/canonicalize.c: Don't include stat-macros.h.
75068         * lib/chown.c: Likewise.
75069         * lib/euidaccess.c: Likewise.
75070         * lib/file-type.c: Likewise.
75071         * lib/filemode.c: Likewise.
75072         * lib/glob.c: Likewise.
75073         * lib/isapipe.c: Likewise.
75074         * lib/lchown.c: Likewise.
75075         * lib/lstat.c: Likewise.
75076         * lib/mkdir-p.c: Likewise.
75077         * lib/rmdir.c: Likewise.
75078         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
75079         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
75080         unless mkdir isn't declared, to speed up 'configure'.
75081         Always create sys/stat.h, since it's unlikely any real sys/stat.h
75082         would define all the S_* symbols.
75083         * modules/canonicalize (Depends-on):
75084         Depend on sys_stat, not stat-macros.
75085         * modules/chown: Likewise.
75086         * modules/euidaccess: Likewise.
75087         * modules/filemode: Likewise.
75088         * modules/file-type: Likewise.
75089         * modules/glob: Likewise.
75090         * modules/isapipe: Likewise.
75091         * modules/lchown: Likewise.
75092         * modules/lstat: Likewise.
75093         * modules/mkancesdirs: Likewise.
75094         * modules/rmdir: Likewise.
75095         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
75096         * modules/modechange: Likewise.
75097         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
75098         (configure.ac): Remove gl_STAT_MACROS.
75099         * modules/sys_stat (Depends-on): Remove stat-macros.
75100
75101 2006-10-27  Bruno Haible  <bruno@clisp.org>
75102
75103         * m4/signed.m4: Remove file.
75104         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
75105         invocation.
75106         * modules/vasnprintf (Files): Remove m4/signed.m4.
75107
75108 2006-10-27  Bruno Haible  <bruno@clisp.org>
75109
75110         Update to GNU gettext 0.16.
75111         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
75112         m4/inttypes-h.m4, m4/signed.m4.
75113         * m4/gettext.m4: Update to GNU gettext 0.16.
75114         * m4/intl.m4: New file, from GNU gettext.
75115         * m4/intldir.m4: New file, from GNU gettext.
75116         * config/srclist.txt: Update
75117
75118 2006-10-27  Eric Blake  <ebb9@byu.net>
75119
75120         * MODULES.html.sh: Document tempname.
75121         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
75122         dependencies.
75123         (Files): Move lib/tempname.c...
75124         * modules/tempname: ...to this new module.
75125         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
75126         (gl_PREREQ_TEMPNAME): Move...
75127         * m4/tempname.m4: ...to this new file.
75128         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
75129         * modules/sys_stat (Depends-on): Add stat-macros.
75130         * lib/stat_.h (includes): Pick up stat macros.
75131         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
75132         if stat macros are broken.
75133         * lib/tempname.c (includes): No need to include "stat-macros.h".
75134         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
75135         (direxists, __path_search) [!_LIBC]: Don't compile these in
75136         gnulib; the tmpdir module covers that.
75137         * lib/tempname.h: New file.
75138
75139 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
75140
75141         * COPYING: Explain how gnulib-tool converts licence headers.
75142         Almost all wording by Eric Blake.
75143
75144 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
75145
75146         * lib/mbchar.h (is_basic_table): Make read-only.
75147         * lib/mbchar.c (is_basic_table): Likewise.
75148         Reported by John Darrington.
75149
75150 2006-10-25  Bruno Haible  <bruno@clisp.org>
75151
75152         * lib/progname.h (set_program_name): Undefine before defining.
75153
75154 2006-10-25  Bruno Haible  <bruno@clisp.org>
75155
75156         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
75157         false for non-gcc C++ compilers.
75158         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
75159
75160 2006-10-24  Bruno Haible  <bruno@clisp.org>
75161
75162         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
75163         iconv implementations like Irix iconv.
75164
75165 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75166
75167         * modules/vararrays: New file.
75168         * m4/vararrays.m4: New file, taken from diffutils.
75169         * MODULES.html.sh: New module vararrays.
75170
75171 2006-10-24  Karl Berry  <karl@gnu.org>
75172
75173         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
75174         Don't call GNU Unix.
75175
75176 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75177
75178         * users.txt: Add Libtool.
75179
75180         Sync from Libtool:
75181
75182         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75183
75184         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
75185         to gnulib's policy of including config.h unconditionally.
75186
75187 2006-10-24  Bruno Haible  <bruno@clisp.org>
75188
75189         * modules/wcwidth (Files): Add m4/wint_t.m4.
75190         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
75191         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
75192
75193 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
75194
75195         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
75196         to pacify GCC with some -W flags enabled.  Problem reported by
75197         Bruno Haible.
75198
75199 2006-10-24  Jim Meyering  <jim@meyering.net>
75200
75201         * MODULES.html.sh: Remove uinttostr.  It's not a module.
75202         Reported by Karl Berry.
75203
75204 2006-10-23  Bruno Haible  <bruno@clisp.org>
75205
75206         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
75207
75208 2006-10-24  Bruno Haible  <bruno@clisp.org>
75209
75210         * lib/gl_list.h: Use C comment style, not C++ comment style.
75211
75212 2006-10-23  Eric Blake  <ebb9@byu.net>
75213
75214         * lib/getaddrinfo.c (includes): Add missing include.
75215
75216 2006-10-23  Bruno Haible  <bruno@clisp.org>
75217             Paul Eggert  <eggert@cs.ucla.edu>
75218
75219         Ability to rename obstack_free.
75220         * lib/obstack.h (__obstack_free): New macro. Declare instead of
75221         obstack_free.
75222         (obstack_free): Invoke the __obstack_free macro.
75223         * lib/obstack.c (obstack_free): Use __obstack_free macro.
75224
75225 2006-10-23  Bruno Haible  <bruno@clisp.org>
75226             Paul Eggert  <eggert@cs.ucla.edu>
75227
75228         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
75229         __argc, __argv from the declaration. (They are defined as macros on
75230         mingw.)
75231
75232 2006-10-22  Bruno Haible  <bruno@clisp.org>
75233
75234         * doc/gnulib-intro.texi: New file.
75235         * doc/gnulib.texi: Include it.
75236
75237 2006-10-21  Bruno Haible  <bruno@clisp.org>
75238
75239         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
75240         "Introduction", "Miscellanous Notes", "Particular Modules".
75241
75242 2006-10-21  Bruno Haible  <bruno@clisp.org>
75243
75244         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
75245         Change mostlyclean-local rule to avoid sh syntax error from bash
75246         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
75247
75248 2006-10-23  Jim Meyering  <jim@meyering.net>
75249
75250         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
75251         in place of snprintf.
75252
75253         * modules/inttostr (Files): Add lib/uinttostr.c.
75254         * lib/uinttostr.c (inttostr): New file/function.
75255         * lib/inttostr.h (uinttostr): Declare.
75256         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
75257         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
75258         Add uinttostr.
75259         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
75260
75261 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
75262
75263         * lib/canonicalize.c (ELOOP): Define if not already defined.
75264         Problem reported by Bruno Haible in
75265         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
75266
75267 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
75268
75269         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
75270         Problem reported by Perry Smith and Ville Laurikari.
75271
75272         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
75273         uses.
75274
75275 2006-10-19  Bruno Haible  <bruno@clisp.org>
75276
75277         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
75278         for mingw.
75279
75280 2006-10-19  Bruno Haible  <bruno@clisp.org>
75281
75282         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
75283         Needed for mingw.
75284
75285 2006-10-19  Bruno Haible  <bruno@clisp.org>
75286
75287         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
75288
75289 2006-10-19  Bruno Haible  <bruno@clisp.org>
75290
75291         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
75292         it.
75293
75294 2006-10-19  Bruno Haible  <bruno@clisp.org>
75295
75296         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
75297         invocation.
75298
75299 2006-10-19  Bruno Haible  <bruno@clisp.org>
75300
75301         * gnulib-tool (func_create_testdir): Don't include ftruncate and
75302         mountlist by default.
75303
75304 2006-10-16  Bruno Haible  <bruno@clisp.org>
75305
75306         * lib/c-strstr.c: Include c-strstr.h.
75307
75308 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
75309
75310         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
75311         in a slash.
75312
75313 2006-10-18  Bruno Haible  <bruno@clisp.org>
75314
75315         * lib/lock.h [C++]: Wrap definitions in extern "C".
75316
75317 2006-10-18  Bruno Haible  <bruno@clisp.org>
75318
75319         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
75320         gl_LIBOBJS list.
75321
75322 2006-10-18  Bruno Haible  <bruno@clisp.org>
75323
75324         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
75325
75326 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
75327
75328         * lib/xstrtol.h: Include gettext.h.
75329         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
75330         Problem reported by Eric Blake.
75331         * modules/xstrtol (Depends-on): Add gettext-h.
75332
75333 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
75334
75335         * lib/strftime.c (advance): New macro.
75336         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
75337         incomplete type, so you can't add 0 to it.  Problem and patch
75338         reported by Eelco Dolstra for dietlibc.
75339
75340 2006-10-18  Jim Meyering  <jim@meyering.net>
75341
75342         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
75343         type for a local, and rename it: s/up/user_proc/.
75344
75345 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
75346
75347         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
75348         READ_UTMP_USER_PROCESS.
75349         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
75350
75351 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
75352
75353         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
75354         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
75355
75356 2006-10-17  Eric Blake  <ebb9@byu.net>
75357
75358         * lib/sigprocmask.c (sigprocmask): Fix typo.
75359
75360         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
75361
75362         * modules/clean-temp (Makefile.am): Don't add to make output...
75363         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
75364         config.h.
75365
75366 2006-10-17  Bruno Haible  <bruno@clisp.org>
75367
75368         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
75369         differently if DEFAULT_TEXT_DOMAIN is set.
75370
75371 2006-10-16  Bruno Haible  <bruno@clisp.org>
75372
75373         * lib/clean-temp.c: Include fwriteerror.h.
75374
75375 2006-10-16  Bruno Haible  <bruno@clisp.org>
75376
75377         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
75378
75379 2006-10-16  Bruno Haible  <bruno@clisp.org>
75380
75381         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
75382         * lib/sigprocmask.h: Include <sys/types.h>.
75383         (sigset_t): Use the system's definition if present.
75384
75385 2006-10-17  Eric Blake  <ebb9@byu.net>
75386
75387         * lib/xvasprintf.c (includes): Assume config.h.
75388         * lib/xasprintf.c (includes): Likewise.
75389
75390 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
75391
75392         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
75393         at least as wide as intmax_t.
75394
75395 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
75396
75397         (Imported from Automake.)
75398         * build-aux/gnupload: Update to version 1.1 of directive file.
75399
75400 2006-10-16  Eric Blake  <ebb9@byu.net>
75401
75402         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
75403         match Automake 1.10a.
75404
75405 2006-10-14  Bruno Haible  <bruno@clisp.org>
75406
75407         * modules/sigprocmask: New file.
75408         * lib/sigprocmask.h: New file.
75409         * lib/sigprocmask.c: New file.
75410         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
75411         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
75412         request sigprocmask.o.
75413         (gl_PREREQ_SIGPROCMASK): New macro.
75414         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
75415         (Depends-on): Add sigprocmask.
75416         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
75417         gt_SIGNALBLOCKING. Test for 'raise' only once.
75418         * lib/fatal-signal.c: Include sigprocmask.h.
75419         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
75420         unblock_fatal_signals): Define always.
75421         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
75422         sigprocmask.
75423
75424 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
75425
75426         Sync from Automake.
75427         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
75428         which incorrectly sets the mode of an existing destination
75429         directory.  In some cases the unpatched install-sh could do the
75430         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
75431         system.  We hope this is rare in practice, but it's clearly worth
75432         fixing.  Problem reported by Alex Unleashed in
75433         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
75434         Also, don't bother to check for -m bugs unless we're using -m;
75435         suggested by Stepan Kasal.
75436
75437 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75438
75439         Sync from Automake.
75440         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
75441         `-c' flag, so they appear at the same position as in %FASTDEP%
75442         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
75443         which ignores unknown options only after the first non-option.
75444         Bug report against M4 by Nelson H. F. Beebe.
75445
75446 2006-10-13  Jim Meyering  <jim@meyering.net>
75447
75448         Fix a bug in yesterday's change.
75449         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
75450         p->fts_statp->st_dev would be used uninitialized.
75451         Ensures that we always call fts_stat on the very first entry.
75452         Miklos Szeredi reported that find -xdev stopped working.
75453
75454 2006-10-12  Bruno Haible  <bruno@clisp.org>
75455
75456         * gnulib-tool (func_get_automake_snippet): Append an automatically
75457         computed EXTRA_DIST augmentation.
75458         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
75459         * modules/alloca-opt (Makefile.am): Likewise.
75460         * modules/allocsa (Makefile.am): Likewise.
75461         * modules/arcfour (Makefile.am): Likewise.
75462         * modules/arctwo (Makefile.am): Likewise.
75463         * modules/argmatch (Makefile.am): Likewise.
75464         * modules/argz (Makefile.am): Likewise.
75465         * modules/atexit (Makefile.am): Likewise.
75466         * modules/backupfile (Makefile.am): Likewise.
75467         * modules/byteswap (Makefile.am): Likewise.
75468         * modules/c-strtod (Makefile.am): Likewise.
75469         * modules/c-strtold (Makefile.am): Likewise.
75470         * modules/calloc (Makefile.am): Likewise.
75471         * modules/canon-host (Makefile.am): Likewise.
75472         * modules/canonicalize (Makefile.am): Likewise.
75473         * modules/chdir-long (Makefile.am): Likewise.
75474         * modules/chdir-safer (Makefile.am): Likewise.
75475         * modules/check-version (Makefile.am): Likewise.
75476         * modules/chown (Makefile.am): Likewise.
75477         * modules/cloexec (Makefile.am): Likewise.
75478         * modules/close-stream (Makefile.am): Likewise.
75479         * modules/closeout (Makefile.am): Likewise.
75480         * modules/crc (Makefile.am): Likewise.
75481         * modules/csharpexec (Makefile.am): Likewise.
75482         * modules/cycle-check (Makefile.am): Likewise.
75483         * modules/des (Makefile.am): Likewise.
75484         * modules/dev-ino (Makefile.am): Likewise.
75485         * modules/dirfd (Makefile.am): Likewise.
75486         * modules/dirname (Makefile.am): Likewise.
75487         * modules/dup2 (Makefile.am): Likewise.
75488         * modules/eealloc (Makefile.am): Likewise.
75489         * modules/error (Makefile.am): Likewise.
75490         * modules/euidaccess (Makefile.am): Likewise.
75491         * modules/exclude (Makefile.am): Likewise.
75492         * modules/exitfail (Makefile.am): Likewise.
75493         * modules/fcntl-safer (Makefile.am): Likewise.
75494         * modules/fcntl (Makefile.am): Likewise.
75495         * modules/file-type (Makefile.am): Likewise.
75496         * modules/fileblocks (Makefile.am): Likewise.
75497         * modules/filemode (Makefile.am): Likewise.
75498         * modules/filenamecat (Makefile.am): Likewise.
75499         * modules/fnmatch (Makefile.am): Likewise.
75500         * modules/fopen-safer (Makefile.am): Likewise.
75501         * modules/fpending (Makefile.am): Likewise.
75502         * modules/fprintftime (Makefile.am): Likewise.
75503         * modules/free (Makefile.am): Likewise.
75504         * modules/fsusage (Makefile.am): Likewise.
75505         * modules/ftruncate (Makefile.am): Likewise.
75506         * modules/fts (Makefile.am): Likewise.
75507         * modules/gc-arcfour (Makefile.am): Likewise.
75508         * modules/gc-des (Makefile.am): Likewise.
75509         * modules/gc-hmac-md5 (Makefile.am): Likewise.
75510         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
75511         * modules/gc-md4 (Makefile.am): Likewise.
75512         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
75513         * modules/gc-sha1 (Makefile.am): Likewise.
75514         * modules/gc (Makefile.am): Likewise.
75515         * modules/getaddrinfo (Makefile.am): Likewise.
75516         * modules/getcwd (Makefile.am): Likewise.
75517         * modules/getdelim (Makefile.am): Likewise.
75518         * modules/getdomainname (Makefile.am): Likewise.
75519         * modules/getgroups (Makefile.am): Likewise.
75520         * modules/gethostname (Makefile.am): Likewise.
75521         * modules/gethrxtime (Makefile.am): Likewise.
75522         * modules/getline (Makefile.am): Likewise.
75523         * modules/getloadavg (Makefile.am): Likewise.
75524         * modules/getlogin_r (Makefile.am): Likewise.
75525         * modules/getndelim2 (Makefile.am): Likewise.
75526         * modules/getopt (Makefile.am): Likewise.
75527         * modules/getpagesize (Makefile.am): Likewise.
75528         * modules/getpass-gnu (Makefile.am): Likewise.
75529         * modules/getpass (Makefile.am): Likewise.
75530         * modules/getsubopt (Makefile.am): Likewise.
75531         * modules/gettime (Makefile.am): Likewise.
75532         * modules/gettimeofday (Makefile.am): Likewise.
75533         * modules/getugroups (Makefile.am): Likewise.
75534         * modules/getusershell (Makefile.am): Likewise.
75535         * modules/glob (Makefile.am): Likewise.
75536         * modules/group-member (Makefile.am): Likewise.
75537         * modules/hard-locale (Makefile.am): Likewise.
75538         * modules/hash (Makefile.am): Likewise.
75539         * modules/hmac-md5 (Makefile.am): Likewise.
75540         * modules/hmac-sha1 (Makefile.am): Likewise.
75541         * modules/human (Makefile.am): Likewise.
75542         * modules/idcache (Makefile.am): Likewise.
75543         * modules/imaxabs (Makefile.am): Likewise.
75544         * modules/imaxdiv (Makefile.am): Likewise.
75545         * modules/inet_ntop (Makefile.am): Likewise.
75546         * modules/inet_pton (Makefile.am): Likewise.
75547         * modules/intprops (Makefile.am): Likewise.
75548         * modules/inttostr (Makefile.am): Likewise.
75549         * modules/inttypes (Makefile.am): Likewise.
75550         * modules/isapipe (Makefile.am): Likewise.
75551         * modules/javaversion (Makefile.am): Likewise.
75552         * modules/lchmod (Makefile.am): Likewise.
75553         * modules/lchown (Makefile.am): Likewise.
75554         * modules/localcharset (Makefile.am): Likewise.
75555         * modules/long-options (Makefile.am): Likewise.
75556         * modules/lstat (Makefile.am): Likewise.
75557         * modules/malloc (Makefile.am): Likewise.
75558         * modules/mathl (Makefile.am): Likewise.
75559         * modules/mbchar (Makefile.am): Likewise.
75560         * modules/md2 (Makefile.am): Likewise.
75561         * modules/md4 (Makefile.am): Likewise.
75562         * modules/md5 (Makefile.am): Likewise.
75563         * modules/memcasecmp (Makefile.am): Likewise.
75564         * modules/memchr (Makefile.am): Likewise.
75565         * modules/memcmp (Makefile.am): Likewise.
75566         * modules/memcoll (Makefile.am): Likewise.
75567         * modules/memcpy (Makefile.am): Likewise.
75568         * modules/memmem (Makefile.am): Likewise.
75569         * modules/memmove (Makefile.am): Likewise.
75570         * modules/mempcpy (Makefile.am): Likewise.
75571         * modules/memrchr (Makefile.am): Likewise.
75572         * modules/memset (Makefile.am): Likewise.
75573         * modules/memxor (Makefile.am): Likewise.
75574         * modules/mkancesdirs (Makefile.am): Likewise.
75575         * modules/mkdir-p (Makefile.am): Likewise.
75576         * modules/mkdir (Makefile.am): Likewise.
75577         * modules/mkdtemp (Makefile.am): Likewise.
75578         * modules/mkstemp (Makefile.am): Likewise.
75579         * modules/mktime (Makefile.am): Likewise.
75580         * modules/modechange (Makefile.am): Likewise.
75581         * modules/mountlist (Makefile.am): Likewise.
75582         * modules/nanosleep (Makefile.am): Likewise.
75583         * modules/obstack (Makefile.am): Likewise.
75584         * modules/openat (Makefile.am): Likewise.
75585         * modules/pagealign_alloc (Makefile.am): Likewise.
75586         * modules/pathmax (Makefile.am): Likewise.
75587         * modules/physmem (Makefile.am): Likewise.
75588         * modules/poll (Makefile.am): Likewise.
75589         * modules/posixtm (Makefile.am): Likewise.
75590         * modules/posixver (Makefile.am): Likewise.
75591         * modules/putenv (Makefile.am): Likewise.
75592         * modules/quote (Makefile.am): Likewise.
75593         * modules/quotearg (Makefile.am): Likewise.
75594         * modules/raise (Makefile.am): Likewise.
75595         * modules/read-file (Makefile.am): Likewise.
75596         * modules/readline (Makefile.am): Likewise.
75597         * modules/readlink (Makefile.am): Likewise.
75598         * modules/readtokens (Makefile.am): Likewise.
75599         * modules/readutmp (Makefile.am): Likewise.
75600         * modules/realloc (Makefile.am): Likewise.
75601         * modules/regex (Makefile.am): Likewise.
75602         * modules/rename-dest-slash (Makefile.am): Likewise.
75603         * modules/rename (Makefile.am): Likewise.
75604         * modules/rijndael (Makefile.am): Likewise.
75605         * modules/rmdir (Makefile.am): Likewise.
75606         * modules/rpmatch (Makefile.am): Likewise.
75607         * modules/safe-read (Makefile.am): Likewise.
75608         * modules/safe-write (Makefile.am): Likewise.
75609         * modules/same-inode (Makefile.am): Likewise.
75610         * modules/same (Makefile.am): Likewise.
75611         * modules/save-cwd (Makefile.am): Likewise.
75612         * modules/savedir (Makefile.am): Likewise.
75613         * modules/setenv (Makefile.am): Likewise.
75614         * modules/settime (Makefile.am): Likewise.
75615         * modules/sha1 (Makefile.am): Likewise.
75616         * modules/sig2str (Makefile.am): Likewise.
75617         * modules/snprintf (Makefile.am): Likewise.
75618         * modules/stat-macros (Makefile.am): Likewise.
75619         * modules/stat-time (Makefile.am): Likewise.
75620         * modules/stdbool (Makefile.am): Likewise.
75621         * modules/stdint (Makefile.am): Likewise.
75622         * modules/stdlib-safer (Makefile.am): Likewise.
75623         * modules/stpcpy (Makefile.am): Likewise.
75624         * modules/stpncpy (Makefile.am): Likewise.
75625         * modules/strcase (Makefile.am): Likewise.
75626         * modules/strcasestr (Makefile.am): Likewise.
75627         * modules/strchrnul (Makefile.am): Likewise.
75628         * modules/strcspn (Makefile.am): Likewise.
75629         * modules/strdup (Makefile.am): Likewise.
75630         * modules/strerror (Makefile.am): Likewise.
75631         * modules/strftime (Makefile.am): Likewise.
75632         * modules/strndup (Makefile.am): Likewise.
75633         * modules/strnlen (Makefile.am): Likewise.
75634         * modules/strpbrk (Makefile.am): Likewise.
75635         * modules/strsep (Makefile.am): Likewise.
75636         * modules/strstr (Makefile.am): Likewise.
75637         * modules/strtod (Makefile.am): Likewise.
75638         * modules/strtoimax (Makefile.am): Likewise.
75639         * modules/strtok_r (Makefile.am): Likewise.
75640         * modules/strtol (Makefile.am): Likewise.
75641         * modules/strtoll (Makefile.am): Likewise.
75642         * modules/strtoul (Makefile.am): Likewise.
75643         * modules/strtoull (Makefile.am): Likewise.
75644         * modules/strtoumax (Makefile.am): Likewise.
75645         * modules/strverscmp (Makefile.am): Likewise.
75646         * modules/sys_socket (Makefile.am): Likewise.
75647         * modules/sys_stat (Makefile.am): Likewise.
75648         * modules/sysexits (Makefile.am): Likewise.
75649         * modules/time_r (Makefile.am): Likewise.
75650         * modules/timegm (Makefile.am): Likewise.
75651         * modules/timespec (Makefile.am): Likewise.
75652         * modules/tmpfile-safer (Makefile.am): Likewise.
75653         * modules/trim (Makefile.am): Likewise.
75654         * modules/unistd-safer (Makefile.am): Likewise.
75655         * modules/unlinkdir (Makefile.am): Likewise.
75656         * modules/unlocked-io (Makefile.am): Likewise.
75657         * modules/userspec (Makefile.am): Likewise.
75658         * modules/utime (Makefile.am): Likewise.
75659         * modules/utimecmp (Makefile.am): Likewise.
75660         * modules/utimens (Makefile.am): Likewise.
75661         * modules/vasnprintf (Makefile.am): Likewise.
75662         * modules/vasprintf (Makefile.am): Likewise.
75663         * modules/vsnprintf (Makefile.am): Likewise.
75664         * modules/xalloc (Makefile.am): Likewise.
75665         * modules/xgetcwd (Makefile.am): Likewise.
75666         * modules/xnanosleep (Makefile.am): Likewise.
75667         * modules/xreadlink (Makefile.am): Likewise.
75668         * modules/xstrtod (Makefile.am): Likewise.
75669         * modules/xstrtol (Makefile.am): Likewise.
75670         * modules/xstrtold (Makefile.am): Likewise.
75671         * modules/yesno (Makefile.am): Likewise.
75672         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
75673
75674 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
75675
75676         * modules/error (Makefile.am): Distribute files through
75677         EXTRA_DIST, not lib_SOURCES.
75678
75679 2006-10-12  Eric Blake  <ebb9@byu.net>
75680
75681         * modules/error (Makefile.am): Distribute files in /lib.
75682         * modules/obstack (Makefile.am): Likewise.
75683
75684 2006-10-12  Bruno Haible  <bruno@clisp.org>
75685
75686         * modules/acl (Makefile.am): Distribute all files in lib/ through
75687         EXTRA_DIST.
75688         * modules/arcfour (Makefile.am): Likewise.
75689         * modules/arctwo (Makefile.am): Likewise.
75690         * modules/argmatch (Makefile.am): Likewise.
75691         * modules/argz (Makefile.am): Likewise.
75692         * modules/atexit (Makefile.am): Likewise.
75693         * modules/backupfile (Makefile.am): Likewise.
75694         * modules/c-strtod (Makefile.am): Likewise.
75695         * modules/c-strtold (Makefile.am): Likewise.
75696         * modules/calloc (Makefile.am): Likewise.
75697         * modules/canon-host (Makefile.am): Likewise.
75698         * modules/canonicalize (Makefile.am): Likewise.
75699         * modules/chdir-long (Makefile.am): Likewise.
75700         * modules/chdir-safer (Makefile.am): Likewise.
75701         * modules/check-version (Makefile.am): Likewise.
75702         * modules/chown (Makefile.am): Likewise.
75703         * modules/cloexec (Makefile.am): Likewise.
75704         * modules/close-stream (Makefile.am): Likewise.
75705         * modules/closeout (Makefile.am): Likewise.
75706         * modules/crc (Makefile.am): Likewise.
75707         * modules/cycle-check (Makefile.am): Likewise.
75708         * modules/des (Makefile.am): Likewise.
75709         * modules/dirfd (Makefile.am): Likewise.
75710         * modules/dirname (Makefile.am): Likewise.
75711         * modules/dup2 (Makefile.am): Likewise.
75712         * modules/euidaccess (Makefile.am): Likewise.
75713         * modules/exclude (Makefile.am): Likewise.
75714         * modules/exitfail (Makefile.am): Likewise.
75715         * modules/fcntl-safer (Makefile.am): Likewise.
75716         * modules/file-type (Makefile.am): Likewise.
75717         * modules/fileblocks (Makefile.am): Likewise.
75718         * modules/filemode (Makefile.am): Likewise.
75719         * modules/filenamecat (Makefile.am): Likewise.
75720         * modules/fnmatch (Makefile.am): Likewise.
75721         * modules/fopen-safer (Makefile.am): Likewise.
75722         * modules/fpending (Makefile.am): Likewise.
75723         * modules/fprintftime (Makefile.am): Likewise.
75724         * modules/free (Makefile.am): Likewise.
75725         * modules/fsusage (Makefile.am): Likewise.
75726         * modules/ftruncate (Makefile.am): Likewise.
75727         * modules/fts (Makefile.am): Likewise.
75728         * modules/gc (Makefile.am): Likewise.
75729         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
75730         * modules/getaddrinfo (Makefile.am): Likewise.
75731         * modules/getcwd (Makefile.am): Likewise.
75732         * modules/getdelim (Makefile.am): Likewise.
75733         * modules/getdomainname (Makefile.am): Likewise.
75734         * modules/getgroups (Makefile.am): Likewise.
75735         * modules/gethostname (Makefile.am): Likewise.
75736         * modules/gethrxtime (Makefile.am): Likewise.
75737         * modules/getline (Makefile.am): Likewise.
75738         * modules/getloadavg (Makefile.am): Likewise.
75739         * modules/getlogin_r (Makefile.am): Likewise.
75740         * modules/getopt (Makefile.am): Likewise.
75741         * modules/getpass (Makefile.am): Likewise.
75742         * modules/getpass-gnu (Makefile.am): Likewise.
75743         * modules/getsubopt (Makefile.am): Likewise.
75744         * modules/gettime (Makefile.am): Likewise.
75745         * modules/gettimeofday (Makefile.am): Likewise.
75746         * modules/getugroups (Makefile.am): Likewise.
75747         * modules/getusershell (Makefile.am): Likewise.
75748         * modules/glob (Makefile.am): Likewise.
75749         * modules/group-member (Makefile.am): Likewise.
75750         * modules/hard-locale (Makefile.am): Likewise.
75751         * modules/hash (Makefile.am): Likewise.
75752         * modules/hmac-md5 (Makefile.am): Likewise.
75753         * modules/hmac-sha1 (Makefile.am): Likewise.
75754         * modules/human (Makefile.am): Likewise.
75755         * modules/idcache (Makefile.am): Likewise.
75756         * modules/imaxabs (Makefile.am): Likewise.
75757         * modules/imaxdiv (Makefile.am): Likewise.
75758         * modules/inet_ntop (Makefile.am): Likewise.
75759         * modules/inet_pton (Makefile.am): Likewise.
75760         * modules/inttostr (Makefile.am): Likewise.
75761         * modules/isapipe (Makefile.am): Likewise.
75762         * modules/lchown (Makefile.am): Likewise.
75763         * modules/long-options (Makefile.am): Likewise.
75764         * modules/lstat (Makefile.am): Likewise.
75765         * modules/malloc (Makefile.am): Likewise.
75766         * modules/mathl (Makefile.am): Likewise.
75767         * modules/mbchar (Makefile.am): Likewise.
75768         * modules/md2 (Makefile.am): Likewise.
75769         * modules/md4 (Makefile.am): Likewise.
75770         * modules/md5 (Makefile.am): Likewise.
75771         * modules/memcasecmp (Makefile.am): Likewise.
75772         * modules/memchr (Makefile.am): Likewise.
75773         * modules/memcmp (Makefile.am): Likewise.
75774         * modules/memcoll (Makefile.am): Likewise.
75775         * modules/memcpy (Makefile.am): Likewise.
75776         * modules/memmem (Makefile.am): Likewise.
75777         * modules/memmove (Makefile.am): Likewise.
75778         * modules/mempcpy (Makefile.am): Likewise.
75779         * modules/memrchr (Makefile.am): Likewise.
75780         * modules/memset (Makefile.am): Likewise.
75781         * modules/memxor (Makefile.am): Likewise.
75782         * modules/mkancesdirs (Makefile.am): Likewise.
75783         * modules/mkdir (Makefile.am): Likewise.
75784         * modules/mkdir-p (Makefile.am): Likewise.
75785         * modules/mkdtemp (Makefile.am): Likewise.
75786         * modules/mkstemp (Makefile.am): Likewise.
75787         * modules/mktime (Makefile.am): Likewise.
75788         * modules/modechange (Makefile.am): Likewise.
75789         * modules/mountlist (Makefile.am): Likewise.
75790         * modules/nanosleep (Makefile.am): Likewise.
75791         * modules/openat (Makefile.am): Likewise.
75792         * modules/pagealign_alloc (Makefile.am): Likewise.
75793         * modules/physmem (Makefile.am): Likewise.
75794         * modules/poll (Makefile.am): Likewise.
75795         * modules/posixtm (Makefile.am): Likewise.
75796         * modules/posixver (Makefile.am): Likewise.
75797         * modules/putenv (Makefile.am): Likewise.
75798         * modules/quote (Makefile.am): Likewise.
75799         * modules/quotearg (Makefile.am): Likewise.
75800         * modules/raise (Makefile.am): Likewise.
75801         * modules/read-file (Makefile.am): Likewise.
75802         * modules/readline (Makefile.am): Likewise.
75803         * modules/readlink (Makefile.am): Likewise.
75804         * modules/readtokens (Makefile.am): Likewise.
75805         * modules/readutmp (Makefile.am): Likewise.
75806         * modules/realloc (Makefile.am): Likewise.
75807         * modules/regex (Makefile.am): Likewise.
75808         * modules/rename (Makefile.am): Likewise.
75809         * modules/rename-dest-slash (Makefile.am): Likewise.
75810         * modules/rijndael (Makefile.am): Likewise.
75811         * modules/rmdir (Makefile.am): Likewise.
75812         * modules/rpmatch (Makefile.am): Likewise.
75813         * modules/safe-read (Makefile.am): Likewise.
75814         * modules/safe-write (Makefile.am): Likewise.
75815         * modules/same (Makefile.am): Likewise.
75816         * modules/save-cwd (Makefile.am): Likewise.
75817         * modules/savedir (Makefile.am): Likewise.
75818         * modules/setenv (Makefile.am): Likewise.
75819         * modules/settime (Makefile.am): Likewise.
75820         * modules/sha1 (Makefile.am): Likewise.
75821         * modules/sig2str (Makefile.am): Likewise.
75822         * modules/snprintf (Makefile.am): Likewise.
75823         * modules/stdlib-safer (Makefile.am): Likewise.
75824         * modules/stpcpy (Makefile.am): Likewise.
75825         * modules/stpncpy (Makefile.am): Likewise.
75826         * modules/strcase (Makefile.am): Likewise.
75827         * modules/strcasestr (Makefile.am): Likewise.
75828         * modules/strchrnul (Makefile.am): Likewise.
75829         * modules/strcspn (Makefile.am): Likewise.
75830         * modules/strdup (Makefile.am): Likewise.
75831         * modules/strerror (Makefile.am): Likewise.
75832         * modules/strftime (Makefile.am): Likewise.
75833         * modules/strndup (Makefile.am): Likewise.
75834         * modules/strnlen (Makefile.am): Likewise.
75835         * modules/strpbrk (Makefile.am): Likewise.
75836         * modules/strsep (Makefile.am): Likewise.
75837         * modules/strstr (Makefile.am): Likewise.
75838         * modules/strtod (Makefile.am): Likewise.
75839         * modules/strtoimax (Makefile.am): Likewise.
75840         * modules/strtok_r (Makefile.am): Likewise.
75841         * modules/strtol (Makefile.am): Likewise.
75842         * modules/strtoll (Makefile.am): Likewise.
75843         * modules/strtoul (Makefile.am): Likewise.
75844         * modules/strtoull (Makefile.am): Likewise.
75845         * modules/strtoumax (Makefile.am): Likewise.
75846         * modules/strverscmp (Makefile.am): Likewise.
75847         * modules/time_r (Makefile.am): Likewise.
75848         * modules/timegm (Makefile.am): Likewise.
75849         * modules/tmpfile-safer (Makefile.am): Likewise.
75850         * modules/unistd-safer (Makefile.am): Likewise.
75851         * modules/unlinkdir (Makefile.am): Likewise.
75852         * modules/userspec (Makefile.am): Likewise.
75853         * modules/utime (Makefile.am): Likewise.
75854         * modules/utimecmp (Makefile.am): Likewise.
75855         * modules/utimens (Makefile.am): Likewise.
75856         * modules/vasnprintf (Makefile.am): Likewise.
75857         * modules/vasprintf (Makefile.am): Likewise.
75858         * modules/vsnprintf (Makefile.am): Likewise.
75859         * modules/xalloc (Makefile.am): Likewise.
75860         * modules/xgetcwd (Makefile.am): Likewise.
75861         * modules/xnanosleep (Makefile.am): Likewise.
75862         * modules/xreadlink (Makefile.am): Likewise.
75863         * modules/xstrtod (Makefile.am): Likewise.
75864         * modules/xstrtol (Makefile.am): Likewise.
75865         * modules/xstrtold (Makefile.am): Likewise.
75866         * modules/yesno (Makefile.am): Likewise.
75867
75868 2006-10-12  Jim Meyering  <jim@meyering.net>
75869
75870         * m4/getloadavg.m4: Revert the change below.
75871
75872         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
75873         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
75874         fail with a symlink, which is what coreutils' ./bootstrap now
75875         creates by default.
75876
75877 2006-10-12  Bruno Haible  <bruno@clisp.org>
75878
75879         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
75880         mingw.
75881         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
75882         MSVC and mingw explicitly.
75883
75884 2006-10-11  Simon Josefsson  <jas@extundo.com>
75885             Bruno Haible  <bruno@clisp.org>
75886
75887         Add support for multiple gnulib-tool invocations in the scope of a
75888         single configure.ac file.
75889         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
75890         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
75891         with the same contents as the _LIBADD variable.
75892         (func_emit_initmacro_start, func_emit_initmacro_end,
75893         func_emit_initmacro_done): New functions.
75894         (func_import, func_create_testdir): Invoke them. Allow the identifiers
75895         gl_LIBOBJS and gl_LTLIBOBJS.
75896
75897 2006-10-11  Bruno Haible  <bruno@clisp.org>
75898
75899         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
75900         (func_create_testdir): Don't create po/Makefile.am, don't invoke
75901         autoreconf. Instead, invoke autopoint explicitly but move back the
75902         *.m4 files from gnulib.
75903
75904 2006-10-11  Bruno Haible  <bruno@clisp.org>
75905
75906         * gnulib-tool (func_usage): Make module names after --create-testdir
75907         optional.
75908         (func_create_testdir): If no module was specified, use nearly all
75909         modules.
75910
75911 2006-10-12  Jim Meyering  <jim@meyering.net>
75912
75913         Big performance improvement for fts-based tools that use FTS_NOSTAT.
75914         Avoid spurious inode-mismatch problems on non-POSIX file systems.
75915         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
75916         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
75917         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
75918         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
75919         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
75920         (fts_set_stat_required): New function.
75921         (fts_open): Defer the calls to fts_stat, if possible or requested.
75922         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
75923         into fts_stat itself.
75924         (fts_read): Perform any required (deferred) fts_stat call.
75925         (fts_build): Likewise, for the directory we're about to open and read.
75926         In the readdir loop, carefully decide whether each entry will require
75927         an eventual call to fts_stat, using dirent.d_type info if available.
75928         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
75929         a command line argument into this function.  Update all callers.
75930         Map a return value of FTS_DOT to FTS_D for a command line argument.
75931         * modules/fts (Depends-on): Add d-type.  Alphabetize.
75932         Thanks to Miklos Szeredi for his tenacity and for the initial
75933         bug report about "find" failing on a FUSE-based file system.
75934
75935         * lib/fts.c (fts_open): Use consistent indentation.
75936
75937 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
75938
75939         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
75940         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
75941         reported by Jim Meyering.  All uses of cache variables renamed
75942         to match Autoconf's.
75943         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
75944         the other one.
75945
75946         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
75947         Fix misspelling in diagnostic.
75948
75949 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
75950
75951         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
75952         defined.  Problem reported by Matthew Woehlke.
75953
75954         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
75955         Add support for Tandem NonStop R series.
75956         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
75957         Use new macro.
75958
75959         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
75960         (has_trailing_slash): Omit size arg; all callers changed.
75961         Omit 'inline', since it doesn't help performance and we'd
75962         need to configure it.
75963         Don't count //, ///, etc. as having a trailing slash.
75964         As a side effect, this removes a C99ism reported by Matthew Woehlke.
75965         (rpl_rename_dest_slash): On failure, use rename's errno rather
75966         than (in some cases) an incorrect or junk errno.
75967         Simplify code by removing need to compute length; this does
75968         cause it to make two passes instead of one over the file name,
75969         but it's worth it.
75970
75971         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
75972         change, since Autoconf's version may no longer be appropriate now
75973         that we are using CVS Autoconf's version.  Add support for Tandem.
75974
75975 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
75976             Bruno Haible  <bruno@clisp.org>
75977
75978         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
75979         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
75980         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
75981         gl_AC_TYPE_LONG_LONG.
75982
75983         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
75984         instead of HAVE_LONG_LONG.
75985         * lib/printf-args.c (printf_fetchargs): Likewise.
75986         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
75987         * lib/vasnprintf.c (VASNPRINTF): Likewise.
75988         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
75989         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
75990         gl_AC_TYPE_LONG_LONG.
75991
75992 2006-10-11  Bruno Haible  <bruno@clisp.org>
75993
75994         * m4/longlong.m4: Add comments.
75995         * m4/ulonglong.m4: Likewise.
75996
75997 2006-10-10  Bruno Haible  <bruno@clisp.org>
75998
75999         Make it possible to #define stpcpy, strdup to aliases.
76000         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
76001         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
76002
76003 2006-10-10  Bruno Haible  <bruno@clisp.org>
76004
76005         Make it possible to #define gcd to an alias.
76006         * lib/gcd.c: Include config.h.
76007
76008 2006-10-10  Bruno Haible  <bruno@clisp.org>
76009
76010         Make it possible to #define c_isascii to an alias.
76011         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
76012         defined. Undefine the macros before defining them, to avoid gcc
76013         warnings.
76014         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
76015         define NO_C_CTYPE_MACROS early.
76016
76017 2006-10-10  Bruno Haible  <bruno@clisp.org>
76018
76019         Make it possible to #define set_program_name to an alias.
76020         * lib/progname.c: Don't undefine set_program_name; instead, undefine
76021         ENABLE_RELOCATABLE early.
76022
76023 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
76024
76025         Port to Tandem NSK OSS, which has 64-bit signed int but at most
76026         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
76027         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
76028         More generally, don't assume that 64-bit signed int is available
76029         if unsigned int is, and vice versa.
76030         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
76031         unsigned symbols, not on their signed counterparts.
76032         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
76033         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
76034         (UINT64_C, UINTMAX_C):
76035         Likewise.
76036         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
76037         unsigned counterparts.
76038         (Have_long_long, Unsigned): New macros.
76039         (Int): Renamed from INT.
76040         (strtoimax): Use the new macros.
76041         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
76042         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
76043         * modules/inttypes (inttypes.h): Substitute
76044         HAVE_UNSIGNED_LONG_LONG_INT.
76045         * modules/stdint (stdint.h): Likewise.
76046         (Files): Add m4/ulonglong.m4.
76047
76048 2006-10-10  Bruno Haible  <bruno@clisp.org>
76049
76050         Fix a gcc -Wshadow warning.
76051         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
76052         to 'bucket'.
76053         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
76054         gl_linked_indexof_from_to): Likewise.
76055         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
76056         Likewise.
76057         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
76058         Likewise.
76059         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
76060         Reported by Eric Blake.
76061
76062 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
76063
76064         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
76065         for NetBSD.  Problem reported by Bruno Haible.
76066
76067 2006-10-09  Jim Meyering  <jim@meyering.net>
76068
76069         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
76070         Patch from Bruno Haible.
76071
76072 2006-10-09  Jim Meyering  <jim@meyering.net>
76073
76074         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
76075         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
76076         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
76077
76078 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
76079
76080         Don't include <config.h> twice; this doesn't work in some cases,
76081         e.g., when config.h has "#define intmax_t long long int" and
76082         we include <config.h>, <inttypes.h>, <config.h> in that order.
76083         Problem reported by Matthew Woehlke in:
76084         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
76085         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
76086         * lib/fts-cycle.c: Don't include config.h.
76087         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
76088         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
76089         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
76090         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
76091         inttypes.h.
76092         * lib/xstrtoumax.c: Likewise.
76093         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
76094         __strtol and the like, so that this module is more like its siblings.
76095         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
76096         Remove; no longer needed now that we assume gnulib inttypes.h.
76097
76098 2006-10-08  Bruno Haible  <bruno@clisp.org>
76099
76100         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
76101         option.
76102
76103 2006-10-07  Jim Meyering  <jim@meyering.net>
76104
76105         * modules/inttypes (inttypes.h): Revert what seems to have been
76106         an inadvertent part of today's change: use "|", not "/" in the
76107         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
76108
76109 2006-10-07  Bruno Haible  <bruno@clisp.org>
76110
76111         * modules/sublist: New file.
76112
76113 2006-10-07  Bruno Haible  <bruno@clisp.org>
76114
76115         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
76116         * modules/argz (argz.h): Likewise.
76117         * modules/arpa_inet (arpa/inet.h): Likewise.
76118         * modules/byteswap (byteswap.h): Likewise.
76119         * modules/configmake (configmake.h): Likewise.
76120         * modules/fcntl (fcntl.h): Likewise.
76121         * modules/fnmatch (fnmatch.h): Likewise.
76122         * modules/getopt (getopt.h): Likewise.
76123         * modules/glob (glob.h): Likewise.
76124         * modules/inttypes (inttypes.h): Likewise.
76125         * modules/netinet_in (netinet/in.h): Likewise.
76126         * modules/poll (poll.h): Likewise.
76127         * modules/stdbool (stdbool.h): Likewise.
76128         * modules/stdint (stdint.h): Likewise.
76129         * modules/sys_select (sys/select.h): Likewise.
76130         * modules/sys_socket (sys/socket.h): Likewise.
76131         * modules/sys_stat (sys/stat.h): Likewise.
76132         * modules/sysexits (sysexits.h): Likewise.
76133         * modules/unistd (unistd.h): Likewise.
76134         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76135         Add a "DO NOT EDIT" comment to the generated file.
76136         (func_import): Likewise for gnulib-comp.m4.
76137
76138 2006-10-07  Bruno Haible  <bruno@clisp.org>
76139
76140         * lib/gl_sublist.h: New file.
76141         * lib/gl_sublist.c: New file.
76142
76143 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
76144
76145         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
76146         name (relative to the original working directory) and the file
76147         name component (relative to the temporary working directory).  All
76148         callers changed.
76149         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
76150         * lib/mkdir-p.c (make_dir_parents): Likewise.
76151         * lib/mkdir-p.h (make_dir_parents): Likewise.
76152
76153 2006-10-06  Eric Blake  <ebb9@byu.net>
76154
76155         Define several macros for use by the clean-temp module.
76156         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
76157         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
76158         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
76159
76160         * lib/clean-temp.h (close_stream_temp): New declaration.
76161         * lib/clean-temp.c (includes): Pull in headers according to what
76162         other modules are in use.
76163         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
76164
76165 2006-10-06  Bruno Haible  <bruno@clisp.org>
76166
76167         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
76168         instead of fopen, fwriteerror.
76169
76170 2006-10-06  Bruno Haible  <bruno@clisp.org>
76171
76172         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
76173         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
76174         int.
76175         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
76176         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
76177         Return an error indicator.
76178         Suggested by Eric Blake.
76179
76180 2006-10-06  Bruno Haible  <bruno@clisp.org>
76181
76182         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
76183         Reported by Eric Blake.
76184
76185 2006-10-06  Bruno Haible  <bruno@clisp.org>
76186
76187         * modules/closeout (Description): Mention stderr too.
76188
76189 2006-10-06  Bruno Haible  <bruno@clisp.org>
76190         and Paul Eggert  <eggert@cs.ucla.edu>
76191
76192         * lib/closeout.c (close_stdout): Also close stderr.
76193         * lib/closeout.h: Update comment.
76194
76195 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
76196
76197         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
76198         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
76199         * lib/dirchownmod.c: Include lchown.h.
76200         * lib/lchown.c: Don't include files that lchown.h now includes.
76201         Don't declare chown, since lchown.h now does that.
76202         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
76203         (lchown): Define to rpl_chown if lchown is declared but
76204         does not exist.  Declare using a prototype if lchown is not
76205         declared.  Add a copyright notice.
76206         * lib/mkstemp.h: Include <unistd.h>.
76207         * lib/openat.c: Include lchown.h.
76208
76209         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
76210         we now test for that separately.
76211         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
76212         rather than O_NOFOLLOW, when testing whether it's possible to
76213         avoid a race condition reliably.
76214         * lib/savewd.c (savewd_chdir): Likewise.
76215
76216         Remove macros that are no longer needed now that stdint.h is
76217         reliable.
76218         * lib/fsusage.c (UINTMAX_MAX): Remove.
76219         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
76220         * lib/utimecmp.c (SIZE_MAX): Remove.
76221
76222         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
76223
76224         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
76225         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
76226         O_NOATIME works.
76227
76228 2006-10-05  Bruno Haible  <bruno@clisp.org>
76229
76230         * lib/gl_list.h (gl_sortedlist_search_from_to,
76231         gl_sortedlist_indexof_from_to): New declarations.
76232         (gl_list_implementation): New fields sortedlist_search_from_to,
76233         sortedlist_indexof_from_to.
76234         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
76235         inline functions.
76236         * lib/gl_list.c (gl_sortedlist_search_from_to,
76237         gl_sortedlist_indexof_from_to): New functions.
76238         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
76239         function.
76240         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
76241         (gl_array_sortedlist_search_from_to): New function.
76242         (gl_array_list_implementation): Update.
76243         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
76244         function.
76245         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
76246         (gl_carray_sortedlist_search_from_to): New function.
76247         (gl_carray_list_implementation): Update.
76248         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
76249         gl_linked_sortedlist_indexof_from_to): New functions.
76250         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
76251         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
76252         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
76253         gl_tree_sortedlist_indexof_from_to): New functions.
76254         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
76255         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
76256         Update.
76257         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
76258         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
76259         Update.
76260
76261 2006-10-05  Bruno Haible  <bruno@clisp.org>
76262
76263         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
76264         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
76265         (struct gl_list_implementation): Add fields search_from_to,
76266         indexof_from_to. Remove fields search, indexof.
76267         (gl_list_search): Use the search_from_to method.
76268         (gl_list_search_from, gl_list_search_from_to): New functions.
76269         (gl_list_indexof): Use the indexof_from_to method.
76270         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
76271         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
76272         (gl_list_search_from, gl_list_search_from_to): New functions.
76273         (gl_list_indexof): Use the indexof_from_to method.
76274         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
76275         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
76276         gl_array_indexof. Add start_index, end_index arguments.
76277         (gl_array_search_from_to): Renamed from gl_array_search. Add
76278         start_index, end_index arguments.
76279         (gl_array_remove, gl_array_list_implementation): Update.
76280         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
76281         gl_carray_indexof. Add start_index, end_index arguments.
76282         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
76283         start_index, end_index arguments.
76284         (gl_carray_remove, gl_carray_list_implementation): Update.
76285         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
76286         gl_linked_search. Add start_index, end_index arguments.
76287         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
76288         start_index, end_index arguments.
76289         (gl_linked_remove): Update.
76290         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
76291         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
76292         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
76293         field to 'size_t'.
76294         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
76295         gl_tree_search. Add start_index, end_index arguments.
76296         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
76297         start_index, end_index arguments.
76298         (gl_tree_remove): Update.
76299         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
76300         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
76301         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
76302         function.
76303         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
76304         gl_tree_search. Add start_index, end_index arguments.
76305         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
76306         start_index, end_index arguments.
76307         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
76308         Update.
76309         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
76310
76311 2006-10-05  Bruno Haible  <bruno@clisp.org>
76312
76313         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
76314
76315         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
76316         fwriteerror_temp): New declarations.
76317         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
76318         (descriptors): New variable.
76319         (cleanup): First, close the descriptors.
76320         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
76321         fclose_temp, fwriteerror_temp): New functions.
76322
76323 2006-10-04  Jim Meyering  <jim@meyering.net>
76324
76325         * lib/fts.c (fts_open): Tiny comment change.
76326
76327 2006-10-04  Bruno Haible  <bruno@clisp.org>
76328
76329         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
76330         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
76331         gl_LOCK_BODY.
76332         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
76333         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
76334         gl_LOCK_EARLY_BODY.
76335         (gl_LOCK): Require gl_LOCK_BODY.
76336
76337 2006-10-04  Bruno Haible  <bruno@clisp.org>
76338
76339         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
76340         (gl_oset_search_atleast): New declaration.
76341         (struct gl_oset_implementation): Add field 'search_atleast'.
76342         (gl_oset_search_atleast): New inline function.
76343         * lib/gl_oset.c (gl_oset_search_atleast): New function.
76344         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
76345         (gl_array_oset_implementation): Update.
76346         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
76347         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
76348         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
76349
76350 2006-10-04  Bruno Haible  <bruno@clisp.org>
76351
76352         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
76353
76354 2006-10-03  Bruno Haible  <bruno@clisp.org>
76355
76356         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
76357         from gl_avltreehash_list_implementation.
76358
76359 2006-10-03  Bruno Haible  <bruno@clisp.org>
76360
76361         * lib/gl_oset.c (gl_oset_add): Fix return type.
76362
76363 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
76364
76365         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
76366
76367 2006-10-02  Eric Blake  <ebb9@byu.net>
76368
76369         * modules/strnlen (Depends-on): Add extensions.
76370
76371 2006-10-02  Eric Blake  <ebb9@byu.net>
76372
76373         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
76374         definition in 2.60+.
76375
76376 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
76377
76378         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
76379         checks.
76380
76381 2006-10-02  Bruno Haible  <bruno@clisp.org>
76382
76383         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
76384         to the AUTOMAKE_OPTIONS.
76385         Reported by Jim Meyering.
76386
76387 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
76388
76389         Work around bug in Solaris 10 /proc file system:
76390         /proc/self/fd/NNN/.. isn't the parent directory of
76391         the directory whose file descriptor is NNN.  This needs to
76392         be worked around at run time, not compile time, since a
76393         program might be built on Solaris 8, where things work, and
76394         run on Solaris 10.
76395         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
76396         to use the following interface instead:
76397         (OPENAT_BUFFER_SIZE): New macro.
76398         (openat_proc_name): New function.
76399         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
76400         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
76401         Likewise.
76402         * lib/openat-proc.c: New file.
76403         * modules/openat (Files): Add lib/openat-proc.c.
76404         (Depends-on): Add same-inode, stdbool.
76405         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
76406
76407 2006-09-29  Bruno Haible  <bruno@clisp.org>
76408
76409         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
76410         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
76411         argument. Set stdout_closed before testing for ferror, not after.
76412         (fwriteerror, fwriteerror_no_ebadf): New functions.
76413
76414 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76415
76416         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
76417
76418 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
76419
76420         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
76421         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
76422
76423 2006-09-28  Jim Meyering  <jim@meyering.net>
76424
76425         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
76426         Include <unistd.h>.
76427
76428 2006-09-28  Bruno Haible  <bruno@clisp.org>
76429
76430         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
76431         * modules/linkedhash-list (Depends-on): Likewise.
76432         * modules/rbtreehash-list (Depends-on): Likewise.
76433
76434 2006-09-28  Bruno Haible  <bruno@clisp.org>
76435
76436         * lib/strndup.h: Simplify the redefinition of strndup.
76437         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
76438         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
76439
76440 2006-09-28  Bruno Haible  <bruno@clisp.org>
76441
76442         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
76443         * lib/gl_linkedhash_list.c: Likewise.
76444         * lib/gl_rbtreehash_list.c: Likewise.
76445
76446 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
76447
76448         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
76449         getaddrinfo.
76450
76451         * lib/__fpending.h: Don't include <stdio_ext.h> unless
76452         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
76453         it causes <stdio_ext.h> to cause a compile-time error.
76454         Problem reported by Nelson H. F. Beebe.
76455         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
76456         of HAVE_DECL___PENDING.
76457
76458         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
76459         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
76460         declaration.
76461
76462 2006-09-27  Jim Meyering  <jim@meyering.net>
76463
76464         This file could end up with a definition for a function
76465         named __strndup, rather than rpl_strndup on a system with
76466         incomplete weak_alias support.
76467         * lib/strndup.c (strndup): Rename from __strndup.
76468         Remove #defines that used to map __strndup to strndup.
76469         Don't use K&R prototypes.
76470         Remove LIBC-related code, since this file is not sync'd with glibc.
76471         * lib/strndup.h: Revamp, accordingly.
76472         * m4/strndup.m4: Modernize.
76473
76474 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
76475
76476         * modules/savewd (Depends-on): Add 'raise'.
76477         * lib/savewd.c: Include <signal.h>, for 'raise'.
76478
76479 2006-09-26  Jim Meyering  <jim@meyering.net>
76480
76481         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
76482         when we detect Darwin 8.7.0's acl_get_file bug.
76483         Rearrange to perform the new (below) run-test while $LIBS
76484         contains any acl-related library.  Set USE_ACL at the end.
76485         (gl_ACL_GET_FILE): New function.
76486
76487 2006-09-26  Eric Blake  <ebb9@byu.net>
76488
76489         * lib/verror.c: Include <config.h> unconditionally.
76490
76491 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
76492
76493         * modules/clock-time (Maintainer): Add self.
76494         * modules/getlogin_r (Depends-on): Add extensions.
76495
76496 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76497
76498         * modules/clock-time: New module.
76499         * modules/nanosleep (Depends-on): Add clock-time.
76500         * modules/gethrxtime (Depends-on): Likewise.
76501         * modules/gettime (Depends-on): Likewise.
76502         * modules/settime (Depends-on): Likewise.
76503
76504         * modules/fts-lgpl: Depend on openat.
76505         * modules/mkancesdirs: Depend on savewd.
76506         * modules/mkdir-p: Likewise.
76507
76508 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76509
76510         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
76511
76512         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
76513         `gl_have_arbitrary_file_name_length_limit' to
76514         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
76515         actually works between configure runs.
76516
76517 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76518             Bruno Haible  <bruno@clisp.org>
76519
76520         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
76521
76522 2006-09-25  Jim Meyering  <jim@meyering.net>
76523
76524         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
76525         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
76526
76527 2006-09-25  Eric Blake  <ebb9@byu.net>
76528
76529         * gnulib-tool (func_import, func_create_testdir): Fix typos in
76530         exec's in 2006-09-18 patch when shuffling fds.
76531
76532 2006-09-25  Bruno Haible  <bruno@clisp.org>
76533
76534         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
76535         Reported by Jim Meyering.
76536
76537 2006-09-24  Jim Meyering  <jim@meyering.net>
76538
76539         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
76540         compare a pointer against a literal "0".  That caused failures with
76541         at least HP-UX's hpcc.
76542
76543 2006-09-22  Simon Josefsson  <jas@extundo.com>
76544
76545         * modules/gc-sha1:
76546         * modules/gc-md4:
76547         * modules/gc-hmac-sha1:
76548         * modules/gc-hmac-md5:
76549         * modules/gc-des:
76550         * modules/gc-arcfour: Distribute more files.
76551
76552 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76553
76554         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
76555         (gl_linked_iterator_from_to): Initialize struct completely.
76556         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
76557         (gl_tree_iterator_from_to): Likewise
76558         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
76559         * lib/gl_array_list.c [lint] (gl_array_iterator)
76560         (gl_array_iterator_from_to): Likewise.
76561         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
76562         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
76563         (gl_carray_iterator_from_to): Likewise.
76564
76565         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
76566         * lib/md4.c (md4_process_block): Remove unused variable.
76567         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
76568         parentheses for clarity.
76569
76570 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76571
76572         * modules/bison-i18n (Depends-on): Add gettext.
76573
76574 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76575
76576         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
76577         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
76578         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
76579         also add missing comma that caused broken test.
76580         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
76581         stdlib.h, for `abort'.
76582         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
76583         variables.
76584         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
76585         include unistd.h if present, for `rmdir'.
76586         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
76587         variables.
76588         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
76589         in the process include standard headers for prototypes.
76590         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
76591         gets declared on GNU/Linux.
76592         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
76593         unistd.h, for `rmdir'.
76594         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
76595
76596         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
76597         always true.
76598         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
76599
76600         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
76601
76602 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76603
76604         * gnulib-tool (func_version): Create output all at once.  This
76605         may help avoid triggering unnecessary SIGPIPEs, and at any
76606         rate it doesn't hurt.
76607
76608 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76609             Bruno Haible  <bruno@clisp.org>
76610
76611         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
76612         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
76613         * m4/signed.m4 (bh_C_SIGNED): Likewise.
76614
76615         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
76616         (gl_FUNC_VASPRINTF): Invoke it.
76617
76618 2006-09-22  Bruno Haible  <bruno@clisp.org>
76619
76620         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
76621         getloadavg.c as first argument.
76622
76623 2006-09-22  Bruno Haible  <bruno@clisp.org>
76624
76625         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
76626         at the beginning of the gl_INIT macro.
76627         * modules/getloadavg (configure.ac): Pass $gl_source_base to
76628         gl_GETLOADAVG.
76629
76630 2006-09-22  Bruno Haible  <bruno@clisp.org>
76631
76632         * gnulib-tool (func_create_megatestdir): Don't include the config-h
76633         module.
76634         Suggested by Ralf Wildenhues.
76635
76636 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
76637
76638         Import this patch from libc:
76639
76640         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
76641
76642         * lib/regex_internal.c (re_string_reconstruct): Handle
76643         offset < pstr->valid_raw_len && pstr->offsets_needed case.
76644         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
76645         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
76646         re_string_context_at.
76647
76648         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
76649         now requires it.
76650         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
76651         gl_REGEX now does it for us.
76652         (gl_REGEX): Add test taken from
76653         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
76654
76655         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
76656         Check that large offsets work.  Modernize Autoconf usages.
76657         Prefer "yes" to mean a good thing rather than a bad.
76658         Don't put "#define mkstemp" in config.h, as this might interfere
76659         with standard system headers that "#define mkstemp mkstemp64".
76660
76661         * modules/mkstemp (Depends-on): Add extensions, so that
76662         mkstemp is visible on some platforms.
76663         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
76664         (Include): Change to "mkstemp.h" from <stdlib.h>.
76665         (Files): Add mkstemp.h.
76666
76667         * lib/mkstemp.h: New file, since some standard headers
76668         #define mkstemp.
76669         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
76670         Include "mkstemp.h".
76671         Make the _LIBC code resemble glibc original more,
76672         e.g., use K&R style.
76673         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
76674         (mkstemp): Remove, since mkstemp.h does this for us.
76675         * lib/stdlib--.h: Include mkstemp.h.
76676
76677         Import this patch from libc:
76678
76679         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
76680
76681         * lib/tempname.c (__gen_tempname): Change attempts_min
76682         into a macro.  Use preprocessor to decide how to initialize
76683         attempts [Coverity CID 67].
76684
76685 2006-09-20  Bruno Haible  <bruno@clisp.org>
76686
76687         * lib/mkdtemp.c: Import from libc.
76688         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
76689                 * sysdeps/posix/tempname.c (__gen_tempname): Change
76690                 attempts_min into a macro.  Use preprocessor to decide how to
76691                 initialize attempts [Coverity CID 67].
76692         2001-11-27  Paul Eggert  <eggert@twinsun.com>
76693                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
76694                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
76695
76696 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76697
76698         * gnulib-tool (func_exit): New function, to allow to pass the
76699         exit status portably through the trap.  Use everywhere.
76700         (--help, --version): Signal a write error.
76701         (trap): catch SIGPIPE, for write errors.
76702         Exit at the end of the trap, with the correct exit status.
76703
76704 2006-09-19  Karl Berry  <karl@gnu.org>
76705
76706         * doc/gnulib.texi: note about the license texinfo files.
76707
76708 2006-09-19  Eric Blake  <ebb9@byu.net>
76709
76710         * gnulib-tool: Avoid space-tab.
76711
76712 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
76713
76714         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
76715         that prevented coreutils 6.1 from building.  Problem reported
76716         by Petter Reinholdtsen.
76717
76718 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
76719
76720         * gnulib-tool (avoidlist): Fix typo that broke options like
76721         --avoid=lock that are used by coreutils bootstrap.
76722
76723 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
76724
76725         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
76726         more systematically.
76727
76728 2006-09-18  Jim Meyering  <jim@meyering.net>
76729
76730         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
76731
76732 2006-09-18  Bruno Haible  <bruno@clisp.org>
76733
76734         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
76735
76736 2006-09-18  Bruno Haible  <bruno@clisp.org>
76737
76738         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
76739         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
76740         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
76741         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
76742         * m4/gettext.m4: Require autoconf >= 2.52.
76743         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
76744         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
76745         of gl_cv_header_inttypes_h.
76746
76747 2006-09-18  Bruno Haible  <bruno@clisp.org>
76748
76749         * lib/javaversion.c: Include configmake.h.
76750
76751 2006-09-18  Bruno Haible  <bruno@clisp.org>
76752
76753         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
76754         avoid that the while loops be executed in a subshell.
76755
76756 2006-09-18  Bruno Haible  <bruno@clisp.org>
76757
76758         * MODULES.html.sh (func_module): Break long lines.
76759         Suggested by Bruce Korb <bkorb@gnu.org>.
76760
76761 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76762
76763         Speed up by a factor of 1.12.
76764         * gnulib-tool (nl): New variable.
76765         (func_import): Rewrite include directive extraction to only read each
76766         directive once.
76767
76768 2006-09-17  Bruno Haible  <bruno@clisp.org>
76769
76770         * modules/javaversion (Makefile.am): Remove DEFS setting.
76771         (Depends-on): Add configmake, for PKGDATADIR definition.
76772
76773 2006-09-17  Bruno Haible  <bruno@clisp.org>
76774
76775         * gnulib-tool (func_create_testdir): Rewrite all files at once.
76776
76777 2006-09-17  Bruno Haible  <bruno@clisp.org>
76778
76779         * gnulib-tool (func_append): New function, stolen from libtool.m4.
76780         (func_modules_transitive_closure, func_modules_add_dummy,
76781         func_modules_to_filelist, func_import, func_create_testdir,
76782         func_create_megatestdir, ...): Use it wherever possible.
76783         Suggested by Ralf Wildenhues.
76784
76785 2006-09-16  Karl Berry  <karl@gnu.org>
76786
76787         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
76788         to avoid sectioning errors.
76789         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
76790         [ifinfo]: blank line after @center-ed titles.
76791         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
76792         Spell FSF address consistently with others.
76793         (These changes approved by rms.)
76794
76795 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76796
76797         Speed up by a factor of 1.61.
76798         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
76799         already checked module names again.
76800
76801 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76802
76803         Speed up by a factor of 1.13.
76804         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
76805         for new_files, and the input to func_add_or_update.
76806
76807 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76808
76809         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
76810         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
76811
76812 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76813
76814         * modules/mkancesdirs (Depends-on): Add fcntl.
76815         * modules/savewd: New file.
76816         * MODULES.html.sh (File system functions): Add savewd.
76817
76818         * modules/configmake (Makefile.am): Add support for the
76819         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
76820
76821 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76822
76823         * m4/savewd.m4: New file.
76824
76825 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
76826
76827         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
76828         (dirchownmod): New arg FD.  All callers changed.
76829         Use FD rather than opening the directory ourself, as opening is
76830         now the caller's responsibility.
76831         * lib/dirchownmod.h: Likewise.
76832         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
76833         hosts that require <sys/types.h> before <sys/stat.h>.  Include
76834         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
76835         (test_dir): Remove.
76836         (mkancesdirs): Return length of prefix of FILE that has already
76837         been made, or -2 if there is a child doing the work.  Redo
76838         algorithm so that it is O(N) rather than O(N**2).  Optimize away
76839         ".", and treat ".." specially since it might stray back into
76840         already-created areas.  Use a subprocess if necessary.  New arg
76841         WD; all users changed.  MAKE_DIR function should now return 1
76842         if it creates a directory that is not readable.  Return -2 if
76843         a child process is spun off.
76844         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
76845         Adjust signature to match code.
76846         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
76847         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
76848         all users changed.
76849         * lib/savewd.c, lib/savewd.h: New files.
76850
76851 2006-09-15  Jim Meyering  <jim@meyering.net>
76852
76853         * modules/rename-dest-slash: New module.
76854         * MODULES.html.sh (posix_compat): Add it here.
76855
76856         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
76857
76858 2006-09-15  Jim Meyering  <jim@meyering.net>
76859
76860         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
76861         file.
76862
76863         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
76864
76865 2006-09-15  Jim Meyering  <jim@meyering.net>
76866
76867         * lib/rename-dest-slash.c (has_trailing_slash): Use
76868         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
76869         (rpl_rename_dest_slash): Perform the cheaper trailing slash
76870         test before testing whether SRC is a directory.
76871         Suggestions from Bruno Haible.
76872
76873         Avoid a warning about an unused variable.
76874         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
76875         into the #ifdef block where it's used.
76876
76877         * lib/rename-dest-slash.c: New file.
76878
76879 2006-09-14  Bruno Haible  <bruno@clisp.org>
76880
76881         * lib/allocsa.c: Include <config.h> unconditionally.
76882         * lib/asnprintf.c: Likewise.
76883         * lib/asprintf.c: Likewise.
76884         * lib/c-strcasecmp.c: Likewise.
76885         * lib/c-strcasestr.c: Likewise.
76886         * lib/c-strncasecmp.c: Likewise.
76887         * lib/c-strstr.c: Likewise.
76888         * lib/classpath.c: Likewise.
76889         * lib/clean-temp.c: Likewise.
76890         * lib/concatpath.c: Likewise.
76891         * lib/copy-file.c: Likewise.
76892         * lib/csharpcomp.c: Likewise.
76893         * lib/csharpexec.c: Likewise.
76894         * lib/execute.c: Likewise.
76895         * lib/fatal-signal.c: Likewise.
76896         * lib/findprog.c: Likewise.
76897         * lib/fwriteerror.c: Likewise.
76898         * lib/gl_array_list.c: Likewise.
76899         * lib/gl_array_oset.c: Likewise.
76900         * lib/gl_avltree_list.c: Likewise.
76901         * lib/gl_avltree_oset.c: Likewise.
76902         * lib/gl_avltreehash_list.c: Likewise.
76903         * lib/gl_carray_list.c: Likewise.
76904         * lib/gl_linked_list.c: Likewise.
76905         * lib/gl_linkedhash_list.c: Likewise.
76906         * lib/gl_list.c: Likewise.
76907         * lib/gl_oset.c: Likewise.
76908         * lib/gl_rbtree_list.c: Likewise.
76909         * lib/gl_rbtree_oset.c: Likewise.
76910         * lib/gl_rbtreehash_list.c: Likewise.
76911         * lib/imaxabs.c: Likewise.
76912         * lib/imaxdiv.c: Likewise.
76913         * lib/javacomp.c: Likewise.
76914         * lib/javaexec.c: Likewise.
76915         * lib/javaversion.c: Likewise.
76916         * lib/linebreak.c: Likewise.
76917         * lib/localcharset.c: Likewise.
76918         * lib/lock.c: Likewise.
76919         * lib/mbchar.c: Likewise.
76920         * lib/mbswidth.c: Likewise.
76921         * lib/mkdtemp.c: Likewise.
76922         * lib/pipe.c: Likewise.
76923         * lib/printf-args.c: Likewise.
76924         * lib/printf-parse.c: Likewise.
76925         * lib/progname.c: Likewise.
76926         * lib/progreloc.c: Likewise.
76927         * lib/readlink.c: Likewise.
76928         * lib/sh-quote.c: Likewise.
76929         * lib/stpcpy.c: Likewise.
76930         * lib/stpncpy.c: Likewise.
76931         * lib/strcasecmp.c: Likewise.
76932         * lib/strcasestr.c: Likewise.
76933         * lib/strcspn.c: Likewise.
76934         * lib/striconv.c: Likewise.
76935         * lib/strncasecmp.c: Likewise.
76936         * lib/strnlen1.c: Likewise.
76937         * lib/strstr.c: Likewise.
76938         * lib/strtok_r.c: Likewise.
76939         * lib/tls.c: Likewise.
76940         * lib/tmpdir.c: Likewise.
76941         * lib/unicodeio.c: Likewise.
76942         * lib/unsetenv.c: Likewise.
76943         * lib/vasnprintf.c: Likewise.
76944         * lib/vasprintf.c: Likewise.
76945         * lib/wait-process.c: Likewise.
76946         * lib/xallocsa.c: Likewise.
76947         * lib/xsetenv.c: Likewise.
76948         * lib/xstriconv.c: Likewise.
76949
76950 2006-09-13  Simon Josefsson  <jas@extundo.com>
76951
76952         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
76953         that internally, suggested by Ralf Wildenhues
76954         <Ralf.Wildenhues@gmx.de>.
76955
76956 2006-09-13  Simon Josefsson  <jas@extundo.com>
76957
76958         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
76959         @LIBOBJS@.
76960         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76961
76962 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
76963
76964         * lib/_fpending.c: Include <config.h> unconditionally, since we no
76965         longer worry about uses that don't define HAVE_CONFIG_H.
76966         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
76967         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
76968         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
76969         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
76970         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
76971         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
76972         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
76973         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
76974         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
76975         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
76976         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
76977         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
76978         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
76979         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
76980         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
76981         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
76982         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
76983         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
76984         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
76985         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
76986         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
76987         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
76988         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
76989         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
76990         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
76991         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
76992         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
76993         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
76994         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
76995         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
76996         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
76997         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
76998         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
76999         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
77000         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
77001         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
77002         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
77003         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
77004         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
77005         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
77006         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
77007         Likewise.
77008
77009 2006-09-13  Eric Blake  <ebb9@byu.net>
77010
77011         * lib/getopt.c: Fix typo in last commit.
77012
77013 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
77014
77015         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
77016         dgettext.
77017
77018 2006-09-12  Jim Meyering  <jim@meyering.net>
77019
77020         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
77021         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
77022         Reported by Nelson H. F. Beebe.
77023
77024 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77025
77026         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
77027         program_invocation_name and program_invocation_short_name are
77028         initialized.
77029         * lib/argp-namefrob.h: Move declarations of program_invocation_name
77030         and program_invocation_short_name to argp.h, so they are visible
77031         to user programs.
77032         * lib/argp.h: Likewise
77033
77034 2006-09-10  Bruno Haible  <bruno@clisp.org>
77035
77036         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
77037         m4/inttypes_h.m4, m4/uintmax_t.m4.
77038
77039 2006-09-10  Bruno Haible  <bruno@clisp.org>
77040
77041         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
77042         gl_AC_TYPE_UINTMAX_T.
77043
77044 2006-09-10  Bruno Haible  <bruno@clisp.org>
77045
77046         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
77047
77048 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77049
77050         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
77051         convention.  Text proposed by Bruno Haible.
77052         (struct argp_option): Document the use of N_() wrappers.
77053
77054         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
77055         '\v', and translate the two parts separately, instead of feeding
77056         the whole string to gettext.  This allows to exclude
77057         '\v' from the strings visible to the translator by writing doc
77058         strings as N_("..") "\v" N_("..").
77059
77060 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
77061
77062         * config/srclist.txt: Undo latest change; the bug was fixed.
77063
77064 2006-09-09  Bruno Haible  <bruno@clisp.org>
77065
77066         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
77067         assignments if building a library without libtool.
77068         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
77069         in func_emit_lib_Makefile_am.
77070         (func_import): When building a static library libfoo.a, arrange to
77071         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
77072         (func_create_testdir): Likewise.
77073         * modules/gc (configure.ac, Makefile.am): If building statically,
77074         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
77075         * modules/iconvme (configure.ac, Makefile.am): Likewise.
77076         * modules/striconv (configure.ac, Makefile.am): Likewise.
77077         Based on a suggestion by Ralf Wildenhues.
77078
77079 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77080
77081         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
77082         Check for unistd.h too, since Autoconf doesn't assume POSIX.
77083         Also:
77084
77085         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77086         Add year_2050_test to catch glibc bug 2821
77087         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
77088
77089         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
77090         Prefer #ifdef to #if.
77091
77092         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
77093         Return from 'main' instead of calling 'exit'.
77094
77095 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77096
77097         * lib/mktime.c (guess_time_tm): Fix bug where mktime
77098         returned the maximum time_t value rather than (time_t) -1.
77099         Problem originally reported by William Bardwell
77100         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
77101
77102         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
77103         Moved to here ...
77104         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
77105         ... from here.
77106
77107 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
77108
77109         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
77110         2821 is fixed.
77111
77112 2006-09-08  Jim Meyering  <jim@meyering.net>
77113
77114         Don't make generated files read-only.  That would bother too many
77115         people.  However, do retain the ability to work when targets are
77116         read-only: remove the destination and temporary files before writing
77117         them (when generated via sed or echo), or by using the -f option for
77118         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
77119         * modules/alloca-opt, modules/argz, modules/arpa_inet:
77120         * modules/byteswap, modules/configmake, modules/fcntl:
77121         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
77122         * modules/localcharset, modules/netinet_in, modules/poll:
77123         * modules/stdbool, modules/stdint, modules/sys_select:
77124         * modules/sys_socket, modules/sys_stat, modules/sysexits:
77125
77126 2006-09-08  Jim Meyering  <jim@meyering.net>
77127
77128         Avoid new build failure on FreeBSD 6.0.
77129         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
77130         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
77131         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
77132
77133 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77134
77135         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
77136
77137 2006-09-07  Jim Meyering  <jim@meyering.net>
77138
77139         Fix global typo in last change: use chmod u-w, not chmod u-x.
77140         Spotted by Paul Eggert and Bruce Korb.
77141         * modules/alloca-opt, modules/argz, modules/arpa_inet:
77142         * modules/byteswap, modules/configmake, modules/fcntl:
77143         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
77144         * modules/localcharset, modules/netinet_in, modules/poll:
77145         * modules/stdbool, modules/stdint, modules/sys_select:
77146         * modules/sys_socket, modules/sys_stat, modules/sysexits:
77147
77148 2006-09-06  Jim Meyering  <jim@meyering.net>
77149
77150         Make generated files be read-only.
77151         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
77152         Ensure that each generated file is now read-only.
77153         * modules/argz: Likewise.
77154         * modules/arpa_inet: Likewise.
77155         * modules/byteswap: Likewise.
77156         * modules/configmake: Likewise.
77157         * modules/fcntl: Likewise.
77158         * modules/fnmatch: Likewise.
77159         * modules/getopt: Likewise.
77160         * modules/glob: Likewise.
77161         * modules/inttypes: Likewise.
77162         * modules/netinet_in: Likewise.
77163         * modules/poll: Likewise.
77164         * modules/stdbool: Likewise.
77165         * modules/stdint: Likewise.
77166         * modules/sys_select: Likewise.
77167         * modules/sys_socket: Likewise.
77168         * modules/sys_stat: Likewise.
77169         * modules/sysexits: Likewise.
77170         * modules/localcharset: Same as above, but continue using temporary
77171         file named "t-$@" (why different?) rather than the "$@-t" used
77172         everywhere else.
77173
77174         * modules/sysexits (Makefile.am): Replace literal occurrences
77175         of "sysexit.h" more readable, and more consistent, "$@".
77176
77177 2006-09-06  Bruno Haible  <bruno@clisp.org>
77178
77179         * modules/striconv: New file.
77180         * modules/xstriconv: New file.
77181         * MODULES.html.sh (Internationalization functions): Add striconv,
77182         xstriconv.
77183
77184 2006-09-06  Bruno Haible  <bruno@clisp.org>
77185
77186         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
77187         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
77188         not using libtool correctly.
77189
77190 2006-09-06  Bruno Haible  <bruno@clisp.org>
77191
77192         * lib/striconv.h: New file.
77193         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
77194         iconvstring.c.
77195         * lib/xstriconv.h: New file.
77196         * lib/xstriconv.c: New file.
77197
77198 2006-09-06  Bruno Haible  <bruno@clisp.org>
77199
77200         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
77201         lib_..._LDFLAGS.
77202
77203 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77204
77205         * lib/argz_.h: Sync from Libtool.
77206
77207         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
77208                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
77209
77210         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
77211
77212 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
77213
77214         * modules/trim: New file.
77215
77216 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
77217
77218         * lib/trim.h: New file.
77219         * lib/trim.c: New file.
77220
77221 2006-09-05  Bruno Haible  <bruno@clisp.org>
77222
77223         * MODULES.html.sh (String handling): Add trim.
77224
77225 2006-09-04  Karl Berry  <karl@gnu.org>
77226
77227         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
77228         until next release.
77229
77230 2006-09-03  Bruno Haible  <bruno@clisp.org>
77231
77232         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
77233         correctly.
77234
77235 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77236
77237         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
77238         not gl_GETLOADAVG.  Omit unneeded semicolons.
77239         Problems reported by Ralf Wildenhues in
77240         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
77241         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
77242         at the end, which is the usual gnulib style.
77243
77244         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
77245         of doing all the work ourselves.
77246         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
77247         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
77248
77249 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77250
77251         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
77252         Problem reported by Ralf Wildenhues in
77253         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
77254
77255         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
77256         HAVE_STRUCT_STATFS_F_FSTYPENAME.
77257
77258 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
77259
77260         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
77261         yesterday's patch by changing test -n to test -z.
77262
77263 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77264
77265         * modules/getloadavg (Files): Add m4/getloadavg.m4.
77266         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
77267         the former is now obsolescent.
77268
77269         * modules/chdir-long (Depends-on): Add fcntl.
77270
77271 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77272
77273         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
77274         obsolescent, and programs should use gnulib instead.
77275         * m4/getloadavg.m4: New file, with contents taken from Autoconf
77276         but with prefixes changed.
77277
77278 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
77279
77280         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
77281         or stdbool.h, because they might not exist while configuring.
77282
77283         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
77284         Don't include unistd.h or limits.h; not needed, since chdir-long.h
77285         does that for us.
77286         (O_DIRECTORY): Remove.
77287
77288 2006-08-31  Eric Blake  <ebb9@byu.net>
77289
77290         * gnulib-tool: Don't let emacs change spaces to TAB.
77291
77292 2006-08-31  Bruno Haible  <bruno@clisp.org>
77293
77294         * gnulib-tool: When calling func_import more than once, do it in a
77295         subshell.
77296         Reported by Eric Blake <ebb9@byu.net>.
77297
77298 2006-08-31  Bruno Haible  <bruno@clisp.org>
77299
77300         * gnulib-tool (nl): Remove variable.
77301         (sed_transform_lib_file): Use more robust test for config-h module.
77302         (func_import): Fix typo in 2006-08-25 patch.
77303
77304 2006-08-31  Bruno Haible  <bruno@clisp.org>
77305
77306         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
77307         specified, augment Makefile.am variables instead of assigning them.
77308
77309 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77310
77311         Work around a bug in both the Linux and SunOS 64-bit kernels:
77312         nanosleep mishandles sleeps for longer than 2**31 seconds.
77313         Problem reported by Frank v Waveren in
77314         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
77315         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
77316         Check for nanosleep bug.
77317         (LIB_NANOSLEEP): Append clock_gettime library if needed.
77318
77319 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77320
77321         Work around a bug in both the Linux and SunOS 64-bit kernels:
77322         nanosleep mishandles sleeps for longer than 2**31 seconds.
77323         Problem reported by Frank v Waveren in
77324         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
77325         * lib/nanosleep.c (BILLION): New constant.
77326         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
77327         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
77328         implementation.
77329
77330 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77331
77332         * modules/nanosleep (Depends-on): Add gettime.
77333
77334 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
77335         and Simon Josefsson  <jas@extundo.com>
77336         and Oskar Liljeblad  <oskar@osk.mine.nu>
77337
77338         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
77339         * gnulib-tool (func_import): New license type 'unmodifiable license
77340         text'.
77341         * modules/fdl: Use it.  Longer description.
77342         * module/gpl, module/lgpl: New files.
77343
77344 2006-08-30  Jim Meyering  <jim@meyering.net>
77345
77346         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
77347         shadowing the parameter.
77348
77349 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77350
77351         Sync from Libtool:
77352
77353         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77354
77355         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
77356         sharing with gnulib.  Report by Eric Blake.
77357
77358 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
77359
77360         * modules/isapipe: New file.
77361         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
77362
77363 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
77364
77365         * modules/configmake (Makefile.am): Add a comment, and omit
77366         the CONFIGMAKE_ prefix from generated macro names.  Suggested
77367         by Bruno Haible.
77368
77369 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
77370
77371         * m4/isapipe.m4: New file.
77372
77373 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
77374
77375         * lib/isapipe.c, lib/isapipe.h: New files.
77376
77377 2006-08-29  Jim Meyering  <jim@meyering.net>
77378
77379         * modules/configmake (Makefile.am): Make configmake.h depend on
77380         Makefile.  Otherwise, a stale configmake.h could hang around.
77381
77382 2006-08-29  Eric Blake  <ebb9@byu.net>
77383
77384         * lib/error.c (error_at_line, print_errno_message): Match libc, after
77385         resolution of upstream bug 3044.
77386
77387 2006-08-29  Bruno Haible  <bruno@clisp.org>
77388
77389         * modules/localcharset (Depends-on): Add configmake.
77390         (Makefile.am): Remove setting of LIBDIR through DEFS.
77391
77392 2006-08-29  Bruno Haible  <bruno@clisp.org>
77393
77394         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
77395         defined.
77396
77397 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
77398
77399         * modules/fcntl: New file.
77400         * modules/chdir-safer (Depends-on): Add fcntl.
77401         * modules/fts: Likewise.
77402         * modules/mkdir-p: Likewise.
77403
77404         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
77405         This undoes the most recent change, since we're now addressing the
77406         problem in a different way.
77407
77408         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
77409         into output, since the output might be called Makefile.am even
77410         if $makefile_name is something different.
77411         (func_import): Use $makefile_am rather than
77412         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
77413         empty.
77414
77415         * modules/inttypes (Files): Add m4/inttypes-h.m4.
77416
77417 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
77418
77419         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
77420         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
77421         recent change to stdint.m4, since we're now addressing the problem in a
77422         different way.
77423
77424 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
77425
77426         * m4/fcntl_h.m4: New file.
77427
77428 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
77429
77430         * lib/fcntl_.h: New file.
77431         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
77432         the fcntl module.
77433         * lib/dirchownmod.c: Likewise.
77434         * lib/fts.c: Likewise.
77435
77436         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
77437         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
77438         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
77439         just before including <inttypes.h>, to avoid circular inclusion.
77440
77441 2006-08-28  Jim Meyering  <jim@meyering.net>
77442
77443         * doc/visibility.texi: Actually read and correct the grammar of the
77444         sentence affected by yesterday's change.
77445
77446 2006-08-28  Eric Blake  <ebb9@byu.net>
77447
77448         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
77449         needs wrapper.
77450
77451 2006-08-28  Eric Blake  <ebb9@byu.net>
77452
77453         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
77454
77455 2006-08-28  Eric Blake  <ebb9@byu.net>
77456
77457         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
77458
77459 2006-08-28  Bruno Haible  <bruno@clisp.org>
77460
77461         * modules/c-strstr: New file, from GNU gettext.
77462         * MODULES.html.sh (String handling): Add c-strstr.
77463
77464 2006-08-28  Bruno Haible  <bruno@clisp.org>
77465
77466         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
77467         macros.
77468         Reported by Eric Blake.
77469
77470 2006-08-28  Bruno Haible  <bruno@clisp.org>
77471
77472         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
77473         (VASNPRINTF): Return a string of length > INT_MAX without failing.
77474         * lib/vasprintf.c: Include errno.h, limits.h.
77475         (EOVERFLOW): New fallback definition.
77476         (vasprintf): Test here whether the string length is > INT_MAX.
77477         * lib/vsnprintf.c: Include errno.h, limits.h.
77478         (EOVERFLOW): New fallback definition.
77479         (vsnprintf): Fix bug when generated string was too long for the buffer.
77480         Test here whether the string length is > INT_MAX.
77481
77482 2006-08-28  Bruno Haible  <bruno@clisp.org>
77483
77484         * lib/inttypes_.h (SCNX*): Remove definitions.
77485         Reported by Eric Blake.
77486
77487 2006-08-28  Bruno Haible  <bruno@clisp.org>
77488
77489         * lib/c-strstr.h: New file, from GNU gettext.
77490         * lib/c-strstr.c: New file, from GNU gettext.
77491
77492 2006-08-28  Bruno Haible  <bruno@clisp.org>
77493
77494         * gnulib-tool: Reorder some statements.
77495
77496 2006-08-28  Bruno Haible  <bruno@clisp.org>
77497
77498         * gnulib-tool: New option --makefile-name.
77499         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
77500         $makefile_name.
77501         (func_import): Write $makefile_name to the cache file, and read it from
77502         there unless explicitly specified. Use $makefile_name as file name
77503         instead of Makefile.am. Adjust the recommendations accordingly.
77504
77505 2006-08-28  Bruno Haible  <bruno@clisp.org>
77506
77507         * gnulib-tool (func_verify_module): Check against misapplying patch.
77508
77509 2006-08-28  Bruno Haible  <bruno@clisp.org>
77510
77511         * gnulib-tool (func_relativize, func_relconcat): New functions.
77512         Give an error if --local-dir is given with --update.
77513         Remove trailing slashes from $local_gnulib_dir.
77514         (func_import): Store the relativized $local_gnulib_dir in
77515         gnulib-cache.m4, and read it from there if not specified explicitly.
77516
77517 2006-08-28  Bruno Haible  <bruno@clisp.org>
77518
77519         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
77520         is the current directory. Respect also $local_gnulib_dir.
77521
77522 2006-08-28  Bruno Haible  <bruno@clisp.org>
77523             Simon Josefsson  <jas@extundo.com>
77524
77525         BeOS portability.
77526         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
77527
77528 2006-08-27  Jim Meyering  <jim@meyering.net>
77529
77530         * doc/visibility.texi: Remove duplicate word: "pointer".
77531
77532 2006-08-26  Bruno Haible  <bruno@clisp.org>
77533
77534         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
77535         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
77536         (Makefile.am): Create inttypes.h from inttypes_.h.
77537         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
77538
77539         * modules/imaxabs: New file.
77540
77541         * modules/imaxdiv: New file.
77542
77543 2006-08-26  Bruno Haible  <bruno@clisp.org>
77544
77545         * m4/inttypes.m4: New file.
77546         * m4/_inttypes_h.m4: Remove file.
77547         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
77548         PRI_MACROS_BROKEN.
77549         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
77550
77551         * m4/imaxabs.m4: New file.
77552
77553         * m4/imaxdiv.m4: New file.
77554
77555 2006-08-26  Bruno Haible  <bruno@clisp.org>
77556
77557         * lib/inttypes_.h: New file.
77558         * lib/inttypes.h: Remove file.
77559         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
77560
77561         * lib/imaxabs.c: New file.
77562
77563         * lib/imaxdiv.c: New file.
77564
77565 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77566
77567         New config-h module, so that "make" output needn't be cluttered
77568         by -DHAVE_CONFIG_H.
77569         * MODULES.html.sh (Support for building libraries and executables):
77570         Add config-h.
77571         * modules/config-h: New file.
77572         * gnulib-tool (nl, sed_transform_lib_file): New vars.
77573         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
77574         the config-h module is used.
77575
77576         New configmake module, so that "make" output needn't be cluttered
77577         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
77578         * MODULES.html.sh (Support for building libraries and executables):
77579         Add configmake.
77580         * modules/configmake: New file.
77581
77582 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
77583
77584         * m4/config-h.m4: New file.
77585
77586 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77587
77588         * config/srclist.txt: Add elisp-comp.
77589
77590 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
77591
77592         * MODULES.html.sh (Support for building libraries and executables):
77593         Add elisp-comp.
77594         * build-aux/elisp-comp: New file.
77595         * modules/elisp-comp: New file.
77596
77597 2006-08-24  Bruno Haible  <bruno@clisp.org>
77598
77599         * gnulib-tool (func_create_testdir): Use non-default values of
77600         sourcebase and m4base.
77601
77602 2006-08-24  Bruno Haible  <bruno@clisp.org>
77603
77604         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
77605         HTML structure.
77606
77607 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
77608
77609         * modules/openat (Depends-on): Add lchown.
77610
77611 2006-08-23  Bruno Haible  <bruno@clisp.org>
77612
77613         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
77614         of gl_LOCK_EARLY instead of gl_LOCK.
77615
77616 2006-08-23  Bruno Haible  <bruno@clisp.org>
77617
77618         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
77619         on OSF/1 to no.
77620         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
77621
77622 2006-08-23  Bruno Haible  <bruno@clisp.org>
77623
77624         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
77625         as unusable.
77626
77627         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
77628         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
77629         (gl_LOCK): New macro.
77630
77631 2006-08-22  Simon Josefsson  <jas@extundo.com>
77632
77633         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
77634         to md5 module.
77635
77636 2006-08-22  Simon Josefsson  <jas@extundo.com>
77637
77638         * MODULES.html.sh: Add "Support for maintaining and release
77639         projects".
77640
77641         * build-aux/gnupload: New file, from coreutils.
77642
77643 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
77644
77645         Avoid the need for AC_LIBSOURCES in m4 macros.
77646         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
77647         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
77648         * modules/check-version (EXTRA_DIST): Add check-version.h.
77649         * modules/crc (EXTRA_DIST): Add crc.h.
77650         * modules/des (EXTRA_DIST): Add des.h.
77651         * modules/gc (EXTRA_DIST): Add gc.h.
77652         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
77653         * modules/getline (EXTRA_DIST): Add getline.h.
77654         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
77655         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
77656         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
77657         * modules/md2 (EXTRA_DIST): Add md2.h.
77658         * modules/md4 (EXTRA_DIST): Add md4.h.
77659         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
77660         * modules/read-file (EXTRA_DIST): Add read-file.h.
77661         * modules/readline (EXTRA_DIST): Add readline.h.
77662         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
77663         rijndael-api-fst.h.
77664
77665 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
77666
77667         * m4/rijndael.m4 (gl_ARCFOUR):
77668         * m4/arctwo.m4 (gl_ARCTWO):
77669         * m4/check-version.m4 (gl_CHECK_VERSION):
77670         * m4/crc.m4 (gl_CRC):
77671         * m4/des.m4 (gl_DES):
77672         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
77673         * m4/gc.m4 (gl_GC):
77674         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
77675         * m4/getline.m4 (gl_FUNC_GETLINE):
77676         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
77677         * m4/hmac-md5.m4 (gl_HMAC_MD5):
77678         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
77679         * m4/md2.m4 (gl_MD2):
77680         * m4/md4.m4 (gl_MD4):
77681         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
77682         * m4/read-file.m4 (gl_FUNC_READ_FILE):
77683         * m4/readline.m4 (gl_FUNC_READLINE):
77684         * m4/rijndael.m4 (gl_RIJNDAEL):
77685         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
77686         to get the necessary .h files and whatnot.
77687
77688 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
77689
77690         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
77691         gnulib rather than the other way around.
77692         * config/srclistvars.sh (COREUTILS): Remove.
77693
77694 2006-08-22  Jim Meyering  <jim@meyering.net>
77695
77696         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
77697
77698         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
77699
77700 2006-08-22  Eric Blake  <ebb9@byu.net>
77701
77702         * modules/regexprops-generic: New file.
77703         * MODULES.html.sh (Support for building documentation): List it.
77704
77705 2006-08-22  Eric Blake  <ebb9@byu.net>
77706
77707         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
77708         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
77709         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
77710         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
77711
77712 2006-08-22  Bruno Haible  <bruno@clisp.org>
77713
77714         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
77715         and lib_LTLIBRARIES like the other lib_* variables.
77716
77717 2006-08-22  Bruno Haible  <bruno@clisp.org>
77718
77719         * build-aux/x-to-1.in: New file, from GNU gettext.
77720
77721 2006-08-22  Bruno Haible  <bruno@clisp.org>
77722
77723         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
77724         <utmpx.h> exists.
77725
77726 2006-08-22  Bruno Haible  <bruno@clisp.org>
77727
77728         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
77729         <utmpx.h> exists.
77730
77731 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
77732
77733         BeOS portability.
77734         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
77735         exist.
77736         Problem reported by Bruno Haible.
77737
77738 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
77739
77740         Avoid the need for AC_LIBSOURCES in m4 macros.
77741         * modules/acl (EXTRA_DIST): Add acl.h.
77742         * modules/argmatch (Files): Add m4/argmatch.m4.
77743         (configure.ac): Add gl_ARGMATCH.
77744         (EXTRA_DIST): Renamed from lib_SOURCES, for
77745         consistency with the other modules.  Remove argmatch.c.
77746         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
77747         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
77748         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
77749         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
77750         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
77751         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
77752         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
77753         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
77754         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
77755         * modules/closeout (EXTRA_DIST): Add closeout.h.
77756         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
77757         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
77758         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
77759         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
77760         dirname.h; remove basename.c and stripslash.c.
77761         * modules/exclude (EXTRA_DIST): Add exclude.h.
77762         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
77763         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
77764         * modules/file-type (EXTRA_DIST): Add file-type.h.
77765         * modules/filemode (EXTRA_DIST): Add filemode.h.
77766         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
77767         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
77768         * modules/fpending (EXTRA_DIST): Add __fpending.h.
77769         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
77770         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
77771         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
77772         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
77773         * modules/getdate (EXTRA_DIST): Add getdate.c.
77774         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
77775         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
77776         * modules/getpass (EXTRA_DIST): Add getpass.h.
77777         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
77778         * modules/group-member (EXTRA_DIST): Add group-member.h.
77779         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
77780         * modules/hash (EXTRA_DIST): Add hash.h.
77781         * modules/human (EXTRA_DIST): Add human.h.
77782         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
77783         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
77784         * modules/lchown (EXTRA_DIST): Add lchown.h.
77785         * modules/long-options (EXTRA_DIST): Add long-options.h.
77786         * modules/lstat (EXTRA_DIST): Add lstat.h.
77787         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
77788         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
77789         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
77790         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
77791         * modules/memxor (EXTRA_DIST): Add memxor.h.
77792         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
77793         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
77794         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
77795         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
77796         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
77797         * modules/physmem (EXTRA_DIST): Add physmem.h.
77798         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
77799         * modules/posixver (EXTRA_DIST): Add posixver.h.
77800         * modules/quote (EXTRA_DIST): Add quote.h.
77801         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
77802         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
77803         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
77804         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
77805         regex_internal.h regexec.c.
77806         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
77807         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
77808         * modules/same (EXTRA_DIST): Add same.h.
77809         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
77810         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
77811         * modules/savedir (EXTRA_DIST): Add savedir.h.
77812         * modules/sha1 (EXTRA_DIST): Add sha1.h.
77813         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
77814         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
77815         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
77816         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
77817         * modules/strdup (EXTRA_DIST): Add strdup.h.
77818         * modules/strftime (EXTRA_DIST): Add strftime.h.
77819         * modules/strndup (EXTRA_DIST): Add strndup.h.
77820         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
77821         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
77822         * modules/time_r (EXTRA_DIST): Add time_r.h.
77823         * modules/timespec (EXTRA_DIST): Add timespec.h.
77824         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
77825         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
77826         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
77827         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
77828         * modules/userspec (EXTRA_DIST): Add userspec.h.
77829         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
77830         * modules/utimens (EXTRA_DIST): Add utimens.h.
77831         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
77832         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
77833         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
77834         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
77835         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
77836         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
77837         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
77838         * modules/yesno (EXTRA_DIST): Add yesno.h.
77839
77840 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
77841
77842         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
77843
77844         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
77845         * m4/dev-ino.m4, same-inode.m4: Remove.
77846
77847         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
77848         * m4/acl.m4 (AC_FUNC_ACL):
77849         * m4/backupfile.m4 (gl_BACKUPFILE):
77850         * m4/c-strtod.m4 (gl_C99_STRTOLD):
77851         * m4/canon-host.m4 (gl_CANON_HOST):
77852         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
77853         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
77854         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
77855         * m4/cloexec.m4 (gl_CLOEXEC):
77856         * m4/close-stream.m4 (gl_CLOSE_STREAM):
77857         * m4/closeout.m4 (gl_CLOSEOUT):
77858         * m4/dirfd.m4 (gl_FUNC_DIRFD):
77859         * m4/dirname.m4 (gl_DIRNAME):
77860         * m4/exclude.m4 (gl_EXCLUDE):
77861         * m4/exitfail.m4 (gl_EXITFAIL):
77862         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
77863         * m4/file-type.m4 (gl_FILE_TYPE):
77864         * m4/filemode.m4 (gl_FILEMODE):
77865         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
77866         * m4/fpending.m4 (gl_FUNC_FPENDING):
77867         * m4/fprintftime.m4 (gl_FPRINTFTIME):
77868         * m4/fts.m4 (gl_FUNC_FTS):
77869         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
77870         * m4/getdate.m4 (gl_GETDATE):
77871         * m4/gethrxtime.m4 (gl_GETHRXTIME):
77872         * m4/getpagesize.m4 (gl_GETPAGESIZE):
77873         * m4/getpass.m4 (gl_FUNC_GETPASS):
77874         * m4/gettime.m4 (gl_GETTIME):
77875         * m4/getugroups.m4 (gl_GETUGROUPS):
77876         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
77877         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
77878         * m4/hard-locale.m4 (gl_HARD_LOCALE):
77879         * m4/hash.m4 (gl_HASH):
77880         * m4/idcache.m4 (gl_IDCACHE):
77881         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
77882         * m4/lchown.m4 (gl_FUNC_LCHOWN):
77883         * m4/long-options.m4 (gl_LONG_OPTIONS):
77884         * m4/lstat.m4 (gl_FUNC_LSTAT):
77885         * m4/md5.m4 (gl_MD5):
77886         * m4/memcasecmp.m4 (gl_MEMCASECMP):
77887         * m4/memcoll.m4 (gl_MEMCOLL):
77888         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
77889         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
77890         * m4/memxor.m4 (gl_MEMXOR):
77891         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
77892         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
77893         * m4/modechange.m4 (gl_MODECHANGE):
77894         * m4/mountlist.m4 (gl_MOUNTLIST):
77895         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
77896         * m4/openat.m4 (gl_FUNC_OPENAT):
77897         * m4/pathmax.m4 (gl_PATHMAX):
77898         * m4/physmem.m4 (gl_PHYSMEM):
77899         * m4/posixtm.m4 (gl_POSIXTM):
77900         * m4/posixver.m4 (gl_POSIXVER):
77901         * m4/quote.m4 (gl_QUOTE):
77902         * m4/quotearg.m4 (gl_QUOTEARG):
77903         * m4/readtokens.m4 (gl_READTOKENS):
77904         * m4/readutmp.m4 (gl_READUTMP):
77905         * m4/regex.m4 (gl_REGEX):
77906         * m4/safe-read.m4 (gl_SAFE_READ):
77907         * m4/safe-write.m4 (gl_SAFE_WRITE):
77908         * m4/same.m4 (gl_SAME):
77909         * m4/save-cwd.m4 (gl_SAVE_CWD):
77910         * m4/savedir.m4 (gl_SAVEDIR):
77911         * m4/settime.m4 (gl_SETTIME):
77912         * m4/sha1.m4 (gl_SHA1):
77913         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
77914         * m4/stat-macros.m4 (gl_STAT_MACROS):
77915         * m4/stat-time.m4 (gl_STAT_TIME):
77916         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
77917         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
77918         * m4/strdup.m4 (gl_FUNC_STRDUP):
77919         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
77920         * m4/strndup.m4 (gl_FUNC_STRNDUP):
77921         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
77922         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
77923         * m4/time_r.m4 (gl_TIME_R):
77924         * m4/timespec.m4 (gl_TIMESPEC):
77925         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
77926         * m4/unlinkdir.m4 (gl_UNLINKDIR):
77927         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
77928         * m4/userspec.m4 (gl_USERSPEC):
77929         * m4/utimecmp.m4 (gl_UTIMECMP):
77930         * m4/utimens.m4 (gl_UTIMENS):
77931         * m4/xalloc.m4 (gl_XALLOC):
77932         * m4/xgetcwd.m4 (gl_XGETCWD):
77933         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
77934         * m4/xreadlink.m4 (gl_XREADLINK):
77935         * m4/xstrtod.m4 (gl_XSTRTOD):
77936         * m4/yesno.m4 (gl_YESNO):
77937         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
77938         to get the necessary .h files and whatnot.
77939
77940 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
77941             Bruno Haible  <bruno@clisp.org>
77942
77943         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
77944         /bin/sh understanding of '!' conditional negation.
77945
77946 2006-08-21  Jim Meyering  <jim@meyering.net>
77947
77948         * modules/openat (Depends-on): Really alphabetize.
77949
77950         * modules/acl (Depends-on): Add error and quote.
77951
77952         * check-module (find_included_lib_files): Add at-func.c to the
77953         ok-to-include-more-than-once white list.
77954
77955         * modules/openat (Depends-on): Add lstat.  Alphabetize.
77956
77957 2006-08-21  Bruno Haible  <bruno@clisp.org>
77958
77959         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77960         Emit a pkgdata_DATA variable only if some snippets add contents to it.
77961         Reported by Martin Lambers <marlam@marlam.de>.
77962
77963 2006-08-21  Bruno Haible  <bruno@clisp.org>
77964
77965         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
77966         specify an installation location, don't emit a noinst_LIBRARIES or
77967         noinst_LTLIBRARIES assignment.
77968
77969 2006-08-21  Bruno Haible  <bruno@clisp.org>
77970
77971         BeOS portability.
77972         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
77973         BeOS has mbrtowc() but no <wctype.h>.
77974
77975 2006-08-21  Bruno Haible  <bruno@clisp.org>
77976
77977         BeOS portability.
77978         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
77979         exist.
77980
77981 2006-08-21  Bruno Haible  <bruno@clisp.org>
77982
77983         BeOS portability.
77984         * lib/mbchar.h: Include <wctype.h> only if it exists.
77985
77986 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
77987
77988         Remove files that are no longer needed by their respective modules.
77989         * m4/obstack.m4: Remove.
77990         * m4/strerror_r.m4: Remove.
77991         * m4/uint32_t.m4: Remove.
77992         * m4/uintptr_t.m4: Remove.
77993         * m4/ullong_max.m4: Remove.
77994         * m4/xstrtoimax.m4: Remove.
77995         * m4/xstrtoumax.m4: Remove.
77996
77997         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
77998         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
77999         dependencies now capture this.
78000
78001         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
78002         Do not use AC_LIBSOURCES, since gnulib modules now do this.
78003         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
78004         * m4/human.m4 (gl_HUMAN): Likewise.
78005         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
78006         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
78007
78008         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
78009
78010         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
78011         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
78012         stdint.
78013         * m4/human.m4 (gl_HUMAN): Likewise.
78014         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
78015         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
78016         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
78017         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
78018         * m4/xstrtol (gl_XSTRTOL): Likewise.
78019
78020         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
78021         AC_TYPE_LONG_LONG_INT.
78022         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
78023         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
78024         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
78025         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
78026
78027         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
78028         on stdbool.
78029
78030         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
78031         (gl_PREREQ_XSTRTOUL): Remove.
78032
78033         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
78034
78035         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
78036         mode.
78037
78038 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78039
78040         Add and change modules to make it easier for coreutils to use
78041         gnulib-tool.
78042         * modules/backupfile (Files): Remove m4/d-ino.m4.
78043         (Depends-on): Add d-ino.
78044         * modules/cycle-check (Depends-on): Add stdint.
78045         (lib_SOURCES): Add cycle-check.h.
78046         * modules/d-ino: New module.
78047         * modules/d-type: New module.
78048         * modules/error (Files): Remove m4/strerror_r.m4.
78049         * modules/filemode (Files): Add m4/st_dm_mode.m4.
78050         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78051         m4/inttypes_h.m4, m4/uintmax_t.m4.
78052         (Depends-on): Add stdint.
78053         (lib_SOURCES): Add fsusage.h.
78054         * modules/getcwd (Files): Remove d-ino.m4.
78055         (Depends-on): Add d-ino.
78056         * modules/getndelim2 (Depends-on): Add stdint.
78057         * modules/glob (Files): Remove m4/d-type.m4.
78058         (Depends-on): Add d-type.
78059         * modules/host-os: New module.
78060         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
78061         m4/inttypes_h.m4, m4/uintmax_t.m4.
78062         * Depends-on: Add stdint.
78063         (lib_SOURCES): Add human.h.
78064         * modules/inttostr (Files): Remove m4/intmax_t.m4,
78065         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
78066         m4/uintmax_t.m4, m4/ulonglong.m4.
78067         (Depends-on): Add stdint.
78068         (EXTRA_DIST): Add inttostr.h.
78069         * modules/lchmod: New module.
78070         * modules/link-follow: New module.
78071         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
78072         (Depends-on): Add lchmod.
78073         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
78074         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
78075         (Depends-on): Add stdint.
78076         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
78077         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
78078         (Depends-on): Add stdint.
78079         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
78080         * modules/perl: New module.
78081         * modules/regex (Depends-on): Add stdint.
78082         * modules/rmdir-errno: New module.
78083         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
78084         m4/intmax_t.m4.
78085         (Depends-on): Add stdint.
78086         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
78087         m4/uintmax_t.m4.
78088         (Depends-on): Add stdint.
78089         * modules/unlink-busy: New module.
78090         * modules/utimecmp (Depends-on): Add stdint.
78091         * modules/uptime: New module.
78092         * modules/winsz-ioctl: New module.
78093         * modules/winsz-termios: New module.
78094         * modules/xnanosleep (Depends-on): Add nanosleep.
78095         * modules/ullong_max: Remove.
78096         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
78097         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
78098         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
78099         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
78100         (Depends-on): Add inttypes.
78101         (lib_SOURCES): Add xstrtol.h.
78102         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
78103         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
78104         * MODULES.html.sh: Move 'assert' into the assert section.
78105         Move 'dummy' into the linking section.
78106         Remove ullong_max.
78107         Add section for compatibility checks for POSIX:2001 functions,
78108         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
78109         winsz-ioctl, and winsz-termios into it.
78110         Add lchmod.
78111         Add top-level Misc section and put host-os, perl, and uptime
78112         into it.
78113
78114 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78115
78116         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
78117         now assume the stdint module.  Do not include inttypes.h.
78118         * lib/fsusage.h: Likewise.
78119         * lib/getndelim2.c: Likewise.
78120         * lib/human.h: Likewise.
78121         * lib/inttostr.h: Likewise.
78122         * lib/obstack.c: Likewise.
78123         * lib/regex_internal.h: Likewise.
78124         * lib/tempname.c: Likewise.
78125         * lib/utimecmp.c: Likewise.
78126         * lib/xstrtol.h: Likewise.
78127
78128         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
78129
78130         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
78131         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
78132         * lib/xtime.h: Likewise.
78133
78134 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78135
78136         * modules/openat (Files): Add lib/fchmodat.c.
78137         Fixes problem reported by Jay Youngman.
78138
78139 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
78140
78141         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
78142         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
78143
78144 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
78145             Bruno Haible  <bruno@clisp.org>
78146
78147         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
78148         and is a script that invokes bison. Tighten the code. Add comments.
78149
78150 2006-08-18  Jim Meyering  <jim@meyering.net>
78151
78152         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
78153         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
78154         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
78155         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
78156
78157 2006-08-18  Bruno Haible  <bruno@clisp.org>
78158
78159         * modules/bison-i18n: New file.
78160         * MODULES.html.sh (Internationalization functions): Add it.
78161
78162 2006-08-18  Bruno Haible  <bruno@clisp.org>
78163
78164         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
78165         sys/statvfs.h. When getmntinfo was found, check its declaration and
78166         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
78167
78168 2006-08-18  Bruno Haible  <bruno@clisp.org>
78169
78170         * m4/bison-i18n.m4: New file, from bison.
78171
78172 2006-08-18  Bruno Haible  <bruno@clisp.org>
78173
78174         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
78175         (ME_DUMMY): Treat "kernfs" as a dummy.
78176         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
78177
78178 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78179
78180         Update from coreutils.
78181
78182         2006-08-15  Jim Meyering  <jim@meyering.net>
78183
78184         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
78185
78186         2006-01-17  Jim Meyering  <jim@meyering.net>
78187
78188         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
78189
78190         2006-01-11  Jim Meyering  <jim@meyering.net>
78191
78192         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
78193         Check for the lchmod function.
78194
78195 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
78196
78197         Update from coreutils.
78198
78199         * lib/__fpending.h: Add copyright notice.
78200         * lib/fprintftime.h: Likewise.
78201         * lib/savedir.c: Use (C) in copyright notice.
78202         * lib/savedir.h: Likewise.
78203
78204         2006-08-15  Jim Meyering  <jim@meyering.net>
78205
78206         * lib/at-func.c: New file, with the logic of all emulated at-functions.
78207         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
78208         in support of the EXPECTED_ERRNO macro.
78209         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
78210         definitions.  Instead, define the appropriate symbols and include
78211         "at-func.c".
78212         * lib/mkdirat.c (mkdirat): Likewise.
78213         * lib/fchmodat.c (fchmodat): Likewise.
78214         (ENOSYS): Remove definition.
78215         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
78216         it.  Don't include "unistd--.h" -- it wasn't ever used.
78217
78218         2006-01-17  Jim Meyering  <jim@meyering.net>
78219
78220         Rewrite fts.c not to change the current working directory,
78221         by using openat, fstatat, fdopendir, etc..
78222
78223         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
78224         (HAVE_OPENAT_SUPPORT): Define.
78225         [_LIBC] (fchdir): Don't undef or define; no longer used.
78226         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
78227         Now, this `function' always succeeds, and consumes its file descriptor
78228         parameter -- so callers must not close such FDs.  Update callers.
78229         (diropen_fd, opendirat, cwd_advance_fd): New functions.
78230         (diropen): Add parameter, SP.  Adjust all callers.
78231         Implement using diropen_fd, rather than open.
78232         (fts_open): Initialize new member, fts_cwd_fd.
78233         Remove fts_rft-setting code.
78234         (fts_close): Close fts_cwd_fd, if necessary.
78235         (__opendir2): Define in terms of opendir or opendirat,
78236         depending on whether the FST_NOCHDIR flag is set.
78237         (fts_build): Since fts_safe_changedir consumes its FD, and since
78238         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
78239         and close the dup'd file descriptor upon failure.
78240         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
78241         (fts_safe_changedir): Tweak semantics to reflect that this function
78242         now calls cwd_advance_fd and hence consumes its FD argument.
78243         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
78244         [struct FTS] (fts_rft): Remove now-unused member.
78245         [struct FTS] (fts_cycle.state): Improve comment.
78246
78247         * lib/openat.c (openat_needs_fchdir): New function.
78248         * lib/openat.h (openat_needs_fchdir): Declare it.
78249
78250 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
78251
78252         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
78253         Problem and fix reported by Pádraig Brady in
78254         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
78255
78256 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78257
78258         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
78259
78260 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78261
78262         * lib/memcoll.c (memcoll): Optimize for the common case where the
78263         arguments are bytewise equal.
78264
78265 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78266
78267         * doc/regexprops-generic.texi: Add a copyright notice.
78268
78269 2006-08-15  Bruno Haible  <bruno@clisp.org>
78270
78271         * modules/tmpdir (License): Change to LGPL.
78272
78273 2006-08-15  Bruno Haible  <bruno@clisp.org>
78274
78275         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
78276         module.
78277
78278 2006-08-14  Simon Josefsson  <jas@extundo.com>
78279
78280         * config/srclist.txt: Add gnupload.
78281
78282 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78283
78284         Change copyright notice from LGPL 2 to GPL 2, since that's the
78285         standard form used in the gnulib repository.
78286         * tests/test-lock.c: Likewise.
78287         * tests/test-stdint.c: Likewise.
78288         * tests/test-tls.c: Likewise.
78289
78290         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
78291         prelude-manager.  User shorter URLs for GNU projects, without '?'.
78292         Add copyright notice.
78293
78294         * check-module: Add copyright notice.  Output a copyright
78295         notice if "--version" is specified.
78296         * modules/COPYING: New file.
78297         * tests/test-getaddrinfo.c: Add copyright notice.
78298         * tests/test-verify.c: Likewise.
78299
78300 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78301
78302         Change copyright notice from LGPL 2 to GPL 2, since that's the
78303         standard form used in the gnulib repository.
78304         * lib/lock.c: LGPL -> GPL.
78305         * lib/lock.h: Likewise.
78306         * lib/strnlen1.c: Likewise.
78307         * lib/strnlen1.h: Likewise.
78308         * lib/tls.c: Likewise.
78309         * lib/tls.h: Likewise.
78310         * lib/tmpdir.c: Likewise.
78311
78312         * lib/TODO: Remove; this belongs only in coreutils.
78313
78314 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78315
78316         Add copyright notices to long-enough files that lack them, since
78317         otherwise the files aren't clearly free.  Use the same notice that
78318         getdate.texi already uses.
78319         * doc/alloca-opt.texi: Add copyright notice.
78320         * doc/alloca.texi: Likewise.
78321         * doc/ctime.texi: Likewise.
78322         * doc/functions.texi: Likewise.
78323         * doc/gcd.texi: Likewise.
78324         * doc/gnulib-tool.texi: Likewise.
78325         * doc/inet_ntoa.texi: Likewise.
78326         * doc/visibility.texi: Likewise.
78327
78328         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
78329         * doc/quote.texi: Add copyright notice.
78330
78331         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
78332         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
78333         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
78334         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
78335         is now obsolete, and give a pointer to the Sun list.
78336         Add copyright notice.
78337
78338 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
78339
78340         * config/srclistvars.sh: Add copyright notice.
78341
78342 2006-08-14  Eric Blake  <ebb9@byu.net>
78343
78344         Import the following change from libc:
78345
78346         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
78347
78348         Upstream bug 2997.
78349         * lib/misc/error.c: Add space between program name and message if file
78350         name is missing.
78351
78352 2006-08-12  Karl Berry  <karl@gnu.org>
78353
78354         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
78355         remove, these originate in gnulib now.
78356
78357 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78358
78359         * doc/Makefile (standards.info standards.html standards.dvi):
78360         Also depend on make-stds.texi.
78361
78362 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
78363
78364         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
78365         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
78366
78367         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
78368         in wchar_t.  Problem reported by Eric Blake.
78369
78370         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
78371         LEN is smaller than SIZE.  Suggested by Bruno Haible.
78372         Also, help the compiler to keep LEN in a register.
78373
78374 2006-08-11  Eric Blake  <ebb9@byu.net>
78375
78376         * users.txt: Sort.  Add tar.
78377
78378 2006-08-11  Bruno Haible  <bruno@clisp.org>
78379
78380         * users.txt: New file.
78381
78382 2006-08-11  Bruno Haible  <bruno@clisp.org>
78383
78384         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
78385         before <wchar.h>. Needed for OSF/1 and BSD/OS.
78386
78387 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
78388
78389         * modules/snprintf (Depends-on): Remove minmax.
78390         (Maintainer): Add self and Bruno.
78391
78392 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
78393
78394         * lib/.cppi-disable: Add snprintf.h, socket_.h.
78395         * lib/snprintf.c: Include <errno.h> and <limits.h>.
78396         (EOVERFLOW): Define if the system does not.
78397         Do not include "minmax.h"; it wasn't used.
78398         (snprintf): Don't assume size_t promotes to an unsigned type.
78399         Fix bug when generated string was too long for the buffer: the
78400         buffer's contents are supposed to be the initial prefix of the
78401         output.  Don't assume vasnprintf returns EOVERFLOW if the size
78402         exceeds INT_MAX; do the check ourselves.
78403
78404         Import the following changes from libc:
78405
78406         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
78407
78408         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
78409         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
78410         set wc to the byte which couldn't be converted.
78411         (re_string_reconstruct): Don't clear valid_raw_len before calling
78412         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
78413         tip_context using re_string_context_at.
78414
78415         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
78416
78417         * lib/posix/regex.h: g++ still cannot handled [restrict].
78418
78419         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
78420
78421         * lib/posix/regex.h: Remove special handling for VMS.
78422
78423 2006-08-10  Jim Meyering  <jim@meyering.net>
78424
78425         * modules/same-inode: New module.
78426         * modules/dev-ino: New module.
78427         * modules/cycle-check: Depend on these modules, rather than simply
78428         including their .h files.
78429         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
78430         required via m4/cycle-check.m4.
78431         * modules/same: Depend on new same-inode module, rather than
78432         including same-inode.h.
78433         * modules/chdir-safer: New file.
78434
78435         * modules/chown (Depends-on): Add stat-macros.
78436
78437 2006-08-10  Jim Meyering  <jim@meyering.net>
78438
78439         * m4/cycle-check.m4: New file.
78440         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
78441         * m4/dev-ino.m4, m4/same-inode.m4: New files.
78442
78443 2006-08-10  Eric Blake  <ebb9@byu.net>
78444
78445         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
78446         in from original proposal.
78447
78448 2006-08-10  Eric Blake  <ebb9@byu.net>
78449         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78450
78451         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
78452         namespace.
78453
78454 2006-08-10  Bruno Haible  <bruno@clisp.org>
78455
78456         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
78457         as well.
78458
78459 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78460
78461         Sync from coreutils.
78462
78463         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
78464
78465         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
78466         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
78467
78468 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78469
78470         * modules/restrict: Remove; no longer needed now that we assume
78471         Autoconf 2.59 or later.
78472         * MODULES.html.sh: Remove 'restrict'.
78473         * modules/argp (Depends-on): Remove 'restrict'.
78474         * modules/base64 (Depends-on): Likewise.
78475         * modules/gc (Depends-on): Likewise.
78476         * modules/getaddrinfo (Depends-on): Likewise.
78477         * modules/glob (Depends-on): Likewise.
78478         * modules/inet_ntop (Depends-on): Likewise.
78479         * modules/inet_pton (Depends-on): Likewise.
78480         * modules/memxor (Depends-on): Likewise.
78481         * modules/regex (Depends-on): Likewise.
78482         * modules/strtok_r (Depends-on): Likewise.
78483         * modules/time_r (Depends-on): Likewise.
78484
78485 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
78486
78487         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
78488         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
78489         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
78490         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
78491         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
78492         * m4/memxor.m4 (gl_MEMXOR): Likewise.
78493         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
78494         gl_C_RESTRICT replaced by AC_C_RESTRICT.
78495
78496         Merge from coreutils.
78497         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
78498         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
78499         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
78500         * m4/time_r.m4 (gl_TIME_R): Likewise.
78501
78502 2006-08-09  Karl Berry  <karl@gnu.org>
78503
78504         * config/srclist.txt: no more gettext-tools, per Bruno.
78505
78506 2006-08-08  Eric Blake  <ebb9@byu.net>
78507
78508         * modules/verror: New module.
78509         * MODULES.html.sh: Document it.
78510
78511 2006-08-08  Eric Blake  <ebb9@byu.net>
78512
78513         * lib/verror.h, lib/verror.c: New files.
78514
78515 2006-08-08  Eric Blake  <ebb9@byu.net>
78516
78517         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
78518         verror_at_line output complies with GNU Coding Standards even when
78519         file is NULL.
78520
78521 2006-08-07  Bruno Haible  <bruno@clisp.org>
78522
78523         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
78524         versions of AIX.
78525         Reported by Ralf Wildenhues.
78526
78527 2006-08-07  Bruno Haible  <bruno@clisp.org>
78528
78529         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
78530         in an AC_DEFUN. Needed so that the autoconf snippets can use
78531         AC_REQUIRE.
78532
78533 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78534
78535         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78536         Initialize pkgdata_DATA.
78537         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
78538         overriding it.
78539
78540 2006-08-06  Eric Blake  <ebb9@byu.net>
78541
78542         * lib/error.h: Fold in some upstream changes from glibc.
78543         * lib/error.c: Likewise.
78544
78545 2006-08-04  Bruno Haible  <bruno@clisp.org>
78546
78547         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78548         Make the mostlyclean-local rule depend on mostlyclean-generic.
78549         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
78550
78551 2006-07-31  Bruno Haible  <bruno@clisp.org>
78552
78553         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
78554         <stdlib.h>, <string.h>.
78555
78556 2006-07-30  Bruno Haible  <bruno@clisp.org>
78557
78558         * modules/readlink (License): Change to LGPL.
78559
78560 2006-07-30  Bruno Haible  <bruno@clisp.org>
78561
78562         * modules/javaversion (Makefile.am): Distribute javaversion.java and
78563         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
78564         set PKGDATADIR to point to it.
78565
78566 2006-07-30  Bruno Haible  <bruno@clisp.org>
78567
78568         * modules/csharpexec (configure.ac): Comment out macro invocation.
78569         * modules/javaexec (configure.ac): Likewise.
78570         * modules/javacomp-script (configure.ac): Likewise.
78571
78572         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
78573
78574 2006-07-30  Bruno Haible  <bruno@clisp.org>
78575
78576         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
78577         linked-list.
78578
78579 2006-07-30  Bruno Haible  <bruno@clisp.org>
78580
78581         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
78582
78583 2006-07-30  Bruno Haible  <bruno@clisp.org>
78584
78585         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78586         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
78587         get removed.
78588
78589 2006-07-29  Bruno Haible  <bruno@clisp.org>
78590
78591         Make it possible for gnulib-tool to work with locally modified or
78592         augmented gnulib repositories.
78593         * gnulib-tool (func_usage): Document --local-dir option.
78594         (local_gnulib_dir): New variable.
78595         Handle --local-dir option.
78596         (func_lookup_file): New function.
78597         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
78598         (func_get_description, func_get_filelist, func_get_description,
78599         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
78600         func_get_automake_snippet, func_get_include_directive,
78601         func_get_license, func_get_maintainer): Use func_lookup_file.
78602         (func_import, func_create_testdir): Use func_lookup_file.
78603
78604 2006-07-29  Bruno Haible  <bruno@clisp.org>
78605
78606         * modules/setenv (Depends-on): Add unistd.
78607
78608 2006-07-29  Bruno Haible  <bruno@clisp.org>
78609
78610         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
78611
78612 2006-07-29  Bruno Haible  <bruno@clisp.org>
78613
78614         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
78615
78616 2006-07-29  Bruno Haible  <bruno@clisp.org>
78617
78618         * gnulib-tool (import, update): If there is no Makefile.am, look at
78619         aclocal.m4, instead of bailing out.
78620
78621 2006-07-29  Bruno Haible  <bruno@clisp.org>
78622
78623         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
78624         Categorize the options by when they are useful.
78625
78626 2006-07-29  Bruno Haible  <bruno@clisp.org>
78627
78628         * gnulib-tool (func_usage): Document option --no-libtool.
78629         Handle option --no-libtool.
78630         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
78631         for changed semantics of $libtool variable.
78632         (func_import): Likewise. If libtool is not used, show this through
78633         an option --no-libtool.
78634         (func_create_testdir): Update.
78635
78636 2006-07-29  Bruno Haible  <bruno@clisp.org>
78637
78638         * gnulib-tool (func_import): Extend error message about missing
78639         --doc-base.
78640
78641 2006-07-29  Bruno Haible  <bruno@clisp.org>
78642
78643         * gnulib-tool (func_import): Don't create the $docbase directory if
78644         there is no file to store there.
78645
78646 2006-07-29  Bruno Haible  <bruno@clisp.org>
78647
78648         * gnulib-tool (autoconf_minversion): If a --dir option is given and
78649         relevant, look for configure.ac there, not in the current directory.
78650         Also use a simple search for AC_PREREQ, not "autoconf --trace".
78651
78652 2006-07-29  Bruno Haible  <bruno@clisp.org>
78653
78654         * gnulib-tool (SORT): New variable.
78655         (func_usage): Undocument --assume-autoconf option.
78656         Remove --assume-autoconf option handling.
78657         (autoconf_minversion): Determine from the contents of configure.ac.
78658         (func_import): Remove autoconf_minversion handling.
78659         Suggested by Eric Blake.
78660
78661 2006-07-29  Bruno Haible  <bruno@clisp.org>
78662
78663         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
78664
78665 2006-07-29  Bruno Haible  <bruno@clisp.org>
78666
78667         * config/srclist.txt (*setenv.[ch]): Remove rules.
78668
78669 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78670
78671         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
78672
78673 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78674
78675         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
78676         arpa/inet.h.
78677
78678 2006-07-28  Simon Josefsson  <jas@extundo.com>
78679
78680         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
78681         * modules/inet_pton (Depends-on): Likewise.
78682
78683 2006-07-28  Simon Josefsson  <jas@extundo.com>
78684
78685         * m4/netinet_in_h.m4: New file.
78686
78687 2006-07-28  Simon Josefsson  <jas@extundo.com>
78688
78689         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
78690         #include's.
78691
78692 2006-07-28  Simon Josefsson  <jas@extundo.com>
78693
78694         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
78695         #include's.
78696
78697 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
78698
78699         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
78700         setgid on directories only if they set these bits.
78701         * lib/modechange.h: Remove obsolete comment about masks.
78702
78703 2006-07-28  Eric Blake  <ebb9@byu.net>
78704
78705         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
78706         macro expansion.
78707
78708 2006-07-28  Bruno Haible  <bruno@clisp.org>
78709
78710         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
78711
78712 2006-07-28  Bruno Haible  <bruno@clisp.org>
78713
78714         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
78715
78716 2006-07-28  Bruno Haible  <bruno@clisp.org>
78717
78718         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
78719         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
78720         Define fallbacks.
78721         Avoids link error on FreeBSD 4.x.
78722         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
78723
78724         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
78725         encoding.
78726         * lib/mbswidth.c (iswcntrl): Likewise.
78727
78728 2006-07-27  Bruno Haible  <bruno@clisp.org>
78729
78730         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
78731         test.
78732
78733 2006-07-27  Bruno Haible  <bruno@clisp.org>
78734
78735         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
78736         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
78737         defined.
78738
78739 2006-07-26  Eric Blake  <ebb9@byu.net>
78740
78741         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
78742
78743 2006-07-26  Eric Blake  <ebb9@byu.net>
78744
78745         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
78746         like mingw that lack mkstemp.
78747         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
78748         avoid compilation warning on mingw.
78749
78750 2006-07-26  Bruno Haible  <bruno@clisp.org>
78751
78752         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
78753         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
78754         INT_FAST*_MIN, INTPTR_MIN.
78755
78756 2006-07-25  Bruno Haible  <bruno@clisp.org>
78757
78758         * modules/version-etc (Depends-on): Add stdarg.
78759
78760 2006-07-25  Bruno Haible  <bruno@clisp.org>
78761
78762         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
78763         complex commands.
78764
78765 2006-07-25  Bruno Haible  <bruno@clisp.org>
78766
78767         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
78768         defined in <stdarg.h> or config.h.
78769
78770 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
78771
78772         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
78773         (gl_STDIO_SAFER): Remove.
78774
78775 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
78776
78777         * MODULES.html.sh (File stream based Input/Output):
78778         Add fopen-safer, tmpfile-safer; remove stdio-safer.
78779         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
78780         * modules/fopen-safer, modules/tmpfile-safer: New files.
78781         * modules/stdio-safer: Remove.
78782
78783 2006-07-24  Bruno Haible  <bruno@clisp.org>
78784
78785         * modules/tmpdir: New file.
78786         * MODULES.html.sh (File system functions): Add it.
78787
78788 2006-07-24  Bruno Haible  <bruno@clisp.org>
78789
78790         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
78791         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
78792
78793 2006-07-24  Bruno Haible  <bruno@clisp.org>
78794
78795         * modules/clean-temp: New file.
78796
78797 2006-07-24  Bruno Haible  <bruno@clisp.org>
78798
78799         * m4/tmpdir.m4: New file, from GNU gettext.
78800
78801 2006-07-24  Bruno Haible  <bruno@clisp.org>
78802
78803         * lib/tmpdir.h: New file, from GNU gettext.
78804         * lib/tmpdir.c: New file, from GNU gettext.
78805
78806 2006-07-24  Bruno Haible  <bruno@clisp.org>
78807
78808         * lib/clean-temp.h: New file, from GNU gettext.
78809         * lib/clean-temp.c: New file, from GNU gettext.
78810
78811 2006-07-23  Eric Blake  <ebb9@byu.net>
78812
78813         * modules/stdio-safer (Files): Add tmpfile-safer.c.
78814         (Depends-on): Add binary-io.
78815
78816 2006-07-23  Eric Blake  <ebb9@byu.net>
78817
78818         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
78819
78820 2006-07-23  Eric Blake  <ebb9@byu.net>
78821
78822         * lib/tmpfile-safer.c: New file.
78823         * lib/stdio-safer.h (fopen_safer): Add prototype.
78824         * lib/stdio--.h (tmpfile): Make safer.
78825
78826 2006-07-23  Bruno Haible  <bruno@clisp.org>
78827
78828         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
78829         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
78830         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
78831         gl_linked_remove_at): Use it.
78832
78833 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
78834         and Simon Josefsson <jas@extundo.com>
78835
78836         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
78837
78838         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
78839
78840 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
78841
78842         * modules/close-stream: New file.
78843         * modules/closeout (Description): Make it clear that it exits
78844         with a diagnostic on error.
78845         (Depends-on): Add close-stream.  Remove fpending, stdbool.
78846         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
78847
78848 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
78849
78850         * m4/close-stream.m4: New file.
78851
78852 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
78853
78854         * lib/close-stream.c, lib/close-stream.h: New files.
78855
78856 2006-07-22  Bruno Haible  <bruno@clisp.org>
78857
78858         Merge from GNU gettext 0.15.
78859
78860         2006-05-01  Bruno Haible  <bruno@clisp.org>
78861
78862                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
78863
78864         2006-07-22  Bruno Haible  <bruno@clisp.org>
78865
78866                 * modules/javaversion: New file.
78867                 * MODULES.html.sh (Java): Add javaversion.
78868
78869         2006-03-12  Bruno Haible  <bruno@clisp.org>
78870
78871                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
78872
78873         2005-12-04  Bruno Haible  <bruno@clisp.org>
78874
78875                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
78876                 (untested).
78877
78878         2006-06-21  Bruno Haible  <bruno@clisp.org>
78879
78880                 Avoid warnings from recent versions of mcs.
78881                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
78882                 -o, -L, -r any more. Use options documented since mcs-1.0
78883                 instead. Similarly for -g.
78884
78885         2005-12-04  Bruno Haible  <bruno@clisp.org>
78886
78887                 * build-aux/csharpcomp.sh.in: Suffix for resources is
78888                 .resources, not .resource.
78889
78890         2005-07-09  Bruno Haible  <bruno@clisp.org>
78891
78892                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
78893                 add a .dll suffix.
78894                 Reported by Mark Junker <mjscod@gmx.de>.
78895
78896         2006-07-22  Bruno Haible  <bruno@clisp.org>
78897
78898                 * modules/gettext: Upgrade to gettext-0.15.
78899                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
78900                 m4/visibility.m4.
78901                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
78902
78903 2006-07-22  Bruno Haible  <bruno@clisp.org>
78904
78905         Merge from GNU gettext 0.15.
78906
78907         2006-03-25  Bruno Haible  <bruno@clisp.org>
78908
78909                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
78910
78911         2006-07-21  Bruno Haible  <bruno@clisp.org>
78912
78913                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
78914                 "1.1".
78915
78916         2006-05-09  Bruno Haible  <bruno@clisp.org>
78917
78918                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
78919                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
78920                 for the conftestver execution.
78921
78922         2006-05-01  Bruno Haible  <bruno@clisp.org>
78923
78924                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
78925                 optional target-version argument. Verify that the compiler
78926                 groks source of the specified source-version, or add -source
78927                 option as necessary. Verify that the compiler produces
78928                 bytecode in the specified target-version, or add -target and
78929                 -source options as necessary. Make the result of the test
78930                 available as variable CONF_JAVAC. Also log error output in
78931                 config.log.
78932
78933         2006-03-11  Bruno Haible  <bruno@clisp.org>
78934
78935                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
78936
78937         2006-05-09  Bruno Haible  <bruno@clisp.org>
78938
78939                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
78940                 CLASSPATH_SEPARATOR to a semicolon.
78941
78942         2006-03-12  Bruno Haible  <bruno@clisp.org>
78943
78944                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
78945                 available as variable CONF_JAVA, for subsequent autoconf
78946                 tests. Also log error output in config.log.
78947
78948         2006-07-19  Bruno Haible  <bruno@clisp.org>
78949
78950                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
78951                 that getline works on glibc2 systems. Needed to avoid trouble
78952                 in relocatable.c.
78953                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
78954
78955         2005-12-04  Bruno Haible  <bruno@clisp.org>
78956
78957                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
78958                 launcher (untested).
78959
78960         2005-12-04  Bruno Haible  <bruno@clisp.org>
78961
78962                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
78963
78964         2006-07-22  Bruno Haible  <bruno@clisp.org>
78965
78966                 * gettext.m4: Update from GNU gettext-0.15.
78967                 * nls.m4: Likewise.
78968                 * po.m4: Likewise.
78969                 * inttypes-pri.m4: Likewise.
78970                 * inttypes-h.m4: Renamed from inttypes.m4.
78971                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
78972
78973 2006-07-22  Bruno Haible  <bruno@clisp.org>
78974
78975         Merge from GNU gettext 0.15.
78976
78977         2005-07-05  Bruno Haible  <bruno@clisp.org>
78978
78979                 * printf-args.c (printf_fetchargs): Work around broken
78980                 definition of wint_t on mingw.
78981
78982         2005-02-12  Bruno Haible  <bruno@clisp.org>
78983
78984                 * xallocsa.h: Add extern "C" for C++.
78985
78986         2006-05-17  Bruno Haible  <bruno@clisp.org>
78987
78988                 Cygwin portability.
78989                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
78990
78991         2006-04-30  Bruno Haible  <bruno@clisp.org>
78992
78993                 * progreloc.c: Include <mach-o/dyld.h> if available.
78994                 (find_executable): Use _NSGetExecutablePath when possible.
78995
78996         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
78997
78998                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
78999                 function.
79000
79001         2005-12-29  Bruno Haible  <bruno@clisp.org>
79002
79003                 * progreloc.c (set_program_name_and_installdir): Fix
79004                 compilation error.
79005
79006         2005-12-04  Bruno Haible  <bruno@clisp.org>
79007
79008                 Cygwin portability.
79009                 * progreloc.c: Include <windows.h> also on Cygwin.
79010                 (find_executable): Add support for Cygwin.
79011                 (set_program_name_and_installdir): Handle also platforms with
79012                 nonempty EXEEXT.
79013
79014         2006-07-11  Bruno Haible  <bruno@clisp.org>
79015
79016                 * javacomp.c: Fix a comment.
79017                 Reported by Jim Meyering.
79018
79019         2006-04-30  Bruno Haible  <bruno@clisp.org>
79020
79021                 * javacomp.h (compile_java_class): Add source_version,
79022                 target_version arguments.
79023                 * javacomp.c: Rewritten to choose only a compiler that
79024                 respects the specified source_version and target_version.
79025
79026         2006-06-27  Bruno Haible  <bruno@clisp.org>
79027
79028                 Assume correct S_ISDIR macro.
79029                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
79030
79031         2006-07-22  Bruno Haible  <bruno@clisp.org>
79032
79033                 * javaversion.h: New file, from GNU gettext.
79034                 * javaversion.c: New file, from GNU gettext.
79035                 * javaversion.java: New file, from GNU gettext.
79036                 * javaversion.class: New file, from GNU gettext.
79037
79038         2006-05-17  Bruno Haible  <bruno@clisp.org>
79039
79040                 Cygwin portability.
79041                 * javaexec.c (execute_java_class): Test for jview program
79042                 also on Cygwin.
79043
79044         2006-04-09  Bruno Haible  <bruno@clisp.org>
79045
79046                 * fatal-signal.c: Don't include string.h.
79047                 (at_fatal_signal): Use a copying loop instead of memcpy.
79048
79049         2005-12-04  Bruno Haible  <bruno@clisp.org>
79050
79051                 * csharpexec.c: Add support for 'clix' launcher (untested).
79052                 (execute_csharp_using_sscli): New function.
79053                 (execute_csharp_program): Call it.
79054
79055         2006-06-21  Bruno Haible  <bruno@clisp.org>
79056
79057                 Avoid warnings from recent versions of mcs.
79058                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
79059                 -o, -L, -r any more. Use options documented since mcs-1.0
79060                 instead. Similarly for -g.
79061
79062         2005-07-09  Bruno Haible  <bruno@clisp.org>
79063
79064                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
79065                 add a .dll suffix.
79066                 Reported by Mark Junker <mjscod@gmx.de>.
79067
79068         2006-06-17  Bruno Haible  <bruno@clisp.org>
79069
79070                 * config.charset: Update for NetBSD 3.0.
79071
79072         2006-05-17  Bruno Haible  <bruno@clisp.org>
79073
79074                 Cygwin portability.
79075                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
79076
79077         2006-05-16  Bruno Haible  <bruno@clisp.org>
79078
79079                 * localcharset.c [CYGWIN]: Include <windows.h>.
79080                 (get_charset_aliases): For Cygwin, return the same CPxxx
79081                 aliases list as under WIN32.
79082                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
79083                 the environment variables. Fall back to GetACP().
79084
79085         2006-04-05  Bruno Haible  <bruno@clisp.org>
79086
79087                 * config.charset: Update Juan Manuel Guerrero's address.
79088
79089         2005-02-12  Bruno Haible  <bruno@clisp.org>
79090
79091                 * allocsa.h: Add extern "C" for C++.
79092
79093         2005-02-10  Bruno Haible  <bruno@clisp.org>
79094
79095                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
79096                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
79097
79098         2006-07-22  Bruno Haible  <bruno@clisp.org>
79099
79100                 * gettext.h: Update to GNU gettext-0.15.
79101
79102 2006-07-22  Bruno Haible  <bruno@clisp.org>
79103
79104         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
79105         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
79106         lib-prefix.m4, longdouble.m4, ssize_t.m4.
79107
79108 2006-07-21  Eric Blake  <ebb9@byu.net>
79109
79110         * modules/stdlib-safer: New file.
79111         * MODULES.html.sh (File stream based Input/Output): Add
79112         stdlib-safer.
79113
79114 2006-07-21  Eric Blake  <ebb9@byu.net>
79115
79116         * lib/stdlib-safer.h: New file from coreutils, required by
79117         stdlib--.h.
79118
79119 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
79120
79121         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
79122
79123 2006-07-20  Bruno Haible  <bruno@clisp.org>
79124
79125         * gnulib-tool: Recognize new option --assume-autoconf.
79126         (autoconf_minversion): New variable.
79127         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
79128
79129 2006-07-20  Bruno Haible  <bruno@clisp.org>
79130
79131         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
79132
79133 2006-07-19  Derek R. Price  <derek@ximbiot.com>
79134
79135         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
79136         Reindent and repaginate.
79137
79138 2006-07-19  Derek Price  <derek@ximbiot.com>
79139
79140         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
79141         Correct grammar.
79142
79143 2006-07-17  Bruno Haible  <bruno@clisp.org>
79144
79145         * modules/list: New file.
79146         * modules/array-list: New file.
79147         * modules/carray-list, modules/carray-list-tests: New files.
79148         * modules/linked-list, modules/linked-list-tests: New files.
79149         * modules/avltree-list, modules/avltree-list-tests: New files.
79150         * modules/rbtree-list, modules/rbtree-list-tests: New files.
79151         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
79152         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
79153         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
79154         * modules/oset: New file.
79155         * modules/array-oset: New file.
79156         * modules/avltree-oset, modules/avltree-oset-tests: New files.
79157         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
79158         * tests/test-carray_list.c: New file.
79159         * tests/test-linked_list.c: New file.
79160         * tests/test-avltree_list.c: New file.
79161         * tests/test-rbtree_list.c: New file.
79162         * tests/test-linkedhash_list.c: New file.
79163         * tests/test-avltreehash_list.c: New file.
79164         * tests/test-rbtreehash_list.c: New file.
79165         * tests/test-avltree_oset.c: New file.
79166         * tests/test-rbtree_oset.c: New file.
79167         * MODULES.html.sh (Container data structures): New section.
79168
79169 2006-07-17  Bruno Haible  <bruno@clisp.org>
79170
79171         * m4/gl_list.m4: New file.
79172
79173 2006-07-17  Bruno Haible  <bruno@clisp.org>
79174
79175         * lib/gl_list.h: New file.
79176         * lib/gl_list.c: New file.
79177         * lib/gl_array_list.h: New file.
79178         * lib/gl_array_list.c: New file.
79179         * lib/gl_carray_list.h: New file.
79180         * lib/gl_carray_list.c: New file.
79181         * lib/gl_linked_list.h: New file.
79182         * lib/gl_linked_list.c: New file.
79183         * lib/gl_anylinked_list1.h: New file.
79184         * lib/gl_anylinked_list2.h: New file.
79185         * lib/gl_avltree_list.h: New file.
79186         * lib/gl_avltree_list.c: New file.
79187         * lib/gl_anyavltree_list1.h: New file.
79188         * lib/gl_anyavltree_list2.h: New file.
79189         * lib/gl_rbtree_list.h: New file.
79190         * lib/gl_rbtree_list.c: New file.
79191         * lib/gl_anyrbtree_list1.h: New file.
79192         * lib/gl_anyrbtree_list2.h: New file.
79193         * lib/gl_anytree_list1.h: New file.
79194         * lib/gl_anytree_list2.h: New file.
79195         * lib/gl_linkedhash_list.h: New file.
79196         * lib/gl_linkedhash_list.c: New file.
79197         * lib/gl_anyhash_list1.h: New file.
79198         * lib/gl_anyhash_list2.h: New file.
79199         * lib/gl_avltreehash_list.h: New file.
79200         * lib/gl_avltreehash_list.c: New file.
79201         * lib/gl_rbtreehash_list.h: New file.
79202         * lib/gl_rbtreehash_list.c: New file.
79203         * lib/gl_anytreehash_list1.h: New file.
79204         * lib/gl_anytreehash_list2.h: New file.
79205
79206         * lib/gl_oset.h: New file.
79207         * lib/gl_oset.c: New file.
79208         * lib/gl_array_oset.h: New file.
79209         * lib/gl_array_oset.c: New file.
79210         * lib/gl_avltree_oset.h: New file.
79211         * lib/gl_avltree_oset.c: New file.
79212         * lib/gl_rbtree_oset.h: New file.
79213         * lib/gl_rbtree_oset.c: New file.
79214         * lib/gl_anytree_oset.h: New file.
79215
79216 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
79217
79218         * m4/mkancesdirs.m4: New file.
79219         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
79220         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
79221         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
79222         it.
79223
79224 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
79225
79226         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
79227         * lib/mkancesdirs.h: New files.
79228         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
79229         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
79230         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
79231         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
79232         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
79233         callers changed.  Revamp internals significantly, by not
79234         attempting to create directories that are temporarily more
79235         permissive than the final results.  Do not attempt to use
79236         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
79237         This removes some race conditions, fixes some bugs, and simplifies
79238         things.  Use new dirchownmod function to do owner and mode changes.
79239         * lib/mkdir-p.h: Likewise.
79240         * lib/modechange.c (octal_to_mode): New function.
79241         (struct mode_change): New member mentioned.
79242         (make_node_op_equals): New arg mentioned.  All callers changed.
79243         (mode_compile): Keep track of which mode bits the user has explicitly
79244         mentioned.
79245         (mode_adjust): New arg DIR, so that we implement the X op correctly.
79246         New arg PMODE_BITS, to keep track of which mode bits the user
79247         mentioned; it treats S_ISUID and S_ISGID speciall.
79248         All callers changed.
79249         * lib/modechange.h: Likewise.
79250
79251 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
79252
79253         * MODULES.html.sh: Add mkancestors.
79254         * modules/mkancesdirs: New module.
79255         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
79256         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
79257         The chdir-safer and afs files are now orphans; I'll remove them
79258         unless someone speaks up.
79259         Add lib/dirchownmod.c, lib/dirchownmod.h.
79260         (Depends-on): Remove alloca, chown, save-cwd, dirname.
79261         Add lchown, mkancesdirs.
79262         (Maintainer): Add self.
79263
79264 2006-07-15  Karl Berry  <karl@gnu.org>
79265
79266         * gnulib-tool: help message wording/arrangement.
79267
79268 2006-07-14  Simon Josefsson  <jas@extundo.com>
79269
79270         * doc/gnulib.texi (Libtool and Windows): New section.
79271
79272 2006-07-12  Simon Josefsson  <jas@extundo.com>
79273
79274         * modules/gendocs (License): Fix license, approved by Karl.
79275
79276 2006-07-12  Eric Blake  <ebb9@byu.net>
79277
79278         * MODULES.html.sh: Add gendocs.
79279
79280 2006-07-11  Eric Blake  <ebb9@byu.net>
79281
79282         * modules/fdl: New module, to install doc/fdl.texi.
79283         * MODULES.html.sh: Add new section for documentation modules.
79284         * gnulib-tool: Avoid space-tab.
79285         (--doc-base): New option, to manage files from doc.
79286
79287 2006-07-11  Eric Blake  <ebb9@byu.net>
79288
79289         * m4/absolute-header.m4: Fix comments to match recent change.
79290
79291 2006-07-11  Eric Blake  <ebb9@byu.net>
79292
79293         * gnulib-tool: List --doc-base before --tests-base.
79294
79295 2006-07-11  Derek R. Price  <derek@ximbiot.com>
79296
79297         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
79298
79299 2006-07-11  Bruno Haible  <bruno@clisp.org>
79300
79301         * README: Mention where to put documentation.
79302
79303 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79304
79305         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
79306
79307 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
79308
79309         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
79310         to stdint.m4.
79311
79312 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
79313
79314         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
79315         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
79316         "no/such/file/stdint.h" when there is no such file, so that
79317         the resulting C code can be parsed by dodgy compilers.
79318         Problems reported by Bob Proulx.
79319
79320 2006-07-10  Derek R. Price  <derek@ximbiot.com>
79321
79322         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
79323         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
79324         macros into the GNU _D_EXACT_NAMLEN.
79325         * lib/savedir.c:  Likewise.
79326         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
79327
79328 2006-07-10  Derek R. Price  <derek@ximbiot.com>
79329         and Paul Eggert  <eggert@cs.ucla.edu>
79330
79331         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
79332         * m4/savedir.m4:
79333         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
79334         macros into the GNU _D_EXACT_NAMLEN.
79335
79336 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79337
79338         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
79339         around the absolute name, to work around a problem with the HP-UX
79340         11.23 native C compiler, reported by Bob Proulx.
79341
79342 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79343
79344         * doc/maintain.texi, make-stds.texi: Sync from
79345         <http://savannah.gnu.org/projects/gnustandards>.
79346
79347 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
79348
79349         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
79350
79351 2006-07-09  Jim Meyering  <jim@meyering.net>
79352
79353         * m4/glob.m4: Remove a doubled word in a comment.
79354
79355 2006-07-09  Jim Meyering  <jim@meyering.net>
79356
79357         * lib/argp-pv.c: Remove a doubled word in a comment.
79358         * lib/check-version.c (check_version): Likewise.
79359         * lib/javacomp.c (compile_java_class): Likewise.
79360
79361 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
79362
79363         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
79364         for the benefit of people using Autoconf 2.60.  If you want to
79365         support older Autoconf versions you can copy m4/onceonly_2_57.m4
79366         (or m4/onceonly.m4, if pre-2.57) manually.
79367
79368 2006-07-08  Jim Meyering  <jim@meyering.net>
79369
79370         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
79371         comment.
79372         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
79373         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
79374         comment.
79375
79376 2006-07-08  Jim Meyering  <jim@meyering.net>
79377
79378         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
79379
79380 2006-07-07  Simon Josefsson  <jas@extundo.com>
79381
79382         * tests/test-crc.c: Change expected crc value, the test vector
79383         were probably computed using the old broken crc.c?
79384
79385 2006-07-06  Simon Josefsson  <jas@extundo.com>
79386
79387         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
79388         now the canonical place for the M4 file).
79389
79390         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
79391         from the sys_socket dependency now.
79392
79393         * modules/inet_pton (Files): Ditto.
79394
79395         * modules/inet_ntop (Files): Ditto.
79396
79397 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
79398
79399         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
79400         not gl_PREREQ_GETUSERSHELL.
79401
79402 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79403
79404         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
79405         with only one argument, for Autoconf 2.60.
79406         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
79407         expand to nothing, so add a shell command to avoid syntax error.
79408         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
79409
79410 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79411
79412         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
79413
79414 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79415
79416         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
79417         no longer needed.  Check for isblank decl.
79418         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
79419         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
79420         of existence.
79421
79422 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79423
79424         * lib/getloadavg.c: Use __VMS, not VMS.
79425         * lib/getopt.c: Likewise.
79426         * lib/getpagesize.h: Likewise.
79427         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
79428         and probably does not work.
79429
79430 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
79431
79432         * lib/.cppi-disable: Add wcwidth.
79433         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
79434         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
79435         (ISGRAPH): Remove.  All uses changed to isgraph.
79436         (FOLD) [!defined _LIBC]: Remove special case.
79437         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
79438         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
79439         HAVE_ISBLANK.
79440         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
79441         case.
79442
79443 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
79444
79445         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
79446         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
79447         brackets.  Other minor changes to suppress some compiler
79448         warnings.
79449
79450 2006-07-06  Derek R. Price  <derek@ximbiot.com>
79451         and Paul Eggert  <eggert@cs.ucla.edu>
79452
79453         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
79454         of invoking obsolescent AC_HEADER_DIRENT macro.
79455         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
79456         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
79457         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
79458         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
79459         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
79460         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79461         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
79462         * m4/readdir.m4: Remove; no longer needed.
79463
79464 2006-07-06  Derek R. Price  <derek@ximbiot.com>
79465         and Paul Eggert  <eggert@cs.ucla.edu>
79466
79467         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
79468         Don't worry about this obsolete case any more.
79469         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
79470         directories.
79471         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
79472         worry about this obsolete case any more.
79473         * lib/fts.c: Likewise.
79474         * lib/getcwd.c: Likewise.
79475         * lib/glob.h: Likewise.
79476         * lib/savedir.c: Likewise.
79477
79478 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
79479
79480         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
79481         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
79482         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
79483         needed.
79484         All uses removed.
79485         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
79486         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
79487         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
79488         needed.
79489         * m4/getdate.m4 (gl_GETDATE): Likewise.
79490         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
79491         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
79492         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
79493         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
79494         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
79495         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
79496         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
79497         needed.
79498
79499 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
79500
79501         * lib/memcasecmp.c: Include <limits.h>.
79502         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
79503         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
79504         Don't assume isdigit succeeds only on '0' through '9'.
79505
79506 2006-07-05  Eric Blake  <ebb9@byu.net>
79507
79508         * modules/getaddrinfo (Depends-on): Add snprintf.
79509
79510 2006-07-05  Eric Blake  <ebb9@byu.net>
79511
79512         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
79513         to avoid 'header present but could not be compiled' on cygwin.
79514
79515 2006-07-05  Eric Blake  <ebb9@byu.net>
79516
79517         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
79518         missing from netdb.h.
79519         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
79520
79521 2006-07-05  Derek R. Price  <derek@ximbiot.com>
79522
79523         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
79524         no longer needed.
79525         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
79526         * m4/getdate.m4 (gl_GETDATE): Likewise.
79527         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
79528         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
79529         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
79530         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
79531         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
79532
79533 2006-07-05  Derek R. Price  <derek@ximbiot.com>
79534
79535         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
79536         All uses of is_space replaced by isspace.
79537         * lib/exit.h: Don't talk about STDC_HEADERS.
79538         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
79539         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
79540         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
79541         replaced by isprint etc.
79542         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
79543         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
79544         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
79545         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
79546         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
79547         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
79548
79549 2006-07-05  Bruno Haible  <bruno@clisp.org>
79550
79551         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
79552         the function exists, before testing against AIX.
79553         Reported by Martin Lambers <marlam@marlam.de>.
79554
79555 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
79556
79557         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
79558         From Mark D. Baushke.
79559
79560 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
79561
79562         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
79563         to the absolute name, not just one, to bypass Sun C 5.8's
79564         "warning: #include of /usr/include/... may be non-portable".
79565
79566 2006-07-04  Eric Blake  <ebb9@byu.net>
79567
79568         * modules/dirname-tests: New test module.
79569         * tests/test-dirname.c: New file, replacing dirname.c
79570         TEST_DIRNAME section that was recently deleted.
79571
79572 2006-07-04  Bruno Haible  <bruno@clisp.org>
79573
79574         Assume ANSI C header files and <ctype.h> functions.
79575         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
79576         (mbsnwidth): Use isprint, iscntrl instead.
79577
79578 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79579
79580         Merge from coreutils.
79581         * MODULES.html.sh: Add xstrtold.
79582         * modules/xstrtold: New file.
79583         * modules/cycle-check (Files): Add lib/same-inode.h.
79584         * modules/dirname (Files): Add m4/double-slash-root.m4.
79585         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
79586         * modules/mkdir-p (Files): Add lib/same-inode.h.
79587         * modules/same (Files): Add lib/same-inode.h.
79588
79589 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79590
79591         * m4/absolute-header.m4: Renamed from full-header-path.m4.
79592         This is to keep the terminology clean; POSIX talks about
79593         "absolute pathnames", not "full pathnames", but the GNU
79594         Coding Standards say to use "path" for something else;
79595         so use "absolute" to keep both sides happy.
79596         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
79597         Set gl_absolute_header, not gl_full_header_path.
79598         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
79599         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
79600         All uses changed.
79601
79602         Merge from coreutils.
79603
79604         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
79605
79606         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
79607         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
79608         want to require the building of c-strtod.o.
79609         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
79610         needs -lm directly.
79611         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
79612
79613         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
79614
79615         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
79616         --as-needed option if available.  Problem reported by Albert Chin in
79617         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
79618         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
79619         cc merely issues a bunch of annoying warnings for --as-needed
79620         (this problem was reported by Bob Proulx).  Also, try linking with
79621         -lm to detect a bug in binutils 2.16 (this problem was reported
79622         by Ralf Wildenhues).
79623
79624         2006-06-18  Jim Meyering  <jim@meyering.net>
79625
79626         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
79627         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
79628         macro.
79629         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
79630         also check for glibc-2.4's abort-inducing bug.
79631
79632         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
79633         Low-probability clean-up should be to use rmdir to get rid of
79634         the just-created directory, not unlink.
79635
79636         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
79637         configure fail, and request a bug report to inform us about it.
79638         Add a comment that, barring reports to the contrary, in 2007 we'll
79639         assume ftruncate is universally available.
79640
79641         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
79642
79643         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
79644
79645         2006-03-12  Jim Meyering  <jim@meyering.net>
79646
79647         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
79648         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
79649         * m4/same.m4 (gl_SAME): Likewise.
79650         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
79651
79652         2006-03-11  Eric Blake  <ebb9@byu.net>
79653
79654         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
79655         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
79656         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
79657         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
79658
79659 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
79660
79661         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
79662         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
79663         reported by Mark D. Baushke, one in
79664         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
79665
79666         Merge from coreutils.
79667
79668         * lib/.cppi-disable: Add stdint_.h.
79669         * lib/.cvsignore: Add stdint.h.
79670
79671         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
79672
79673         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
79674         both double and long double versions.
79675         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
79676         * lib/xstrtold.c: New file.
79677         * lib/xstrtod.h (xstrtold): New decl.
79678
79679         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
79680
79681         * lib/filemode.c (setst): Remove.
79682         (strmode): Rewrite to avoid setst.  This makes the code shorter,
79683         (arguably) clearer, and the generated code is a bit smaller on my
79684         Debian GNU/Linux stable x86 host.
79685
79686         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
79687
79688         * lib/filemode.c: Include "filemode.h" first, to test the interface.
79689         Assume that filemode.h includes sys/types.h and sys/stat.h.
79690         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
79691         (ftypelet): Reorder to put common cases first, for efficiency.
79692         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
79693         to do 'M'.
79694         (strmode): Renamed from mode_string, and now stores 12 bytes instead
79695         of 10, for compatibility with FreeBSD.  All callers changed.
79696         (filemodestring): Now stores 12 bytes instead of 10, and sets file
79697         types that can't be deduced solely from st_mode.  First arg is now a
79698         const pointer.
79699         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
79700         (strmode): Renamed from mode_string.
79701         (filemodestring): New decl.
79702         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
79703         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
79704         needed.
79705         (S_ISPORT, S_ISWHT): New macros, if not already defined.
79706
79707         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
79708
79709         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
79710         fsusage.h now does that.  Include fsusage.h first, to test interface.
79711         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
79712         at most one method (the old code could have generated decls that
79713         didn't conform to C89, not that this was ever exercised).
79714         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
79715
79716         2006-03-19  Jim Meyering  <jim@meyering.net>
79717
79718         Work even in a chroot where d_ino values for entries in "/"
79719         don't match the stat.st_ino values for the same names.
79720         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
79721         number, iterate through all entries again, using lstat instead.
79722         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
79723         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
79724
79725         * lib/getcwd.c (__getcwd): Clarify a comment.
79726         Use memcpy in place of a call to strcpy.
79727
79728         2006-03-12  Jim Meyering  <jim@meyering.net>
79729
79730         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
79731         matches that of the current directory (which we're about to chdir ".."
79732         out of), then save the dev-ino of the parent, instead.
79733
79734         * lib/same-inode.h (SAME_INODE): New file/macro.
79735         * lib/chdir-safer.c (SAME_INODE): Remove definition.
79736         Include "same-inode.h", instead.
79737         * lib/same.c: Likewise.
79738         * lib/cycle-check.h: Include "same-inode.h".
79739         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
79740         * lib/cycle-check.c (SAME_INODE): Remove definition.
79741         * lib/root-dev-ino.h: Include "same-inode.h".
79742
79743         2006-03-11  Eric Blake  <ebb9@byu.net>
79744
79745         * lib/same.c (same_name): s/base_name/last_component/
79746         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
79747         * lib/filenamecat.c (file_name_concat): Likewise.
79748
79749         2006-03-11  Eric Blake  <ebb9@byu.net>,
79750                     Paul Eggert  <eggert@cs.ucla.edu>
79751
79752         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
79753         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
79754         drive prefix.
79755         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
79756         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
79757         (last_component): New method.
79758         * lib/dirname.c (dir_len): Determine when drive letters need a
79759         subsequent slash.  Preserve // when it is special.
79760         (dir_name): Don't append dot when drive letter is absolute.
79761         [TEST_DIRNAME]: Move into a full-blown gnulib test.
79762         * lib/basename.c (base_name): New semantics - malloc the result.
79763         Preserve // when it is special.  Preserve relative files that look
79764         like drive letters.
79765         (base_len): Preserve // when it is special.
79766         (last_component): New method, similar to old base_name semantics.
79767         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
79768         base_name.  Strip redundant slashes from ///.
79769
79770 2006-07-03  Jim Meyering  <jim@meyering.net>
79771
79772         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
79773         macro is used before the first cycle_check call.
79774
79775 2006-07-03  Eric Blake  <ebb9@byu.net>
79776
79777         * modules/dirname (Depends-on): Add xstrndup.
79778
79779 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
79780
79781         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
79782         test cases, so that config.log is a bit easier to follow.
79783
79784 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
79785
79786         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
79787         both are 64 bits, since this seems to be the tradition, and this
79788         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
79789         we ever run into a host that prefers long long to long in this
79790         case, we'll need another configure-time test.  Problem reported by
79791         Jim Meyering.
79792
79793 2006-07-02  Eric Blake  <ebb9@byu.net>
79794
79795         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
79796
79797 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79798
79799         * modules/inttypes (Depends-on): No longer depends on stdint.
79800         * modules/stdint (Description): Say more about assumptions.
79801         Say that the fast types might differ.  Say macros are used.
79802         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
79803         (Makefile.am): Revise list of substituted symbols to match
79804         new stdint.m4.
79805         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
79806         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
79807         * tests/test-stdint.c (verify_same_types)
79808         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
79809         the code conforms to C99/C89.
79810         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
79811         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
79812
79813 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79814
79815         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
79816         but fix a bug, by requiring at least 64 bits.
79817         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
79818         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
79819         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
79820         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
79821
79822         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
79823         changes.  Make 2.59 a prerequisite.  Check and substitute for
79824         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
79825         inttypes.h.  Do not use special include files; just use the
79826         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
79827         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
79828         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
79829         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
79830         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
79831         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
79832         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
79833         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
79834         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
79835         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
79836         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
79837         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
79838         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
79839         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
79840         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
79841         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
79842         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
79843         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
79844         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
79845         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
79846         WINT_MAX.  Check for C99 conformance more strictly, by detecting
79847         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
79848         not check for things that C99 does not require, e.g., int8_t.  If
79849         a test isn't needed unless <stdint.h> isn't working, and is
79850         unlikely to be needed for any other reason, then don't do it
79851         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
79852         size_t, since we assume C89 freestanding at least.  Do not check
79853         for sig_atomic_t, wchar_t, or wint_t, since the code now does
79854         the right thing even if the types are not defined.  Instead use:
79855         (gl_STDINT_TYPE_PROPERTIES): New macro.
79856         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
79857         testing whether <sys/types.h> clashes, as Autoconf does this for
79858         us now.  All uses removed.
79859         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
79860         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
79861         (gl_CHECK_TYPE_SAME):
79862         Remove; no longer needed.
79863         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
79864         exists, since we'll return 0 anyway in that case.
79865         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
79866
79867 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
79868
79869         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
79870         possible collision with system files.
79871         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
79872         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
79873         WCHAR_MIN and WCHAR_MAX in this case.
79874         (<stddef.h>): Do not include; no longer needed.
79875         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
79876         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
79877         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
79878         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
79879         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
79880         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
79881         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
79882         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
79883         !defined(__c99))]: Include in this case too, since it's harmless
79884         now.
79885         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
79886         dangerous to do so.
79887         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
79888         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
79889         (_STDINT_MIN, _STDINT_MAX): New macros.
79890         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
79891         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
79892         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
79893         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
79894         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
79895         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
79896         macros, not typedefs; this simplifies things quite a bit.
79897         Use long int for all types narrower than int64_t.
79898         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
79899         Define in terms of long long int or int64_t or long int,
79900         not int64_t or int32_t.  This saves some compile-time testing.
79901         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
79902         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
79903         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
79904         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
79905         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
79906         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
79907         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
79908         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
79909         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
79910         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
79911         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
79912         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
79913         undef any previous version and define our own version, for
79914         simplicity and consistency with the new macros for types.
79915         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
79916         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
79917         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
79918         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
79919         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
79920         @WINT_T_SUFFIX@ to keep things simple here.
79921         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
79922         Simplify by assuming typical 8/16/32/64 host, since we're
79923         already doing that elsewhere anyway.
79924         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
79925         and assume long long int is 64 bits if available.  This
79926         speeds up 'configure'.
79927
79928 2006-07-01  Eric Blake  <ebb9@byu.net>
79929
79930         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
79931         Reported by Andreas Buening.
79932
79933 2006-07-01  Eric Blake  <ebb9@byu.net>
79934
79935         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
79936
79937 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
79938
79939         * lib/getaddrinfo.c: fixed typo
79940
79941 2006-06-29  Jim Meyering  <jim@meyering.net>
79942
79943         * modules/strftime (Maintainer): Add my name, since with the
79944         FPRINTFTIME changes strftime.c has forked from glibc.
79945
79946 2006-06-29  Eric Blake  <ebb9@byu.net>
79947
79948         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
79949
79950 2006-06-29  Eric Blake  <ebb9@byu.net>
79951
79952         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
79953
79954 2006-06-29  Eric Blake  <ebb9@byu.net>
79955
79956         * lib/stat_.h: New file.
79957
79958 2006-06-29  Eric Blake  <ebb9@byu.net>
79959
79960         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
79961         unused static function.
79962
79963 2006-06-29  Eric Blake  <ebb9@byu.net>
79964
79965         * doc/functions.texi (Function Portability): Document missing lstat
79966         on mingw.
79967
79968 2006-06-29  Eric Blake  <ebb9@byu.net>
79969
79970         * MODULES.html.sh: Add sys_stat.
79971         * modules/sys_stat: New module.
79972         * modules/mkstemp (Depends-on): Add sys_stat.
79973
79974 2006-06-29  Derek R. Price  <derek@ximbiot.com>
79975
79976         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
79977
79978 2006-06-29  Derek R. Price  <derek@ximbiot.com>
79979
79980         * m4/c-bs-a.m4: Removed.
79981
79982 2006-06-29  Derek R. Price  <derek@ximbiot.com>
79983
79984         * lib/strftime.c: Assume strftime() exists.
79985
79986 2006-06-29  Derek Price  <derek@ximbiot.com>
79987
79988         * modules/c-bs-a: Removed - \a is C89.
79989         * MODULES.html.sh: Remove c-bs-a.
79990
79991 2006-06-29  Bruno Haible  <bruno@clisp.org>
79992
79993         * modules/wcwidth (License): Change to LGPL.
79994
79995 2006-06-28  Simon Josefsson  <jas@extundo.com>
79996
79997         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
79998         on _WIN32.
79999
80000         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
80001         getnameinfo.
80002
80003 2006-06-28  Simon Josefsson  <jas@extundo.com>
80004
80005         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
80006
80007 2006-06-28  Simon Josefsson  <jas@extundo.com>
80008
80009         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
80010         functions there.  It will succeed on Windows XP, but on Windows
80011         2000 and (presumably) earlier, it will fail, and use the internal
80012         re-implementation.
80013         (use_win32_p): New function.
80014         (getaddrinfo): Use strtoul on servname, to support numeric ports.
80015         Support AI_NUMERICSERV to disable getservbyname.
80016         (getnameinfo): New function, only supports
80017         NI_NUMERICHOST|NI_NUMERICSERV for now.
80018
80019         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
80020         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
80021         getnameinfo.
80022
80023 2006-06-28  Eric Blake  <ebb9@byu.net>
80024
80025         * modules/wcwidth: New file.
80026         * modules/mbchar (Depends-on): Add wcwidth.
80027         * modules/mbswidth (Depends-on): Add wcwidth.
80028         * MODULES.html.sh: Add wcwidth.
80029
80030 2006-06-28  Eric Blake  <ebb9@byu.net>
80031
80032         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
80033         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
80034
80035 2006-06-28  Eric Blake  <ebb9@byu.net>
80036
80037         * lib/xvasprintf.h: Fix comments.
80038
80039 2006-06-28  Eric Blake  <ebb9@byu.net>
80040
80041         * lib/mbchar.h (wcwidth): Include wcwidth.h.
80042         * lib/mbswidth.c (wcwidth): Move from here...
80043         * lib/wcwidth.h: ...to this new file.
80044
80045 2006-06-28  Derek R. Price  <derek@ximbiot.com>
80046
80047         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
80048
80049         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
80050         it's obsolete.
80051         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
80052
80053 2006-06-28  Derek R. Price  <derek@ximbiot.com>
80054
80055         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
80056         Autoconf 2.60 says this stuff was obsolete.
80057
80058 2006-06-28  Bruno Haible  <bruno@clisp.org>
80059
80060         * modules/wcwidth (Files): Add m4/wchar_t.m4.
80061
80062 2006-06-28  Bruno Haible  <bruno@clisp.org>
80063
80064         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
80065         gt_TYPE_WCHAR_T.
80066
80067 2006-06-28  Bruno Haible  <bruno@clisp.org>
80068
80069         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
80070         declaration for wcwidth.
80071         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
80072
80073 2006-06-28  Bruno Haible  <bruno@clisp.org>
80074
80075         * lib/mkdtemp.c [MINGW]: Include <io.h>.
80076         (mkdir): Define using _mkdir.
80077
80078 2006-06-28  Bruno Haible  <bruno@clisp.org>
80079
80080         * lib/getaddrinfo.h: Fix POSIX URL.
80081         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
80082         _WIN32.
80083         (use_win32_p): Make static.
80084         (getaddrinfo): Reject service name if it is empty or does not consist
80085         solely of decimal digits, or if its value is > 65535.
80086         (getnameinfo): Remove useless casts.
80087
80088 2006-06-27  Simon Josefsson  <jas@extundo.com>
80089
80090         * modules/sys_select: New file, suggested by Bruno Haible, Paul
80091         Eggert and Martin Lambers.
80092
80093 2006-06-27  Simon Josefsson  <jas@extundo.com>
80094
80095         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
80096         Eggert and Martin Lambers.
80097
80098 2006-06-27  Bruno Haible  <bruno@clisp.org>
80099
80100         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
80101         result to 0, not to empty.
80102         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
80103
80104 2006-06-27  Bruno Haible  <bruno@clisp.org>
80105
80106         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
80107
80108 2006-06-26  Simon Josefsson  <jas@extundo.com>
80109
80110         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
80111         present.
80112
80113 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
80114
80115         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
80116         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
80117         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
80118
80119 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
80120
80121         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
80122
80123 2006-06-26  Bruno Haible  <bruno@clisp.org>
80124
80125         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
80126
80127 2006-06-26  Bruno Haible  <bruno@clisp.org>
80128
80129         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
80130
80131 2006-06-26  Bruno Haible  <bruno@clisp.org>
80132
80133         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
80134         SGI C compiler in pre-C99 mode.
80135         Suggested by Mark D. Baushke and Larry Jones.
80136
80137 2006-06-26  Bruno Haible  <bruno@clisp.org>
80138
80139         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
80140         WCHAR_MAX.
80141         Reported by Mark D. Baushke and Larry Jones.
80142
80143 2006-06-26  Bruno Haible  <bruno@clisp.org>
80144
80145         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
80146         in pre-C99 mode.
80147         Suggested by Mark D. Baushke and Larry Jones.
80148
80149 2006-06-23  Simon Josefsson  <jas@extundo.com>
80150             Bruno Haible  <bruno@clisp.org>
80151
80152         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
80153         Emit mostlyclean-local rule.
80154         (func_emit_tests_Makefile_am): Likewise.
80155         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
80156
80157 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
80158
80159         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
80160
80161 2006-06-23  Bruno Haible  <bruno@clisp.org>
80162
80163         * tests/test-stdint.c: Update to match ISO C 99 Technical
80164         Corrigendum 1.
80165
80166 2006-06-23  Bruno Haible  <bruno@clisp.org>
80167
80168         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
80169
80170 2006-06-23  Bruno Haible  <bruno@clisp.org>
80171
80172         * lib/stdint_.h: Treat IRIX like OpenBSD.
80173
80174 2006-06-23  Bruno Haible  <bruno@clisp.org>
80175
80176         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
80177         ISO C 99 Technical Corrigendum 1.
80178
80179 2006-06-22  Simon Josefsson  <jas@extundo.com>
80180
80181         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
80182         MinGW.
80183
80184 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80185
80186         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
80187         needed.  Some compiler complained about some of them.  Problem reported
80188         by Larry Jones in
80189         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
80190
80191 2006-06-21  Simon Josefsson  <jas@extundo.com>
80192
80193         * tests/test-getaddrinfo.c: New file.
80194
80195         * modules/getaddrinfo-tests: New file.
80196
80197         * MODULES.html.sh: Add inet_pton.
80198
80199         * modules/inet_pton: New file.
80200
80201 2006-06-21  Simon Josefsson  <jas@extundo.com>
80202
80203         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
80204         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
80205         of using the (limited) gnulib implementation on Windows XP.
80206
80207         * m4/inet_pton.m4: New file.
80208
80209 2006-06-21  Simon Josefsson  <jas@extundo.com>
80210
80211         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
80212         variable.
80213
80214         * lib/socket_.h: Don't define WINVER.
80215
80216         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
80217         slightly modified to work in gnulib.
80218
80219 2006-06-21  Simon Josefsson  <jas@extundo.com>
80220
80221         * doc/gnulib.texi (Windows sockets): Add.
80222
80223 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
80224
80225         * lib/read-file.c (fread_file): Start with buffer allocation of
80226         0 bytes rather than 1 byte; this simplifies the code.
80227         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
80228         code to free buffer and save/restore errno.
80229         (internal_read_file): Remove unused local.
80230
80231 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
80232
80233         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
80234         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
80235         Problem reported by Denis Excoffier in
80236         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
80237
80238 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80239
80240         * modules/sys_socket, modules/socklen: Include sys/types since
80241         FreeBSD 4.x's sys/socket.h needs it.
80242
80243 2006-06-19  Simon Josefsson  <jas@extundo.com>
80244
80245         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
80246
80247 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80248
80249         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
80250
80251 2006-06-19  Bruno Haible  <bruno@clisp.org>
80252
80253         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
80254         and FULL_PATH_INTTYPES_H in angle brackets.
80255         Reported by Mark D. Baushke <mdb@gnu.org>.
80256
80257 2006-06-17  Eric Blake  <ebb9@byu.net>
80258
80259         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
80260         errno.
80261
80262 2006-06-17  Bruno Haible  <bruno@clisp.org>
80263
80264         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
80265         <sys/inttypes.h>.
80266
80267 2006-06-17  Bruno Haible  <bruno@clisp.org>
80268
80269         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
80270         whether errno is declared. Assume <errno.h> declares errno.
80271
80272 2006-06-17  Bruno Haible  <bruno@clisp.org>
80273
80274         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
80275
80276 2006-06-17  Bruno Haible  <bruno@clisp.org>
80277
80278         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
80279         problem on Solaris 2.5.1.
80280
80281 2006-06-16  Eric Blake  <ebb9@byu.net>
80282
80283         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
80284         * lib/unicodeio.c [!defined errno]: Likewise.
80285         * lib/strtol.c [!defined errno]: Likewise.
80286         * lib/strtod.c [!defined errno]: Likewise.
80287
80288 2006-06-15  Eric Blake  <ebb9@byu.net>
80289
80290         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
80291
80292 2006-06-15  Eric Blake  <ebb9@byu.net>
80293
80294         * config/srclist.txt (ssize_t.m4): Lose sync.
80295
80296 2006-06-15  Bruno Haible  <bruno@clisp.org>
80297
80298         * modules/stdint (Files): Include m4/full-header-path.m4,
80299         m4/size_max.m4, m4/wchar_t.m4.
80300         (Makefile.am): Many more substitutions.
80301         * modules/stdint-tests: New file.
80302         * tests/test-stdint.c: New file.
80303
80304 2006-06-15  Bruno Haible  <bruno@clisp.org>
80305
80306         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
80307         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
80308         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
80309         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
80310         gl_CHECK_TYPE_SAME): New macros.
80311
80312 2006-06-15  Bruno Haible  <bruno@clisp.org>
80313
80314         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
80315
80316 2006-06-15  Bruno Haible  <bruno@clisp.org>
80317
80318         * lib/stdint_.h: Rewritten to be fully auto-configured.
80319         Fixes bug on HP-UX/IA64.
80320
80321 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
80322
80323         * lib/getdate.y (__attribute__): Don't define if already defined.
80324         Problem reported by Larry Jones.
80325         * lib/utimens.c (__attribute__): Likewise.
80326
80327 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
80328
80329         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
80330         reported by Andreas Schwab.
80331
80332 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80333             Bruno Haible  <bruno@clisp.org>
80334
80335         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
80336         check for the declaration of strnlen and a run test that exposes the
80337         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
80338         rpl_strndup.
80339
80340 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80341             Bruno Haible  <bruno@clisp.org>
80342
80343         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
80344
80345 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80346
80347         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
80348         compile test, for Tru64 4.0D.
80349
80350 2006-05-28  Karl Berry  <karl@gnu.org>
80351
80352         * config/srclist.txt (printf-args.c): lose sync.
80353
80354 2006-05-26  Martin Lambers  <marlam@marlam.de>
80355
80356         * lib/getpass.c: Updates the test for the native W32 API, and adds
80357         missing includes, thus fixing compilation warnings.
80358
80359 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
80360
80361         * lib/exclude.c (exclude_fnmatch): New function.
80362         (excluded_file_name): Call exclude_fnmatch.
80363         * lib/exclude.h (excluded_file_name): New prototype
80364
80365 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
80366
80367         * lib/tempname.c (small_open, large_open): New macros.
80368         (__open, __open64) [!_LIBC]: Remove.
80369         (__gen_tempname): Use small_open and large_open instead of __open
80370         and __open64.  This fixes a portability bug on HP-UX 11.11i
80371         reported by Simon Wing-Tang in
80372         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
80373
80374 2006-05-24  Bruno Haible  <bruno@clisp.org>
80375
80376         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
80377         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
80378         Reported by Thorsten Maerz <torte@netztorte.de> via
80379         Aaron Stone <aaron@serendipity.cx>.
80380
80381 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
80382
80383         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
80384         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
80385         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
80386         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
80387         not really conditional on the cache.
80388         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
80389
80390 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
80391
80392         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
80393         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
80394         (my_usleep): Don't mishandle maximum value.
80395
80396 2006-05-19  Jim Meyering  <jim@meyering.net>
80397
80398         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
80399
80400 2006-05-17  Bruno Haible  <bruno@clisp.org>
80401
80402         Cygwin portability.
80403         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
80404
80405 2006-05-17  Bruno Haible  <bruno@clisp.org>
80406
80407         * lib/stdint_.h: Fix recognition of Cygwin.
80408
80409 2006-05-15  Bruno Haible  <bruno@clisp.org>
80410
80411         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
80412         on libtool patch by Ralf Wildenhues.
80413
80414 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
80415
80416         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
80417         test for C99 conformance; (bool) 0.5 is an integer constant
80418         expression, but (bool) -0.5 is not.  Problem reported by Fedor
80419         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
80420
80421 2006-05-11  Simon Josefsson  <jas@extundo.com>
80422
80423         * m4/xvasprintf.m4: Fix obvious typo.
80424
80425 2006-05-11  Jim Meyering  <jim@meyering.net>
80426
80427         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
80428         James Lemley.
80429
80430 2006-05-10  Simon Josefsson  <jas@extundo.com>
80431
80432         * lib/md4.c: Typo fix, update copyright years.
80433         (K1, K2): Don't use L because it turn computations into 64-bit on
80434         64-bit platforms.
80435
80436 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
80437
80438         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
80439         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
80440         unwanted sign propagation, e.g., on hosts with 64-bit int.
80441         There still are some problems with reeelly weird theoretical hosts
80442         (e.g., 33-bit int) but it's not worth worrying about now.
80443         * lib/sha1.c (rol): Likewise.
80444         (K1, K2, K3, K4): Remove unnecessary L suffix.
80445
80446 2006-05-10  Bruno Haible  <bruno@clisp.org>
80447
80448         * lib/des.c: Cast to avoid warnings.
80449
80450 2006-05-09  Bruno Haible  <bruno@clisp.org>
80451
80452         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
80453         (Depends-on): Depend also on xsize, stdarg.
80454         (configure.ac): Add gl_XVASPRINTF.
80455
80456 2006-05-09  Bruno Haible  <bruno@clisp.org>
80457
80458         * m4/xvasprintf.m4: New file.
80459
80460 2006-05-09  Bruno Haible  <bruno@clisp.org>
80461
80462         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
80463         (EOVERFLOW): Define fallback value.
80464         (xstrcat): New function.
80465         (xvasprintf): Recognize the special case of a string concatenation.
80466
80467 2006-05-08  Eric Blake  <ebb9@byu.net>
80468
80469         * gnulib-tool (func_version): Base copyright year on CVS date.
80470         (func_emit_copyright_notice): New function.
80471         (func_emit_lib_Makefile_am): Use it.
80472         (func_emit_tests_Makefile_am): Likewise.
80473         (func_import): Likewise.
80474
80475 2006-05-08  Bruno Haible  <bruno@clisp.org>
80476
80477         * modules/stdarg: New file.
80478         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
80479
80480 2006-05-08  Bruno Haible  <bruno@clisp.org>
80481
80482         * m4/stdarg.m4: New file, from GNU gettext.
80483
80484 2006-05-08  Bruno Haible  <bruno@clisp.org>
80485
80486         * config/srclist.txt (build-aux/config.rpath): different from latest
80487         release.
80488
80489 2006-05-08  Bruno Haible  <bruno@clisp.org>
80490
80491         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
80492
80493 2006-05-05  Jim Meyering  <jim@meyering.net>
80494
80495         * m4/warning.m4: New file, derived from bison's file by the same name.
80496
80497 2006-05-03  Bruno Haible  <bruno@clisp.org>
80498
80499         * lib/stdint_.h: Shorter URL.
80500         * lib/inttypes.h: Likewise.
80501
80502 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
80503
80504         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
80505
80506 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
80507
80508         * lib/verify.h: Document the internals better.  Most of this change
80509         was written by Bruno Haible.
80510
80511 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
80512
80513         * doc/verify.texi: New file, partly based on a proposal by
80514         Bruno Haible.
80515
80516 2006-05-02  Bruno Haible  <bruno@clisp.org>
80517
80518         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
80519         test from here...
80520         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
80521
80522 2006-04-29  Bruno Haible  <bruno@clisp.org>
80523
80524         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
80525         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
80526
80527 2006-04-29  Bruno Haible  <bruno@clisp.org>
80528
80529         * gnulib-tool: Make --update option actually work.
80530
80531 2006-04-29  Bruno Haible  <bruno@clisp.org>
80532
80533         * doc/gcd.texi: New file.
80534         * doc/gnulib.texi: Include it.
80535
80536 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
80537
80538         * lib/getdate.y (get_date): When adding relative date, start with the
80539         initial time, not with the result of the first mktime call.
80540
80541 2006-04-25  Bruno Haible  <bruno@clisp.org>
80542
80543         * gnulib-tool (func_import): Output the include directives in three
80544         blocks, sorted separately.
80545         Reported by Ben Pfaff <blp@cs.stanford.edu>.
80546
80547 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
80548
80549         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
80550         to define main with arguments, for C++.  Reported by Eric Blake.
80551         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
80552         Prefer 'int main ()' to 'int main (void)', for C++.
80553         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
80554         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
80555         for 'main', for C99 and C++.
80556
80557 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
80558
80559         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
80560         Don't assume that exit status -1 is valid.
80561         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
80562         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
80563         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
80564         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
80565         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
80566         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
80567         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
80568         functions can be used without declaring them, or that you can
80569         exit with status -1.
80570         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
80571
80572 2006-04-24  Karl Berry  <karl@gnu.org>
80573
80574         * config/srclist.txt (longdouble.m4): sync lost.
80575
80576 2006-04-24  Eric Blake  <ebb9@byu.net>
80577
80578         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
80579
80580 2006-04-24  Bruno Haible  <bruno@clisp.org>
80581
80582         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
80583         poll() implementation in AIX.
80584         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
80585
80586 2006-04-24  Bruno Haible  <bruno@clisp.org>
80587
80588         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
80589         assigned exactly once.
80590
80591 2006-04-23  Claudio Fontana  <claudio@gnu.org>
80592             Bruno Haible  <bruno@clisp.org>
80593
80594         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
80595         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
80596         for AM_CPPFLAGS.
80597
80598 2006-04-23  Bruno Haible  <bruno@clisp.org>
80599
80600         * modules/copy-file: Depend on unistd.
80601         * modules/execute: Likewise.
80602         * modules/fatal-signal: Likewise.
80603         * modules/findprog: Likewise.
80604         * modules/mkdtemp : Likewise.
80605         * modules/pipe: Likewise.
80606         * modules/wait-process: Likewise.
80607
80608 2006-04-23  Bruno Haible  <bruno@clisp.org>
80609
80610         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
80611         condition was already detected.
80612         Reported by Ben Pfaff <blp@cs.stanford.edu>.
80613
80614 2006-04-23  Bruno Haible  <bruno@clisp.org>
80615
80616         * lib/copy-file.c: Include <unistd.h> unconditionally.
80617         * lib/execute.c: Likewise.
80618         * lib/fatal-signal.c: Likewise.
80619         * lib/findprog.c: Likewise.
80620         * lib/mkdtemp.c: Likewise.
80621         * lib/pipe.h: Likewise.
80622         * lib/pipe.c: Likewise.
80623         * lib/wait-process.h: Likewise.
80624
80625 2006-04-23  Bruno Haible  <bruno@clisp.org>
80626
80627         * gnulib-tool (func_usage): Fix --import description. Document
80628         --update.
80629         (func_import): Create temporary file in a temporary directory, if
80630         --dry-run is specified. Silence errors from 'grep' when there are no
80631         m4 files in $m4dir.
80632         (func_create_testdir): Silence errors from 'grep' when there are no
80633         m4 files in $m4dir.
80634         Reported by Karl Berry <karl@freefriends.org>.
80635
80636 2006-04-20  Bruno Haible  <bruno@clisp.org>
80637
80638         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
80639         one argument, so that the code will be portable to Autoconf 2.60.
80640         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
80641         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80642         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
80643
80644 2006-04-19  Derek Price  <derek@ximbiot.com>
80645             Eric Blake  <ebb9@byu.net>
80646
80647         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
80648         rather than "/full/path.h".  Update comment to match.  Shorten &
80649         generalize m4_translit call via AS_TR_CPP.
80650
80651 2006-04-19  Derek Price  <derek@ximbiot.com>
80652             Eric Blake  <ebb9@byu.net>
80653
80654         * lib/inttypes.h: Correct grammar in comment.
80655
80656 2006-04-18  Derek Price  <derek@ximbiot.com>
80657             Paul Eggert  <eggert@cs.ucla.edu>
80658
80659         * modules/inttypes: New file.
80660         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
80661
80662 2006-04-18  Derek Price  <derek@ximbiot.com>
80663             Paul Eggert  <eggert@cs.ucla.edu>
80664
80665         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
80666         New files.
80667
80668 2006-04-18  Derek Price  <derek@ximbiot.com>
80669             Paul Eggert  <eggert@cs.ucla.edu>
80670
80671         * lib/inttypes.h: New file.
80672         * lib/strtoimax.c: Assume <inttypes.h>.
80673
80674 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
80675
80676         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
80677         isn't mounted.  Problem reported by Kir Kolyshkin.
80678
80679 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
80680
80681         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
80682         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
80683         Derek R. Price.
80684         * lib/regex.h (RE_DUP_MAX): Update comment to match current
80685         implementation.
80686
80687 2006-04-12  Eric Blake  <ebb9@byu.net>
80688
80689         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
80690         is now done automatically by the corresponding Autoconf macro.
80691
80692 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
80693
80694         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
80695         time_r.h.
80696
80697 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80698
80699         Merge regex changes from libc, removing some of our
80700         POSIX-conformance changes that were rejected and redoing them in a
80701         less-intrusive way.
80702
80703         * lib/regcomp.c (re_compile_internal, init_dfa):
80704         Length arg is now size_t, not Idx.  All uses changed.
80705         (peek_token): Forward decl now says internal_function.
80706         (__re_error_msgid, __re_error_msgid_idx):
80707         Now static rather than extern with attribute_hidden.
80708         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
80709         For some reason libc prefers K&R style defns for external functions.
80710         (regerror) [!defined _LIBC]: Likewise.
80711         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
80712         (seek_collating_symbol_entry, lookup_collation_sequence_value):
80713         (build_range_exp, build_collating_symbol):
80714         Use K&R-style defn.
80715         (re_compile_fastmap): Use '\0' to memset, not 0.
80716         (utf8_sb_map): Make the calculations more obvious.
80717         (init_dfa, parse_bracket_exp, build_charclass_op):
80718         Call calloc and cast result, as glibc does.
80719         (init_word_char, fetch_token, peek_token, peek_token_bracket):
80720         (build_range_exp, build_collating_symbol):
80721         Now internal functions.
80722
80723         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
80724
80725         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
80726         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
80727         Don't depend on VMS; depend on __VMS instead, for POSIX
80728         namespace cleanness.
80729         (regoff_t): Define to ssize_t, not long int.
80730
80731         Remove the REG_ macros named below.  Instead, make the old names
80732         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
80733         __USE_GNU_REGEX.
80734         (REG_BACKSLASH_ESCAPE_IN_LISTS):
80735         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
80736         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
80737         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
80738         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
80739         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
80740         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
80741         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
80742         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
80743         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
80744         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
80745         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
80746         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
80747         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
80748         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
80749         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
80750         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
80751         (REG_NREGS):
80752         Remove.  All uses replaced by the old RE_* names.
80753         (RE_BACKSLASH_ESCAPE_IN_LISTS):
80754         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
80755         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
80756         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
80757         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
80758         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
80759         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
80760         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
80761         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
80762         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
80763         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
80764         Don't bother having these macros be independent of each others'
80765         values, since they no longer exist in the POSIX name space.
80766
80767         Rename the following member names back to their old names,
80768         unless !__USE_GNU_REGEX.  All uses changed back.
80769         (buffer): Renamed from re_buffer.
80770         (allocated): Renamed from re_allocated.
80771         (used): Renamed from re_used.
80772         (syntax): Renamed from re_syntax.
80773         (fastmap): Renamed from re_fastmap.
80774         (translate): Renamed from re_translate.
80775         (can_be_null): Renamed from re_can_be_null.
80776         (regs_allocated): Renamed from re_regs_allocated.
80777         (fastmap_accurate): Renamed from re_fastmap_accurate.
80778         (no_sub): Renamed from re_no_sub.
80779         (not_bol): Renamed from re_not_bol.
80780         (not_eol): Renamed from re_not_eol.
80781         (newline_anchor): Renamed from re_newline_anchor.
80782         (num_regs): Renamed from rm_num_regs.
80783         (start): Renamed from rm_start.
80784         (end): Renamed from rm_end.
80785
80786         (free_state): Move up a bit.
80787
80788         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
80789         #define to be empty.
80790         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
80791         when that is what is intended.
80792         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
80793         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
80794         (MAX): New macro.
80795         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
80796         All uses changed back to re_malloc, etc.  It's now the caller's
80797         responsibility to check for overflow; all callers changed.
80798         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
80799         (re_x2nrealloc): Remove.
80800         (free_state): Remove decl.
80801
80802         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
80803         (re_set_registers, re_exec):
80804         Use K&R-style defn.
80805
80806         2006-01-31  Roland McGrath  <roland@redhat.com>
80807
80808         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
80809         Reported by Mike Frysinger <vapier@gentoo.org>.
80810
80811         2006-01-15  Andreas Jaeger  <aj@suse.de>
80812
80813         [BZ #1950]
80814         * lib/regex_internal.c (re_string_reconstruct): Adjust for
80815         build_wcs_upper_buffer change.
80816         (build_wcs_upper_buffer): Change return type.
80817
80818         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
80819
80820         * lib/regex_internal.h: Include <stdint.h> if available.
80821
80822         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
80823
80824         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
80825
80826         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
80827
80828         * lib/regcomp.c: Adjust for changed secondary hash function.
80829
80830         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
80831
80832         * lib/regex.h: Pretty printing.
80833         Clean up namespace a bit.
80834
80835         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
80836
80837         * lib/regexec.c (update_cur_sifted_state, check_arrival,
80838         check_arrival_add_next_nodes): Avoid using uninitialized variable.
80839
80840         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
80841                     Ulrich Drepper  <drepper@redhat.com>
80842
80843         [BZ #1302]
80844         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
80845         changed.
80846         (bitset_word_t): Renamed from bitset_word.  All uses changed.
80847
80848         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
80849
80850         [BZ #281]
80851         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
80852         * lib/regcomp.c: Remove unnecessary uses of
80853         unsigned RE_TRANSLATE_TYPE.
80854         * lib/regex_internal.h: Likewise.
80855         * lib/regex_internal.c: Likewise.
80856         * lib/regexec.c: Likewise.
80857         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
80858
80859         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
80860
80861         * lib/regexec.c (find_recover_state): Remove unnecessary
80862         initialization.
80863         (transit_state_bkref): Make DFA a const pointer.
80864         (get_subexp): Likewise.
80865         (check_arrival): Likewise.
80866         (update_cur_sifted_state): Likewise.
80867         (re_search_internal): Likewise.
80868         (prune_impossible_nodes): Likewise.
80869         (acquire_init_state_context): Likewise.
80870         (proceed_next_node): Likewise.
80871         (set_regs): Likewise.
80872         (free_fail_stack_return): Likewise.
80873         (check_arrival_expand_ecl): Mark DFA parameter as const.
80874         (check_arrival_expand_ecl_sub): Likewise.
80875         (check_subexp_limits): Likewise.
80876         (sub_epsilon_src_nodes):  Likewise.
80877         (add_epsilon_src_nodes):  Likewise.
80878         (merge_state_array): Likewise.
80879         (update_regs): Likewise.
80880         (build_trtable): Likewise.
80881         (sift_states_backward): Mark MCTX parameter as const.
80882         (build_sifted_states): Likewise.
80883         (update_cur_sifted_state): Likewise.
80884         (sift_states_mkref): Likewise.
80885         (check_arrival_expand_ecl): Mark eclosure as const.
80886         (check_dst_limits_calc_pos_1): Likewise.
80887         * lib/regex_internal.h (re_match_context_t): Make dfa a const
80888         pointer.
80889
80890         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
80891
80892         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
80893         (transit_state_sb): Likewise.
80894         (transit_state_mb): Likewise.
80895         (sift_states_iter_mb): Likewise.
80896         (check_arrival_add_next_nodes): Likewise.
80897         (check_node_accept_bytes): Change first parameter to pointer-to-const.
80898         [_LIBC] (re_search_2_stub): Use mempcpy.
80899
80900         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
80901         mbrtowc for very simple UTF-8 case.
80902
80903         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
80904         a pointer-to-const.
80905         (re_acquire_state_context): Likewise.
80906         * lib/regex_internal.h: Adjust prototypes.
80907
80908         * lib/regex.c: Prevent using C++ compilers.
80909
80910         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
80911         (re_acquire_state_context): Likewise.
80912
80913 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80914
80915         * modules/regex (Depends-on): Add ssize_t.
80916
80917 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80918
80919         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
80920         translation table.
80921
80922 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
80923
80924         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
80925
80926 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
80927             Bruno Haible  <bruno@clisp.org>
80928
80929         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
80930         <sys/types.h> and <inttypes.h>.
80931
80932 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80933
80934         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
80935         `__error_t_defined', so argp.h will not typedef the former.
80936
80937 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
80938
80939         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
80940         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
80941         glibc names.  Even if glibc is changed to conform to POSIX, the
80942         traditional names will be available anyway, since regex depends on
80943         the extensions module.  Also, fix a longstanding typo in the
80944         implementation of Spencer ERE test #75 from grep 2.3.  Problems
80945         reported by Emanuele Giaquinta.  Also, change sense of cached
80946         variable, so that the message makes sense.
80947
80948 2006-03-24  Simon Josefsson  <jas@extundo.com>
80949
80950         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
80951         including some doc fixes.
80952         (base64_encode_alloc): Fix +1 bug on allocation failures.
80953
80954 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80955
80956         * lib/base64.c (base64_encode): Do not read past end of array with
80957         unsanitized input on systems with CHAR_BIT > 8.
80958
80959 2006-03-24  Eric Blake  <ebb9@byu.net>
80960
80961         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
80962
80963 2006-03-22  Karl Berry  <karl@gnu.org>
80964
80965         * config/srclist.txt (*setenv.[ch]): get from coreutils.
80966         * config/srclistvars.sh (COREUTILS): new var.
80967
80968 2006-03-17  Jim Meyering  <jim@meyering.net>
80969
80970         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
80971         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
80972
80973 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
80974
80975         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
80976         no longer needs it.  Instead, check that regoff_t is as least
80977         as wide as ptrdiff_t.
80978
80979         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
80980         so that our regex.h stays compatible with the installed regex.
80981         This is helpful for installers who configure --without-included-regex.
80982         Problem reported by Emanuele Giaquinta.
80983
80984 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
80985
80986         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
80987         Typedef to long int, not to off_, as POSIX will likely change
80988         in that direction.
80989
80990 2006-03-15  Eric Blake  <ebb9@byu.net>
80991
80992         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
80993
80994 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
80995
80996         * lib/argp-help.c (validate_uparams): Fix typo
80997         * lib/argp-parse.c (argp_default_options): Consistently begin help
80998         messages with a lowercase letter.
80999
81000 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
81001
81002         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
81003         overrun buffers and shouldn't be used (much as gets shouldn't be
81004         used).
81005         * lib/time_r.c (asctime_r, ctime_r): Likewise.
81006
81007 2006-03-08  Simon Josefsson  <jas@extundo.com>
81008
81009         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
81010         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81011
81012 2006-03-08  Simon Josefsson  <jas@extundo.com>
81013
81014         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
81015         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81016
81017 2006-03-08  Simon Josefsson  <jas@extundo.com>
81018
81019         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
81020         signal that configure disabled the device.
81021
81022 2006-03-08  Simon Josefsson  <jas@extundo.com>
81023
81024         * build-aux/maint.mk: Fix refresh-po, to handle no translated
81025         languages.
81026
81027 2006-03-07  Simon Josefsson  <jas@extundo.com>
81028
81029         * modules/getopt (Depends-on): Add unistd.
81030
81031         * modules/unistd: New file.
81032
81033 2006-03-07  Simon Josefsson  <jas@extundo.com>
81034
81035         * modules/gc-random: New file.
81036
81037 2006-03-07  Simon Josefsson  <jas@extundo.com>
81038
81039         * m4/unistd_h.m4: New file.
81040
81041 2006-03-07  Simon Josefsson  <jas@extundo.com>
81042
81043         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
81044         test to be side-effect free by storing the result in the cache
81045         variable gl_cv_lib_readline, and moving the assignment of
81046         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
81047         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81048
81049 2006-03-07  Simon Josefsson  <jas@extundo.com>
81050
81051         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
81052         error on missing devices (the functions will return an error).
81053
81054         * m4/gc.m4: Move random stuff to gc-random.m4
81055
81056 2006-03-07  Simon Josefsson  <jas@extundo.com>
81057
81058         * lib/unistd_.h: New file.
81059
81060 2006-03-07  Simon Josefsson  <jas@extundo.com>
81061
81062         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
81063
81064 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81065
81066         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
81067         Problem reported by Juan Manuel Guerrero.
81068
81069 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81070
81071         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
81072         the unistd module.
81073         * lib/getlogin_r.c: Likewise.
81074         * lib/getlogin_r.h: Likewise.
81075         * lib/glob.c: Likewise.
81076         * lib/pagealign_alloc.c: Likewise.
81077         * lib/unistd_.h: Remove; no longer needed.
81078
81079 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
81080
81081         * MODULES.html.sh (Support for systems lacking POSIX:2001):
81082         Add unistd.
81083         * modules/c-stack (Depends-on): Add unistd.
81084         * modules/getlogin_r: Likewise.
81085         * modules/glob: Likewise.
81086         * modules/pagealign_alloc: Likewise.
81087         * modules/unistd (Files): Remove lib/unistd_.h.
81088         (EXTRA_DIST): Remove.
81089         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
81090         need unistd_.h.
81091         (MOSTLYCLEANFILES): Remove unistd.h-t.
81092
81093 2006-03-03  Simon Josefsson  <jas@extundo.com>
81094
81095         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
81096
81097 2006-03-03  Simon Josefsson  <jas@extundo.com>
81098
81099         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
81100         libidn and bison.
81101
81102 2006-03-03  Simon Josefsson  <jas@extundo.com>
81103
81104         * build-aux/maint.mk: Add indent target.
81105
81106 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
81107
81108         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
81109         our replacement poll.h in any case, to avoid a differing
81110         declaration from a system header.  Seen on AIX.
81111
81112 2006-03-01  Simon Josefsson  <jas@extundo.com>
81113
81114         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
81115         <kasal@ucw.cz>.
81116
81117 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81118
81119         * modules/gettime (Depends-on): Add extensions module.
81120         * modules/nanosleep (Depends-on): Likewise.
81121         * modules/settime (Depends-on): Likewise.
81122
81123 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81124
81125         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
81126         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
81127         pedantically.
81128         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81129         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
81130
81131         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
81132         not "==".  Reported by Ralf Wildenhues.
81133
81134 2006-03-01  Karl Berry  <karl@gnu.org>
81135
81136         * doc/Copyright/request-*: new files, synced from gnuorg.
81137
81138 2006-03-01  Karl Berry  <karl@gnu.org>
81139
81140         * config/srclist.txt (Copyright/*): new entries.
81141
81142 2006-02-28  Simon Josefsson  <jas@extundo.com>
81143
81144         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
81145
81146 2006-02-27  Simon Josefsson  <jas@extundo.com>
81147
81148         * lib/base64.h: Indent #define's.  From Jim Meyering
81149         <jim@meyering.net>.
81150
81151 2006-02-27  Jim Meyering  <jim@meyering.net>
81152
81153         Revert the change of 2006-02-24, so these files can continue
81154         to be sync'd from gettext.
81155         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
81156         of `config.h'.
81157
81158 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
81159
81160         * modules/intprops: New file.
81161         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
81162         Add intprops.
81163         * modules/getloadavg (Files): Remove lib/intprops.h.
81164         (Depends-on): Add intprops.
81165         * modules/human: Likewise.
81166         * modules/inttostr: Likewise.
81167         * modules/openat: Likewise.
81168         * modules/sig2str: Likewise.
81169         * modules/userspec: Likewise.
81170         * modules/utimecmp: Likewise.
81171         * modules/xnanosleep: Likewise.
81172         * modules/xstrtol: Likewise.
81173
81174 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
81175
81176         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
81177         * modules/lock-tests (TESTS): Use $(EXEEXT).
81178         * modules/tls-tests: Likewise.
81179         * modules/argp-tests: Likewise.
81180         (check_PROGRAMS): New var, replacing...
81181         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
81182
81183 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81184
81185         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
81186         `config.h'.
81187
81188 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
81189
81190         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
81191
81192 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81193
81194         Sync from coreutils.
81195         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
81196         gl_CHDIR_SAFER.
81197
81198 2006-02-22  Jim Meyering  <jim@meyering.net>
81199
81200         Sync from coreutils.
81201         * m4/chdir-safer.m4: New file.
81202
81203 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
81204
81205         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
81206         AT_FDCWD exceeds INT_MAX.
81207         * lib/openat.h (AT_FDCWD): Likewise.
81208
81209 2006-02-17  Eric Blake  <address@hidden>
81210
81211         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
81212
81213 2006-02-16  Simon Josefsson  <jas@extundo.com>
81214
81215         * modules/getaddrinfo (Depends-on): Add sys_socket.
81216
81217 2006-02-15  Simon Josefsson  <jas@extundo.com>
81218
81219         * build-aux/maint.mk: Add dsyntax-check rule.
81220
81221 2006-02-15  Eric Blake  <ebb9@byu.net>
81222
81223         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
81224         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
81225         'present but cannot compile' warnings on cygwin.
81226         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
81227         use ws2tcpip.h if sys/socket.h works.
81228         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
81229         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
81230
81231 2006-02-14  Simon Josefsson  <jas@extundo.com>
81232
81233         * modules/maintainer-makefile (Files): Rename.
81234
81235         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
81236         and (the local) Makefile.cfg to maint-cfg.mk.
81237
81238         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
81239         to the latter.
81240
81241         * modules/maintainer-makefile: New module.
81242
81243         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
81244         severaly stripped to make it possible to build it up from scratch
81245         with reliable tests.
81246
81247         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
81248         fixes to permit overriding the default actions when configure and
81249         makefile are not available.
81250
81251 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
81252
81253         Sync from coreutils.
81254         * modules/lstat (Depends-on): Don't depend on xalloc.
81255         (License): Change from GPL to LGPL, since this is now simply a
81256         replacement for a libc function.
81257
81258 2006-02-14  Jim Meyering  <jim@meyering.net>
81259
81260         Sync from coreutils.
81261
81262         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
81263         failure on deficient systems, and simplify gnulib lgpl dependencies.
81264         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
81265         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
81266
81267         * lib/xalloc-die.c: Remove unused definition of N_.
81268
81269 2006-02-14  Jim Meyering  <jim@meyering.net>
81270
81271         Sync from coreutils.
81272         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
81273         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
81274         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
81275         double-quote uses of that variable, to accommodate the rare case in
81276         which getmntent is available in none of the libraries checked.  This
81277         happens at least on FreeBSD 5.0.
81278
81279 2006-02-13  Simon Josefsson  <jas@extundo.com>
81280
81281         * gnulib-tool (Usage): Fix --import, from
81282         karl@freefriends.org (Karl Berry).
81283
81284 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
81285
81286         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
81287
81288 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
81289
81290         * lib/argp-namefrob.h: Restore changes accidentally lost during the
81291         "autoupdate" on 2005-12-12.
81292
81293 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
81294
81295         * modules/closeout (Depends-on): Remove atexit.
81296
81297 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
81298
81299         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
81300         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
81301
81302 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
81303
81304         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
81305         __EXTENSIONS__ if this causes compilation to fail.  Problem
81306         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
81307         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
81308
81309 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
81310
81311         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
81312         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
81313         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
81314         All uses changed.
81315
81316 2006-01-26  Simon Josefsson  <jas@extundo.com>
81317
81318         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
81319         prototype is visible on mingw32.
81320
81321         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
81322         for mingw32.
81323
81324         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
81325         mingw32).
81326
81327 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
81328
81329         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
81330         attempt to open for write; this always fails, at least on POSIX
81331         hosts.  This reinstates the 2006-01-09 change, which was
81332         inadvertently removed.
81333
81334 2006-01-26  Bruno Haible  <bruno@clisp.org>
81335
81336         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
81337         Reported by Paul Eggert.
81338
81339 2006-01-26  Bruno Haible  <bruno@clisp.org>
81340             Paul Eggert  <eggert@cs.ucla.edu>
81341
81342         * lib/stdbool_.h (_Bool)
81343         [(! (defined __cplusplus || defined __BEOS__)
81344           && !defined __GNUC__
81345           && !(defined __HP_cc || defined __xlc__
81346                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
81347                || defined __sgi))]:
81348         #define to signed char in these cases too; this simplifies
81349         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
81350         etc., separately) and makes it more conservative.
81351
81352 2006-01-25  Simon Josefsson  <jas@extundo.com>
81353
81354         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
81355         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
81356         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
81357
81358 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81359
81360         * lib/argp-namefrob.h: Bugfix. Remove stray #
81361
81362 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
81363
81364         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
81365         so that we test the test.
81366         Check for yet another HP-UX cc bug involving *bool |= bool.
81367
81368 2006-01-25  Karl Berry  <karl@gnu.org>
81369
81370         * config/srclist.txt (vasnprintf.c): sync lost.
81371
81372 2006-01-25  Jim Meyering  <jim@meyering.net>
81373
81374         Sync from the stable (b5) branch of coreutils:
81375
81376         * lib/fts.c (fts_children): Don't let close() clobber errno from
81377         failed fchdir().
81378
81379         * lib/fts.c (fts_stat): When following a symlink-to-directory,
81380         don't necessarily interpret stat-fails+lstat-succeeds as indicating
81381         a dangling symlink.  That can also happen at least for ELOOP.
81382         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
81383         FYI, this bug predates the inclusion of fts.c in coreutils.
81384
81385         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
81386         in their own block, so pre-c99 compilers don't object.
81387
81388         Avoid the double-free (first in fts_read, second in fts_close) that
81389         would occur when an `active' directory is made inaccessible (e.g.,
81390         via chmod a-x) during a traversal.
81391         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
81392         before returning.  Reproduce this failure by
81393         mkdir -p a/b; cd a; chmod a-x . b
81394         Reported by Stavros Passas.
81395
81396 2006-01-25  Jim Meyering  <jim@meyering.net>
81397
81398         * lib/fileblocks.c: Remove more useless parentheses.
81399         * lib/readutmp.h: Likewise.
81400
81401 2006-01-25  Bruno Haible  <bruno@clisp.org>
81402
81403         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
81404         warnings.
81405         Reported by Paul Eggert.
81406
81407 2006-01-25  Bruno Haible  <bruno@clisp.org>
81408
81409         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
81410         rid of a trap command. For Solaris sh.
81411         Reported by Mark D. Baushke <mdb@gnu.org>.
81412
81413 2006-01-24  Simon Josefsson  <jas@extundo.com>
81414
81415         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
81416         Bruno.
81417
81418 2006-01-24  Karl Berry  <karl@gnu.org>
81419
81420         * config/srclist.txt (argp-namefrob.h): sync lost.
81421
81422 2006-01-24  Jim Meyering  <jim@meyering.net>
81423
81424         * modules/openat (Files): Add lib/intprops.h.
81425         From Mark D. Baushke.
81426
81427 2006-01-24  Jim Meyering  <jim@meyering.net>
81428
81429         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
81430         Reported by Mark D. Baushke.
81431
81432 2006-01-24  Jim Meyering  <jim@meyering.net>
81433
81434         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
81435
81436 2006-01-24  Bruno Haible  <bruno@clisp.org>
81437
81438         * modules/strnlen (Maintainer): Change from glibc to all.
81439
81440 2006-01-24  Bruno Haible  <bruno@clisp.org>
81441
81442         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
81443         Patch by Paul Eggert.
81444
81445 2006-01-24  Bruno Haible  <bruno@clisp.org>
81446
81447         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
81448         already has it.
81449         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
81450         2005-11-26.
81451
81452         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
81453         'signed char' to avoid problems with the built-in _Bool type.
81454         Reported by Paul Eggert on 2005-11-26.
81455
81456 2006-01-24  Bruno Haible  <bruno@clisp.org>
81457
81458         * gnulib-tool (func_import): Avoid constructing complicated sed
81459         expressions inside backquote.
81460         Report and solution by Mark D. Baushke <mdb@gnu.org>.
81461
81462 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
81463
81464         These changes imported from libc.
81465         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
81466         test and two separate function calls.
81467         * lib/strndup.c (__strndup): Add libc_hidden_def.
81468
81469 2006-01-23  Simon Josefsson  <jas@extundo.com>
81470
81471         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
81472         Remove the test_*_SOURCES variable: automake infers it by default.
81473         * modules/tls-tests: Likewise.
81474
81475 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81476
81477         Work around porting bugs reported by Dieter in
81478         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
81479         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
81480         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
81481         Include "getopt.h" first, to check interface.
81482         (getenv): Declare only if defined HAVE_DECL_GETENV &&
81483         !HAVE_DECL_GETENV.
81484         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
81485         (__strndup): Revert to K&R-style function dfns, the glibc style.
81486         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
81487         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
81488         Include strnlen.h first, to get prototype properly.
81489         (strnlen): Renamed from __strnlen.
81490         Remove weak alias.
81491
81492 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81493
81494         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
81495
81496 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
81497
81498         * config/srclist.txt: Adjust to reflect glibc reorganization.
81499         This affects only comments.
81500
81501 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
81502
81503          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
81504          Reported by Bruce Korb <bkorb@gnu.org>.
81505
81506 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
81507
81508         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
81509         to pacify gcc -Wswitch-default.
81510
81511 2006-01-22  Bruno Haible  <bruno@clisp.org>
81512
81513         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
81514         temporary buffer for sprintf, take into account the precision also
81515         for 'd', 'i', 'u', 'o', 'x', 'X'.
81516
81517 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
81518
81519         * modules/argp-tests: New module
81520         * tests/test-argp.c: New file
81521         * tests/test-argp-2.sh: New file
81522
81523 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
81524
81525         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
81526         (__argp_base_name): Removed
81527         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
81528         typo.
81529         (__argp_base_name): Provide macro definition or extern declaration
81530         depending on the configuration
81531
81532 2006-01-20  Simon Josefsson  <jas@extundo.com>
81533
81534         * modules/inet_ntop (Depends-on): Depend on sys_socket.
81535
81536 2006-01-20  Simon Josefsson  <jas@extundo.com>
81537
81538         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
81539
81540 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
81541
81542         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
81543         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
81544         Suggested by Bruno Haible.
81545
81546 2006-01-20  Karl Berry  <karl@gnu.org>
81547
81548         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
81549         until changes propagate, I guess.
81550
81551 2006-01-19  Simon Josefsson  <jas@extundo.com>
81552
81553         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
81554
81555 2006-01-19  Simon Josefsson  <jas@extundo.com>
81556
81557         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
81558
81559 2006-01-19  Simon Josefsson  <jas@extundo.com>
81560
81561         * gnulib-tool: Set check_PROGRAMS.
81562
81563         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
81564         modules/des-tests, modules/gc-arcfour-tests,
81565         modules/gc-arctwo-tests, modules/gc-des-tests,
81566         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
81567         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
81568         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
81569         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
81570         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
81571         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
81572         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
81573         test_*_SOURCES.
81574
81575 2006-01-18  Simon Josefsson  <jas@extundo.com>
81576
81577         * modules/socklen (Depends-on): Depend on sys_socket.
81578
81579 2006-01-18  Simon Josefsson  <jas@extundo.com>
81580
81581         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
81582         modules/des-tests, modules/gc-arcfour-tests,
81583         modules/gc-arctwo-tests, modules/gc-des-tests,
81584         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
81585         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
81586         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
81587         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
81588         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
81589         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
81590         $(EXEEXT) to automake TESTS variable, for mingw32.
81591
81592 2006-01-17  Simon Josefsson  <jas@extundo.com>
81593
81594         * modules/socklen (Include): Need sys/socket.h.
81595
81596 2006-01-17  Bruno Haible  <bruno@clisp.org>
81597
81598         * modules/ssize_t (Include): Add <sys/types.h>.
81599
81600 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
81601
81602         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
81603         it's not portable and it doesn't work with cross-compiles.
81604         Problem reported by Bruno Haible.  Fix missing-$ typo in
81605         'test "gl_cv_ignore_unused_libraries" ...' that prevented
81606         -zignore from being used with Sun's C compiler.
81607
81608 2006-01-12  Simon Josefsson  <jas@extundo.com>
81609
81610         * lib/base64.c: Fix warning, reported by Bruno Haible
81611         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
81612
81613 2006-01-12  Bruno Haible  <bruno@clisp.org>
81614
81615         * modules/ldd: New file.
81616         * build-aux/ldd.sh.in: New file.
81617         * MODULES.html.sh (Support for building libraries and executables): Add
81618         ldd.
81619
81620 2006-01-12  Bruno Haible  <bruno@clisp.org>
81621
81622         * m4/ldd.m4: New file.
81623
81624 2006-01-12  Bruno Haible  <bruno@clisp.org>
81625
81626         * gnulib-tool (func_import, func_create_testdir): Don't go into an
81627         endless loop while replacing $auxdir with build-aux.
81628
81629 2006-01-11  Simon Josefsson  <jas@extundo.com>
81630
81631         * lib/stdint_.h (SIZE_MAX): Add missing (.
81632
81633 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
81634
81635         Sync from coreutils.
81636         * lib/md5.c: Fix commentary typos.
81637         (alignof, UNALIGNED_P): No need for a GCC-specific version.
81638         * lib/md5.h (__attribute__): Remove; unused.
81639         * lib/sha1.c: Fix commentary to match md5 better.
81640         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
81641         so that we don't need to worry about alignment.  All uses changed.
81642         This merges the 2005-10-28 md5 change into sha1.
81643
81644 2006-01-11  Jim Meyering  <jim@meyering.net>
81645
81646         Sync from coreutils.
81647         * lib/md5.c (OP): Fix spacing.
81648
81649 2006-01-11  Bruno Haible  <bruno@clisp.org>
81650
81651         Ensure automatic ordering between gl_LOCK and gl_ARGP.
81652         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
81653         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
81654
81655 2006-01-11  Bruno Haible  <bruno@clisp.org>
81656
81657         Ensure automatic ordering between gl_LOCK and gl_ARGP.
81658         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
81659         the "early" section as well.
81660
81661 2006-01-11  Bruno Haible  <bruno@clisp.org>
81662
81663         Avoid "ar: no archive members specified" error on MacOS X.
81664         * gnulib-tool (func_modules_add_dummy): New function.
81665         (func_import, func_create_testdir): Invoke it.
81666
81667 2006-01-11  Bruno Haible  <bruno@clisp.org>
81668
81669         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
81670         with $auxdir in AC_CONFIG_FILES statements.
81671
81672 2006-01-11  Bruno Haible  <bruno@clisp.org>
81673
81674         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
81675         Initialize also noinst_HEADERS to empty.
81676
81677 2006-01-11  Bruno Haible  <bruno@clisp.org>
81678
81679         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
81680         variables.
81681         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
81682         autoreconf.
81683
81684 2006-01-11  Bruno Haible  <bruno@clisp.org>
81685
81686         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
81687         overridable by the user.
81688         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81689
81690 2006-01-10  Simon Josefsson  <jas@extundo.com>
81691
81692         * modules/sys_socket: New file.
81693
81694 2006-01-10  Simon Josefsson  <jas@extundo.com>
81695
81696         * m4/sys_socket_h.m4: New file.
81697
81698 2006-01-10  Simon Josefsson  <jas@extundo.com>
81699
81700         * lib/socket_.h: New file.
81701
81702 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
81703
81704         * modules/readutmp (Maintainer): Add myself.
81705
81706 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
81707
81708         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
81709         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
81710         People who are still concerned with buggy memcmp implementations
81711         can invoke gl_FUNC_MEMCMP themselves.
81712
81713 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
81714
81715         * lib/regex_internal.h (BITSET_WORD_BITS):
81716         Work around a bug in 64-bit PGC (before version 6.1-2), where the
81717         preprocessor mishandles large unsigned values as if they were signed.
81718         Problem reported by Claudio Fontana in
81719         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
81720
81721 2006-01-10  Jim Meyering  <jim@meyering.net>
81722
81723         Avoid the double-free (first in fts_read, second in fts_close) that
81724         would occur when an `active' directory is made inaccessible (e.g.,
81725         via chmod a-x) during a traversal.
81726         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
81727         before returning.  Reproduce this failure by
81728         mkdir -p a/b; cd a; chmod a-x . b
81729         Reported by Stavros Passas.
81730
81731         Sync from coreutils.
81732         * lib/sha1.c: Tweak grammar in a comment.
81733
81734 2006-01-10  Jim Meyering  <jim@meyering.net>
81735
81736         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
81737         Patch by Joerg Sonnenberger.
81738
81739 2006-01-10  Bruno Haible  <bruno@clisp.org>
81740
81741         * modules/readutmp: Depend on module free.
81742         * modules/strtok_r: Depend on module restrict.
81743
81744 2006-01-10  Bruno Haible  <bruno@clisp.org>
81745
81746         * modules/gettext (configure.ac): Add an invocation of
81747         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
81748
81749 2006-01-10  Bruno Haible  <bruno@clisp.org>
81750
81751         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
81752         Reported by Werner Lemberg <wl@gnu.org>.
81753
81754 2006-01-10  Bruno Haible  <bruno@clisp.org>
81755
81756         * lib/localcharset.c: Update from GNU gettext.
81757
81758 2006-01-10  Bruno Haible  <bruno@clisp.org>
81759
81760         * lib/argp.h (__const): Remove macro. Use const instead.
81761         * lib/argp-fmtstream.h (__const): Likewise.
81762         * lib/glob_.h (__const): Remove macro.
81763         * lib/glob-libc.h: Use const instead of __const.
81764
81765 2006-01-10  Bruno Haible  <bruno@clisp.org>
81766
81767         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
81768         variable.
81769         Needed to avoid an automake error regarding the 'gettext' module.
81770
81771 2006-01-09  Simon Josefsson  <jas@extundo.com>
81772
81773         * modules/inet_ntop (Depends-on): Add restrict.
81774
81775 2006-01-09  Simon Josefsson  <jas@extundo.com>
81776
81777         * modules/gc-rijndael-tests (License): Put under LGPL.
81778
81779         * modules/gc-des-tests (License): Likewise.
81780
81781         * modules/gc-arcfour-tests (License): Likewise.
81782
81783         * modules/gc-arctwo-tests (License): Likewise.
81784
81785         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
81786
81787         * modules/gc-hmac-sha1-tests (Files): Likewise.
81788
81789         * modules/gc-hmac-md5-tests (License): Likewise.
81790
81791         * modules/gc-sha1-tests (License): Likewise.
81792
81793         * modules/gc-md5-tests (License): Likewise.
81794
81795         * modules/gc-md4-tests (License): Likewise.
81796
81797         * modules/gc-md2-tests (License): Likewise.
81798
81799         * modules/gc-tests (License): Likewise.
81800
81801         * modules/des-tests (License): Likewise.
81802
81803         * modules/md4-tests (License): Likewise.
81804
81805         * modules/md2-tests (License): Likewise.
81806
81807 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81808
81809         Sync from coreutils:
81810
81811         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
81812         * modules/lib-ignore: New file.
81813         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
81814         chdir-safer.m4, lchmod.m4.
81815         * modules/openat: Add mkdirat.c, openat-priv.h.
81816
81817 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81818
81819         Sync from coreutils.
81820         * m4/lib-ignore.m4: New file.
81821         * m4/lchmod.m4: New file.
81822
81823 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81824
81825         Sync from coreutils.
81826         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
81827         for write access: POSIX says that must fail.
81828         * lib/fts.c (diropen): Likewise.
81829         * lib/save-cwd.c (save_cwd): Likewise.
81830         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
81831         well, for minor improvements on hosts that lack O_DIRECTORY.
81832         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
81833         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
81834         Fall back on chown if open failed with EACCES.
81835
81836         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
81837         Report an error at compile-time if only a 1-second nominal clock
81838         resolution is found.
81839
81840         * lib/lchmod.h: New file.
81841         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
81842         (make_dir_parents): Use lchown rather than chown, and
81843         lchmod rather than chmod.
81844
81845         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
81846         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
81847         "proc" reported by n0dalus.
81848
81849         * lib/mountlist.c: Include <limits.h>.
81850         (dev_from_mount_options)
81851         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
81852         New function.  It no longer assumes "dev=" has the System V meaning
81853         on Linux (since it doesn't).  It also parses "dev=" more carefully.
81854         (read_file_system_list)
81855         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
81856         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
81857         dev= in that case.
81858
81859         * lib/posixtm.h (PDS_PRE_2000): New macro.
81860         * lib/posixtm.c (year): Arg is now syntax_bits rather than
81861         allow_century.  All usages changed.  Reject dates outside the range
81862         1969-1999 if PDS_PRE_2000 is used.
81863
81864 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
81865
81866         Sync from coreutils.
81867         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
81868         (Time of day items): Mention the possibility of leap seconds.
81869         Problem reported by Dr. David Alan Gilbert.
81870
81871 2006-01-09  Jim Meyering  <jim@meyering.net>
81872
81873         Sync from coreutils.
81874
81875         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
81876
81877         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
81878
81879         * lib/modechange.c (mode_compile): Reject an invalid mode string
81880         that starts with an octal digit.  From Andreas Gruenbacher.
81881
81882         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
81883         and dup to open_safer and dup_safer, respectively.
81884         (openat_permissive): Fix typo in comment.
81885
81886         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
81887         "gettext.h"; either no longer needed or are guaranteed by openat.h.
81888         (_): Remove; no longer needed.
81889         (openat): Renamed from rpl_openat; no need for rpl_openat
81890         since openat.h renames openat for us.
81891         Replace most of the body with a call to openat_permissive,
81892         to avoid duplicate code.
81893         Port to (probably hypothetical) environments were mode_t is
81894         wider than int.
81895         (openat_permissive): Require mode arg, so that we can check
81896         types better.  Put it just after flags.  Change cwd failure
81897         indicator from pointer-to-bool to pointer-to-errno-value.
81898         All callers changed.
81899         Invoke openat_save_fail and/or openat_restore_fail if
81900         cwd_errno is null, so that openat can call us.
81901         (openat_permissive, fdopendir, fstatat, unlinkat):
81902         Simplify errno handling to avoid some duplicate code,
81903         as it's OK to set errno on success.
81904         * lib/openat.h: Revamp code so that function macros depend on
81905         __OPENAT_PREFIX only, not also on AT_FDCWD.
81906         (openat_ro): Remove.  Caller changed to use openat_permissive.
81907         (openat_permissive): Now a macro, if not a function.
81908         (openat_restore_fail, openat_save_fail): Now always functions,
81909         since mkdirat needs them even if __OPENAT_PREFIX is defined.
81910
81911         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
81912         and openat.c.
81913         * lib/mkdirat.c: Include openat-priv.h.
81914         Remove definitions of macros defined therein.
81915         * lib/openat.c: Likewise.
81916
81917         * lib/mkdirat.c (mkdirat): New file and function.
81918         * lib/openat.h (mkdirat): Declare.
81919
81920         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
81921
81922         * lib/openat.h (openat_permissive): Declare.
81923         (openat_ro): Define.
81924
81925         * lib/openat.c (EXPECTED_ERRNO): New macro.
81926         (openat_permissive): New function -- used in remove.c rewrite.
81927         (all functions): Set errno just before returning, only if there
81928         was an actual failure.
81929         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
81930
81931         Emulate openat-family functions using Linux's procfs, if possible.
81932         Idea and some code based on Ulrich Drepper's glibc changes.
81933
81934         * lib/openat.c: (BUILD_PROC_NAME): New macro.
81935         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
81936         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
81937         before falling back on save_cwd and restore_cwd.
81938         (fdopendir, fstatat, unlinkat): Likewise.
81939
81940         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
81941         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
81942
81943         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
81944         as second argument to va_arg.  Otherwise, some versions of gcc
81945         warn that `if this code is reached, the program will abort'.
81946
81947 2006-01-09  Jim Meyering  <jim@meyering.net>
81948
81949         Sync from coreutils.
81950         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
81951         Require openat-priv.h.
81952
81953 2006-01-09  Bruno Haible  <bruno@clisp.org>
81954
81955         * modules/strnlen (Include): Use strnlen.h.
81956
81957 2006-01-09  Bruno Haible  <bruno@clisp.org>
81958
81959         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
81960
81961 2006-01-09  Bruno Haible  <bruno@clisp.org>
81962
81963         * lib/sysexit_.h (EX_OK): New macro.
81964         Suggested by Martin Lambers <marlam@marlam.de>.
81965
81966 2006-01-09  Bruno Haible  <bruno@clisp.org>
81967
81968         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
81969         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
81970
81971 2006-01-09  Bruno Haible  <bruno@clisp.org>
81972
81973         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
81974         numbers.
81975
81976 2006-01-09  Bruno Haible  <bruno@clisp.org>
81977
81978         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
81979         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
81980         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
81981         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
81982
81983 2006-01-09  Bruno Haible  <bruno@clisp.org>
81984
81985         * build-aux/javacomp.sh.in: New file, moved from lib/.
81986         * modules/javacomp-script (Files): Update.
81987         (configure.ac): Add AC_CONFIG_FILES invocation.
81988         (EXTRA_DIST): Remove variable.
81989
81990         * build-aux/javaexec.sh.in: New file, moved from lib/.
81991         * modules/javaexec (Files): Update.
81992         (configure.ac): Add AC_CONFIG_FILES invocation.
81993         (EXTRA_DIST): Remove javaexec.sh.in.
81994
81995         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
81996         * modules/csharpcomp-script (Files): Update.
81997         (configure.ac): Add AC_CONFIG_FILES invocation.
81998         (EXTRA_DIST): Remove variable.
81999
82000         * build-aux/csharpexec.sh.in: New file, moved from lib/.
82001         * modules/csharpexec (Files): Update.
82002         (configure.ac): Add AC_CONFIG_FILES invocation.
82003         (EXTRA_DIST): Remove csharpexec.sh.in.
82004
82005 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82006
82007         Sync from coreutils.
82008
82009         Add POSIX ACL support
82010         * lib/acl.h (copy_acl, set_acl): Add declarations.
82011         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
82012         systems other than Linux.
82013         (chmod_or_fchmod): New function: use fchmod when possible,
82014         and chmod otherwise.
82015         (file_has_acl): Add a POSIX ACL implementation, with a
82016         Linux-specific subcase.
82017         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
82018         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
82019         acls are unsupported.
82020         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
82021         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
82022         are unsupported.
82023
82024 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82025
82026         Sync from coreutils.
82027         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
82028
82029 2006-01-07  Bruno Haible  <bruno@clisp.org>
82030
82031         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
82032         gl_EARLY.
82033
82034 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82035
82036         * lib/strftime.c (tzname): Don't declare if it is already #defined.
82037         Problem reported for Mingw by Mark Junker.
82038
82039 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82040
82041         * README: Gnulib normally doesn't generate a tarball.
82042
82043 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
82044
82045         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
82046         long int, not int, for nanosecond counts, so that people who are
82047         used to POSIX struct timespec won't be surprised.  Reported by Jim
82048         Meyering.
82049
82050 2005-12-28  Bruno Haible  <bruno@clisp.org>
82051
82052         * build-aux/config.rpath: Update from GNU gettext.
82053
82054 2005-12-16  Jim Meyering  <jim@meyering.net>
82055
82056         * modules/fprintftime: New module.
82057         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
82058
82059 2005-12-16  Jim Meyering  <jim@meyering.net>
82060
82061         * m4/fprintftime.m4: New file.
82062
82063 2005-12-16  Jim Meyering  <jim@meyering.net>
82064
82065         * lib/fprintftime.c, lib/fprintftime.h: New files.
82066
82067 2005-12-15  Simon Josefsson  <jas@extundo.com>
82068
82069         * modules/socklen (configure.ac): Fix M4 macro name, to align with
82070         new m4/socklen.m4.
82071
82072 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
82073
82074         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
82075         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
82076
82077 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
82078
82079         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
82080         * lib/argp-help.c (fill_in_uparams): Check if the constructed
82081         struct uparams is valid. Fall back to the default values if it is
82082         not.
82083
82084 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82085
82086         * modules/argp (Files): Add argp-pin.c
82087         (Depends-on): dirname
82088         (lib_SOURCES): Add argp-pin.c
82089
82090 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82091
82092         * m4/argp.m4:  Check if program_invocation_name and
82093         program_invocation_short_name are declared and define appropriate
82094         macros if they are not.
82095
82096 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
82097
82098         * lib/argp-help.c (__argp_base_name): New function
82099         (__argp_short_program_name): Rewrite using __argp_base_name
82100         * lib/argp-namefrob.h: Define program_invocation_name and
82101         program_invocation_short_name if requested
82102         (__argp_base_name): Add prototype
82103         * lib/argp-parse.c (argp_def): Use gettext wrappers
82104         (argp_default_parser): Use __argp_base_name
82105         * lib/argp-pin.c: New file. Defines program_invocation_name and
82106         program_invocation_short_name on systems that lack them.
82107
82108 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82109
82110         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
82111         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
82112         porting problem reported by Georg Schwarz in
82113         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
82114
82115 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82116
82117         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
82118         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
82119         porting problem reported by Georg Schwarz in
82120         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
82121
82122 2005-12-05  Bruno Haible  <bruno@clisp.org>
82123
82124         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
82125         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
82126         Reported by Mark Junker <mjscod@gmx.de>.
82127
82128 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
82129
82130         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
82131         Use implementation from Albert Chin, with some
82132         comments/corrections by Stepan Kasal and myself.
82133
82134 2005-12-02  Bruno Haible  <bruno@clisp.org>
82135
82136         * gnulib-tool (func_import): Accept GPLed build tool modules when
82137         --lgpl is given.
82138         * modules/csharpcomp-script: New file.
82139         * modules/csharpcomp: Depend on it.
82140         * modules/javacomp-script: New file.
82141         * modules/javacomp: Depend on it.
82142         Suggested by Simon Josefsson.
82143
82144 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
82145
82146         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
82147         statement, to work around an HP-UX 10.20 compiler bug reported by
82148         Peter O'Gorman.
82149
82150 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
82151
82152         * modules/savedir (Depends-on): Add openat.
82153
82154 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
82155
82156         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
82157         (uintmax_t) [defined uintmax_t]: Do not declare.
82158         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
82159         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
82160         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
82161         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
82162         sake of portability to weird hosts that C allows (though we don't
82163         know of any practical examples).
82164
82165         * lib/savedir.h (fdsavedir): New decl.
82166         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
82167         contains most of the former guts of savedir.
82168         (savedir): Use savedirstream.
82169         Include "openat.h".
82170
82171 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82172
82173         * modules/obstack (Files): Add m4/ulonglong.m4.
82174         Problem reported by Davide Angelocola.
82175
82176 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
82177
82178         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
82179         coreutils no longer futzes with rounding modes.
82180
82181 2005-11-14  Jim Meyering  <jim@meyering.net>
82182
82183         * lib/mkstemp-safer.c: Include <config.h>, required for possible
82184         replacement of mkstemp.
82185
82186 2005-11-10  Simon Josefsson  <jas@extundo.com>
82187
82188         * lib/readline.c: Remove EOL.
82189
82190 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82191
82192         * modules/gethrxtime (Depends-on): Add gettime.
82193
82194 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82195
82196         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
82197         or gettimeofday; no longer needed.
82198
82199 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82200
82201         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
82202         time business.
82203         (gethrxtime) [! (HAVE_NANOUPTIME
82204         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
82205         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
82206         our own approximation.
82207
82208 2005-11-08  Eric Blake  <ebb9@byu.net>
82209
82210         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
82211
82212 2005-11-08  Eric Blake  <ebb9@byu.net>
82213
82214         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
82215
82216 2005-11-04  Bruno Haible  <bruno@clisp.org>
82217
82218         * gnulib-tool: Implement --update mode.
82219
82220 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
82221
82222         Fix porting problem reported by Theodoros V. Kalamatianos.
82223         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
82224         Don't assume that futimes failing means we must fail.
82225
82226 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
82227
82228         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
82229         variables to suggest the intended function of the PATH_MAX check.
82230
82231 2005-10-30  Kean Johnston  <jkj@sco.com>
82232
82233         Trivial changes to support SCO systems.
82234         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
82235         as PATH_MAX.
82236         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
82237         where __ptr is null when no I/O is pending.
82238
82239 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
82240
82241         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
82242         leave errno alone.  Problem reported by Dmitry V. Levin.
82243
82244 2005-10-28  Simon Josefsson  <jas@extundo.com>
82245
82246         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
82247         Test more.
82248
82249         * tests/test-gc-md2.c, tests/test-md2.c: New files.
82250
82251         * modules/md2, modules/md2-tests: New files.
82252
82253 2005-10-28  Simon Josefsson  <jas@extundo.com>
82254
82255         * m4/inet_ntop.m4: More tests.
82256
82257         * m4/gc-md2.m4, md2.m4: New file.
82258
82259 2005-10-28  Simon Josefsson  <jas@extundo.com>
82260
82261         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
82262         "restrict" keywords, as per POSIX.  Protect the function
82263         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
82264         Don't use K&R prototypes.  Check the sprintf return values.
82265         Re-define EAFNOSUPPORT if not present.  Indent.
82266
82267         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
82268         suggested by Bruno Haible <bruno@clisp.org>.
82269
82270         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
82271
82272         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
82273
82274         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
82275         libgcrypt).
82276
82277         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
82278
82279         * lib/md2.h, lib/md2.c: New files.
82280
82281 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
82282
82283         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
82284         errno alone.  Problem reported by Frederic Jolliton.
82285
82286 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
82287
82288         * modules/verify (License): Change from GPL to LGPL.  This is a
82289         tiny module and there are apparently near-equivalents that are
82290         under the BSD license.
82291
82292 2005-10-24  Simon Josefsson  <jas@extundo.com>
82293
82294         * modules/sha1: Relicense to LGPL.
82295
82296 2005-10-24  Simon Josefsson  <jas@extundo.com>
82297
82298         * lib/md4.h: Shrink buffer size, now that we changed the type.
82299
82300 2005-10-23  Simon Josefsson  <jas@extundo.com>
82301
82302         * gnulib-tool (func_import): Fix --tests-base.
82303
82304 2005-10-22  Simon Josefsson  <jas@extundo.com>
82305
82306         * modules/arcfour (Depends-on): Need stdint.
82307
82308 2005-10-22  Simon Josefsson  <jas@extundo.com>
82309
82310         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
82311         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
82312
82313 2005-10-22  Simon Josefsson  <jas@extundo.com>
82314
82315         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
82316         suggested by Bruno Haible <bruno@clisp.org>.
82317
82318 2005-10-22  Simon Josefsson  <jas@extundo.com>
82319
82320         * lib/crc.h: Include stddef.h, for size_t.
82321
82322 2005-10-22  Simon Josefsson  <jas@extundo.com>
82323
82324         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
82325         arcfour_context struct (simplify test vector testing in GNU
82326         Shishi).
82327
82328 2005-10-21  Simon Josefsson  <jas@extundo.com>
82329
82330         * modules/des, modules/des-tests: New files.
82331
82332         * modules/gc-des, modules/gc-des-tests: New files.
82333
82334         * tests/test-des.c, tests/test-gc-des.c: New file.
82335
82336 2005-10-21  Simon Josefsson  <jas@extundo.com>
82337
82338         * modules/arctwo, modules/arctwo-tests: New files.
82339
82340         * tests/test-arctwo.c: New file.
82341
82342         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
82343
82344         * tests/test-gc-arctwo.c: New file.
82345
82346 2005-10-21  Simon Josefsson  <jas@extundo.com>
82347
82348         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
82349         Bruno Haible <bruno@clisp.org>.
82350
82351         * m4/gc-des.m4: New file.
82352
82353 2005-10-21  Simon Josefsson  <jas@extundo.com>
82354
82355         * m4/arctwo.m4: New file.
82356
82357         * m4/gc-arctwo.m4: New file.
82358
82359 2005-10-21  Simon Josefsson  <jas@extundo.com>
82360
82361         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
82362         block.
82363
82364 2005-10-21  Simon Josefsson  <jas@extundo.com>
82365
82366         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
82367         <bruno@clisp.org>.
82368
82369         * lib/hmac-sha1.c (hmac_sha1): Likewise.
82370
82371         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
82372         Bruno Haible <bruno@clisp.org>.
82373
82374         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
82375         <bruno@clisp.org>.
82376
82377 2005-10-21  Simon Josefsson  <jas@extundo.com>
82378
82379         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
82380
82381 2005-10-21  Simon Josefsson  <jas@extundo.com>
82382
82383         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
82384
82385 2005-10-21  Simon Josefsson  <jas@extundo.com>
82386
82387         * lib/des.h, lib/des.c: New files.
82388
82389         * lib/gc-gnulib.c: Support DES.c
82390
82391 2005-10-21  Simon Josefsson  <jas@extundo.com>
82392
82393         * lib/arctwo.h, lib/arctwo.c: New files.
82394
82395         * lib/gc-gnulib.c: Support ARCTWO.
82396
82397 2005-10-21  Simon Josefsson  <jas@extundo.com>
82398
82399         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
82400         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82401
82402 2005-10-21  Simon Josefsson  <jas@extundo.com>
82403
82404         * gnulib-tool (func_import, func_create_testdir): Define automake
82405         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
82406         Makefile.am snippet),
82407         suggested by Bruno Haible <bruno@clisp.org>.
82408
82409         * modules/gc (Makefile.am): Use it.
82410
82411 2005-10-21  Bruno Haible  <bruno@clisp.org>
82412
82413         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
82414         patch.
82415
82416 2005-10-19  Simon Josefsson  <jas@extundo.com>
82417
82418         * tests/test-gc-rijndael.c: New file.
82419
82420         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
82421
82422 2005-10-19  Simon Josefsson  <jas@extundo.com>
82423
82424         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
82425         interface too.
82426
82427 2005-10-19  Simon Josefsson  <jas@extundo.com>
82428
82429         * tests/test-gc-arcfour.c: New file.
82430
82431         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
82432
82433 2005-10-19  Simon Josefsson  <jas@extundo.com>
82434
82435         * modules/gc-md4, modules/gc-md4-tests: New file.
82436
82437         * tests/test-gc-md4.c: New file.
82438
82439 2005-10-19  Simon Josefsson  <jas@extundo.com>
82440
82441         * m4/gc-md4.m4: New file.
82442
82443 2005-10-19  Simon Josefsson  <jas@extundo.com>
82444
82445         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
82446         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
82447         <kasal@ucw.cz>.
82448
82449 2005-10-19  Simon Josefsson  <jas@extundo.com>
82450
82451         * m4/gc-arcfour.m4: New file.
82452
82453         * m4/gc-rijndael.m4: New file.
82454
82455 2005-10-19  Simon Josefsson  <jas@extundo.com>
82456
82457         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
82458
82459 2005-10-19  Simon Josefsson  <jas@extundo.com>
82460
82461         * lib/gc-gnulib.c: Support ARCFOUR.
82462
82463 2005-10-19  Simon Josefsson  <jas@extundo.com>
82464
82465         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
82466         support.
82467
82468         * lib/gc.h: Add ECB enum type.
82469
82470         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
82471
82472 2005-10-18  Simon Josefsson  <jas@extundo.com>
82473
82474         * tests/test-md5.c: New file.
82475
82476         * modules/md5-tests: New file.
82477
82478 2005-10-18  Simon Josefsson  <jas@extundo.com>
82479
82480         * tests/test-md4.c: New file.
82481
82482         * modules/md4, modules/md4-tests: New files.
82483
82484 2005-10-18  Simon Josefsson  <jas@extundo.com>
82485
82486         * m4/md4.m4: New file.
82487
82488 2005-10-18  Simon Josefsson  <jas@extundo.com>
82489
82490         * lib/md4.h, lib/md4.c: New files, based on md5.?.
82491
82492 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
82493
82494         * gnulib-tool (func_create_testdir): Omit the second check whether
82495         BUILT_SOURCES in nonempty.
82496
82497 2005-10-17  Simon Josefsson  <jas@extundo.com>
82498
82499         * tests/test-rijndael.c: New file.
82500
82501 2005-10-17  Simon Josefsson  <jas@extundo.com>
82502
82503         * modules/sha1: Depend on stdint instead of md5.
82504
82505         * modules/md5: Depend on stdint, remove uint32_t.
82506
82507 2005-10-17  Simon Josefsson  <jas@extundo.com>
82508
82509         * modules/gc-sha1-tests: New file.
82510
82511         * tests/test-gc-sha1.c: New file.
82512
82513 2005-10-17  Simon Josefsson  <jas@extundo.com>
82514
82515         * m4/md5.m4: Remove call to uint32_t.m4.
82516
82517 2005-10-17  Simon Josefsson  <jas@extundo.com>
82518
82519         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
82520
82521         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
82522         md5.h.
82523
82524         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
82525
82526         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
82527
82528 2005-10-17  Simon Josefsson  <jas@extundo.com>
82529
82530         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
82531
82532 2005-10-17  Simon Josefsson  <jas@extundo.com>
82533
82534         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
82535
82536 2005-10-17  Simon Josefsson  <jas@extundo.com>
82537
82538         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
82539
82540         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
82541
82542 2005-10-17  Bruno Haible  <bruno@clisp.org>
82543
82544         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
82545         that it can also be used in a test.
82546
82547 2005-10-16  Bruno Haible  <bruno@clisp.org>
82548
82549         * gnulib-tool (func_emit_tests_Makefile_am): Also define
82550         TESTS_ENVIRONMENT, so that individual tests can augment it.
82551
82552         * gnulib-tool (func_create_testdir): Use an intermediate target for
82553         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
82554         macros, like $(ALLOCA_H), which cannot be passed through the command
82555         line.
82556
82557 2005-10-15  Simon Josefsson  <jas@extundo.com>
82558
82559         * modules/rijndael-tests: New file.
82560
82561         * modules/rijndael: New file.
82562
82563 2005-10-15  Simon Josefsson  <jas@extundo.com>
82564
82565         * m4/rijndael.m4: New file.
82566
82567 2005-10-15  Simon Josefsson  <jas@extundo.com>
82568
82569         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
82570
82571         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
82572
82573 2005-10-14  Simon Josefsson  <jas@extundo.com>
82574
82575         * tests/test-arcfour.c: New file.
82576
82577         * modules/arcfour, modules/arcfour-tests: New files.
82578
82579 2005-10-14  Simon Josefsson  <jas@extundo.com>
82580
82581         * m4/arcfour.m4: New file.
82582
82583 2005-10-14  Simon Josefsson  <jas@extundo.com>
82584
82585         * lib/arcfour.h, lib/arcfour.c: New files.
82586
82587 2005-10-14  Roland McGrath  <roland@redhat.com>
82588
82589         Import from libc.  [BZ #1331]
82590         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
82591         macro argument.
82592         Reported by Matej Vela <vela@debian.org>.
82593
82594 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
82595
82596         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
82597         include <wchar.h>; no longer needed.
82598
82599 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
82600
82601         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
82602
82603 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
82604         and  Ulrich Drepper  <drepper@redhat.com>
82605
82606         Import from libc.
82607         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
82608         instead of inline stream orientation test and two separate
82609         function calls.  Pay no attention to USE_IN_LIBIO.
82610
82611 2005-10-13  Simon Josefsson  <jas@extundo.com>
82612
82613         * modules/gc-hmac-md5-tests: New file.
82614
82615         * tests/test-gc-hmac-sha1.c: New file.
82616
82617         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
82618
82619         * modules/gc-hmac-md5-tests: New file.
82620
82621         * tests/test-gc-md5.c: New file.
82622
82623         * modules/gc-md5-tests: New file.
82624
82625 2005-10-13  Simon Josefsson  <jas@extundo.com>
82626
82627         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
82628         Move memory allocation outside of loop.
82629
82630 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
82631
82632         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
82633         intermediate directory is in a read-only file system.  Problem
82634         reported by Eric Blake.
82635
82636 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
82637
82638         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
82639
82640 2005-10-12  Simon Josefsson  <jas@extundo.com>
82641
82642         * tests/test-hmac-sha1.c: New file.
82643
82644         * modules/hmac-sha1-tests: New file.
82645
82646         * modules/hmac-sha1: New file.
82647
82648 2005-10-12  Simon Josefsson  <jas@extundo.com>
82649
82650         * modules/gc-sha1: New file.
82651
82652 2005-10-12  Simon Josefsson  <jas@extundo.com>
82653
82654         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
82655
82656         * tests/test-gc-pbkdf2-sha1.c: New file.
82657
82658 2005-10-12  Simon Josefsson  <jas@extundo.com>
82659
82660         * modules/gc-md5, modules/gc-hmac-md5: New files.
82661
82662         * modules/gc (Files): Remove md5, memxor and hmac files.
82663
82664 2005-10-12  Simon Josefsson  <jas@extundo.com>
82665
82666         * m4/gc-pbkdf2-sha1.m4: New file.
82667
82668         * m4/gc-hmac-sha1.m4: New file.
82669
82670         * m4/gc-sha1: New file.
82671
82672         * m4/hmac-sha1.m4: New file.
82673
82674 2005-10-12  Simon Josefsson  <jas@extundo.com>
82675
82676         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
82677
82678         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
82679
82680 2005-10-12  Simon Josefsson  <jas@extundo.com>
82681
82682         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
82683         suggested by Bruno Haible <bruno@clisp.org>.
82684
82685 2005-10-12  Simon Josefsson  <jas@extundo.com>
82686
82687         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
82688
82689 2005-10-12  Simon Josefsson  <jas@extundo.com>
82690
82691         * lib/gc-pbkdf2-sha1.c: New file.
82692
82693         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
82694
82695 2005-10-12  Simon Josefsson  <jas@extundo.com>
82696
82697         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
82698
82699         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
82700
82701 2005-10-12  Simon Josefsson  <jas@extundo.com>
82702
82703         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
82704         GC_USE_HMAC_MD5, respectively.
82705
82706         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
82707         (gc_md5): Fix typo.
82708
82709         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
82710
82711         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
82712
82713         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
82714
82715 2005-10-12  Bruno Haible  <bruno@clisp.org>
82716
82717         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
82718         Reported by Stepan Kasal <kasal@ucw.cz>.
82719
82720 2005-10-11  Simon Josefsson  <jas@extundo.com>
82721
82722         * tests/test-crc.c: New file.
82723
82724         * modules/crc, modules/crc-tests: New files.
82725
82726 2005-10-11  Simon Josefsson  <jas@extundo.com>
82727
82728         * m4/crc.m4: New file.
82729
82730 2005-10-11  Simon Josefsson  <jas@extundo.com>
82731
82732         * lib/gc.h: Add gc_hash and gc_hash_buffer.
82733
82734         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
82735
82736         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
82737
82738 2005-10-11  Simon Josefsson  <jas@extundo.com>
82739
82740         * lib/crc.h, lib/crc.c: New files.
82741
82742         * lib/gc.h (gc_hash_buffer): Add doc.
82743
82744 2005-10-11  Bruno Haible  <bruno@clisp.org>
82745
82746         * modules/c-strcasestr: New file.
82747         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
82748
82749 2005-10-11  Bruno Haible  <bruno@clisp.org>
82750
82751         * modules/c-strcase: New file.
82752         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
82753
82754 2005-10-11  Bruno Haible  <bruno@clisp.org>
82755
82756         * lib/strcasecmp.c: Include limits.h.
82757         (strcasecmp): Avoid integer overflow on exotic platforms.
82758         * lib/strncasecmp.c: Include limits.h.
82759         (strncasecmp): Avoid integer overflow on exotic platforms.
82760         Reported by Paul Eggert.
82761
82762 2005-10-11  Bruno Haible  <bruno@clisp.org>
82763
82764         * lib/c-strcasestr.h: New file, from GNU gettext.
82765         * lib/c-strcasestr.c: New file, from GNU gettext.
82766
82767 2005-10-11  Bruno Haible  <bruno@clisp.org>
82768
82769         * lib/c-strcase.h: New file, from GNU gettext.
82770         * lib/c-strcasecmp.c: New file, from GNU gettext.
82771         * lib/c-strncasecmp.c: New file, from GNU gettext.
82772
82773 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
82774
82775         * modules/mempcpy (License): GPL -> LGPL.
82776         * modules/strchrnul (License): Likewise.
82777         * modules/sysexits (License): Likewise.
82778
82779 2005-10-08  Simon Josefsson  <jas@extundo.com>
82780
82781         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
82782
82783 2005-10-07  Simon Josefsson  <jas@extundo.com>
82784
82785         * m4/memxor.m4: Remove gl_C_RESTRICT call.
82786
82787 2005-10-06  Simon Josefsson  <jas@extundo.com>
82788
82789         * tests/test-hmac-md5.c: New file.
82790
82791         * modules/hmac-md5-tests: New file.
82792
82793         * modules/hmac-md5: New file.
82794
82795 2005-10-06  Simon Josefsson  <jas@extundo.com>
82796
82797         * m4/hmac-md5.m4: New file.
82798
82799         * m4/memxor.m4: Require gl_C_RESTRICT.
82800
82801 2005-10-06  Simon Josefsson  <jas@extundo.com>
82802
82803         * lib/memxor.c (memxor): Avoid casts and warnings.
82804
82805 2005-10-06  Simon Josefsson  <jas@extundo.com>
82806
82807         * lib/hmac-md5.c: New file.
82808
82809         * lib/hmac.h: New file.
82810
82811 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
82812
82813         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
82814         promotes to int, not unsigned int, to catch the AIX 5.3
82815         compiler bug.
82816
82817 2005-10-05  Simon Josefsson  <jas@extundo.com>
82818
82819         * modules/memxor: New file.
82820
82821         * modules/iconv (Files): Move config.rpath to havelib, it is used
82822         there.
82823
82824         * modules/havelib (Files): Add config.rpath.
82825
82826 2005-10-05  Simon Josefsson  <jas@extundo.com>
82827
82828         * m4/memxor.m4: New file.
82829
82830 2005-10-05  Simon Josefsson  <jas@extundo.com>
82831
82832         * lib/memxor.c (memxor): Fix compiler error.
82833
82834         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
82835         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
82836
82837         * lib/memxor.h, lib/memxor.c: New files.
82838
82839         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
82840         we assume all systems have it, suggested by Jim Meyering
82841         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
82842         any systems lack sys/socket.h; mingw32 is known to lack it, but we
82843         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
82844         same reasons.
82845
82846 2005-10-05  Simon Josefsson  <jas@extundo.com>
82847
82848         * config/srclist.txt: Add glibc bug 1423 for md5.h.
82849
82850 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
82851
82852         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
82853         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
82854         needed, since the source code now assumes these .h files.
82855
82856 2005-10-05  Derek Price  <derek@ximbiot.com>
82857
82858         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
82859
82860 2005-10-05  Bruno Haible  <bruno@clisp.org>
82861
82862         * modules/stdint (License): Change to LGPL.
82863
82864 2005-10-04  Simon Josefsson  <jas@extundo.com>
82865
82866         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
82867         D. Baushke" <mdb@gnu.org>.
82868
82869 2005-10-04  Bruno Haible  <bruno@clisp.org>
82870
82871         * lib/verify.h (verify_true): Provide alternative definition for C++.
82872
82873 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
82874
82875         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
82876         (SSIZE_MAX): New macro, if not already defined.
82877         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
82878         than 2 GiB.
82879
82880 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
82881
82882         Sync from coreutils.
82883         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
82884         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
82885         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
82886         ULLONG_MAX doesn't work with 2.7.2.1.
82887
82888 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
82889
82890         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
82891         From Ben Pfaff.
82892
82893         * modules/exclude (Depends-on): Depend on verify.
82894         * modules/strtoimax (Depends-on): Likewise.
82895         * modules/utimecmp (Depends-on): Likewise.
82896
82897 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
82898
82899         * lib/exclude.c: Include verify.h.
82900         (verify): Remove.  All callers changed to use verify.h's version.
82901         * lib/strtoimax.c: Likewise.
82902         * lib/utimecmp.c: Likewis.e
82903
82904         Sync from coreutils.
82905         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
82906         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
82907         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
82908         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
82909         bother returning ENOSYS if settimeofday or stime fails; just let
82910         them return whatever errno they want to return.
82911         * lib/utimens.c: Include unistd.h, for dup2.
82912         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
82913         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
82914
82915 2005-10-02  Jim Meyering  <jim@meyering.net>
82916
82917         Sync from coreutils.
82918         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
82919         from glibc-2.2.5 that fails for read-only files.
82920
82921 2005-10-02  Jim Meyering  <jim@meyering.net>
82922
82923         Sync from coreutils.
82924         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
82925         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
82926         `#if HAVE_CONFIG_H'.
82927         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
82928         Remove AT_FDCWD test.
82929         Do not consume the fd unless successful.
82930         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
82931         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
82932         block, so that we don't even try to compile it if settimeofday is
82933         available.  This works around a compilation failure on OSF1 V5.1,
82934         due to stime requiring a `long int*' while tv_sec is `int'.
82935
82936 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
82937
82938         Sync from coreutils.
82939         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
82940         against `yes', rather than just testing for nonempty.
82941
82942 2005-10-01  Simon Josefsson  <jas@extundo.com>
82943
82944         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
82945         and Darwin.
82946
82947         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
82948         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
82949         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
82950         freeaddrinfo and gai_strerror are declared by the POSIX headers.
82951         Check if struct addrinfo is declared.
82952
82953 2005-10-01  Simon Josefsson  <jas@extundo.com>
82954
82955         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
82956         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
82957         AI_* and EAI_* definitions.  Protect function declarations.
82958
82959 2005-10-01  Jim Meyering  <jim@meyering.net>
82960
82961         Sync from coreutils.
82962
82963         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
82964         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
82965         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
82966         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
82967         in the inet and nsl libraries.  Required on Solaris 5.7.
82968
82969 2005-10-01  Jim Meyering  <jim@meyering.net>
82970
82971         Sync from coreutils.
82972         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
82973         in the inet and nsl libraries.  Required on Solaris 5.7.
82974
82975 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
82976
82977         * lib/getdelim.c (getdelim): Remove unused variables.
82978
82979 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
82980
82981         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
82982         so that the code works even with ancient cpp.  Portability problem
82983         with GCC 2.7.2.1 reported by Thomas M.Ott.
82984
82985 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
82986
82987         * modules/regex (Depends-on): Add strcase.
82988
82989         * modules/gethostname (Licence): Change from GPL to LGPL, since
82990         gethostname.c is a trivial implementation of a standard library
82991         function.
82992         * modules/poll (License): Change from GPL to LGPL, since it's
82993         derived from LGPL code.
82994
82995 2005-09-27  Jim Meyering  <jim@meyering.net>
82996
82997         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
82998         HAVE_CONFIG_H.
82999
83000         * lib/intprops.h (signed_type_or_expr__): Define.
83001         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
83002         for unsigned types.
83003
83004 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
83005
83006         * lib/verify.h (verify_expr): Remove, replacing with:
83007         (verify_true): New macro that returns true instead of void.
83008         (verify_type__): Remove.
83009         (verify): Use verify_true rather than verify_type__.
83010
83011 2005-09-26  Bruno Haible  <bruno@clisp.org>
83012
83013         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
83014         is necessary.
83015         (lib_SOURCES): Remove mbchar.c.
83016         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
83017         (Files): Add m4/mbrtowc.m4.
83018         * modules/mbiter: Likewise.
83019         * modules/mbuiter: Likewise.
83020
83021 2005-09-26  Bruno Haible  <bruno@clisp.org>
83022
83023         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
83024         compile mbchar.c if they are not both present.
83025         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
83026         * m4/mbiter.m4 (gl_MBITER): Likewise.
83027         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
83028         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
83029         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
83030
83031 2005-09-25  Jim Meyering  <jim@meyering.net>
83032
83033         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
83034         also uses socklen_t.
83035
83036 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
83037
83038         * lib/utimens.c (ENOSYS): Define if not already defined.
83039         (futimens): Support having a null PATH if the file descriptor
83040         is nonnegative.
83041
83042         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
83043         Remove.
83044         (__attribute): Define to empty unless GCC 3.1 or later.
83045         This works around a core dump on OpenBSD 3.4, which has GCC
83046         2.95.3, which dumps core when given __attribute__(()).  It also
83047         simplifies other tests, since we really don't want to bother with
83048         worrying about which ancient version of GCC supported what.
83049         Original problem reported by Yoann Vandoorselaere, with part of
83050         the fix suggested by Derek Price.
83051
83052 2005-09-24  Jim Meyering  <jim@meyering.net>
83053
83054         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
83055         so we can once again use a positive bitfield width of 1 -- now we
83056         don't have to explain why we were using a bitfield width of 2.
83057
83058 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
83059
83060         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
83061         and similarly for the other external symbols.  Problem reported
83062         by James Gallager.
83063
83064         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
83065         bug reported by Jim Meyering.
83066
83067         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
83068         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
83069         not needed, since socklen is a prerequisite module.
83070
83071 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
83072
83073         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
83074         Problem reported by Eric Blake.
83075         (getaddrinfo): Initialize se so that it's not garbage.
83076         Redo internal storage allocation so that it doesn't make unportable
83077         assumptions about alignment.
83078         Fix a memory leak.
83079
83080         * lib/utimens.c (futimens): Use futimesat if available.
83081         Prefer it to futimes since it doesn't have the futimes bug.
83082
83083         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
83084         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
83085         Instead, declare a function that returns a pointer to an array,
83086         and use verify_type__ to declare the size of the array.
83087         Problem and germ of a solution reported by Bruno Haible.
83088         (verify_type__): Use 2, not 1, for bitfield size, to avoid
83089         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
83090
83091 2005-09-23  Jim Meyering  <jim@meyering.net>
83092
83093         Sync from coreutils.
83094         Correct build failure (socklen_t not defined) on at least
83095         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
83096         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
83097
83098 2005-09-23  Jim Meyering  <jim@meyering.net>
83099
83100         * modules/getaddrinfo (Depends-on): Add socklen.
83101
83102 2005-09-23  Bruno Haible  <bruno@clisp.org>
83103
83104         * tests/test-verify.c: New file.
83105
83106 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83107
83108         Sync from coreutils.
83109
83110         * modules/argmatch (Depends-on): Add verify.
83111         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
83112         unistd-safer.
83113         * modules/save-cwd (Depends-on): Likewise.
83114
83115         * modules/openat (Files): Add lib/openat-die.c.
83116         (Depends-on): Remove error, exitfail.
83117         Add dirname.
83118
83119         * modules/verify: New file.
83120         * MODULES.html.sh (Diagnostics <assert.h>): New section,
83121         with "verify" module.
83122
83123 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83124
83125         Sync from coreutils.
83126
83127         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
83128         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
83129         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
83130         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
83131         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
83132         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
83133         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
83134         Don't bother checking for string.h, stdlib.h, unistd.h.
83135         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
83136         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
83137         module's job.
83138         * m4/jm-macros.m4 (gl_MACROS): Likewise.
83139         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
83140
83141         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
83142         (gl_GETDATE): Use it.
83143
83144         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
83145
83146 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83147
83148         Sync from coreutils.
83149
83150         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
83151         stat-time.h.
83152         * lib/argmatch.h: Include verify.h
83153         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
83154         (ARGMATCH_ASSERT): Remove; unused.
83155         * lib/canonicalize.c: Assume STDC_HEADERS.
83156         * lib/exclude.c: Include "strcase.h".
83157         * lib/regex_internal.h [!defined _LIBC]: Likewise.
83158         * lib/getusershell.c: Include stdio--.h rather than stdio.h
83159         and stdio-safer.h.
83160         (getusershell): Call fopen, not fopen_safer.
83161         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
83162         Do not include unistd-safer.h.
83163         (save_cwd): Don't call fd_safer; no longer needed
83164         now that we include fcntl--.h.
83165
83166         * lib/getdate.y (relative_time): New type.
83167         (RELATIVE_TIME_0): New constant.
83168         (parser_control): Use relative_time instead of doing it ourselves.
83169         (%union): Add new relative_time rel member.
83170         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
83171         Now typeless.
83172         (relunit, relunit_snumber): Now of type rel.
83173         (zone, rel, relunit, get_date): Adjust to above changes.
83174
83175         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
83176         Do not include unistd-safer.h.
83177         (getloadavg): Don't call fd_safer; no longer needed
83178         now that we include fcntl--.h.
83179
83180         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
83181         (make_dir_parents): Treat ENOSYS like EEXIST.
83182
83183         Improve quality of diagnostics on restore_cwd failure.
83184         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
83185         (make_dir_parents): Last arg is now int * (for errno), not bool *.
83186         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
83187         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
83188         each time through the loop.  Do not diagnose restore_cwd failure;
83189         that is the caller's job (and perhaps the caller does not care).
83190
83191         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
83192         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
83193         If the file already exists but is not a directory, don't bother
83194         to try to make its parents.
83195         Close potential file descriptor leak if we can't chdir("/") (!).
83196         Don't always return true if chdir($PWD) fails; return true only
83197         if the requested action was done successfully (except for the
83198         chdir($PWD)).
83199         Don't log final directory unless we actually made it.
83200         Refactor to avoid duplicate code to fix up permissions.
83201         Don't attempt to fix up parent permissions if chdir($PWD) fails.
83202
83203         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
83204         to make it a bit faster and (I hope) clearer.
83205         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
83206         Fix bug in formats like %2N.
83207
83208         * lib/verify.h: New file.
83209
83210 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
83211
83212         Sync from coreutils.
83213         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
83214
83215 2005-09-22  Jim Meyering  <jim@meyering.net>
83216
83217         Sync from coreutils.
83218
83219         * m4/lstat.m4 (gl_FUNC_LSTAT):
83220         Use AC_LIBSOURCES to require lstat.c and lstat.h.
83221         Remove obsolete comment.
83222         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
83223         * m4/xstrtod.m4: Likewise.
83224
83225         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
83226
83227 2005-09-22  Jim Meyering  <jim@meyering.net>
83228
83229         Sync from coreutils.
83230
83231         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
83232
83233         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
83234         the .tm_year member, since otherwise gcc-4.0 would now warn about
83235         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
83236
83237         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
83238         order to avoid an unsuppressible warning from gcc on 64-bit systems.
83239
83240         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
83241         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
83242         when run in a time zone for which daylight savings time is in effect
83243         for the starting date.
83244
83245         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
83246         stop us from restricting permissions of just-created absolute-named
83247         directories.
83248         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
83249         to restore initial working directory.
83250         * lib/mkdir-p.c (make_dir_parents): New parameter:
83251         different_working_dir, to tell caller if/when we change the working
83252         directory and are unable to return to the initial one.
83253         * lib/mkdir-p.h (make_dir_parents): Update prototype.
83254         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
83255         `return false'.  This fixes a bug introduced on 2004-07-30.
83256
83257         * lib/openat.c (fdopendir): Be sure to close the supplied
83258         file descriptor before returning.  This makes our replacement
83259         implementation a little closer to Solaris's, where fdopendir
83260         ties the file descriptor to the returned DIR* pointer.
83261         * lib/openat.c (unlinkat): New function.
83262         * lib/openat.h (unlinkat): Add prototype.
83263         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
83264         (openat_restore_fail): Rename from openat_restore_die.
83265         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
83266
83267         Provide an alternative to exiting immediately upon save_cwd or
83268         restore_cwd failure.  Now, an application can arrange e.g.,
83269         to perform a longjump in that case.
83270         * lib/openat.c: Include dirname.h.
83271         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
83272         (rpl_openat, fdopendir, fstatat): Call openat_save_die
83273         and openat_restore_die rather than calling error directly.
83274         Don't include "error.h" or "exitfail.h"; they're no longer needed.
83275
83276         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
83277         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
83278         define.
83279
83280         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
83281         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
83282                             int utc, int nanoseconds);
83283         Background:
83284         date should not have to allocate a megabyte of virtual memory to
83285         handle a format argument like +%1048575T.  When implemented with
83286         strftime, it must allocate such a buffer, use strftime to fill it
83287         in, print it, then free it.
83288         With fprintftime, it simply prints everything and exits.
83289         With no need for memory allocation, that's one fewer way to fail.
83290         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
83291         optional field width, not before, so we accept %9:z, not %:9z.
83292         (my_strftime): Be sure to use L_('x') for literals.
83293
83294         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
83295         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
83296         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
83297         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
83298         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
83299         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
83300         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
83301         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
83302         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
83303         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
83304         * lib/xgethostname.c, lib/xreadlink.c:
83305         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
83306
83307         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
83308         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
83309         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
83310         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
83311         and don't include <sys/file.h>).
83312
83313 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
83314
83315         Sync from coreutils.
83316
83317         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
83318         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
83319         [!LDAV_DONE]: Avoid unused variable warning.
83320
83321 2005-09-21  Bruno Haible  <bruno@clisp.org>
83322
83323         * lib/unicodeio.h (unicode_to_mb): New declaration.
83324
83325 2005-09-20  Derek Price  <derek@ximbiot.com>
83326
83327         * lib/getaddrinfo.c: Don't include <netdb.h> included from
83328         getaddrinfo.h.
83329
83330 2005-09-20  Bruno Haible  <bruno@clisp.org>
83331
83332         * gnulib-tool: Remove trailing slashes from the values specified for
83333         --source-base, --m4-base, --tests-base, --aux-dir.
83334         Suggested by Simon Josefsson <jas@extundo.com>.
83335
83336 2005-09-20  Bruno Haible  <bruno@clisp.org>
83337
83338         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
83339         func_modules_to_filelist, func_import, func_create_testdir): Make all
83340         sorting results locale-independent, so that gnulib-cache.m4 doesn't
83341         change when gnulib-tool is invoked in a different locale.
83342
83343 2005-09-19  Simon Josefsson  <jas@extundo.com>
83344
83345         * m4/socklen.m4: Fix typo.
83346
83347 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
83348
83349         Use a consistent style for including <config.h>.
83350         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
83351         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
83352         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
83353         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
83354         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
83355         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
83356         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
83357         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
83358         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
83359         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
83360         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
83361         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
83362         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
83363         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
83364         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
83365         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
83366         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
83367         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
83368         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
83369         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
83370         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
83371         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
83372         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
83373         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
83374         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
83375         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
83376         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
83377         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
83378         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
83379         lib/xstrtoumax.c, lib/yesno.c:
83380         Standardize inclusion of config.h.
83381         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
83382         lib/inttostr.h:  Removed inclusion of config.h from header files.
83383         * lib/inttostr.c:  Adjusted in-tree users.
83384         * lib/timespec.h: Remove superfluous warning to include config.h.
83385         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
83386         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
83387         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
83388         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
83389         config.h with HAVE_CONFIG_H.
83390
83391 2005-09-19  Jim Meyering  <jim@meyering.net>
83392
83393         * modules/pathmax (License): Change to LGPL.
83394
83395 2005-09-19  Derek Price  <derek@ximbiot.com>
83396
83397         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
83398
83399 2005-09-19  Bruno Haible  <bruno@clisp.org>
83400
83401         * gnulib-tool (import): Provide default for --tests-base.
83402
83403 2005-09-19  Bruno Haible  <bruno@clisp.org>
83404
83405         * doc/quote.texi: New file, extracted from gnulib.texi.
83406         * doc/ctime.texi: New file, extracted from gnulib.texi.
83407         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
83408         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
83409         * doc/gnulib.texi: Include them.
83410
83411 2005-09-18  Bruno Haible  <bruno@clisp.org>
83412
83413         Portability fix.
83414         * gnulib-tool (func_readlink): New function.
83415         (func_ln_if_changed): Use it.
83416
83417 2005-09-18  Bruno Haible  <bruno@clisp.org>
83418
83419         * gnulib-tool: Support --with-tests also with --import.
83420         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
83421         (func_import): Use variables $testsbase and $inctests. Emit a
83422         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
83423         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
83424         SUBDIRS += $testsdir.
83425         (func_create_testdir): Update.
83426
83427 2005-09-18  Bruno Haible  <bruno@clisp.org>
83428
83429         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
83430         instead of $dry_run.
83431         (func_cp_if_changed, func_mv_if_changed): Remove functions.
83432         (func_ln_if_changed): Don't handle dry-run here.
83433         (func_import): In dry-run mode, detect more precisely which actions
83434         would be performed, and don't use "...ing" verbs.
83435
83436 2005-09-18  Bruno Haible  <bruno@clisp.org>
83437
83438         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
83439         (func_import): Use join on two temporary files instead of three nested
83440         loops, in order to determine which files are new or old.
83441
83442 2005-09-18  Bruno Haible  <bruno@clisp.org>
83443
83444         * gnulib-tool (func_import): Comment out code that spits out the
83445         new files with --dry-run.
83446
83447 2005-09-18  Bruno Haible  <bruno@clisp.org>
83448
83449         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
83450
83451 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
83452
83453         * lib/stat-time.h: New file.
83454         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
83455         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
83456         in a different way.
83457         (timespec_cmp): New function.
83458         * lib/utimecmp.c: Include stat-time.h.
83459         (SYSCALL_RESOLUTION): Depend on whether various struct stat
83460         members exist, not on the obsolescent ST_MTIM_NSEC.
83461         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
83462
83463 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
83464
83465         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
83466
83467 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
83468
83469         * MODULES.html.sh (File system functions): Add stat-time.
83470         * modules/stat-time: New file.
83471         * modules/timespec (Files): Remove m4/st_mtim.m4; this
83472         is now done in a different way, by the stat-time module.
83473         * modules/utimecmp (Depends-on): Add stat-time.
83474
83475 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
83476
83477         * m4/st_mtim.m4: Remove.  Superseded by...
83478         * m4/stat-time.m4: New file.
83479         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
83480         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
83481
83482 2005-09-15  Derek Price  <derek@ximbiot.com>
83483
83484         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
83485
83486 2005-09-15  Derek Price  <derek@ximbiot.com>
83487
83488         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
83489         * lib/regex_internal.c: Ditto, using this...
83490         (__GNUC_PREREQ): ...new macro.
83491         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
83492         using...
83493         (__GNUC_PREREQ): ...this new macro.
83494
83495         * lib/strstr.h: Include string.h. Define strstr as a macro here.
83496
83497 2005-09-15  Derek Price  <derek@ximbiot.com>
83498             Paul Eggert  <eggert@cs.ucla.edu>
83499
83500         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
83501         changes, consolidating in...
83502         * lib/regex_internal.h: ...this file.
83503
83504 2005-09-13  Jim Meyering  <jim@meyering.net>
83505
83506         * lib/canon-host.c: Filter through gnu indent and reword comments
83507         slightly.
83508         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
83509
83510 2005-09-13  Derek Price  <derek@ximbiot.com>
83511
83512         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
83513         failure.
83514         Reported by Jim Meyering  <jim@meyering.net>.
83515
83516 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83517
83518         * lib/base64.c: Typo.
83519         (base64_encode): Put b64str in initialized data section.
83520
83521 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
83522
83523         Merge glibc and coreutils changes into gnulib, plus a few
83524         extra fixes.
83525         * lib/md5.c: Use #error rather than a string.
83526         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
83527         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
83528         (__attribute__): Define to empty for non recent-GCC.
83529         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
83530         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
83531         Renamed from their non-__ counterparts, with new macros replacing
83532         them if not _LIBC.  Add __THROW attribute.
83533         (rol): Remove.
83534         (struct md5_ctx): Align buffer if using GCC.
83535         * lib/sha1.h (struct sha1_ctx): Likewise.
83536         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
83537         The old name was backwards.
83538         (NOTSWAP): Remove; not used.
83539         (rol): New macro, moved here from md5.h.
83540         (sha1_process_block): Remove a FIXME that doesn't make sense.
83541
83542 2005-09-12  Derek Price  <derek@ximbiot.com>
83543
83544         Return usable errors from canon-host.
83545         * lib/canon-host.h: New file.
83546         * lib/canon-host.c (canon_host): Wrap...
83547         (canon_host_r): ...this new function, which now relies exclusively on
83548         getaddrinfo.
83549         (ch_strerror): New function.
83550         (last_cherror): New global.
83551         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
83552         interface.
83553         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
83554         void *.
83555         (freeaddrinfo): Free ai->ai_canonname when set.
83556
83557 2005-09-12  Derek Price  <derek@ximbiot.com>
83558
83559         Make canon-host require getaddrinfo.
83560         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
83561         AC_LIBSOURCE canon-host.h.  Call...
83562         (gl_PREREQ_CANON_HOST): ...this new function, which requires
83563         gl_GETADDRINFO.
83564         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
83565
83566 2005-09-12  Derek Price  <derek@ximbiot.com>
83567
83568         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
83569         LGPL.
83570         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
83571
83572 2005-09-12  Derek Price  <derek@ximbiot.com>
83573
83574         * lib/gai_strerror.c: Include config.h when available.  Include
83575         getaddrinfo.h before other headers to test interface.
83576         Reported by Larry Jones <lawrence.jones@ugs.com>.
83577
83578 2005-09-12  Derek Price  <derek@ximbiot.com>
83579             Paul Eggert  <eggert@cs.ucla.edu>
83580
83581         * modules/glob (Files): Add glob-libc.h.
83582
83583 2005-09-12  Derek Price  <derek@ximbiot.com>
83584             Paul Eggert  <eggert@cs.ucla.edu>
83585
83586         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
83587         glob_.h, glob-libc.h.
83588         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
83589
83590 2005-09-12  Derek Price  <derek@ximbiot.com>
83591             Paul Eggert  <eggert@cs.ucla.edu>
83592
83593         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
83594         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
83595         protecting things that should be done only in gnulib contexts.
83596         * lib/glob_.h: New file, containing only the glob things needed for
83597         gnulib.
83598         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
83599         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
83600         (glob, globfree, glob_pattern_p): Now defined simply in terms of
83601         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
83602         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
83603         and to respect the namespace rules better.
83604
83605 2005-09-08  Simon Josefsson  <jas@extundo.com>
83606
83607         * modules/socklen: New file.
83608
83609 2005-09-08  Simon Josefsson  <jas@extundo.com>
83610
83611         * m4/socklen.m4: New file.
83612
83613 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
83614
83615         * modules/utimens (Files): Add m4/utimbuf.m4, since
83616         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
83617         Reported by Sergey Poznyakoff.
83618
83619 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
83620
83621         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
83622         definitions, since that's the preferred style in glibc.
83623         Fix a minor spacing issue, and update copyright notice to match
83624         glibc's.
83625
83626 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
83627
83628         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
83629
83630 2005-09-06  Simon Josefsson  <jas@extundo.com>
83631
83632         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
83633         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
83634
83635 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
83636
83637         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
83638         warning.
83639
83640 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
83641
83642         * config/srclist.txt: Add glibc bug 1302.
83643
83644 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
83645
83646         Change bitset word type from unsigned int to unsigned long int,
83647         as this has better performance on typical 64-bit hosts.
83648         Port bitset code to hosts with unusual word sizes.
83649         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
83650         (build_collating_symbol):
83651         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
83652         argument is a bitset.  This is merely a style issue, but it makes
83653         it clearer that an entire array is expected.
83654         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
83655         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
83656         Port to the case where bitset_word is not the same as unsigned int.
83657         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
83658         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
83659         Likewise.
83660         * lib/regexec.c (check_dst_limits_calc_pos_1,
83661         check_subexp_matching_top):
83662         (build_trtable, group_nodes_into_DFAstates):
83663         Likewise.
83664         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
83665         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
83666         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
83667         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
83668         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
83669         * lib/regcomp.c (optimize_subexps, lower_subexp):
83670         Work even if bitset_word has holes in its bitwise representation.
83671         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
83672         * lib/regexec.c (check_dst_limits_calc_pos_1,
83673         check_subexp_matching_top):
83674         Likewise.
83675         * lib/regex_internal.c (re_string_reconstruct):
83676         Don't assume UCHAR_MAX == 255.
83677         * lib/regex_internal.h (bitset_set_all): Likewise.
83678         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
83679         All uses changed.
83680         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
83681         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
83682         All uses changed.
83683         (BITSET_WORD_MAX): New macro.
83684         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
83685         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
83686         (bitset_empty, bitset_copy):
83687         Prefer sizeof (bitset) to multiplying it out ourselves.
83688         (bitset_not_merge): Remove; unused.
83689         (bitset_contain): Return bool, not unsigned int with one bit on.
83690         All callers changed.
83691         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
83692         alignment than re_node_set; do this by defining a new internal
83693         type struct dests_alloc and using it to allocate memory.
83694
83695 2005-09-05  Bruno Haible  <bruno@clisp.org>
83696
83697         * gnulib-tool (func_import): Fix comparison in handling of symbolic
83698         links.
83699
83700 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
83701
83702         * modules/size_max (Makefile.am): Add size_max.h
83703
83704 2005-09-04  Derek Price  <derek@ximbiot.com>
83705
83706         * gnulib-tool (func_import): Fix reversed $symbolic logic.
83707
83708 2005-09-03  Simon Josefsson  <jas@extundo.com>
83709
83710         * gnulib-tool: Fix typo.
83711
83712 2005-09-03  Simon Josefsson  <jas@extundo.com>
83713
83714         * config/srclist.txt: Add glibc bug 1293.
83715
83716 2005-09-03  Derek Price  <derek@ximbiot.com>
83717
83718         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
83719         From Larry Jones <lawrence.jones@ugs.com>.
83720
83721 2005-09-02  Simon Josefsson  <jas@extundo.com>
83722
83723         * modules/socklen: New file.
83724
83725 2005-09-02  Simon Josefsson  <jas@extundo.com>
83726
83727         * modules/havelib: New module.
83728
83729         * modules/gettext, modules/iconv, modules/lock, modules/readline:
83730         Use havelib.
83731
83732 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
83733
83734         Check for arithmetic overflow when calculating sizes, to prevent
83735         some buffer-overflow issues.  These patches are conservative, in the
83736         sense that when I couldn't determine whether an overflow was possible,
83737         I inserted a run-time check.
83738         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
83739         macros.
83740         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
83741         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
83742         (re_xnrealloc, re_x2nrealloc): New inline functions.
83743         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
83744         parse_bracket_exp):
83745         (build_equiv_class, build_charclass): Check for arithmetic overflow
83746         in size expression calculations.
83747         * lib/regex_internal.c (re_string_realloc_buffers):
83748         (build_wcs_upper_buffer, re_node_set_add_intersect):
83749         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
83750         (re_dfa_add_node, register_state): Likewise.
83751         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
83752         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
83753         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
83754         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
83755
83756 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
83757
83758         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83759         m4/ulonglong.m4.  Problem reported by Martin Lambers.
83760
83761 2005-09-02  Bruno Haible  <bruno@clisp.org>
83762
83763         Support for lib vs. lib64 distinction on biarch platforms.
83764         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
83765         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
83766         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
83767
83768 2005-09-02  Bruno Haible  <bruno@clisp.org>
83769
83770         * gnulib-tool (import): In the other first-use case, provide defaults
83771         as well.
83772
83773 2005-09-02  Bruno Haible  <bruno@clisp.org>
83774
83775         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
83776         patches not yet found in the latest gettext release.
83777
83778 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
83779
83780         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
83781         to avoid a collision with bits/local_lim.h in glibc.
83782         All uses changed.  Problem reported by Dmitry V. Levin in
83783         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
83784
83785         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
83786         bugs in int versus size_t comparisons.
83787         (re_string_context_at): Fix bug where the code assumed that
83788         Idx is signed.
83789
83790         Use bool where appropriate.
83791         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
83792         All callers changed.
83793         (calc_eclosure_iter): Likewise, for ROOT arg.
83794         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
83795         (build_charclass_op): Likewise, for NON_MATCH arg.
83796         * lib/regex_internal.c (re_string_allocate, re_string_construct):
83797         (re_string_construct_common): Likewise, for ICASE arg.
83798         * lib/regexec.c (re_search_2_stub, re_search_stub):
83799         Likewise, for RET_LEN arg.
83800         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
83801         (set_regs): Likewise, for FL_BACKTRACK arg.
83802         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
83803         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
83804         (calc_eclosure_iter, parse_bracket_exp):
83805         Use bool for internal variables that are booleans.
83806         * lib/regexec.c (re_search_internal, check_matching,
83807         proceed_next_node):
83808         (set_regs, build_sifted_states, sift_states_bkref):
83809         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
83810         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
83811         (find_collation_sequence_value):
83812         Likewise.
83813         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
83814         (re_node_set_compare):
83815         Return bool, not int. All callers changed.
83816         * lib/regexec.c (check_halt_node_context, check_dst_limits):
83817         (build_trtable, check_node_accept): Likewise.
83818         * lib/regex_internal.h: Include stdbool.h.
83819
83820         Fix bugs uncovered when converting to bool.
83821         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
83822         failure instead of charging ahead blindly.
83823         * lib/regex_internal.c (register_state): Likewise.
83824         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
83825         for freeing internal storage.
83826         (group_nodes_into_DFA_states): Use unsigned int, not int, for
83827         bitset pieces used as boolean, to avoid undefined behavior
83828         on hosts that do int overflow checking.
83829
83830 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
83831
83832         * config/srclist.txt: Add glibc bugs 1285-1287.
83833
83834 2005-09-01  Jim Meyering  <jim@meyering.net>
83835
83836         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
83837         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
83838         Require gl_STAT_MACROS, too.
83839
83840 2005-09-01  Bruno Haible  <bruno@clisp.org>
83841
83842         * gnulib-tool (import): In the first-use case, provide defaults.
83843
83844 2005-09-01  Bruno Haible  <bruno@clisp.org>
83845
83846         * gnulib-tool (func_import): Remove the .tmp files.
83847
83848 2005-09-01  Bruno Haible  <bruno@clisp.org>
83849
83850         * gnulib-tool (func_import): Fix handling of symbolic links.
83851
83852 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83853
83854         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
83855         old glibc regex code mishandles strings longer than 2**31 bytes.
83856         This patch fixes this when the regex code is used in gnulib
83857         (i.e., outside glibc).
83858
83859         This patch should not affect the use of the regex code inside
83860         glibc.  No doubt this problem also needs to be handled for glibc
83861         as well, but the result will be an incompatible change to the
83862         glibc ABI, and the old ABI will have to be supported too.  That
83863         can be the the subject for another patch.
83864
83865         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
83866         governing whether the rest of this patch is active.  By default,
83867         the macro is disabled and the patch has no effect.
83868         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
83869         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
83870         (struct re_pattern_buffer, re_search, re_search_2, re_match):
83871         (re_match_2, re_set_registers): Use the new types.
83872         * lib/regex_internal.h (Idx, re_hashval_t): New types.
83873         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
83874         New macros.
83875         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
83876         (re_string_context_at, bin_tree_t, re_dfastate_t):
83877         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
83878         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
83879         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
83880         (re_string_char_size_at, re_string_wchar_at):
83881         (re_string_elem_size_at):
83882         Use the new types and macros to port to 64-bit hosts.
83883         Use unsigned types for internal values, so that the code
83884         mostly works even for arrays larger than SSIZE_MAX.
83885         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
83886         (search_duplicated_node, calc_eclosure_iter, fetch_number):
83887         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
83888         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
83889         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
83890         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
83891         (calc_inveclosure, parse_dup_op, build_range_exp):
83892         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
83893         (fetch_number, create_token_tree, mark_opt_subexp):
83894         Likewise.
83895         * lib/regex_internal.c (re_string_construct_common,
83896         create_ci_newstate):
83897         (create_cd_newstate, re_string_allocate, re_string_construct):
83898         (re_string_realloc_buffers, build_wcs_upper_buffer):
83899         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
83900         (re_string_reconstruct, re_string_peek_byte_case):
83901         (re_string_fetch_byte_case, re_string_context_at):
83902         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
83903         (re_node_set_init_copy, re_node_set_add_intersect):
83904         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
83905         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
83906         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
83907         (re_acquire_state, re_acquire_state_context, register_state):
83908         Likewise.
83909         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
83910         search_cur_bkref_entry):
83911         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
83912         (re_search_internal, re_search_2_stub, re_search_stub)
83913         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
83914         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
83915         (update_cur_sifted_state, check_dst_limits):
83916         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
83917         (check_subexp_limits, sift_states_bkref, merge_state_array):
83918         (check_subexp_matching_top, get_subexp, get_subexp_sub):
83919         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
83920         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
83921         (expand_bkref_cache, check_node_accept_bytes):
83922         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
83923         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
83924         (acquire_init_state_context, check_halt_node_context):
83925         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
83926         (sift_states_backward, clean_state_log_if_needed):
83927         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
83928         (find_recover_state, transit_state_sb, transit_state_mb):
83929         (transit_state_bkref, build_trtable, match_ctx_clean):
83930         Likewise.
83931         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
83932         to work around an assumption that REG_MISSING is negative.
83933
83934         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
83935         (seek_collating_symbol_entry) [defined _LIBC]:
83936         (lookup_collation_sequence_value) [defined _LIBC]:
83937         (build_range_exp, build_collating_symbol) [defined _LIBC]:
83938         Use prototypes rather than old-style function definitions.
83939         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
83940         (transit_state_sb) [0]:
83941         (find_collation_sequence_value) [defined _LIBC]: Likewise.
83942
83943         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
83944         rm_eo.
83945
83946         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
83947         (optimize_subexps, lower_subexp):
83948         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
83949         since the signed shift might overflow.  Use 1u<<31 instead.
83950         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
83951         Likewise.
83952         * lib/regexec.c (check_dst_limits_calc_pos_1,
83953         check_subexp_matching_top): Likewise.
83954
83955         * lib/regcomp.c (optimize_subexps, lower_subexp):
83956         Use CHAR_BIT rather than 8, for clarity.
83957         * lib/regexec.c (check_dst_limits_calc_pos_1):
83958         (check_subexp_matching_top): Likewise.
83959         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
83960         have to worry about portability issues when shifting it left.
83961         Remove no-longer-needed test for table_size > 0.
83962         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
83963         in a word, as the resulting behavior is undefined.
83964         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
83965         in one case, a <= should have been an <, and in another case the
83966         whole test was missing.
83967         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
83968         the standard name CHAR_BIT.
83969         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
83970         this is not true on one's complement and signed-magnitude hosts.
83971
83972         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
83973         next_last_offset.
83974         (struct re_dfa_t): Remove unused member states_alloc.
83975         * lib/regcomp.c (init_dfa): Don't initialize unused members.
83976
83977 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83978
83979         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
83980         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
83981         and large-file glibc and in 32-bit large-file Solaris.
83982
83983 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83984
83985         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
83986         lengths fit in regoff_t; this isn't true if regoff_t is the same
83987         width as size_t.
83988         * lib/regex.c (re_search_internal): 5th arg is LAST_START
83989         (= START + RANGE) instead of RANGE.  This avoids overflow
83990         problems when regoff_t is the same width as size_t.
83991         All callers changed.
83992         (re_search_2_stub): Check for overflow when adding the
83993         sizes of the two strings.
83994         (re_search_stub): Check for overflow when adding START
83995         to RANGE; if it occurs, substitute the extreme value.
83996
83997 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
83998
83999         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
84000
84001 2005-08-31  Jim Meyering  <jim@meyering.net>
84002
84003         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
84004         a pointer-to-const.
84005         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
84006         (register_state): Likewise.
84007         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
84008         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84009         (group_nodes_into_DFAstates): Likewise.
84010
84011 2005-08-31  Jim Meyering  <jim@meyering.net>
84012
84013         * check-module: Add a FIXME comment.
84014
84015 2005-08-31  Eric Blake  <ebb9@byu.net>
84016
84017         * modules/unistd-safer (Files): Add unistd--.h.
84018         * modules/stdio-safer (Files): Add stdio--.h.
84019
84020 2005-08-31  Derek Price  <derek@ximbiot.com>
84021
84022         * lib/getdelim.c (getdelim): Return EOF on EOF.
84023         Reported by Larry Jones <lawrence.jones@ugs.com>.
84024
84025 2005-08-31  Bruno Haible  <bruno@clisp.org>
84026
84027         Avoid unnecessary diffs in the generated lib/Makefile.am.
84028         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
84029         the generated files.
84030         (func_import): Don't set cmd.
84031
84032 2005-08-31  Bruno Haible  <bruno@clisp.org>
84033
84034         * lib/strstr.c: Include <stddef.h>, for NULL.
84035         * lib/strcasestr.c: Likewise.
84036         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
84037
84038 2005-08-31  Bruno Haible  <bruno@clisp.org>
84039
84040         * gnulib-tool: New option --macro-prefix.
84041         (func_import): Use macro_prefix.
84042         (import): Handle option --macro-prefix.
84043
84044 2005-08-31  Bruno Haible  <bruno@clisp.org>
84045
84046         * gnulib-tool (import): Rename most ac_* variables to cached_*.
84047         Also use new variables cached_lgpl, cached_libtool.
84048
84049 2005-08-31  Bruno Haible  <bruno@clisp.org>
84050
84051         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
84052         always instantiating them.
84053
84054 2005-08-31  Bruno Haible  <bruno@clisp.org>
84055
84056         * gnulib-tool (func_import): Read the previous cached settings
84057         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
84058         earlier added by gnulib but are now dropped. Warn when a gnulib file
84059         overwrites a non-gnulib file.
84060
84061 2005-08-31  Bruno Haible  <bruno@clisp.org>
84062
84063         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
84064         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
84065         projects that don't keep autogenerated files in CVS. Put into
84066         actioncmd only the specified modules, not the transitive closure.
84067
84068 2005-08-31  Bruno Haible  <bruno@clisp.org>
84069
84070         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
84071         Create directories that shall be filled.
84072         (import): Don't look for gl_* macros in configure.ac. Recurse across
84073         all directories containing a gnulib-cache.m4 files, if meaningful.
84074
84075 2005-08-31  Bruno Haible  <bruno@clisp.org>
84076
84077         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
84078         (import): Set seen_libtool when we see gl_LIBTOOL.
84079
84080 2005-08-31  Bruno Haible  <bruno@clisp.org>
84081
84082         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
84083         declaration macro definitions from generated gnulib.m4.
84084
84085 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
84086
84087         * lib/iconvme.h: Add prototype for iconv_alloc.
84088
84089 2005-08-29  Simon Josefsson  <jas@extundo.com>
84090
84091         * lib/iconvme.c: Fix errno.
84092
84093 2005-08-29  Bruno Haible  <bruno@clisp.org>
84094
84095         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
84096         that it works when the directory contains spaces.
84097
84098 2005-08-29  Bruno Haible  <bruno@clisp.org>
84099
84100         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
84101
84102 2005-08-29  Bruno Haible  <bruno@clisp.org>
84103
84104         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
84105         Emit more advice.
84106
84107 2005-08-29  Bruno Haible  <bruno@clisp.org>
84108         and Stepan Kasal  <kasal@ucw.cz>
84109
84110         * check-module: If more parameters are given, check each of them
84111         separately; add more exceptions, as noted by Jim Meyering.
84112         (check_module): New procedure.
84113         (%exempt_header): Now contains all exceptions.
84114
84115 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
84116
84117         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
84118
84119 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
84120
84121         * lib/iconvme.c: Split iconv_string into iconv_alloc.
84122
84123 2005-08-28  Bruno Haible  <bruno@clisp.org>
84124
84125         * m4/gnulib-tool.m4: New file.
84126
84127 2005-08-27  Jim Meyering  <jim@meyering.net>
84128
84129         * modules/unistd-safer (Files): Add pipe-safer.c.
84130         * modules/fcntl-safer (Files): Add creat-safer.c.
84131
84132 2005-08-27  Jim Meyering  <jim@meyering.net>
84133
84134         * m4/stdlib-safer.m4: New file.  From coreutils.
84135         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
84136         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
84137         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
84138         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
84139         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
84140
84141 2005-08-27  Jim Meyering  <jim@meyering.net>
84142
84143         * lib/fopen-safer.c: Merge minor changes from coreutils.
84144         * lib/dup-safer.c: Likewise.
84145         * lib/fd-safer.c: Likewise.
84146
84147         Merge from coreutils.
84148         * lib/stdio--.h: New file.
84149         * lib/stdlib--.h: New file.
84150         * lib/mkstemp-safer.c: New file.
84151
84152         GNU tar needs these.
84153         * lib/pipe-safer.c: New file.
84154         * lib/creat-safer.c: New file.
84155         * lib/fcntl--.h (creat): Define to creat_safer.
84156         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
84157         * lib/unistd--.h (pipe): Define to pipe_safer.
84158         * lib/unistd-safer.h: Declare pipe_safer.
84159
84160 2005-08-26  Simon Josefsson  <jas@extundo.com>
84161
84162         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
84163         Haible <bruno@clisp.org>.
84164
84165 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
84166
84167         * lib/regex_internal.h: Remove all references to
84168         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
84169         or better.
84170         (bitset_not, bitset_merge, bitset_not_merge):
84171         (bitset_mask, re_string_allocate, re_string_construct):
84172         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
84173         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
84174         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
84175         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
84176         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
84177         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
84178         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
84179         (re_acquire_state_context):
84180         Remove unnecessary forward decls.
84181         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
84182         Put __attribute at function definition,
84183         now that the function decl has been removed.
84184         * lib/regex_internal.c (re_string_peek_byte_case):
84185         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
84186         Likewise.
84187
84188 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
84189
84190         * m4/regex.m4: Add AC_PREREQ(2.50).
84191         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
84192
84193 2005-08-25  Simon Josefsson  <jas@extundo.com>
84194
84195         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
84196         __fsetlocking.
84197
84198 2005-08-25  Simon Josefsson  <jas@extundo.com>
84199
84200         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
84201         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
84202         GLIBC specific code.
84203
84204 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84205
84206         Make regex safe for g++.  This fixes one real bug (an "err"
84207         that should have been "*err").  g++ problem reported by
84208         Sam Steingold.
84209         * lib/regex_internal.h (re_calloc): New macro, consistent with
84210         re_malloc etc.  All callers of calloc changed to use re_calloc.
84211         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
84212         not int.  All callers changed.
84213         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
84214         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
84215         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
84216         (find_recover_state): Change "err" to "*err"; this fixes what
84217         appears to be a real bug.
84218         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
84219         versus int.
84220
84221 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84222
84223         * modules/regex (Depends-on): Add malloc, since the code
84224         assumes that !malloc(0) means failure.
84225
84226 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84227
84228         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
84229
84230         alloca modernization/simplification for regex.
84231         * lib/regex.c: Remove portability cruft for alloca.  This no longer
84232         needs to be at the start of the file, and can be moved into
84233         regex_internal.h and simplified.
84234         * lib/regex_internal.h: Include <alloca.h>.
84235         (__libc_use_alloca) [!defined _LIBC]: New macro.
84236         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
84237         now works outside glibc.
84238
84239 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
84240
84241         * config/srclist.txt: Add glibc bugs 1241, 1245.
84242
84243 2005-08-25  Jim Meyering  <jim@meyering.net>
84244
84245         * lib/open-safer.c: Include <config.h>.
84246         Otherwise, we'd lose LARGEFILE support in any file using
84247         e.g. "fcntl--.h"
84248
84249 2005-08-25  Bruno Haible  <bruno@clisp.org>
84250
84251         * m4/minmax.m4: Require autoconf 2.52.
84252         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
84253         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
84254         alternatives of translit over the alphabet.
84255         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
84256
84257 2005-08-24  Simon Josefsson  <jas@extundo.com>
84258
84259         * tests/test-getpass.c: New file.
84260
84261 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
84262
84263         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
84264         for GNU regex features.
84265
84266 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
84267
84268         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
84269         * lib/regex.h (regerror): Likewise.
84270
84271         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
84272         requires this.  (The code never needed it.)
84273
84274         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
84275         All uses of recently-renamed identifiers changed to use the new,
84276         POSIX-compliant names.  The code will build and run just fine
84277         without these changes, but it's better to eat our own dog food
84278         and use the standard-conforming names.
84279
84280         * lib/regex.h: Fix a multitude of POSIX name space violations.
84281         These changes have an effect only for programs that define
84282         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
84283         do not change anything for programs compiled in the normal way.
84284         Also, there is no effect on the ABI.
84285
84286         (_REGEX_SOURCE): New macro.
84287         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
84288         defined and _GNU_SOURCE is not; this fixes a name space violation.
84289
84290         Rename the following macros to obey POSIX requirements.
84291         The old names are still visible as macros if _REGEX_SOURCE is defined.
84292         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
84293         RE_BACKSLASH_ESCAPE_IN_LISTS.
84294         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
84295         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
84296         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
84297         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
84298         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
84299         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
84300         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
84301         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
84302         (REG_INTERVALS): renamed from RE_INTERVALS.
84303         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
84304         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
84305         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
84306         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
84307         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
84308         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
84309         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
84310         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
84311         RE_UNMATCHED_RIGHT_PAREN_ORD.
84312         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
84313         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
84314         (REG_DEBUG): renamed from RE_DEBUG.
84315         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
84316         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
84317         unusual, since we can't clash with the POSIX REG_ICASE.
84318         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
84319         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
84320         (REG_NO_SUB): renamed from RE_NO_SUB.
84321         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
84322         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
84323         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
84324         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
84325         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
84326         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
84327         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
84328         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
84329         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
84330         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
84331         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
84332         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
84333         RE_SYNTAX_POSIX_MINIMAL_BASIC.
84334         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
84335         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
84336         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
84337         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
84338         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
84339         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
84340         (REG_FIXED): Renamed from REGS_FIXED.
84341         (REG_NREGS): Renamed from RE_NREGS.
84342
84343         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
84344         of other REG_* macros, since POSIX says the user is allowed to
84345         #undef these macros selectively.
84346
84347         (reg_errcode_t): Update comment stating what other tables need
84348         to be consistent.
84349
84350         Rename the following enum values to obey POSIX requirements.
84351         The old names are still visible as macros.
84352         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
84353         is not defined, since GNU is supposed to be a superset of POSIX as
84354         much as possible, and since we want reg_errcode_t to be a signed
84355         type for implementation consistency.
84356         (_REG_NOERROR): Renamed from REG_NOERROR.
84357         (_REG_NOMATCH): Renamed from REG_NOMATCH.
84358         (_REG_BADPAT): Renamed from REG_BADPAT.
84359         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
84360         (_REG_ECTYPE): Renamed from REG_ECTYPE.
84361         (_REG_EESCAPE): Renamed from REG_EESCAPE.
84362         (_REG_ESUBREG): Renamed from REG_ESUBREG.
84363         (_REG_EBRACK): Renamed from REG_EBRACK.
84364         (_REG_EPAREN): Renamed from REG_EPAREN.
84365         (_REG_EBRACE): Renamed from REG_EBRACE.
84366         (_REG_BADBR): Renamed from REG_BADBR.
84367         (_REG_ERANGE): Renamed from REG_ERANGE.
84368         (_REG_ESPACE): Renamed from REG_ESPACE.
84369         (_REG_BADRPT): Renamed from REG_BADRPT.
84370         (_REG_EEND): Renamed from REG_EEND.
84371         (_REG_ESIZE): Renamed from REG_ESIZE.
84372         (_REG_ERPAREN): Renamed from REG_ERPAREN.
84373         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
84374         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
84375         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
84376         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
84377
84378         (_REG_RE_NAME, _REG_RM_NAME): New macros.
84379         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
84380         changed.  But support the old name if the new one is not defined
84381         and if _REGEX_SOURCE.
84382
84383         Change the following member names in struct re_pattern_buffer.
84384         The old names are still supported if !_REGEX_SOURCE.
84385         The new names are always supported, regardless of _REGEX_SOURCE.
84386         (re_buffer): Renamed from buffer.
84387         (re_allocated): Renamed from allocated.
84388         (re_used): Renamed from used.
84389         (re_syntax): Renamed from syntax.
84390         (re_fastmap): Renamed from fastmap.
84391         (re_translate): Renamed from translate.
84392         (re_can_be_null): Renamed from can_be_null.
84393         (re_regs_allocated): Renamed from regs_allocated.
84394         (re_fastmap_accurate): Renamed from fastmap_accurate.
84395         (re_no_sub): Renamed from no_sub.
84396         (re_not_bol): Renamed from not_bol.
84397         (re_not_eol): Renamed from not_eol.
84398         (re_newline_anchor): Renamed from newline_anchor.
84399
84400         Change the following member names in struct re_registers.
84401         The old names are still supported if !_REGEX_SOURCE.
84402         The new names are always supported, regardless of _REGEX_SOURCE.
84403         (rm_num_regs): Renamed from num_regs.
84404         (rm_start): Renamed from start.
84405         (rm_end): Renamed from end.
84406
84407         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
84408         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
84409         Prepend __ to parameter names.
84410
84411         Undo yesterday's changes.
84412
84413 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
84414
84415         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
84416         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
84417         lib/regex.c.
84418
84419 2005-08-24  Jim Meyering  <jim@meyering.net>
84420
84421         Sync from coreutils.
84422         * m4/fcntl-safer.m4: New file.
84423
84424         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
84425         and object files for this module.
84426
84427 2005-08-24  Jim Meyering  <jim@meyering.net>
84428
84429         Sync from coreutils.
84430         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
84431
84432 2005-08-24  Jim Meyering  <jim@meyering.net>
84433
84434         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
84435         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
84436
84437 2005-08-24  Jim Meyering  <jim@meyering.net>
84438
84439         * modules/fcntl-safer: New module.
84440         * modules/fts (Depends-on): Add fcntl-safer.
84441         * MODULES.html.sh (File descriptor based Input/Output):
84442         Add fcntl-safer.
84443
84444 2005-08-24  Bruno Haible  <bruno@clisp.org>
84445
84446         Support for unit test modules.
84447         * modules/README: Mention tests modules.
84448         * modules/TEMPLATE-TESTS: New file.
84449         * gnulib-tool: New options --extract-tests-module, --with-tests and
84450         --tests-base (unused for the moment).
84451         (testsbase, inctests): New variables.
84452         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
84453         (func_verify_module): Exclude TEMPLATE-TESTS.
84454         (func_verify_nontests_module, func_verify_tests_module): New functions.
84455         (func_get_dependencies): Add implicit dependency for tests modules.
84456         (func_get_tests_module): New function.
84457         (func_modules_transitive_closure): When --with-tests was specified,
84458         include the unit tests as well, unless explicitly avoided.
84459         (func_emit_lib_Makefile_am): Ignore the tests modules here.
84460         (func_emit_tests_Makefile_am): New function.
84461         (func_create_testdir): When --with-tests was specified, emit a
84462         tests/ directory.
84463         * MODULES.html.sh (Future developments): Update.
84464
84465 2005-08-24  Bruno Haible  <bruno@clisp.org>
84466
84467         * modules/tls-tests: New file.
84468         * tests/test-tls.c: New file, from GNU gettext.
84469
84470 2005-08-24  Bruno Haible  <bruno@clisp.org>
84471
84472         * modules/lock-tests: New file.
84473         * tests/test-lock.c: New file, from GNU gettext.
84474
84475 2005-08-24  Bruno Haible  <bruno@clisp.org>
84476
84477         * lib/lock.h: Add multiple inclusion guard.
84478         * lib/tls.h: Add multiple inclusion guard.
84479
84480 2005-08-24  Bruno Haible  <bruno@clisp.org>
84481
84482         * gnulib-tool: Add support for the --aux-dir option to
84483         --create-testdir, --create-megatestdir, --test, --megatest.
84484         (func_create_testdir, func_create_megatestdir): Optionally emit a
84485         AC_CONFIG_AUX_DIR directive.
84486         (create-testdir, create-megatestdir, test, megatest): Provide a
84487         default value for $auxdir.
84488
84489 2005-08-24  Bruno Haible  <bruno@clisp.org>
84490
84491         * gnulib-tool (import): Use compound statement instead of subshell
84492         where possible.
84493
84494 2005-08-24  Bruno Haible  <bruno@clisp.org>
84495
84496         * gnulib-tool (import): Change --aux-dir default to "build-aux".
84497
84498 2005-08-24  Bruno Haible  <bruno@clisp.org>
84499
84500         * gnulib-tool (func_version): Update.
84501
84502 2005-08-24  Bruno Haible  <bruno@clisp.org>
84503
84504         * gnulib-tool (func_import, func_create_testdir,
84505         func_create_megatestdir): Quote all autoconf macro arguments.
84506
84507 2005-08-24  Bruno Haible  <bruno@clisp.org>
84508
84509         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
84510         option --force, because --force causes the aclocal.m4 of each
84511         subdirectory to be newer than the corresponding config.h.in.
84512
84513 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
84514
84515         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
84516         All contents moved to gl_REGEX.
84517         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
84518         assume that it does.
84519
84520 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
84521
84522         * lib/regex.h (REG_NOSYS)
84523         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
84524         Define, since POSIX requires it as of 2001.
84525         (_REG_ENOSYS)
84526         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
84527         New private symbol, used to keep the enum signed in all cases.
84528         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
84529         Youngman in
84530         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
84531
84532         * lib/regex_internal.c (re_string_skip_chars, register_state):
84533         (calc_state_hash):
84534         Remove forward decls; no longer needed now that we use prototypes.
84535         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
84536         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
84537         (clean_state_log_if_needed): Likewise.
84538
84539 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
84540
84541         * config/srclist.txt: Add glibc bugs 1231-1233.
84542
84543 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
84544
84545         Fix problems reported by Sam Steingold in
84546         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
84547         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
84548         assumed that reg_errcode_t is a signed type, which is not
84549         necessarily true if _XOPEN_SOURCE is not defined.
84550         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
84551         since some compilers warn about it otherwise.
84552
84553 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
84554
84555         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
84556         (init_word_char, create_initial_state, duplicate_node_closure):
84557         (fetch_token, peek_token_bracket, build_range_exp):
84558         (build_collating_symbol): Remove forward decls; no longer needed
84559         now that we use prototypes.
84560
84561         * lib/regcomp.c:
84562         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
84563         (re_compile_fastmap_iter, regcomp, regerror, regfree):
84564         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
84565         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
84566         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
84567         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
84568         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
84569         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
84570         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
84571         (build_range_exp, build_collating_symbol, parse_bracket_exp):
84572         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
84573         (build_charclass, build_charclass_op, fetch_number, create_tree):
84574         (create_token_tree, mark_opt_subexp, duplicate_tree):
84575         Use prototypes rather than old-style definitions.
84576
84577         * lib/regex_internal.c:
84578         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
84579         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
84580         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
84581         (re_string_reconstruct, re_string_peek_byte_case):
84582         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
84583         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
84584         (re_node_set_init_copy, re_node_set_add_intersect):
84585         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
84586         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
84587         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
84588         (re_acquire_state, re_acquire_state_context, register_state):
84589         (create_ci_newstate, create_cd_newstate, free_state):
84590         Likewise.
84591         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
84592         re_search_2):
84593         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
84594         (re_search_internal, prune_impossible_nodes):
84595         (acquire_init_state_context, check_matching, static):
84596         (check_halt_node_context, check_halt_state_context, proceed_next_node):
84597         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
84598         (update_regs, sift_states_backward, build_sifted_states):
84599         (clean_state_log_if_needed, merge_state_array):
84600         (update_cur_sifted_state, add_epsilon_src_nodes):
84601         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
84602         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
84603         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
84604         (find_recover_state, check_subexp_matching_top, transit_state_mb):
84605         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
84606         (check_arrival, check_arrival_add_next_nodes):
84607         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
84608         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
84609         (check_node_accept_bytes, check_node_accept, extend_buffers):
84610         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
84611         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
84612         (sift_ctx_init):
84613         Likewise.
84614
84615         * lib/regex_internal.h:
84616         (re_string_allocate, re_string_construct, re_string_reconstruct):
84617         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
84618         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
84619         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
84620         (re_string_context_at, re_string_peek_byte_case):
84621         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
84622         is defined, since we now use prototypes always.
84623
84624         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
84625         C89 or better.  All uses removed.
84626
84627 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
84628
84629         * config/srclist.txt: Add glibc bugs 1220-1227.
84630
84631 2005-08-20  Jim Meyering  <jim@meyering.net>
84632
84633         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
84634         of unused local, dfa.
84635
84636 2005-08-20  Bruno Haible  <bruno@clisp.org>
84637
84638         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
84639
84640 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84641
84642         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
84643         (re_node_set_insert_last, re_dfa_add_node):
84644         Rename local variables to avoid GCC shadowing warnings.
84645
84646 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84647
84648         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
84649         [defined lint]: Suppress bogus uninitialized-variable warnings.
84650
84651         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
84652         and let the caller return REG_ESPACE if out of space.  This
84653         removes an uninitialied-variable warning with GCC 4.0.1, and also
84654         avoids taking the address of a local variable.  All callers
84655         changed.
84656
84657 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
84658
84659         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
84660         $LIBCSRC/posix/regexec.c.
84661         Add glibc bug 1217 for regcomp.c.
84662
84663 2005-08-19  Jim Meyering  <jim@meyering.net>
84664
84665         * lib/regexec.c (proceed_next_node): Redo local variables to
84666         avoid GCC shadowing warnings.
84667
84668 2005-08-18  Bruno Haible  <bruno@clisp.org>
84669
84670         * lib/strstr.c (strstr): Fix return value in multibyte case.
84671         * lib/strcasestr.c (strcasestr): Likewise.
84672
84673 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
84674
84675         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
84676
84677 2005-08-17  Jim Meyering  <jim@meyering.net>
84678
84679         Make the %s format (seconds since the epoch) work for a negative
84680         number and when used with a zero-padded field width, e.g. %015s.
84681
84682         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
84683         label so that it precedes the code to set `digits'.  Otherwise,
84684         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
84685         print `00-22'.  Now, it prints `-0022', as it should.
84686
84687 2005-08-17  Bruno Haible  <bruno@clisp.org>
84688
84689         * modules/strstr (Files): Add m4/mbrtowc.m4.
84690         (Depends-on): Add mbuiter.
84691
84692 2005-08-17  Bruno Haible  <bruno@clisp.org>
84693
84694         * modules/strcasestr: New file.
84695         * MODULES.html.sh (String handling, based on ANSI C 89): Add
84696         strcasestr.
84697
84698 2005-08-17  Bruno Haible  <bruno@clisp.org>
84699
84700         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
84701
84702 2005-08-17  Bruno Haible  <bruno@clisp.org>
84703
84704         * modules/mbuiter: New file.
84705         * MODULES.html.sh (Extended multibyte and wide character utilities):
84706         Add mbuiter.
84707
84708 2005-08-17  Bruno Haible  <bruno@clisp.org>
84709
84710         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
84711         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
84712
84713 2005-08-17  Bruno Haible  <bruno@clisp.org>
84714
84715         * m4/strcasestr.m4: New file.
84716
84717 2005-08-17  Bruno Haible  <bruno@clisp.org>
84718
84719         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
84720         * lib/strstr.c: Completely rewritten, with multibyte locale support.
84721
84722 2005-08-17  Bruno Haible  <bruno@clisp.org>
84723
84724         * lib/strcasestr.h: New file.
84725         * lib/strcasestr.c: New file.
84726
84727 2005-08-17  Bruno Haible  <bruno@clisp.org>
84728
84729         * lib/strcasecmp.c: Use mbuiter.h.
84730
84731 2005-08-17  Bruno Haible  <bruno@clisp.org>
84732
84733         * lib/mbuiter.h: New file.
84734
84735 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
84736
84737         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
84738         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
84739         and gl_GETOPT are both invoked via different paths (as happens
84740         with GNU tar CVS because it uses both argp and getopt), the former
84741         wins.
84742
84743 2005-08-16  Bruno Haible  <bruno@clisp.org>
84744
84745         * modules/tls: New file.
84746         * MODULES.html.sh (Multithreading): Add tls.
84747
84748 2005-08-16  Bruno Haible  <bruno@clisp.org>
84749
84750         * modules/strnlen1: New file.
84751         * MODULES.html.sh (String handling): Add strnlen1.
84752
84753 2005-08-16  Bruno Haible  <bruno@clisp.org>
84754
84755         * modules/strcase (Files): Add m4/mbrtowc.m4.
84756         (Depends-on): Add strnlen1, mbchar.
84757
84758 2005-08-16  Bruno Haible  <bruno@clisp.org>
84759
84760         * modules/mbiter: New file.
84761         * MODULES.html.sh (Extended multibyte and wide character utilities):
84762         Add mbiter.
84763
84764 2005-08-16  Bruno Haible  <bruno@clisp.org>
84765
84766         * modules/mbfile: New file.
84767         * MODULES.html.sh (Extended multibyte and wide character utilities):
84768         Add mbfile.
84769
84770 2005-08-16  Bruno Haible  <bruno@clisp.org>
84771
84772         * modules/mbchar: New file.
84773         * MODULES.html.sh (Extended multibyte and wide character utilities):
84774         New section.
84775
84776 2005-08-16  Bruno Haible  <bruno@clisp.org>
84777
84778         * m4/tls.m4: New file, from GNU gettext.
84779
84780 2005-08-16  Bruno Haible  <bruno@clisp.org>
84781
84782         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
84783         always.
84784         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
84785
84786 2005-08-16  Bruno Haible  <bruno@clisp.org>
84787
84788         * m4/mbiter.m4: New file.
84789
84790 2005-08-16  Bruno Haible  <bruno@clisp.org>
84791
84792         * m4/mbfile.m4: New file.
84793
84794 2005-08-16  Bruno Haible  <bruno@clisp.org>
84795
84796         * m4/mbchar.m4: New file.
84797
84798 2005-08-16  Bruno Haible  <bruno@clisp.org>
84799
84800         * lib/tls.h: New file, from GNU gettext.
84801         * lib/tls.c: New file, from GNU gettext.
84802
84803 2005-08-16  Bruno Haible  <bruno@clisp.org>
84804
84805         * lib/strnlen1.h: New file.
84806         * lib/strnlen1.c: New file.
84807
84808 2005-08-16  Bruno Haible  <bruno@clisp.org>
84809
84810         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
84811         (mbi_init): Update.
84812         (mbi_avail, mbi_advance): Let the iteration end before the terminating
84813         NUL byte, not after it.
84814
84815 2005-08-16  Bruno Haible  <bruno@clisp.org>
84816
84817         * lib/strcase.h (strcasecmp): Add note in comments.
84818         * lib/strncasecmp.c: Use code from strcasecmp.c.
84819         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
84820         (strcasecmp): Work correctly in multibyte locales.
84821
84822 2005-08-16  Bruno Haible  <bruno@clisp.org>
84823
84824         * lib/mbiter.h: New file.
84825
84826 2005-08-16  Bruno Haible  <bruno@clisp.org>
84827
84828         * lib/mbfile.h: New file.
84829
84830 2005-08-16  Bruno Haible  <bruno@clisp.org>
84831
84832         * lib/mbchar.h: New file.
84833         * lib/mbchar.c: New file.
84834
84835 2005-08-16  Bruno Haible  <bruno@clisp.org>
84836
84837         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
84838         the valid ones. Makes the comparison operations transitive:
84839         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
84840         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
84841
84842 2005-08-15  Simon Josefsson  <jas@extundo.com>
84843
84844         * modules/ssize_t (License): Change to 'unlimited'.
84845
84846         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
84847
84848 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
84849
84850         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
84851         Add comments for each pending glibc patch.
84852
84853 2005-08-15  Bruno Haible  <bruno@clisp.org>
84854
84855         * lib/regex.h (__restrict_arr): Don't define to __restrict if
84856         __cplusplus is defined.
84857
84858 2005-08-14  Jim Meyering  <jim@meyering.net>
84859
84860         Sync from coreutils.
84861
84862         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
84863         Use the hash-table-based cycle-detection code not just when
84864         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
84865         Reported by James Youngman in
84866         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
84867         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
84868         FTS_TIGHT_CYCLE_CHECK.
84869         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
84870         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
84871         once again.
84872         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
84873         * lib/fts.c (fd_safer): Remove decl.
84874         Include fcntl--.h rather than unistd-safer.h
84875         (fts_safe_changedir): Don't call fd_safer; no longer needed
84876         now that we include fcntl--.h.
84877
84878 2005-08-12  Simon Josefsson  <jas@extundo.com>
84879
84880         * modules/getndelim2: Use ssize_t module.
84881         * modules/getnline: Likewise.
84882         * modules/safe-read: Likewise.
84883         * modules/xreadlink: Likewise.
84884
84885         * modules/ssize_t: New file.
84886
84887 2005-08-12  Simon Josefsson  <jas@extundo.com>
84888
84889         * m4/readline.m4: Look for termcap, curses or ncurses if required.
84890
84891 2005-08-12  Simon Josefsson  <jas@extundo.com>
84892
84893         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
84894         ssize_t.
84895
84896 2005-08-12  Simon Josefsson  <jas@extundo.com>
84897
84898         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
84899         readline, getdelim and check_version.
84900         (Support for systems lacking ISO C 99: Sizes of integer types):
84901         Add size_max.
84902
84903 2005-08-12  Bruno Haible  <bruno@clisp.org>
84904
84905         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
84906
84907 2005-08-11  Simon Josefsson  <jas@extundo.com>
84908
84909         * modules/readline: New file.
84910
84911         * modules/strnlen (Files): Add strnlen.h.
84912
84913 2005-08-11  Simon Josefsson  <jas@extundo.com>
84914
84915         * m4/readline.m4: New file.
84916
84917 2005-08-11  Simon Josefsson  <jas@extundo.com>
84918
84919         * lib/readline.h, readline.c: New file.
84920
84921 2005-08-11  Simon Josefsson  <jas@extundo.com>
84922
84923         * doc/gnulib.texi (Initial import, Finishing touches): Mention
84924         gl_AVOID.
84925
84926 2005-08-11  Bruno Haible  <bruno@clisp.org>
84927
84928         * lib/strnlen.h (strnlen): Change parameter name to match comment.
84929
84930 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
84931
84932         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
84933
84934 2005-08-10  Simon Josefsson  <jas@extundo.com>
84935
84936         * tests/test-iconvme.c: New file.
84937
84938 2005-08-10  Simon Josefsson  <jas@extundo.com>
84939
84940         * m4/strnlen.m4: New file.
84941
84942         * m4/strndup.m4: Don't check for strnlen declaration, done in
84943         strnlen.m4.
84944
84945 2005-08-10  Simon Josefsson  <jas@extundo.com>
84946
84947         * lib/strndup.c: Use strnlen.h.
84948
84949         * lib/strnlen.h: New file.
84950
84951 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84952
84953         * README: Typos.
84954
84955 2005-08-02  Simon Josefsson  <jas@extundo.com>
84956
84957         * modules/readline: New file.
84958
84959 2005-08-02  Simon Josefsson  <jas@extundo.com>
84960
84961         * modules/getdelim: New file.
84962
84963         * modules/getline: Rewrite, don't use getndelim2.
84964
84965 2005-08-02  Simon Josefsson  <jas@extundo.com>
84966
84967         * m4/getline.m4: Separate out getdelim stuff into separate module.
84968
84969         * m4/getdelim.m4: New file.
84970
84971 2005-08-02  Simon Josefsson  <jas@extundo.com>
84972
84973         * lib/getline.h, getline.c: Rewrite.
84974
84975         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
84976
84977 2005-07-31  Bruno Haible  <bruno@clisp.org>
84978
84979         * lib/lock.h (gl_lock_initializer): New macro.
84980         (gl_lock_define_initialized): Use it.
84981         (gl_rwlock_initializer): New macro.
84982         (gl_rwlock_define_initialized): Use it.
84983         (gl_recursive_lock_initializer): New macro.
84984         (gl_recursive_lock_define_initialized): Use it.
84985
84986 2005-07-30  Karl Berry  <karl@gnu.org>
84987
84988         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
84989         Report from Ben Pfaff, regarding getopt.
84990
84991 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
84992
84993         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
84994         normal way.
84995         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
84996         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
84997         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
84998         (gl_GETOPT): Use the new macros.  Most of the implementation
84999         is moved to the new macros.  This is for programs like Emacs
85000         that don't want all the functionality of gl_GETOPT.
85001
85002 2005-07-26  Bruno Haible  <bruno@clisp.org>
85003
85004         * m4/lock.m4: Update from GNU gettext.
85005
85006 2005-07-26  Bruno Haible  <bruno@clisp.org>
85007
85008         * lib/lock.h: Update from GNU gettext.
85009         * lib/lock.c: Update from GNU gettext.
85010
85011 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
85012
85013         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
85014         obsolescent AC_TRY_RUN.  Include the default includes files, for
85015         'exit'.
85016
85017 2005-07-24  Bruno Haible  <bruno@clisp.org>
85018
85019         * modules/visibility: New file.
85020         * MODULES.html.sh (Misc): Add visibility.
85021
85022 2005-07-24  Bruno Haible  <bruno@clisp.org>
85023
85024         * m4/visibility.m4: New file.
85025
85026 2005-07-24  Bruno Haible  <bruno@clisp.org>
85027
85028         * doc/visibility.texi: New file.
85029
85030 2005-07-22  Bruno Haible  <bruno@clisp.org>
85031
85032         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
85033         $(ALLOCA_H), redundant through BUILT_SOURCES.
85034         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
85035         redundant through BUILT_SOURCES.
85036         * modules/byteswap (Makefile.am): Remove explicit dependency on
85037         $(BYTESWAP_H), redundant through BUILT_SOURCES.
85038         * modules/fnmatch (Makefile.am): Remove explicit dependency on
85039         $(FNMATCH_H), redundant through BUILT_SOURCES.
85040         * modules/getopt (Makefile.am): Remove explicit dependency on
85041         $(GETOPT_H), redundant through BUILT_SOURCES.
85042         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
85043         redundant through BUILT_SOURCES.
85044         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
85045         redundant through BUILT_SOURCES.
85046         * modules/stdbool (Makefile.am): Remove explicit dependency on
85047         $(STDBOOL_H), redundant through BUILT_SOURCES.
85048         * modules/stdint (Makefile.am): Remove explicit dependency on
85049         $(STDINT_H), redundant through BUILT_SOURCES.
85050         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
85051         Remove explicit dependency on $(SYSEXITS_H).
85052         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
85053
85054 2005-07-18  Simon Josefsson  <jas@extundo.com>
85055
85056         * lib/check-version.c (check_version): Accept identical versions too.
85057
85058 2005-07-18  Bruno Haible  <bruno@clisp.org>
85059
85060         * modules/lock: New file.
85061         * MODULES.html.sh (Multithreading): New section.
85062
85063 2005-07-18  Bruno Haible  <bruno@clisp.org>
85064
85065         * m4/lock.m4: New file, from GNU gettext.
85066
85067 2005-07-18  Bruno Haible  <bruno@clisp.org>
85068
85069         * lib/lock.h: New file, from GNU gettext.
85070         * lib/lock.c: New file, from GNU gettext.
85071
85072 2005-07-18  Bruno Haible  <bruno@clisp.org>
85073
85074         * lib/lock.h (gl_once_t): New type.
85075         (gl_once_define, gl_once): New macros.
85076         * lib/lock.c (fresh_once): New variable.
85077         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
85078         functions.
85079
85080 2005-07-16  Simon Josefsson  <jas@extundo.com>
85081
85082         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
85083         workaround, suggested by Bruno.
85084
85085 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
85086
85087         * modules/xalloc (Depends-on): Add xalloc-die.
85088         * modules/xvasprintf (Depends-on): Add xalloc-die.
85089
85090 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
85091
85092         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
85093         with a minor change.
85094
85095 2005-07-15  Bruno Haible  <bruno@clisp.org>
85096
85097         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
85098         When using lib/poll.c, define poll as rpl_poll.
85099
85100 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
85101
85102         * modules/argp (Depends-on): Remove unlocked-io.
85103
85104 2005-07-14  Derek Price  <derek@ximbiot.com>
85105
85106         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
85107         for glob symlink bug.
85108
85109 2005-07-14  Bruno Haible  <bruno@clisp.org>
85110
85111         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
85112         Instead, test for *_unlocked function declarations directly.
85113
85114 2005-07-11  Simon Josefsson  <jas@extundo.com>
85115
85116         * modules/size_max: New file.
85117
85118         * modules/xsize: Depend on size_max module for size_max.m4.
85119
85120 2005-07-11  Simon Josefsson  <jas@extundo.com>
85121
85122         * lib/size_max.h: New file.
85123
85124 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
85125
85126         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
85127         copyright symbol and the year.
85128         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
85129         (version_etc_va): Use parameterized copyright notice.
85130         Reword to conform to the current GNU coding standards.
85131
85132 2005-07-11  Karl Berry  <karl@gnu.org>
85133
85134         * doc/gnulib.texi (Quoting): new node.
85135         (Initial import): more info, from Patrice.
85136
85137 2005-07-11  Bruno Haible  <bruno@clisp.org>
85138
85139         * gnulib-tool (func_usage): Document option --avoid.
85140         (Command line options): Handle --avoid.
85141         (func_acceptable): New function.
85142         (func_modules_transitive_closure): Use it.
85143
85144 2005-07-11  Bruno Haible  <bruno@clisp.org>
85145
85146         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
85147         Reported by Jim Meyering.
85148
85149 2005-07-10  Bruno Haible  <bruno@clisp.org>
85150
85151         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
85152         Needed when size_t is smaller than 'unsigned int'.
85153         Reported by Paul Eggert.
85154
85155 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
85156
85157         * modules/argp (Depends-on): Add unlocked-io
85158
85159 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
85160
85161         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
85162         block of defines.
85163
85164 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
85165
85166         * config/srclist.txt: Comment out regcomp.c, since we have a porting
85167         fix now.
85168
85169 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
85170         and Paul Eggert  <eggert@cs.ucla.edu>
85171
85172         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
85173         in wint_t, not wchar_t.  Remove now-unnecessary cast.
85174
85175 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85176
85177         * modules/regex (Files): Add lib/regex_internal.c,
85178         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
85179         (Depends-on): Add extensions.
85180         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
85181
85182 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85183
85184         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
85185         pathconf.
85186         * m4/same.m4 (gl_SAME): Likewise.
85187         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
85188
85189         * m4/regex.m4: Adjust to new libc regex implementation.
85190         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
85191         all the .c and .h parts of (the new) regex.
85192         Quote the m4 stuff better.
85193         Check for RE_ICASE bug of old gnulib.
85194         Check for REG_STARTEND of recent libc.
85195         Rename local variables from jm_* to gl_*.
85196         Quote operand of "test -f".
85197         Say "recent enough" version of libc, not "version 2".
85198         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
85199         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
85200         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
85201         Remove check for btowc, isascii.
85202         Require AM_LANGINFO_CODESET.
85203
85204 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85205
85206         * lib/regex.c, regex.h: Sync from libc.
85207         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
85208         * lib/regexec.c:
85209         New files, synced from libc, except that regex_internal.h
85210         currently has a small porting fix.
85211
85212 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
85213
85214         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
85215         regex_internal.c, regexec.c.
85216         Add regex_internal.h too, but as a comment, since the libc version
85217         is currently broken in gnulib mode.
85218
85219 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
85220
85221         Support programs like Emacs that use gnulib but not gettext.
85222         * MODULES.html.sh (Internationalization functions): Add gettext-h.
85223         * modules/gettext-h: New file.
85224         * modules/gettext (Files): Remove lib/gettext.h.
85225         (Depends-on): Add gettext-h.
85226         (Makefile.am): Remove lib_SOURCES.
85227         * modules/argmatch, modules/c-stack, modules/closeout:
85228         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
85229         * modules/execute, modules/file-type, modules/getaddrinfo:
85230         * modules/getopt, modules/human, modules/javacomp:
85231         * modules/javaexec, modules/mkdir-p, modules/obstack:
85232         * modules/openat, modules/pagealign_alloc, modules/pipe:
85233         * modules/quotearg, modules/regex, modules/rpmatch:
85234         * modules/unicodeio, modules/userspec, modules/version-etc:
85235         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
85236         * modules/xsetenv:
85237         Depend on gettext-h, not gettext.
85238
85239 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
85240
85241         * gnulib-tool (func_import): Add support for 'public domain' license.
85242         * modules/alloca, modules/atexit, modules/memmove:
85243         Now public domain, not GPL.
85244         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
85245         * modules/realloc, modules/strerror, modules/strtod:
85246         Now LGPL, not GPL.
85247
85248 2005-07-05  Bruno Haible  <bruno@clisp.org>
85249
85250         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
85251         autoconf CVS. Needed for mingw.
85252
85253 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
85254
85255         Remove the dependency of the strftime module on the tzset module.
85256         * modules/strftime (Depends-on): Remove dependency on tzset.
85257
85258 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
85259
85260         Remove the dependency of the strftime module on the tzset module.
85261         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
85262         gl_FUNC_TZSET_CLOBBER.
85263
85264 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
85265
85266         Remove the dependency of the strftime module on the tzset module.
85267         * lib/strftime.c (my_strftime)
85268         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
85269         Copy the input structure, to work around some of the bug with
85270         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
85271         Solaris releases, you should also use the tzset module, but we won't
85272         require it as a dependency any more since we don't want LGPLed code
85273         to depend on GPLed code.
85274
85275 2005-07-02  Jim Meyering  <jim@meyering.net>
85276
85277         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
85278         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
85279         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
85280         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
85281
85282 2005-07-02  Jim Meyering  <jim@meyering.net>
85283
85284         * lib/backupfile.c (backup_args): Change a `0' to NULL.
85285
85286 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
85287
85288         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
85289         declares only 'struct timespec;' (!).
85290
85291 2005-07-01  Jim Meyering  <jim@meyering.net>
85292
85293         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
85294         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
85295         * lib/save-cwd.c, tempname.c:
85296         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
85297         and don't include <sys/file.h>).
85298
85299 2005-06-29  Jim Meyering  <jim@meyering.net>
85300
85301         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
85302         type name.  Use the variable name instead.
85303         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
85304         Likewise.
85305
85306 2005-06-28  Simon Josefsson  <jas@extundo.com>
85307
85308         * modules/check-version (Files): Add check-version.m4.
85309
85310 2005-06-28  Simon Josefsson  <jas@extundo.com>
85311
85312         * m4/check-version.m4: New file, suggested by Jim Meyering
85313         <jim@meyering.net>.
85314
85315 2005-06-28  Simon Josefsson  <jas@extundo.com>
85316
85317         * lib/check-version.h, lib/check-version.c: New files.
85318
85319 2005-06-28  Simon Josefsson  <jas@extundo.com>
85320
85321         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
85322         collision with global variable.  Better indentation.  Don't
85323         increment buffer pointer beyond buffer end.  Based on comments
85324         from Paul Eggert <eggert@cs.ucla.edu>.
85325
85326         * lib/base64.h: Indent.
85327
85328 2005-06-28  Simon Josefsson  <jas@extundo.com>
85329
85330         * doc/gnulib.texi (Library version handling): New section.
85331
85332 2005-06-28  Jim Meyering  <jim@meyering.net>
85333
85334         * check-module (find_included_lib_files): Hard-code another
85335         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
85336         but modules/fts-lgpl (correctly) does not list those files.
85337
85338         * modules/canonicalize (Files): Add lib/pathmax.h.
85339
85340 2005-06-25  Simon Josefsson  <jas@extundo.com>
85341
85342         * modules/check-version: New file.
85343
85344 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
85345
85346         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
85347         initializer of struct addrinfo, as an indication that we don't
85348         care how many members the structure has.
85349
85350 2005-06-24  Derek Price  <derek@ximbiot.com>
85351         and Bruno Haible  <bruno@clisp.org>
85352
85353         Remove stat module & update lstat.
85354         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
85355         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
85356         * m4/stat.m4: Remove this file.
85357
85358 2005-06-24  Derek Price  <derek@ximbiot.com>
85359         and Bruno Haible  <bruno@clisp.org>
85360
85361         Remove stat module & update lstat.
85362         * lib/stat.c: Remove this file...
85363         (slash_aware_lstat): ...moving this content and its support...
85364         * lib/lstat.c (rpl_lstat): ...into here.
85365         * lib/lstat.h: New file.
85366
85367 2005-06-24  Derek Price  <derek@ximbiot.com>
85368         and Bruno Haible  <bruno@clisp.org>
85369
85370         Remove stat module & update lstat.
85371         * config/srclist.txt (libc sources): Remove stat.
85372
85373 2005-06-24  Derek Price  <derek@ximbiot.com>
85374         and Bruno Haible  <bruno@clisp.org>
85375
85376         Remove stat module & update lstat.
85377         * MODULES.html.sh (stat): Remove.
85378         * MODULES.html: Regenerated.
85379         * modules/lstat (Description): Correct function name.
85380         (Files): Add "lstat.h".
85381         (Depends-on): Remove stat, add xalloc, stat-macros.
85382         * modules/stat: Remove this file.
85383         (Include): Add "lstat.h", remove <sys/stat.h>.
85384
85385 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
85386
85387         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
85388         (ranged_convert): Don't save conversion in a temporary struct.
85389         This causes a warning with GCC 4.0.0, and anyway in the typical
85390         case it's not worth the extra 100 bytes or so of code.
85391         (ranged_convert, __mktime_internal): When calling a function via a
85392         pointer P, use P () rather than (*P) (), as we now assume C89 or
85393         better.
85394
85395 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
85396
85397         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
85398         "who -r" failed to give output.  Problem reported by Tim Waugh.
85399
85400         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
85401         (xcalloc): Use it to avoid needless tests.
85402         Problem reported by Jim Meyering.
85403
85404 2005-06-20  Derek Price  <derek@ximbiot.com>
85405
85406         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
85407         unnecessary for Autoconfs > 2.59c.
85408
85409 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85410
85411         * lib/argp.h (__option_is_short): Check upper limit of
85412         __key. Isprint() requires its argument to have the value
85413         of an unsigned char or EOF.
85414
85415 2005-06-16  Jim Meyering  <jim@meyering.net>
85416
85417         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
85418         when either N or S is zero.
85419
85420 2005-06-16  Derek Price  <derek@ximbiot.com>
85421
85422         * m4/bison.m4: Declare YACC & YFLAGS precious.
85423
85424 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
85425
85426         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
85427         multibyte string or pattern, fall back on unibyte matching.
85428         Problem reported by James Youngman.
85429
85430 2005-06-08  Bruno Haible  <bruno@clisp.org>
85431
85432         * modules/csharpcomp: New file.
85433         * MODULES.html.sh (C#): Add csharpcomp.
85434
85435 2005-06-08  Bruno Haible  <bruno@clisp.org>
85436
85437         * m4/csharpcomp.m4: New file, from GNU gettext.
85438
85439 2005-06-08  Bruno Haible  <bruno@clisp.org>
85440
85441         * lib/csharpcomp.h: New file, from GNU gettext.
85442         * lib/csharpcomp.c: New file, from GNU gettext.
85443         * lib/csharpcomp.sh.in: New file, from GNU gettext.
85444
85445 2005-06-08  Bruno Haible  <bruno@clisp.org>
85446
85447         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
85448         warning on mingw.
85449
85450 2005-06-07  Derek Price  <derek@ximbiot.com>
85451
85452         Sync from CVS.
85453         * lib/glob_.h: Indent nested #ifdef.
85454
85455 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
85456
85457         Sync from coreutils.
85458         Use "file name" when talking about file names, instead of "filename"
85459         or "path", as per the GNU coding standards.
85460         * lib/mkdir-p.c: Renamed from makepath.c.
85461         (make_dir_parents): Renamed from make_path.  All callers changed.
85462         * lib/mkdir-p.h: Likewise.  All includers changed.
85463         * lib/filenamecat.c: Renamed from path-concat.c.
85464         (file_name_concat): Renamed from path_concat.  All callers changed.
85465         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
85466         * lib/filenamecat.h: Likewise.  All includers changed.
85467         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
85468         in comments or local variable names.
85469         * lib/basename.c: Likewise.
85470         * lib/canonicalize.c, canonicalize.h: Likewise.
85471         * lib/dirname.c, dirname.h: Likewise.
85472         * lib/euidaccess.c: Likewise.
85473         * lib/exclude.c: Likewise
85474         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
85475         * lib/fsusage.c, fsuage.h: Likewise.
85476         * lib/fts.c, fts_.h: Likewise.
85477         * lib/getcwd.c: Likewise.
85478         * lib/getloadavg.c: Likewise.
85479         * lib/mkstemp.c: Likewise.
85480         * lib/mountlist.c, mountlist.h: Likewise.
85481         * lib/openat.c, openat.h: Likewise.
85482         * lib/readlink-stub.c: Likewise.
85483         * lib/readutmp.c, readutmp.h: Likewise.
85484         * lib/rename.c: Likewise.
85485         * lib/rmdir.c: Likewise.
85486         * lib/same.c: Likewise.
85487         * lib/savedir.c: Likewise.
85488         * lib/stripslash.c: Likewise.
85489         * lib/tempname.c: Likewise.
85490         * lib/xreadlink.c: Likewise.
85491         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
85492         All uses changed.
85493         * lib/exclude.h: Likewise.
85494
85495         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
85496         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
85497         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
85498         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
85499         * lib/pathmax.h: Include <limits.h> unconditionally, since other
85500         files have been getting away with it for years (MORE/BSD 4.3
85501         is extinct now).
85502         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
85503         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
85504
85505         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
85506         Define to 256, not 255, as per modern POSIX.
85507
85508 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
85509
85510         Sync from coreutils.
85511         Use "file name" when talking about file names, instead of "filename"
85512         or "path", as per the GNU coding standards.
85513         * MODULES.html.sh: mkdir-p renamed from makepath.
85514         filenamecat renamed from path-concat.
85515         * modules/filenamecat: Renamed from modules/path-concat.
85516         (Files): filenamecat.h and filenamecat.c renamed from
85517         path-concat.h and path-concat.c.
85518         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
85519         (Include): filenamecat.h, not path-concat.h.
85520         * modules/mkdir-p: Renamed from modules/makepath.
85521         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
85522         makepath.c.
85523         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
85524         (Include): mkdir-p.h, not makepath.h.
85525
85526 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
85527
85528         Sync from coreutils.
85529         * m4/mkdir-p.m4: Renamed from makepath.m4.
85530         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
85531         Rename files from makepath.c to mkdir-p.c, and from
85532         makepath.h to mkdir-p.h.
85533         * m4/filenamecat.m4: Renamed from path-concat.m4.
85534         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
85535         Rename files from path-concat.c to filenamecat.c,
85536         and from path-concat.h to filenamecat.h.
85537         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
85538         "file name" in local variables or comments.
85539         * m4/rename.m4: Likewise.
85540
85541 2005-06-01  Bruno Haible  <bruno@clisp.org>
85542
85543         * modules/csharpexec: New file.
85544         * MODULES.html.sh (C#): New section.
85545
85546 2005-06-01  Bruno Haible  <bruno@clisp.org>
85547
85548         * m4/csharp.m4: New file, from GNU gettext.
85549         * m4/csharpexec.m4: New file, from GNU gettext.
85550
85551 2005-06-01  Bruno Haible  <bruno@clisp.org>
85552
85553         * lib/csharpexec.h: New file, from GNU gettext.
85554         * lib/csharpexec.c: New file, from GNU gettext.
85555         * lib/csharpexec.sh.in: New file, from GNU gettext.
85556
85557 2005-05-31  Derek Price  <derek@ximbiot.com>
85558             Paul Eggert  <eggert@cs.ucla.edu>
85559
85560         Sync from cvs.
85561         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
85562
85563 2005-05-31  Derek Price  <derek@ximbiot.com>
85564             Paul Eggert  <eggert@cs.ucla.edu>
85565
85566         Sync from cvs.
85567         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
85568
85569 2005-05-29  Derek Price  <derek@ximbiot.com>
85570
85571         * config/srclist.txt (glob_.h, glob.c): Add these files.
85572
85573 2005-05-29  Derek Price  <derek@ximbiot.com>
85574
85575         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
85576         * modules/glob: New file.
85577         * modules/getlogin_r: Add link to POSIX spec in description.
85578
85579 2005-05-29  Derek Price  <derek@ximbiot.com>
85580             Paul Eggert  <eggert@cs.ucla.edu>
85581
85582         * m4/glob.m4: New file.
85583
85584 2005-05-29  Derek Price  <derek@ximbiot.com>
85585             Paul Eggert  <eggert@cs.ucla.edu>
85586
85587         * lib/glob_.h, lib/glob.c: New files.
85588
85589 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
85590
85591         * modules/fts (Files): Remove m4/inttypes-pri.m4.
85592         * modules/fts-lgpl (Depends-on): Remove gettext.
85593
85594 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
85595
85596         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
85597         and don't require gt_INTTYPES_PRI.
85598
85599 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
85600
85601         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
85602
85603         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
85604         the configuration hassle isn't worth it.
85605         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
85606         (LONGEST_MODIFIER, PRIuMAX): Remove.
85607
85608 2005-05-27  Bruno Haible  <bruno@clisp.org>
85609
85610         * lib/getlogin_r.h: Remove second include of <stddef.h>.
85611
85612 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
85613
85614         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
85615         _POSIX_PTHREAD_SEMANTICS for Solaris.
85616
85617 2005-05-25  Derek Price  <derek@ximbiot.com>
85618
85619         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
85620
85621 2005-05-25  Derek Price  <derek@ximbiot.com>
85622             Paul Eggert  <eggert@cs.ucla.edu>
85623
85624         * modules/getlogin_r, m4/getlogin_r.m4: New files.
85625         * lib/getlogin_r.c, getlogin_r.h: New files.
85626
85627 2005-05-25  Bruno Haible  <bruno@clisp.org>
85628             Derek Price  <derek@ximbiot.com>
85629
85630         * lib/getlogin_r.h: Simplify API documentation.
85631
85632 2005-05-23  Derek Price  <derek@ximbiot.com>
85633
85634         * modules/minmax (Files): Add m4/minmax.m4.
85635         (configure.ac): Add gl_MINMAX.
85636
85637 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
85638
85639         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
85640         so that unistd-safer.h (GPL'ed code) need not be included.
85641
85642 2005-05-22  Bruno Haible  <bruno@clisp.org>
85643
85644         * m4/minmax.m4: New file.
85645         Based on a patch by Derek Price <derek@ximbiot.com>.
85646
85647 2005-05-22  Bruno Haible  <bruno@clisp.org>
85648
85649         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
85650         (INT64_MIN): Fix definition.
85651         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
85652
85653         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
85654         NEED_SIGNED_INT_TYPES.
85655
85656         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
85657         HAVE_SYSTEM_INTTYPES.
85658
85659 2005-05-22  Bruno Haible  <bruno@clisp.org>
85660
85661         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
85662         Also include <sys/param.h> if it defines MIN, MAX.
85663         Based on a patch by Derek Price <derek@ximbiot.com>.
85664
85665 2005-05-21  Jim Meyering  <jim@meyering.net>
85666
85667         * modules/fts (Files): Add m4/inttypes-pri.m4.
85668         (Depends-on): Add lstat and remove gettext.  Alphabetize.
85669
85670 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85671
85672         New fts module.
85673         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
85674         (setup_dir, free_dir): New functions.
85675         (enter_dir, leave_dir): Define trivial
85676         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
85677         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
85678         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
85679         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
85680         Move to fts-cycle.c.
85681         (fts_open): Use setup_dir.
85682         (fts_close): Use free_dir.
85683         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
85684         This adds a label and some gotos, but the alternatives were messier.
85685         Check for memory allocation failure when entering a dir.
85686         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
85687         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
85688         (FTS): New member fts_cycle, that is a union that contains the
85689         old active_dir_ht and cycle_state.  All uses changed to mention
85690         fts_cycle.ht and fts_cycle.state.
85691         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
85692         fts.c, with the following changes:
85693         (setup_dir, free_dir): New functions.
85694         (enter_dir): Now returns bool.  Return true if successful, false
85695         if memory exhausted.  All callers changed.
85696         Do not bother partly cleaning up on
85697         memory allocation failure; that is free_dir's job.
85698         However, free ad if hash_insert fails, to avoid memory leak.
85699         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
85700         fts->fts_options to see which union member to use.
85701
85702 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85703
85704         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
85705         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
85706
85707 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
85708
85709         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
85710
85711 2005-05-20  Jim Meyering  <jim@meyering.net>
85712
85713         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
85714         Now a macro, to pacify GCC.
85715
85716 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
85717
85718         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
85719         of -1.
85720
85721 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
85722
85723         * lib/chown.c (rpl_chown): Return -1 on failure.
85724
85725 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
85726
85727         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
85728         Don't check for stddef.h.
85729         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
85730         don't use its results.
85731         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
85732         since we include them unconditionally.  Don't require
85733         AM_STDBOOL_H, since stdbool is a prerequisite.
85734         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
85735         since we assume C89 or better.
85736         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
85737         as we don't use their results.
85738         Don't check for fchdir, memmove, memset, strrchr, as we use
85739         them unconditionally.
85740         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
85741         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
85742
85743 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
85744
85745         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
85746         Include <stddef.h> unconditionally, since we assume C89 now.
85747         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
85748         * lib/fts.c: Include fts_.h first, to check interface.
85749         Do not include intprops.h; no longer needed.
85750         Include cycle-check.h and hash.h, since fts_.h no longer does.
85751         Remove unnecessary casts of closedir to void.
85752         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
85753         decide whether to decrement nlinks.
85754         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
85755         (FTS): Use struct hash_table * instead of Hash_table, so that
85756         we no longer need to include hash.h here.
85757
85758 2005-05-18  Jim Meyering  <jim@meyering.net>
85759
85760         * modules/dirfd (License): Change to LGPL.  Most of the code
85761         is already in the public domain.
85762
85763 2005-05-18  Jim Meyering  <jim@meyering.net>
85764
85765         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
85766         Reported by Yoann Vandoorselaere.
85767
85768 2005-05-17  Jim Meyering  <jim@meyering.net>
85769
85770         * m4/fts.m4: New file, from coreutils.
85771
85772 2005-05-17  Jim Meyering  <jim@meyering.net>
85773
85774         * lib/fts.c, lib/fts_.h: New files, from coreutils.
85775
85776 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
85777
85778         Sync from coreutils.
85779         * m4/unlinkdir.m4: New file.
85780
85781 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
85782
85783         Sync from coreutils.
85784         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
85785         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
85786         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
85787         White space changes only.
85788         * lib/makepath.c (make_path): Port to hosts where leading "//" is
85789         special.
85790         * lib/yesno.c: Include getline.h, not ctype.h.
85791         (yesno): Don't remove leading white space; POSIX doesn't allow it.
85792         Use getline to remove arbitrary restriction on response length.
85793
85794 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
85795
85796         * config/srclist-update: Spell out "Street" in FSF postal
85797         mail address; this is the style the FSF seems to prefer.
85798
85799         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
85800         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
85801         this updates FSF postal mail address.
85802
85803         Sync from coreutils.
85804         * modules/unlinkdir: New file.
85805         * modules/yesno (Depends-on): Add getline.
85806         * MODULES.html.sh (File system functions): Add unlinkdir.
85807
85808 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
85809
85810         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
85811         lib/strsep.h:
85812         Change the initial comment to refer to GPL, not LGPL.
85813         gnulib-tool will change it to LGPL as needed.
85814
85815         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
85816         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
85817         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
85818         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
85819         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
85820         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
85821         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
85822         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
85823         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
85824         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
85825         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
85826         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
85827         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
85828         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
85829         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
85830         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
85831         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
85832         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
85833         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
85834         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
85835         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
85836         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
85837         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
85838         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
85839         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
85840         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
85841         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
85842         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
85843         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
85844         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
85845         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
85846         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
85847         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
85848         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
85849         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
85850         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
85851         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
85852         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
85853         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
85854         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
85855         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
85856         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
85857         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
85858         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
85859         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
85860         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
85861         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
85862         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
85863         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
85864         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
85865         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
85866         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
85867         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
85868         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
85869         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
85870         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
85871         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
85872         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
85873         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
85874         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
85875         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
85876         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
85877         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
85878         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
85879         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
85880         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
85881         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
85882         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
85883         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
85884         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
85885         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
85886         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
85887         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
85888         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
85889         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
85890         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
85891         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
85892         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
85893         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
85894         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
85895         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
85896         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
85897         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
85898         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
85899         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
85900         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
85901         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
85902         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
85903         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
85904         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
85905         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
85906         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
85907         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
85908         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
85909         lib/yesno.c, lib/yesno.h:
85910         Update FSF postal mail address.
85911
85912 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
85913
85914         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
85915         tests/test-memmem.c, tests/test-stpncpy.c:
85916         Update FSF postal mail address.
85917
85918 2005-05-13  Bruno Haible  <bruno@clisp.org>
85919
85920         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
85921         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
85922         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
85923         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
85924         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
85925         Add support for 64-bit integers in the MSVC compiler.
85926
85927 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
85928
85929         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
85930
85931 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
85932
85933         * gnulib-tool (func_import): Sort and uniquify recommended includes.
85934
85935 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
85936
85937         * doc/getdate.texi (General date syntax): Don't say that date
85938         date --iso-8601=ns generates acceptable dates; it doesn't yet.
85939         Problem reported by Nic Ferrier.
85940
85941 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85942
85943         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
85944         specified in ai_socktype. Fix invalid ai_protocol
85945         check. ai_protocol is usually set to 0 or depending on
85946         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
85947         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
85948         ai_socktype / ai_protocol in the returned addrinfo structure.
85949
85950 2005-05-10  Simon Josefsson  <jas@extundo.com>
85951
85952         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
85953         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85954
85955 2005-05-10  Karl Berry  <karl@gnu.org>
85956
85957         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
85958         (from http://www.gnu.org/licenses).
85959         * doc/COPYING.LIB: also rename to COPYING.LESSER.
85960         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
85961         fdl.texi suffices.
85962
85963 2005-05-10  Karl Berry  <karl@gnu.org>
85964
85965         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
85966         (COPYING.DOC): remove.
85967
85968         * config/srclist-update: new FSF address.
85969
85970 2005-05-10  Derek Price  <derek@ximbiot.com>
85971
85972         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
85973         possible.
85974
85975 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85976             Bruno Haible  <bruno@clisp.org>
85977
85978         * modules/inet_ntop: New file.
85979         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85980         inet_ntop.
85981
85982 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85983             Bruno Haible  <bruno@clisp.org>
85984
85985         * m4/inet_ntop.m4: New file.
85986
85987 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
85988             Bruno Haible  <bruno@clisp.org>
85989
85990         * lib/inet_ntop.h: New file.
85991         * lib/inet_ntop.c: New file, from glibc with modifications.
85992
85993 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
85994
85995         * modules/time_r (License): Change to LGPL.
85996         * modules/extensions (License): Change to LGPL.  Actually,
85997         the license is more permissive than that, but currently gnulib-tool
85998         doesn't know how to handle more-permissive licenses.
85999
86000         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
86001         Problem reported by Dave Love.
86002
86003 2005-05-08  Jim Meyering  <jim@meyering.net>
86004
86005         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
86006         blank.
86007
86008 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86009
86010         * modules/argmatch (Depends-on): Add stdbool.
86011         * modules/backupfile (Depends-on): Likewise.
86012         * modules/chdir-long (Depends-on): Likewise.
86013         * modules/closeout (Depends-on): Likewise.
86014         * modules/cycle-check (Depends-on): Likewise.
86015         * modules/dirname (Depends-on): Likewise.
86016         * modules/fnmatch (Depends-on): Likewise.
86017         * modules/fsusage (Depends-on): Likewise.
86018         * modules/fwriteerror (Depends-on): Likewise.
86019         * modules/getcwd (Depends-on): Likewise.
86020         * modules/getloadavg (Depends-on): Likewise.
86021         * modules/hard-locale (Depends-on): Likewise.
86022         * modules/makepath (Depends-on): Likewise.
86023         * modules/mountlist (Depends-on): Likewise.
86024         * modules/nanosleep (Depends-on): Likewise.
86025         * modules/posixtm (Depends-on): Likewise.
86026         * modules/quotearg (Depends-on): Likewise.
86027         * modules/readtokens (Depends-on): Likewise.
86028         * modules/readtokens0 (Depends-on): Likewise.
86029         * modules/readutmp (Depends-on): Likewise.
86030         * modules/save-cwd (Depends-on): Likewise.
86031         * modules/strftime (Depends-on): Likewise.
86032         * modules/userspec (Depends-on): Likewise.
86033         * modules/utimecmp (Depends-on): Likewise.
86034         * modules/xgetcwd (Depends-on): Likewise.
86035         * modules/xnanosleep (Depends-on): Likewise.
86036         * modules/xstrtod (Depends-on): Likewise.
86037         * modules/yesno (Depends-on): Likewise.
86038
86039 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
86040
86041         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
86042         needless checks.
86043
86044 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86045
86046         Merge from coreutils.  Among other things,
86047         add bulletproofing for cases where stdin, stdout, or stderr are closed.
86048         * lib/fd-safer.c: New file.
86049         * lib/fcntl-safer.h, open-safer.c: Remove.
86050         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
86051         * lib/dup-safer.c: Include unistd-safer.h first.
86052         Don't include errno.h.
86053         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
86054         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
86055         * lib/file-type.c: Rely on file-type.h change.
86056         * lib/getloadavg.c: Include unistd-safer.h.
86057         (getloadavg): Use safer open.
86058         * lib/getusershell.c: Include "stdio-safer.h".
86059         (getusershell): Use safer fopen.
86060         * lib/long-options.c (long_options): Use NULL rather than 0.
86061         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
86062         'free'.
86063         * lib/modechange.c: Likewise.
86064         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
86065         (MODE_DONE): New constant.
86066         (struct mode_change): Remove 'next' member.
86067         (make_node_op_equals): New function; like the old one of the
86068         same name, except it allocates an array.
86069         (mode_compile, mode_create_from_ref): Use it.
86070         (mode_compile): Allocate result as an array, not a linked list.
86071         Parse octal string ourself, so that we catch mistakes like "+0".
86072         (mode_adjust): Arg is an array, not a linked list.
86073         * lib/modechange.c: Include stat-macros.h, xalloc.h.
86074         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
86075         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
86076         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
86077         Remove.  This is now stat-macros.h's job.
86078         (talloc): Remove.  All callers replaced by xalloc, so that
86079         our invokers don't have to worry about reporting memory failures.
86080         (make_node_op_equals): Remove.
86081         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
86082         New constants.
86083         (struct mode_change): Moved here from modechange.h.
86084         (mode_append_entry): Remove.
86085         (mode_compile): Remove MASKED_OPS arg, since it encouraged
86086         apps to have incorrect behavior.  Use simpler algorithm for head
86087         and tail.  Don't futz with umask; that's now the job of mode_adjust.
86088         Detect more invalid usages rather than having somewhat-random behavior.
86089         Don't insert an "a=" action, as that leads to incorrect behavior.
86090         (mode_compile, mode_create_from_ref): Return NULL on error instead
86091         of an enum, since now there's only one way to have an error.  All
86092         callers changed.
86093         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
86094         at the correct time.  Simplify calculation of "+u" and its ilk.
86095         Don't mishandle "+X".
86096         (mode_free): Remove "register" and localize decls.
86097         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
86098         (struct mode_change): Move to modechange.c; callers don't
86099         need to see this stuff.
86100         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
86101         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
86102         (mode_change, mode_adjust): Reflect the new signatures noted above.
86103         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
86104         that might redefine system include files.
86105         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
86106         (my_usleep): Use NULL rather than (void *) 0.
86107         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
86108         Use siginterrupt to specify that system calls should be interrupted.
86109         (rpl_nanosleep): Move initialization of suspended closer to call of
86110         my_usleep.
86111         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
86112         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
86113         (desirable_utmp_entry): New function.
86114         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
86115         using x2nrealloc, to simplify logic.
86116         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
86117         size calculation.  Do not assume utmp file is a regular file.
86118         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
86119         (READ_UTMP_CHECK_PIDS): New constant.
86120         * lib/save-cwd.c: Include unistd-safer.h.
86121         (save_cwd): Use fd_safer.
86122         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
86123         [!_LIBC] Include "stat-macros.h" instead.
86124         * lib/unistd-safer.h (fd_safer): New decl.
86125
86126 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86127
86128         * modules/getloadavg (Depends-on): Add unistd-safer.
86129         * modules/getusershell (Depends-on): Add stdio-safer.
86130         * modules/lstat (Depends-on): Remove xalloc.
86131         * modules/mkstemp (Depends-on): Add stat-macros.
86132         * modules/modechange (Depends-on): Remove xstrtol.
86133         Add stat-macros, xalloc.
86134         * modules/save-cwd (Depends-on): Add unistd-safer.
86135         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
86136         * modules/unistd-safer (Files): Add lib/fd-safer.c
86137         (Makefile.am): Remove lib_SOURCES.
86138
86139         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
86140         Remove fcntl-safer; unistd-safer supersedes it.
86141
86142 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86143
86144         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
86145         AC_HEADER_STAT.
86146         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
86147         (gl_PREREQ_CHOWN): Remove.
86148         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
86149         it.  Don't require AC_HEADER_STAT.
86150         (gl_PREREQ_LSTAT): Remove.
86151         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
86152         Don't require AC_HEADER_STAT.
86153         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
86154         (gl_PREREQ_RMDIR): Remove.
86155         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
86156         mention stat-macros.h or AC_HEADER_STAT, since we'll make
86157         the stat-macros module a prerequisite.
86158         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
86159         * m4/filemode.m4 (gl_FILEMODE): Likewise.
86160         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
86161         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
86162         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
86163         variable names.
86164         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
86165         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
86166         variable prefixes.
86167         * m4/fcntl-safer.m4: Remove.
86168         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
86169         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
86170         Invoke gl_PREREQ_FD_SAFER.
86171         (gl_PREREQ_FD_SAFER): New macro.
86172         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
86173         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
86174         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
86175         Remove duplicate call to AC_LIBOBJ(readutmp).
86176         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
86177
86178         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
86179         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
86180
86181 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
86182
86183         * MODULES.html.sh (Misc): Add byteswap.
86184
86185 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86186
86187         * modules/getcwd (Depends-on): Add extensions.
86188         * modules/openat (Depends-on): Likewise.
86189
86190 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86191
86192         * modules/byteswap: New file.
86193
86194 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86195
86196         * m4/byteswap.m4: New file.
86197
86198 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
86199
86200         * lib/byteswap_.h: New file.
86201
86202 2005-04-25  Karl Berry  <karl@gnu.org>
86203
86204         * m4/gettext.m4: Update from GNU gettext 0.14.4.
86205
86206 2005-04-25  Albert Chin  <china@thewrittenword.com>
86207
86208         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
86209         Toolkit C bug.
86210
86211 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
86212
86213         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
86214         (func_ln_if_changed): Remove forcibly for no error message
86215         in case file does not exist.
86216
86217 2005-04-19  Simon Josefsson  <jas@extundo.com>
86218
86219         * gnulib-tool (Options): Make --symlink mean --symbolic.
86220
86221 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
86222
86223         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
86224
86225 2005-04-16  Simon Josefsson  <jas@extundo.com>
86226
86227         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
86228
86229 2005-04-15  Simon Josefsson  <jas@extundo.com>
86230
86231         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
86232
86233 2005-04-15  Simon Josefsson  <jas@extundo.com>
86234
86235         * gnulib-tool: Rename --symlink to --symbolic.
86236
86237 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
86238
86239         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
86240         symbolic links to files instead of copying/moving.  Add --aux-dir,
86241         specifying directory relative --dir where auxiliary build tools
86242         are placed.
86243
86244 2005-04-14  Bruno Haible  <bruno@clisp.org>
86245
86246         * modules/allocsa (License): Change to LGPL.
86247         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
86248
86249 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
86250
86251         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
86252         that "UTC +1 second" continues to work.  Problem reported
86253         by Dmitry V. Levin.
86254         (relunit_snumber): New rule.
86255         (relunit): Use it.
86256
86257 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
86258
86259         * lib/getdate.y (universal_time_zone_table): New constant.
86260         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
86261         universal_time_zone_table.
86262         (lookup_zone): Prefer universal_time_zone_table to
86263         local_time_zone_table, so that "GMT" time stamps are allowed in
86264         London during the summer.  Problem reported by Ian Abbott.
86265
86266 2005-04-12  Jim Meyering  <jim@meyering.net>
86267
86268         * lib/human.c (humblock): Set *options even when returning due to
86269         xstrtoumax conversion failure.  Thanks to a used-uninitialized
86270         warning from gcc-4.
86271
86272 2005-04-09  Jim Meyering  <jim@meyering.net>
86273
86274         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
86275         -Wuninitialized: initialize tm0.tm_year.
86276
86277 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
86278
86279         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
86280         count, since there's no maximum.  All uses changed.
86281         Add member dsts_seen.
86282         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
86283         not being INT_MAX.
86284         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
86285         Use pc_rels_seen to decide whether a date is absolute.
86286
86287         * lib/getdate.y (number): Don't overwrite year.
86288         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
86289         check.
86290
86291 2005-04-02  Simon Josefsson  <jas@extundo.com>
86292
86293         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
86294         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
86295
86296 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
86297
86298         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
86299         where no absolute path name can be longer than PATH_MAX.
86300
86301 2005-03-27  Jim Meyering  <jim@meyering.net>
86302
86303         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
86304
86305 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
86306
86307         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
86308         "one's complement" -> "ones' complement" in comment, as per Knuth.
86309         "value of type" -> "type or expression" in comment.
86310         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
86311
86312 2005-03-26  Jim Meyering  <jim@meyering.net>
86313
86314         Comment nits.
86315         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
86316         Correct typos: s/or/of/.
86317
86318 2005-03-26  Jim Meyering  <jim@meyering.net>
86319
86320         * modules/check-include-files: Move to ../ and rename to...
86321         * check-module: ...this.
86322
86323 2005-03-25  Jim Meyering  <jim@meyering.net>
86324
86325         * modules/xvasprintf (Files): Add xalloc.h.
86326
86327 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
86328
86329         * modules/gettext (Files): config/config.rpath ->
86330         build-aux/config.rpath
86331         * modules/iconv (Files): Likewise.
86332         Problem reported by Oskar Liljeblad.
86333
86334 2005-03-23  Jim Meyering  <jim@meyering.net>
86335
86336         * modules/check-include-files: New script to check for
86337         missing dependencies, multiple includes, etc.
86338
86339         * modules/c-strtold (Depends-on): Add xalloc.
86340         * modules/c-strtod (Depends-on): Add xalloc.
86341         * modules/hash (Depends-on): Add xalloc.
86342         (Files): Remove lib/xalloc.h.
86343
86344         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
86345         * modules/userspec (Files): Add lib/inttostr.h.
86346
86347 2005-03-23  Jim Meyering  <jim@meyering.net>
86348
86349         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
86350
86351 2005-03-22  Jim Meyering  <jim@meyering.net>
86352
86353         * modules/stat-macros: New module.
86354         * modules/canonicalize, modules/euidaccess, modules/file-type,
86355         * modules/filemode, modules/lchown, modules/makepath,
86356         * modules/rmdir, modules/stat: Depend on new stat-macros module
86357         rather than listing lib/stat-macros.h manually.
86358         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
86359
86360 2005-03-22  Jim Meyering  <jim@meyering.net>
86361
86362         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
86363
86364 2005-03-22  Bruno Haible  <bruno@clisp.org>
86365
86366         * config/srclist.txt: Replace target directory 'config' with
86367         'build-aux'.
86368         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
86369         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
86370         ../build-aux/.
86371
86372 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
86373
86374         * modules/chdir-long (Depends-on): Add mempcpy.
86375
86376         * modules/acl, modules/backupfile, modules/c-strtod,
86377         modules/c-strtold, modules/canon-host, modules/canonicalize,
86378         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
86379         modules/exclude, modules/exitfail, modules/file-type,
86380         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
86381         modules/getdate, modules/getline, modules/getpagesize,
86382         modules/getpass, modules/getugroups, modules/group-member,
86383         modules/hard-locale, modules/hash, modules/human, modules/idcache,
86384         modules/inttostr, modules/long-options, modules/makepath,
86385         modules/md5, modules/memcasecmp, modules/memcoll,
86386         modules/modechange, modules/mountlist, modules/path-concat,
86387         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
86388         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
86389         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
86390         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
86391         modules/strftime, modules/strndup, modules/strverscmp,
86392         modules/timespec, modules/unlocked-io, modules/userspec,
86393         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
86394         modules/yesno:
86395         Remove lib_SOURCES line from Makefile.am section, as this is now
86396         done automatically by the corresponding Autoconf macro.
86397
86398 2005-03-21  Jim Meyering  <jim@meyering.net>
86399
86400         Changes imported from coreutils.
86401
86402         * lib/cycle-check.c: Don't include xalloc.h.
86403
86404         * lib/path-concat.c: Don't include assert.h.
86405         (path_concat): Remove assertion that would have triggered
86406         for ABASE starting with more than one slash.
86407         Reported by Andreas Schwab.
86408
86409         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
86410         properly when ABASE is an absolute file name.
86411         Correct the description of this function.
86412         Include <assert.h>.
86413         Add an assertion and a test driver.
86414         This fixes a bug introduced on 2004-07-02.
86415         Andreas Schwab reported the resulting failure of cp --parents:
86416         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
86417
86418 2005-03-21  Jim Meyering  <jim@meyering.net>
86419
86420         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
86421         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
86422
86423 2005-03-21  Jim Meyering  <jim@meyering.net>
86424         and  Paul Eggert  <eggert@cs.ucla.edu>
86425
86426         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
86427         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
86428         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
86429         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
86430         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
86431         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
86432         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
86433         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
86434         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
86435         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
86436         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
86437         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
86438         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
86439         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
86440         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
86441         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
86442         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
86443         for these modules.
86444
86445 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
86446
86447         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
86448         (which shouldn't happen), generate nothing instead of returning 0
86449         immediately, so that nstrftime (NULL, ...) doesn't return 0.
86450
86451 2005-03-16  Bruno Haible  <bruno@clisp.org>
86452
86453         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
86454         HAVE_LONGLONG_64BIT.
86455
86456 2005-03-16  Bruno Haible  <bruno@clisp.org>
86457
86458         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
86459         HAVE_LONGLONG_64BIT.
86460
86461 2005-03-16  Bruno Haible  <bruno@clisp.org>
86462
86463         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
86464         HAVE_LONGLONG_64BIT.
86465
86466 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
86467
86468         * lib/strftime.c (my_strftime): Prepend space to format so that we can
86469         reliably distinguish strftime failure from empty output on POSIX
86470         hosts.
86471
86472 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
86473
86474         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
86475         (iconv_string): Don't guess a size-zero buffer, as that might cause
86476         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
86477         result would be 'too large', where 'too large' is (heuristically)
86478         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
86479         overflow concerns.  This will prevent some unwanted malloc failures
86480         when the inputs are very large.
86481
86482 2005-03-15  Karl Berry  <karl@gnu.org>
86483
86484         * config/srclist.txt (config.rpath): from gettext.
86485         * config/config.rpath: update.
86486
86487 2005-03-15  Bruno Haible  <bruno@clisp.org>
86488
86489         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
86490         to 'negate'.
86491
86492         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
86493         variable.
86494
86495         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
86496         results.
86497
86498 2005-03-14  Simon Josefsson  <jas@extundo.com>
86499
86500         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
86501         <fx@gnu.org>.
86502
86503 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
86504
86505         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
86506         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
86507         intprops.h.
86508         * lib/strtol.c: Likewise.
86509
86510 2005-03-14  Jim Meyering  <jim@meyering.net>
86511
86512         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
86513         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
86514         to be nonzero so that we (and caller) can detect the difference
86515         between a valid zero-length expansion and an error return, even
86516         when the underlying strftime fails before writing anything into
86517         that location.
86518
86519 2005-03-14  Bruno Haible  <bruno@clisp.org>
86520
86521         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
86522         Update from GNU gettext 0.14.3.
86523
86524 2005-03-10  Jim Meyering  <jim@meyering.net>
86525
86526         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
86527
86528 2005-03-10  Jim Meyering  <jim@meyering.net>
86529
86530         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
86531         so that this module works on systems without fchdir.
86532
86533 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
86534
86535         Factor int-properties macros into a single file, except for
86536         glibc-related files.
86537         * lib/intprops.h: New file.
86538         * lib/getloadavg.c: Include it instead of limits.h.
86539         (INT_STRLEN_BOUND): Remove.
86540         * lib/human.c: Include intprops.h.
86541         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
86542         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
86543         302/1000.
86544         * lib/inttostr.h: Include intprops.h instead of limits.h.
86545         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
86546         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
86547         for consistency with intprops.h.
86548         (time_t_is_integer, twos_complement_arithmetic): Use them.
86549         * lib/sig2str.h: Include <signal.h>, intprops.h.
86550         (INT_STRLEN_BOUND): Remove.
86551         * lib/strftime.c (TYPE_SIGNED): Remove.
86552         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
86553         * lib/strtol.c: Adjust comments to match intprops.h.
86554         * lib/userspec.c: Include intprops.h.
86555         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
86556         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
86557         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
86558         instead of rolling our own expressions.
86559         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
86560
86561         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
86562         instead of int.
86563         (my_strftime): Do not mishandle years close to INT_MAX, by doing
86564         the right thing even if adding 1900 would overflow.  Similarly
86565         for tm_mon + 1 and tm_yday + 1.
86566         Make %Y always equivalent to %C%y, and similarly for %G and %g.
86567         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
86568         (DO_SIGNED_NUMBER): New macro.
86569         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
86570
86571 2005-03-07  Bruno Haible  <bruno@clisp.org>
86572
86573         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
86574
86575 2005-03-07  Bruno Haible  <bruno@clisp.org>
86576
86577         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
86578
86579 2005-03-04  Derek R. Price  <derek@ximbiot.com>
86580
86581         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
86582         (func_import): Only replace files via --import when they have actually
86583         changed.
86584
86585 2005-03-03  Derek R. Price  <derek@ximbiot.com>
86586
86587         * m4/mmap-anon.m4: New file.
86588         * m4/pagealign_alloc.m4: New file.
86589
86590 2005-03-03  Derek R. Price  <derek@ximbiot.com>
86591             Bruno Haible  <bruno@clisp.org>
86592
86593         * modules/pagealign_alloc: New file.
86594         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
86595
86596 2005-03-03  Derek R. Price  <derek@ximbiot.com>
86597             Bruno Haible  <bruno@clisp.org>
86598
86599         * lib/pagealign_alloc.h: New file.
86600         * lib/pagealign_alloc.c: New file.
86601
86602 2005-03-03  Bruno Haible  <bruno@clisp.org>
86603
86604         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
86605         Use an all-permissive copyright notice, recommended by RMS.
86606
86607 2005-03-02  Bruno Haible  <bruno@clisp.org>
86608
86609         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
86610         of AIX, the replacement has to be done only after <string.h> is
86611         included, therefore not in config.h. stpncpy.h does the replacement,
86612         and stpncpy.c uses it.
86613
86614 2005-03-02  Bruno Haible  <bruno@clisp.org>
86615
86616         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
86617         stpncpy.c uses it.
86618
86619 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
86620
86621         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
86622         The workaround isn't strictly needed for POSIX conformance, and
86623         it's too much of a pain to configure and maintain.  We'll ask
86624         people to fix their kernels instead.
86625         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
86626         (NANOSLEEP_BUG_WORKAROUND): Remove.
86627         (xnanosleep): Remove the workaround.
86628
86629 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
86630
86631         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
86632         Reported by Derek Price.
86633         (Include): Add "timespec.h".
86634
86635         * modules/xnanosleep (Depends-on): Remove gethrxtime.
86636
86637 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
86638
86639         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
86640         to detect nanosleep bug.
86641
86642 2005-03-01  Bruno Haible  <bruno@clisp.org>
86643
86644         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
86645
86646 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
86647
86648         * modules/gethrxtime: New file.
86649         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
86650         (Depends-on): Add gethrxtime.
86651         (configure.ac): Add gl_XNANOSLEEP.
86652         (Makefile.am): Remove lib_SOURCES line.
86653
86654 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
86655
86656         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
86657         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
86658
86659 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
86660
86661         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
86662         * lib/timespec.h (gettime): Return void, since it always
86663         succeeds now.  All uses changed.
86664         * lib/gettime.c (gettime): Likewise.
86665         [HAVE_NANOTIME]: Prefer nanotime.
86666         Assume gettimeofday succeeds, as POSIX requires.
86667         Assime time () succeeds, since other code already does.
86668         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
86669         (timespec_subtract): Remove.
86670         (NANOSLEEP_BUG_WORKAROUND): New constant.
86671         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
86672         things considerably.  Use it only on GNU/Linux hosts, since the
86673         workaround shouldn't be needed elsewhere.
86674
86675 2005-02-24  Bruno Haible  <bruno@clisp.org>
86676
86677         * modules/gettext (Files): Add m4/glibc2.m4.
86678
86679 2005-02-24  Bruno Haible  <bruno@clisp.org>
86680
86681         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
86682         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
86683         * m4/progtest.m4:
86684         Update from GNU gettext 0.14.2.
86685         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
86686
86687 2005-02-24  Bruno Haible  <bruno@clisp.org>
86688
86689         * lib/localcharset.c: Update from GNU gettext 0.14.2.
86690         * lib/config.charset: Update from GNU gettext 0.14.2.
86691
86692 2005-02-24  Bruno Haible  <bruno@clisp.org>
86693
86694         * lib/gettext.h: Update from GNU gettext 0.14.2.
86695
86696 2005-02-23  Simon Josefsson  <jas@extundo.com>
86697
86698         * m4/iconvme.m4: New file.
86699
86700 2005-02-23  Jim Meyering  <jim@meyering.net>
86701
86702         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
86703         change.
86704         Thanks to Bruno Haible for catching it.
86705
86706 2005-02-22  Simon Josefsson  <jas@extundo.com>
86707
86708         * modules/iconvme: New file.
86709
86710         * MODULES.html.sh: Add iconvme.
86711
86712 2005-02-22  Simon Josefsson  <jas@extundo.com>
86713
86714         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
86715
86716 2005-02-22  Simon Josefsson  <jas@extundo.com>
86717
86718         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
86719
86720 2005-02-22  Jim Meyering  <jim@meyering.net>
86721
86722         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
86723         s/ifndef/ifdef/.
86724
86725 2005-02-20  Neil Conway  <neilc@samurai.com>
86726
86727         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
86728         returned by OSX/Darwin if the specified buffer is not large
86729         enough for the hostname.
86730
86731 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86732
86733         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
86734         pass it to _help, otherwise the latter coredumps trying to
86735         dereference state.root_argp.
86736
86737 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
86738
86739         * modules/chdir-long (Depends-on): Add memrchr.
86740         * modules/memrchr (Files): Add lib/memrchr.h.
86741         (Include): "memrchr.h".
86742
86743 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
86744
86745         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
86746
86747 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
86748
86749         * lib/memrchr.h: New file.
86750         * lib/chdir-long.c: Include it.
86751         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
86752         Don't bother including stddef.h.
86753
86754 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
86755
86756         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
86757         inclusion.
86758         Include <sys/types.h>, for dev_t.
86759         (ME_DUMMY, ME_REMOTE): Move from here....
86760         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
86761         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
86762         Dmitry V. Levin.
86763         Include mountlist.h first, to test the interface.
86764
86765 2005-01-29  Bruno Haible  <bruno@clisp.org>
86766
86767         * lib/progname.c (program_name): Initialize.
86768         Needed when linking statically on MacOS X.
86769
86770 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
86771
86772         Sync from coreutils.
86773         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
86774         (Depends-on): Add c-strtod.
86775         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
86776
86777 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
86778
86779         Sync from coreutils.
86780         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
86781
86782         Remove files that are specific to coreutils.
86783         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
86784
86785 2005-01-28  Bruno Haible  <bruno@clisp.org>
86786
86787         * modules/javacomp: New file.
86788         * MODULES.html.sh (Java): Add javacomp.
86789
86790 2005-01-28  Bruno Haible  <bruno@clisp.org>
86791
86792         * m4/javacomp.m4: New file, from GNU gettext.
86793
86794 2005-01-28  Bruno Haible  <bruno@clisp.org>
86795
86796         * lib/javacomp.sh.in: New file, from GNU gettext.
86797         * lib/javacomp.h: New file, from GNU gettext.
86798         * lib/javacomp.c: New file, from GNU gettext.
86799
86800 2005-01-26  Simon Josefsson  <jas@extundo.com>
86801
86802         * lib/gai_strerror.c: Use GPL in header.
86803
86804 2005-01-26  Bruno Haible  <bruno@clisp.org>
86805
86806         * modules/javaexec: New file.
86807         * MODULES.html.sh (Java): Add javaexec.
86808
86809 2005-01-26  Bruno Haible  <bruno@clisp.org>
86810
86811         * m4/javaexec.m4: New file, from GNU gettext.
86812
86813 2005-01-26  Bruno Haible  <bruno@clisp.org>
86814
86815         * lib/javaexec.sh.in: New file, from GNU gettext.
86816         * lib/javaexec.h: New file, from GNU gettext.
86817         * lib/javaexec.c: New file, from GNU gettext.
86818
86819 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86820
86821         * modules/lchown (Depends-on): Remove lchown.h
86822
86823 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86824
86825         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
86826         must be defined if the header file was not found, in order
86827         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
86828
86829 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86830
86831         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
86832         initializers for struct pentry_state.
86833         (__argp_error): Check return value of __asprintf
86834         (__argp_failure): Translate error message
86835
86836         * lib/argp-parse.c: Removed braces around the expansion of N_()
86837
86838 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
86839
86840         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
86841         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
86842         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
86843         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
86844         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
86845         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
86846         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
86847         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
86848         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
86849         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
86850         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
86851         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
86852         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
86853         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
86854         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
86855         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
86856         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
86857         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
86858         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
86859         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
86860         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
86861         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
86862         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
86863         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
86864         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
86865         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
86866         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
86867         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
86868         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
86869         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
86870         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
86871         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
86872         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
86873         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
86874         xstrtol.m4, xstrtoumax.m4, yesno.m4:
86875         Use an all-permissive copyright notice, recommended by RMS.
86876
86877 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
86878
86879         * modules/chdir-long (Depends-on): Remove mempcpy.
86880
86881 2005-01-21  Jim Meyering  <jim@meyering.net>
86882
86883         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
86884         same value as for Solaris 9.
86885
86886         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
86887         component length.  This included changing the parameter to be
86888         of type `char *' rather than `char const *'.
86889         * lib/chdir-long.h (chdir_long): Update prototype.
86890
86891         * lib/openat.c (fdopendir, fstatat): New functions.
86892         * lib/openat.h: Include headers required for use of DIR and struct
86893         stat.
86894         [AT_SYMLINK_NOFOLLOW]: Define.
86895         (fdopendir, fstatat): Add prototypes.
86896
86897 2005-01-21  Bruno Haible  <bruno@clisp.org>
86898
86899         * modules/classpath: New file.
86900         * MODULES.html.sh (Java): Add classpath.
86901
86902 2005-01-21  Bruno Haible  <bruno@clisp.org>
86903
86904         * lib/classpath.h: New file, from GNU gettext.
86905         * lib/classpath.c: New file, from GNU gettext.
86906
86907 2005-01-20  Simon Josefsson  <jas@extundo.com>
86908
86909         * modules/version-etc-fsf: New file.
86910
86911 2005-01-20  Simon Josefsson  <jas@extundo.com>
86912
86913         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
86914         * lib/version-etc.c: Remove version_etc_copyright.
86915         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
86916         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
86917
86918 2005-01-20  Simon Josefsson  <jas@extundo.com>
86919
86920         * lib/base64.h (isbase64): Add.
86921
86922         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
86923         using a unsigned prototype, don't inline.
86924         (base64_decode): Use it.
86925
86926 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
86927
86928         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
86929         it.
86930
86931 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
86932
86933         * lib/save-cwd.c (save_cwd): Remove code to support the case
86934         where fchdir is missing or flaky.
86935
86936 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
86937
86938         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
86939
86940 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
86941
86942         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
86943         AC_LIBSOURCES now does this.
86944         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
86945         with new ullong_max module.
86946
86947 2005-01-19  Bruno Haible  <bruno@clisp.org>
86948
86949         * modules/sh-quote: New file.
86950         * MODULES.html.sh (Executing programs): Add sh-quote.
86951
86952 2005-01-19  Bruno Haible  <bruno@clisp.org>
86953
86954         * lib/sh-quote.h: New file, from GNU gettext.
86955         * lib/sh-quote.c: New file, from GNU gettext.
86956
86957 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
86958
86959         Merge from coreutils.
86960         * m4/ullong_max.m4: New file.
86961         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
86962         (gl_MACROS): Assume localeconv exists.
86963
86964 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
86965
86966         Merge changes from coreutils, as described below in several
86967         changelogs dated today.
86968
86969         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
86970         (O_DIRECTORY): Remove; not needed here, since "." must be
86971         a directory.  All uses removed.
86972         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
86973         universal on Suns, and we also need to test for IRIX.
86974         Revamp code to use 'if' rather than '#if'.
86975         Avoid unnecessary comparison of cwd->desc to 0.
86976
86977         * lib/utimens.c (futimens): Robustify the previous patch, by checking
86978         for known valid error numbers rather than observed invalid ones.
86979
86980 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
86981
86982         * modules/ullong_max: New file.
86983
86984         * modules/chdir-long, modules/openat: New files.
86985         * modules/save-cwd (Depends-on): Depend on chdir-long.
86986         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
86987
86988 2005-01-18  Jim Meyering  <jim@meyering.net>
86989
86990         Merge from coreutils.
86991         * m4/chdir-long.m4, m4/openat.m4: New files.
86992         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
86993         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
86994         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
86995         is sane and DOES follow symlinks.  Besides, testing 20 different
86996         systems found no broken chown implementations.
86997         Prompted by a change in rsync's copy of this macro.
86998         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
86999
87000         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
87001
87002         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
87003         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
87004         NULL-means-set-to-current-time semantics.
87005         Remove temporary file immediately, rather than waiting
87006         for configure's at-exit trap code to do it.
87007
87008 2005-01-18  Jim Meyering  <jim@meyering.net>
87009
87010         * lib/version-etc.c (version_etc_copyright): Update copyright date.
87011
87012         * lib/utimens.c (futimens): Account for the fact that futimes
87013         can also fail with errno == ENOSYS or errno == ENOENT.
87014         Patch from Dmitry V. Levin.
87015
87016         Change the name of the robust chdir function from chdir to chdir_long.
87017         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
87018         (restore_cwd): Use chdir_long, not chdir.
87019         * lib/chdir-long.c: Renamed from chdir.c.
87020         * lib/chdir-long.h: Renamed from chdir.h.
87021         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
87022         Hurd.
87023
87024 2005-01-18  Bruno Haible  <bruno@clisp.org>
87025
87026         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
87027         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
87028         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
87029         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
87030         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
87031         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
87032         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
87033         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
87034         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
87035         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
87036         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
87037         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
87038         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
87039         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
87040         Use an all-permissive copyright notice, recommended by RMS.
87041
87042 2005-01-18  Bob Proulx  <bob@proulx.com>
87043
87044         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
87045         simplify offsetof() macro construct to avoid compile failure with
87046         native HP-UX 11.0 ANSI C compiler.
87047
87048 2005-01-17  Bruno Haible  <bruno@clisp.org>
87049
87050         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
87051         redundant because stpncpy.m4 takes care of it.
87052
87053 2005-01-17  Bruno Haible  <bruno@clisp.org>
87054
87055         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
87056
87057 2005-01-17  Bruno Haible  <bruno@clisp.org>
87058
87059         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
87060         used.
87061
87062 2005-01-17  Bruno Haible  <bruno@clisp.org>
87063
87064         * lib/fwriteerror.h (fwriteerror): Change specification to include
87065         fclose.
87066         * lib/fwriteerror.c: Include <stdbool.h>.
87067         (fwriteerror): At the end, close the file stream. Record whether
87068         stdout was already closed.
87069
87070 2005-01-17  Bruno Haible  <bruno@clisp.org>
87071
87072         * lib/execute.c (environ): Declare if needed.
87073         * lib/pipe.c (environ): Likewise.
87074         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
87075
87076 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87077
87078         * modules/argp: Depend on vsnprintf
87079
87080 2005-01-10  Jim Meyering  <jim@meyering.net>
87081
87082         * modules/closeout (Depends-on): Add atexit.
87083
87084 2005-01-06  Bruno Haible  <bruno@clisp.org>
87085
87086         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
87087
87088 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
87089
87090         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
87091         definitions to be after all include files, to avoid collisions.
87092         Problem reported by Bob Proulx.
87093
87094 2005-01-04  Jim Meyering  <jim@meyering.net>
87095
87096         Changes imported from coreutils.
87097         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
87098         as the mkstemp template, use a temporary directory and an
87099         8.3-friendly template to avoid trouble on systems like DJGPP.
87100         Reported by Juan M. Guerrero via Stepan Kasal.
87101         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
87102         close. Remove the temporary directory right away, rather than waiting
87103         for configure's at-exit trap code to do it.
87104         Suggestion from Stepan Kasal.
87105
87106 2005-01-01  Simon Josefsson  <jas@extundo.com>
87107
87108         * gnulib-tool: Print #include directives when --import'ing.
87109
87110 2004-12-28  Simon Josefsson  <jas@extundo.com>
87111
87112         * tests/test-base64.c: Include required header files.  Remove
87113         unused variables.
87114
87115 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
87116
87117         * modules/error (Depends-on): Remove gettext.
87118
87119 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
87120
87121         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
87122         not needed.  This removes a dependency on the gettext module.
87123         [defined _LIBC]: Do not include <libintl.h>; not needed.
87124
87125 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
87126
87127         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
87128         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
87129
87130 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
87131
87132         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
87133         HAVE_DECL_STRTOLD.
87134
87135 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
87136
87137         * modules/getdate (Depends-on): Remove alloca-opt.
87138
87139 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
87140
87141         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
87142
87143 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
87144
87145         * lib/argp-parse.c: Include <stddef.h>.
87146         (alignof, alignto): New macros.
87147         (parser_init): Don't assume that void * is aligned sufficiently
87148         for struct option.
87149
87150         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
87151         need to extend the stack.
87152         (YYINITDEPTH): New macro, so that the initial stack isn't overly
87153         large.
87154
87155 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87156
87157         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
87158
87159 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
87160
87161         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
87162         (2004-10-24) change.  Apparently this was a false alarm.
87163
87164         * modules/getdate: Depend on alloca-opt, not alloca.
87165
87166 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
87167
87168         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
87169         Remove now-obsolete comment about AIX.
87170         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
87171         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
87172         (YYMAXDEPTH): New macro.
87173
87174 2004-12-18  Simon Josefsson  <jas@extundo.com>
87175
87176         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
87177
87178 2004-12-18  Bruno Haible  <bruno@clisp.org>
87179
87180         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
87181
87182 2004-12-18  Bruno Haible  <bruno@clisp.org>
87183
87184         * lib/fatal-signal.c (fatal_signals): Make non-const.
87185         (init_fatal_signals): New function.
87186         (uninstall_handlers, install_handlers): Ignore signals that were set to
87187         SIG_IGN.
87188         (at_fatal_signal): Call init_fatal_signals.
87189         (init_fatal_signal_set): Likewise. Ignore signals that were set to
87190         SIG_IGN.
87191         Reported by Paul Eggert.
87192
87193 2004-12-18  Bruno Haible  <bruno@clisp.org>
87194
87195         * doc/alloca.texi: New file.
87196         * doc/alloca-opt.texi: New file.
87197
87198 2004-12-17  Jim Meyering  <jim@meyering.net>
87199
87200         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
87201         Otherwise, install-sh could exit with improper exit status when
87202         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
87203
87204 2004-12-16  Simon Josefsson  <jas@extundo.com>
87205
87206         * tests/test-base64.c: Add license.
87207
87208 2004-12-15  Stepan Kasal  <address@hidden>
87209
87210         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
87211
87212 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
87213
87214         * modules/getcwd (Files): Add m4/d-ino.m4.
87215         Suggested by Mark D. Baushke.
87216
87217 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
87218
87219         * lib/getdate.y (textint): New member "negative".
87220         (time_zone_hhmm): New function.
87221         Expect 14 shift-reduce conflicts, not 13.
87222         (o_colon_minutes): New rule.
87223         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
87224         (yylex): Set the "negative" member of signed numbers.
87225
87226 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
87227
87228         * doc/getdate.texi (Time of day items, Time zone items):
87229         Describe new formats +00:00, UTC+00:00.
87230
87231 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
87232
87233         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
87234         spurious "-l"s.  Problem reported by Stepan Kasal.
87235
87236 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
87237
87238         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
87239         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
87240
87241 2004-12-04  Simon Josefsson  <jas@extundo.com>
87242
87243         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
87244         Vandoorselaere <yoann@prelude-ids.org>.
87245
87246 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
87247
87248         Changes imported from coreutils.
87249         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
87250         exist.
87251         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
87252
87253 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
87254
87255         Changes imported from coreutils.
87256         * lib/hard-locale.c: Assume <locale.h> exists.
87257         Include "strdup.h".
87258         (GLIBC_VERSION): New macro.
87259         (hard_locale): Assume setlocale exists.
87260         Rewrite to avoid #ifdef.
87261         Use strdup rather than malloc + strcpy.
87262         * lib/human.c: Assume <locale.h> exists.
87263         (human_readable): Assume localeconv exists.
87264
87265 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
87266
87267         * modules/hard-locale (Depends-on): Add strdup.
87268
87269 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
87270
87271         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
87272         convert T2, not T.  (Imported from libc.)
87273
87274 2004-11-30  Simon Josefsson  <jas@extundo.com>
87275
87276         * modules/restrict (License): Change to LGPL.
87277
87278 2004-11-30  Simon Josefsson  <jas@extundo.com>
87279
87280         * m4/restrict.m4: Add copyright and copying conditions.
87281
87282 2004-11-30  Simon Josefsson  <jas@extundo.com>
87283
87284         * m4/base64.m4: New file.
87285
87286 2004-11-30  Simon Josefsson  <jas@extundo.com>
87287
87288         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
87289         base64.
87290
87291         * tests/test-base64.c: New file.
87292
87293         * modules/base64: New file.
87294
87295 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
87296
87297         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
87298         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
87299
87300         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
87301
87302 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
87303
87304         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
87305         (__getcwd.c): Don't restore errno; glibc doesn't.
87306         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
87307         first, falling back to our code only if its results look suspicious.
87308         Ensure that the resulting buffer is only as large as necessary.
87309
87310         * lib/readutmp.c: Include readutmp.h first.
87311         Include <errno.h>, since readutmp.h no longer does that.
87312         * lib/readutmp.h: Don't include <errno.h>,
87313         <sys/param.h>, <time.h>; not needed to establish interface.
87314         (errno): Remove decl.
87315         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
87316         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
87317         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
87318
87319 2004-11-28  Simon Josefsson  <jas@extundo.com>
87320
87321         * lib/base64.h, base64.c: New file.
87322
87323 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
87324
87325         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
87326
87327 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
87328
87329         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
87330         (Depends-on): Remove pathmax, same.  Add mempcpy.
87331         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
87332         (Makefile.am): Append getcwd.h to lib_SOURCES.
87333         (Include): Add getcwd.h.
87334         (Maintainer): Change from Jim Meyering to "all, glibc",
87335         since getdate now uses intended-for-glibc code.
87336         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
87337         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
87338
87339 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
87340
87341         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
87342         HP's ANSI C compiler.
87343         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
87344         Declaring int functions causes warnings on some modern systems and
87345         shouldn't be needed to compile on ancient ones.
87346         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
87347         defined.
87348
87349         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
87350         with the following changes.
87351         (__set_errno): Parenthesize properly.
87352         Include <stdbool.h>.
87353         (MIN, MAX, MATCHING_INO): New macros.
87354         (__getcwd): Define with prototype, not K&R form.
87355         Use heuristics to allocate default buffer on stack if possible.
87356         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
87357         behavior, and to avoid the PATH_MAX limit when computing
87358         ../../../../...
87359         Use MATCHING_INO to compare inode number to file.
87360         Check for arithmetic overflow in size calculations.
87361         Fix bug in reallocation of dot array that caused getcwd to fail
87362         on directories nested deeper than 75.
87363         Be more careful about saving errno on error.
87364         Do not use realloc; use only free+malloc, as this is a bit
87365         more flexible and avoids a needless copy operation.
87366         Do not inspect st_dev and st_ino for symbolic links; POSIX
87367         doesn't specify the latter.
87368         Check for closedir errors.
87369         Avoid needless casts.
87370         Use "#ifdef weak_alias" around weak_alias, to be like other
87371         glibc code.
87372         The following changes to getcwd.c have effect only when used in
87373         gnulib; they have no effect inside glibc proper.
87374         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
87375         as alloca isn't used.
87376         (alloca, __alloca): Likewise.
87377         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
87378         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
87379         unconditionally, as gnulib assumes C89 or better.
87380         Do not include <sys/param.h>.
87381         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
87382         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
87383         better.
87384         (NULL) [!defined NULL]: Remove; we assume C89 or better.
87385         Include <dirent.h> in a way that is compatible with modern Autoconf.
87386         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
87387         New macros, if not already defined.
87388         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
87389         Use "_LIBC", not "defined _LIBC", for consistency.
87390         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
87391         a mempcpy module.
87392         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
87393         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
87394         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
87395         credit only to Jim Meyering and adjust the copyright dates.
87396         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
87397         <stdlib.h>, <unistd.h>, "pathmax.h".
87398         Instead, include "xgetcwd.h" (first) and "getcwd.h".
87399         (INITIAL_BUFFER_SIZE): Remove.
87400         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
87401
87402 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
87403
87404         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
87405         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
87406         Use the _ONCE methods, for efficiency.
87407         Check for fcntl.h.  In test program, include <errno.h>
87408         and <fcntl.h> if available.  Remove old K&R cruft from
87409         test program.  Check for common errors in GNU/Linux,
87410         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
87411         don't do AC_LIBOBJ, as that's getcwd.m4's job.
87412         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
87413         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
87414         name accordingly.
87415         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
87416         accommodate new getcwd.c.
87417         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
87418         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
87419         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
87420         that's all we need now.
87421
87422 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87423
87424         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
87425         argp-parse.c depends on getopt internals, that means we should
87426         always use our getopt, to be on the safe side.
87427         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
87428         order not to spoil the result of an eventual previous invocation
87429         of gl_GETOPT_SUBSTITUTE.
87430
87431 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87432
87433         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
87434         redefinition warnings. To avoid them, include the defines
87435         in `#if !defined __need_getopt ... #endif'. The only place
87436         where __getopt_argv_const is used is in definitions
87437         of getopt_long and getopt_long_only below, which are as well
87438         protected by `#ifndef __need_getopt'.
87439         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
87440         __need_getopt after including <stdio.h> and <unistd.h> These
87441         headers might have defined it.
87442
87443 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
87444
87445         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
87446
87447 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
87448
87449         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
87450         (futimens): New function, which uses futimes if available.
87451         (futimens, utimens): Support timespec==NULL, with same semantics
87452         as utime and utimens.
87453         * lib/utimens.h (futimens): New decl.
87454
87455 2004-11-23  Jim Meyering  <jim@meyering.net>
87456
87457         * lib/getopt_.h: Remove trailing blanks.
87458
87459 2004-11-23  Jim Meyering  <jim@meyering.net>
87460
87461         * lib/__fpending.c: Add comment.
87462
87463 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
87464
87465         * modules/canonicalize (Depends-on): Add xreadlink.
87466         Problem reported by James Youngman.
87467
87468 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
87469
87470         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
87471         New macros.
87472         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
87473         optopt): Use them instead of invoking ## directly; otherwise, the
87474         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
87475
87476 2004-11-19  Bruno Haible  <bruno@clisp.org>
87477
87478         * lib/strtok_r.c: Move comments from here...
87479         * lib/strtok_r.h: ... to here.
87480
87481 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
87482
87483         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
87484         implementations that mishandle size_t overflow.
87485
87486 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
87487
87488         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
87489         might fail.  Problem reported by Yoann Vandoorselaere.
87490         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
87491         implementations that mishandle size_t overflow.
87492
87493 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
87494
87495         * modules/canon-host (Depends-on): Add strdup.
87496
87497 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
87498
87499         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
87500
87501 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
87502
87503         * lib/canon-host.c: Include "strdup.h".
87504         (canon_host): Use getaddrinfo if available, so that IPv6 works.
87505         Use strdup instead of malloc/strcpy to duplicate strings.
87506
87507         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
87508         (human_space_before_unit): New constant.
87509         * lib/human.c (human_readable): Support it.
87510
87511         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
87512         (xgetcwd): Set errno correctly when failing.
87513         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
87514         the failure is actually due to a PATH_MAX problem.
87515
87516         Further getopt changes to make it more likely that glibc will
87517         buy the changes back.
87518         * lib/getopt.c (POSIXLY_CORRECT): New constant.
87519         (getopt): Use it, so to preserve glibc semantic
87520         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
87521         when compiling for libc.
87522         * lib/getopt_.h (__getopt_argv_const): Bring it back.
87523         (getopt_long, getopt_long_only): Use it.
87524
87525         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
87526         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
87527         (getopt): Argv is now char * const *, as per standard.
87528         (_getopt_internal_r, _getopt_internal): Argv is now char **,
87529         not char *__getopt_argv_const *.
87530         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
87531         _getopt_long_only_r): Likewise.
87532         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
87533         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
87534         _getopt_long_r, _getopt_long_only_r): Likewise.
87535         * lib/getopt_.h (__getopt_argv_const): Remove.
87536         (getopt): Argv is now char * const *, as per standard.
87537
87538         * lib/getdate.y (tORDINAL): New token.
87539         (day, relunit): Allow it for relative times.
87540         (relative_time_table): Use tORDINAL for ordinals.
87541
87542 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
87543
87544         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
87545         Document that "second" isn't allowed as an ordinal number.
87546
87547 2004-11-16  Jim Meyering  <jim@meyering.net>
87548
87549         * modules/closeout (Depends-on): Add fpending.
87550
87551 2004-11-15  Jim Meyering  <jim@meyering.net>
87552
87553         * lib/closeout.c: Include "__fpending.h" once again.
87554         Include <stdbool.h>.
87555         (close_stdout): Don't fail just because stdout was closed initially,
87556         since some programs don't write to stdout in the normal course of
87557         operation (other than --version and --help), and we don't want this
87558         function to make e.g. `touch file >&-' fail.
87559         But do fail if it was closed and someone has tried to write to it.
87560         E.g., `printf foo >&-' must fail.
87561
87562 2004-11-13  Jim Meyering  <jim@meyering.net>
87563
87564         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
87565
87566 2004-11-12  Simon Josefsson  <jas@extundo.com>
87567
87568         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
87569         small doc fix is still pending.
87570
87571 2004-11-11  Simon Josefsson  <jas@extundo.com>
87572
87573         * modules/strtok_r: New file.
87574
87575         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87576         strtok_r.
87577
87578 2004-11-11  Simon Josefsson  <jas@extundo.com>
87579
87580         * m4/strtok_r.m4: New file.
87581
87582         * m4/getopt.m4: Replace opterr.
87583
87584 2004-11-11  Simon Josefsson  <jas@extundo.com>
87585
87586         * lib/strtok_r.h, strtok_r.c: New file.
87587
87588 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
87589
87590         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
87591         of replacing opterr, getopt, etc.  This should handle the
87592         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
87593
87594 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
87595
87596         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
87597         we can stop lying to compilers about the constness of argv when we
87598         are compiled outside glibc.
87599         (getopt, getopt_long, getopt_long_only): Use it.
87600         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
87601         _getopt_internal, getopt): Likewise.
87602         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
87603         _getopt_long_only_r): Likewise.
87604         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
87605         _getopt_long_r, _getopt_long_only_r): Likewise.
87606
87607         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
87608         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
87609         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
87610         the other external symbols.
87611         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
87612         declaration, since the above renaming now works around collisions.
87613
87614 2004-11-11  Jim Meyering  <jim@meyering.net>
87615
87616         * lib/linebreak.c: Remove trailing blanks.
87617         * lib/alloca_.h: Likewise.
87618         * lib/acosl.c: Likewise.
87619         * lib/euidaccess.c: Likewise.
87620         * lib/allocsa.h: Likewise.
87621
87622 2004-11-10  Simon Josefsson  <jas@extundo.com>
87623
87624         * m4/getaddrinfo.m4: New file.
87625
87626 2004-11-10  Simon Josefsson  <jas@extundo.com>
87627
87628         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
87629
87630 2004-11-10  Simon Josefsson  <jas@extundo.com>
87631
87632         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87633         getaddrinfo.
87634
87635         * modules/getaddrinfo: New file.
87636
87637 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
87638
87639         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
87640
87641 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
87642
87643         * lib/mktime.c (SHR): New macro, which is a portable
87644         substitute for >> that should work even on Crays.
87645         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
87646         Problem reported by Mark D. Baushke in
87647         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
87648         * lib/getdate.y (SHR): Likewise.
87649         (tm_diff): Use it.
87650         * lib/strftime.c (SHR): Likewise.
87651         (tm_diff): Use it.
87652         * lib/quotearg.c (struct quoting_options): Use unsigned int for
87653         quote_these_too, so that right shifts are well defined.  All uses
87654         changed.
87655
87656 2004-11-10  Jim Meyering  <jim@meyering.net>
87657
87658         Ensure that no close failure goes unreported.
87659         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
87660         return early when it seems there's nothing to flush.
87661         Don't include __fpending.h.
87662
87663 2004-11-10  Jim Meyering  <jim@meyering.net>
87664
87665         * modules/closeout (Depends-on): Remove fpending.
87666
87667 2004-11-10  Jim Meyering  <jim@meyering.net>
87668
87669         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
87670
87671 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
87672
87673         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
87674         gl_FUNC_STRFTIME.
87675         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
87676         and AC_REQUIRE when possible, to avoid duplicate checks.
87677         Check for <wchar.h>.
87678
87679 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
87680
87681         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
87682
87683 2004-11-09  Bruno Haible  <bruno@clisp.org>
87684
87685         * m4/sockpfaf.m4: New file.
87686
87687 2004-11-05  Bruno Haible  <bruno@clisp.org>
87688
87689         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
87690         Reported by Mark D. Baushke <mdb@cvshome.org>.
87691
87692 2004-11-04  Bruno Haible  <bruno@clisp.org>
87693
87694         2004-09-11  Bruno Haible  <bruno@clisp.org>
87695                 * allocsa.valgrind: New file.
87696         2004-02-06  Bruno Haible  <bruno@clisp.org>
87697                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
87698                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
87699                 Reported by Christopher Seip <chris.seip@hp.com>.
87700
87701 2004-11-04  Bruno Haible  <bruno@clisp.org>
87702
87703         * modules/allocsa (Files): Add lib/allocsa.valgrind.
87704         (Makefile.am): Distribute it.
87705
87706 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
87707
87708         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
87709         with errno == ERANGE if the buffer is too small.
87710         Problem reported by Mark D. Baushke.
87711
87712 2004-11-03  Albert Chin  <china@thewrittenword.com>
87713             Paul Eggert  <eggert@cs.ucla.edu>
87714
87715         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
87716         equivalent, substitute $ac_type for equivalent type rather than
87717         blindly using uint32_t *always* which won't work if uint32_t is not
87718         available.  Define _UINT32_T to work around typedef of uint32_t if
87719         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
87720         2.5.1.
87721
87722 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
87723
87724         * m4/jm-macros.m4: Sync from coreutils.
87725         (gl_MACROS): Check for mbrlen, for pathchk.
87726         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
87727
87728 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
87729
87730         * lib/xreadlink.c (MAXSIZE): New macro.
87731         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
87732         size does not exceed MAXSIZE.  Avoid cast.
87733         As suggested by Mark D. Baushke in
87734         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
87735         if readlink fails with buffer size just under MAXSIZE, try again
87736         with MAXSIZE.
87737
87738 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
87739
87740         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
87741
87742 2004-11-02  Derek R. Price  <derek@ximbiot.com>
87743         and  Paul Eggert  <eggert@cs.ucla.edu>
87744
87745         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
87746         (get_date): Overparenthesize to avoid GCC warning.
87747
87748 2004-11-02  Bruno Haible  <bruno@clisp.org>
87749
87750         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
87751         returns void.
87752
87753 2004-11-02  Bruno Haible  <bruno@clisp.org>
87754
87755         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
87756         function returns void.
87757
87758 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
87759
87760         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
87761         fflush_unlocked, flockfile, funlockfile, funlockfile,
87762         fputs_unlocked, putc_unlocked.
87763
87764 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
87765
87766         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
87767         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
87768         already declared.
87769
87770 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
87771
87772         * modules/getdate (Files): Add doc/getdate.texi.
87773         (Depends-on): Add setenv, xalloc.
87774
87775 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
87776
87777         * lib/getdate.y: Add support for TZ="foo" within a date string.
87778         Fix some bugs near time_t boundaries.  Reject dates with
87779         out-of-range components, e.g., "Sept 31".
87780         Include <stdlib.h>, "setenv.h", "xalloc.h".
87781         (ISDIGIT_LOCALE): Remove; unused.
87782         Note that the TZ and time functions used here are not reentrant.
87783         (mktime_ok, get_tz): New functions.
87784         (TZBUFSIZE): New constant.
87785         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
87786         This requires that we sometimes generate our own TZ="XXX..." setting.
87787
87788 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
87789
87790         * doc/getdate.texi: New file, from coreutils with modifications for
87791         the new TZ parsing.
87792
87793 2004-10-27  Derek R. Price  <derek@ximbiot.com>
87794
87795         * lib/mktime.c (not_equal_tm): Remove redundant check.
87796
87797 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
87798
87799         * modules/regex (lib_SOURCES): Add regex.c.
87800         Reported by James Youngman in
87801         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
87802
87803 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
87804
87805         * lib/getdate.y: Use Bison 1.875 features, and some minor
87806         code cleanups.  This change does not affect semantics.
87807         Don't include <stdlib.h>; no longer needed.
87808         Don't include unlocked-io.h; only the "#if TEST" code uses
87809         stdio, and performance isn't crucial there.
87810         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
87811         Bison 1.875 features as described below.
87812         All uses of "PC." replaced by "pc->".
87813         (YYSTYPE): Add a forward declaration.
87814         (yylex, yyerror): Use full prototypes in forward decls.
87815         Use "%pure-parser" rather than obsolescent "%pure_parser".
87816         Use %parse-param and %lex-param instead of obsolescent
87817         YYPARSE_PARAM and YYLEX_PARAM.
87818         (meridian_table, month_and_day_table, time_units_table,
87819         relative_time_table, time_zone_table, military_table,
87820         lookup_zone, lookup_word, get_date):
87821         Use NULL instead of 0 where appropriate.
87822         (to_hour): Avoid abort (), to avoid a dependency on
87823         stdlib.h.
87824         (yyerror, yylex): Now accepts parser_control * arg.
87825         (main) [TEST]: Use '\0' rather than 0 for char.
87826
87827 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
87828
87829         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
87830
87831 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
87832
87833         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
87834         It's now the caller's responsibility to handle the case where
87835         !HAVE_GETPAGESIZE && !defined getpagesize.
87836
87837         * lib/mktime.c (leapyear): Arg is long int, not int.
87838
87839 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
87840
87841         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
87842
87843 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
87844
87845         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
87846         missing.  Problem reported by James Youngman.
87847
87848 2004-10-16  Simon Josefsson  <jas@extundo.com>
87849
87850         * gnulib-tool: Fix comments.  Fix parse problem.
87851         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
87852
87853 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
87854
87855         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
87856         implementation of getopt_long.  Problem reported by Alexander Taler in:
87857         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
87858
87859 2004-10-15  Bruno Haible  <bruno@clisp.org>
87860
87861         * gnulib-tool: Untabify. Initialize supplied_libname.
87862         (func_usage): More homogenous output.
87863         (func_modules_transitive_closure, func_modules_to_filelist,
87864         func_emit_lib_Makefile_am): New functions.
87865         (func_import): New function, extracted from big case statement. Use
87866         func_get_license, func_modules_transitive_closure,
87867         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
87868         opt_lgpl. Don't use test -a, as it's not portable.
87869         (func_create_testdir): Use func_modules_transitive_closure,
87870         func_modules_to_filelist, func_emit_lib_Makefile_am.
87871
87872 2004-10-15  Bruno Haible  <bruno@clisp.org>
87873
87874         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
87875
87876 2004-10-15  Bruno Haible  <bruno@clisp.org>
87877
87878         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
87879         the portions belonging to each module.
87880         Suggested by Derek Robert Price <derek@ximbiot.com>.
87881
87882 2004-10-12  Simon Josefsson  <jas@extundo.com>
87883
87884         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
87885         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
87886         to real functions.
87887
87888 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87889
87890         * modules/vsnprintf: New file.
87891
87892 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87893
87894         * m4/vsnprintf.m4: New file.
87895
87896 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
87897
87898         * lib/vsnprintf.h: New file.
87899         * lib/vsnprintf.c: New file.
87900
87901 2004-10-11  Bruno Haible  <bruno@clisp.org>
87902
87903         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
87904         vsnprintf.
87905
87906 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
87907
87908         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
87909
87910 2004-10-07  Bruno Haible  <bruno@clisp.org>
87911
87912         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
87913         fits into the provided buffer.
87914
87915 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
87916
87917         * lib/diacrit.c, diacrit.h: Add GPL notice.
87918
87919         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
87920         notice.
87921         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
87922         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
87923         This avoids a potential constant-folding bug.
87924
87925 2004-10-05  Bruno Haible  <bruno@clisp.org>
87926
87927         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
87928         for the declaration of strsep.
87929
87930 2004-10-05  Bruno Haible  <bruno@clisp.org>
87931
87932         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
87933
87934 2004-10-04  Simon Josefsson  <jas@extundo.com>
87935
87936         * modules/memmem: New file.
87937         * tests/test-memmem.c: New file.
87938         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
87939
87940 2004-10-04  Simon Josefsson  <jas@extundo.com>
87941
87942         * m4/memmem.m4: New file.
87943
87944 2004-10-04  Simon Josefsson  <jas@extundo.com>
87945
87946         * lib/memmem.h: New file.
87947         * lib/memmem.c: New file, taken from glibc.
87948
87949 2004-10-04  Simon Josefsson  <jas@extundo.com>
87950
87951         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
87952         '#ifdef USE_UNLOCKED_IO'.
87953
87954 2004-10-04  Simon Josefsson  <jas@extundo.com>
87955
87956         * config/srclist.txt: Add memmem from glibc.
87957
87958 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87959
87960         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
87961
87962         * modules/argmatch, modules/argp, modules/closeout, modules/error,
87963         modules/exclude, modules/getdate, modules/getline,
87964         modules/getndelim2, modules/getpass, modules/getpass-gnu,
87965         modules/getusershell, modules/linebuffer, modules/md5,
87966         modules/mountlist, modules/posixtm, modules/readtokens,
87967         modules/readutmp, modules/regex, modules/sha1,
87968         modules/version-etc, modules/yesno:
87969         Remove dependency on unlocked-io.
87970
87971 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87972
87973         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
87974
87975         * m4/unlocked-io.m4: Add copyright notice.
87976         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
87977
87978 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87979
87980         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
87981         * lib/xmalloc.c (xmemdup): Likewise.
87982         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
87983         XFREE): Remove these long-obsolescent macros.
87984         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
87985         * lib/xstrdup.c: Remove.
87986
87987         * lib/regex.c (re_comp): Cast gettext return value to char *,
87988         Problem reported by Martin Neitzel via Mark D. Baushke.
87989
87990 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
87991
87992         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
87993         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
87994         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
87995         regex.c, sha1.c, version-etc.c, yesno.c:
87996         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
87997         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
87998         the includer's responsibility.
87999
88000         Sync from coreutils.
88001
88002         * lib/modechange.c (mode_compile): Don't decrement a pointer that
88003         points to the start of a string, as the C Standard says the
88004         resulting behavior is undefined.
88005
88006         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
88007         simple -> simple_backups, numbered_existing ->
88008         numbered_existing_backups, numbered -> numbered_backups
88009         to avoid shadowing problems.  All uses changed.
88010         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
88011         * lib/backupfile.c (check_extension, numbered_backup):
88012         Rename locals to avoid shadowing 'basename'.
88013         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
88014         once.
88015
88016         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
88017         * lib/.cvsignore: Add getopt.h.
88018
88019 2004-10-04  Bruno Haible  <bruno@clisp.org>
88020
88021         * modules/README: New file.
88022         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
88023         not a module.
88024
88025 2004-10-02  Jim Meyering  <jim@meyering.net>
88026
88027         * lib/dirfd.h, getpagesize.h: Add copyright notice.
88028
88029 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88030
88031         * modules/strsep: New file.
88032
88033 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88034
88035         * m4/strsep.m4: New file.
88036
88037 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88038
88039         * lib/strsep.h: New file.
88040         * lib/strsep.c: New file.
88041
88042 2004-10-01  Simon Josefsson  <jas@extundo.com>
88043
88044         * lib/snprintf.c (snprintf): Handle size==0.
88045
88046 2004-10-01  Simon Josefsson  <jas@extundo.com>
88047             Bruno Haible  <bruno@clisp.org>
88048
88049         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
88050         (snprintf): Declare 'args'.
88051
88052 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
88053
88054         * lib/snprintf.c: Remove comments as to why each header is needed.
88055
88056 2004-10-01  Bruno Haible  <bruno@clisp.org>
88057
88058         * MODULES.html.sh: Add strsep.
88059
88060 2004-09-30  Simon Josefsson  <jas@extundo.com>
88061
88062         * modules/snprintf: New file.
88063
88064 2004-09-30  Simon Josefsson  <jas@extundo.com>
88065
88066         * m4/snprintf.m4: New file.
88067
88068 2004-09-30  Simon Josefsson  <jas@extundo.com>
88069
88070         * lib/snprintf.h, lib/snprintf.c: New files.
88071
88072 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88073
88074         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
88075         (hol_entry_help): Never translate an empty string.
88076         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
88077         * lib/argp.h (OPTION_NO_TRANS): New option.
88078
88079 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88080
88081         * modules/argp (Maintainer): Replace Simon Josefsson
88082         by Sergey Poznyakoff.
88083
88084 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88085
88086         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
88087         changes merged back into glibc.
88088
88089 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
88090
88091         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
88092
88093 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
88094
88095         * lib/xvasprintf.c: Include xalloc.h.
88096         (xvasprintf): Use xalloc_die, not xmalloc_die.
88097
88098 2004-09-29  Bruno Haible  <bruno@clisp.org>
88099
88100         * modules/alloca-opt: New file, derived from modules/alloca.
88101         * modules/allocsa: Depend on alloca-opt instead of alloca.
88102         * modules/setenv: Likewise.
88103         * modules/vasnprintf: Likewise.
88104         * MODULES.html.sh: Add alloca-opt.
88105
88106 2004-09-28  Simon Josefsson  <jas@extundo.com>
88107
88108         * gnulib-tool: New parameter --lgpl, to asseert that modules are
88109         LGPL, and to replace license template from GPL to LGPL.
88110
88111 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
88112
88113         * modules/dummy: Change license to LGPL.
88114
88115 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
88116
88117         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
88118
88119 2004-09-24  Simon Josefsson  <jas@extundo.com>
88120
88121         * modules/minmax (License): Change from GPL to LGPL.
88122
88123 2004-09-23  Simon Josefsson  <jas@extundo.com>
88124
88125         * gnulib-tool (--import): Typo.
88126
88127 2004-09-23  Simon Josefsson  <jas@extundo.com>
88128
88129         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
88130
88131 2004-09-22  Bruno Haible  <bruno@clisp.org>
88132
88133         * modules/*: Add 'License' field.
88134         * gnulib-tool: Accept --extract-license option.
88135         (func_get_license): New function.
88136
88137 2004-09-21  Bruno Haible  <bruno@clisp.org>
88138
88139         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
88140         Reported by Simon Josefsson.
88141
88142 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
88143
88144         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
88145         gl_AC_TYPE_LONG_LONG.
88146
88147 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
88148
88149         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
88150
88151 2004-09-18  Simon Josefsson  <jas@extundo.com>
88152         and  Paul Eggert  <eggert@cs.ucla.edu>
88153
88154         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
88155         calls with autoreconf.  Define GL_LIB.
88156
88157 2004-09-14  Karl Berry  <karl@gnu.org>
88158
88159         * config/srclist.txt: unsync setenv.c, sigh.
88160
88161 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
88162
88163         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
88164         Problem reported by Bruno Haible in:
88165         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
88166
88167 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
88168
88169         * config/srclist.txt: Comment out argp-pvh.c.
88170
88171 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
88172
88173         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
88174         in case some system header has #define'd it.  Problem reported by
88175         Soeren D. Schulze in
88176         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
88177
88178 2004-09-09  Karl Berry  <karl@gnu.org>
88179
88180         * regex.[ch]: delete from the root.  These were supposed to be
88181                 synced with emacs cvs, but this has not happened for about
88182                 a year, and anyway nothing else uses emacs regex.[ch].
88183                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
88184                 lib/regex[.ch] is untouched.
88185
88186 2004-09-09  Bruno Haible  <bruno@clisp.org>
88187
88188         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
88189
88190 2004-09-09  Bruno Haible  <bruno@clisp.org>
88191
88192         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
88193         modifications.
88194         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
88195
88196 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
88197
88198         * modules/xvasprintf: New file.
88199         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
88200
88201 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
88202
88203         * lib/xvasprintf.h: New file.
88204         * lib/xvasprintf.c: New file.
88205         * lib/xasprintf.c: New file.
88206
88207 2004-09-08  Bruno Haible  <bruno@clisp.org>
88208
88209         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
88210
88211 2004-09-08  Bruno Haible  <bruno@clisp.org>
88212
88213         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
88214         length is > INT_MAX.
88215         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
88216         more.
88217
88218 2004-09-08  Bruno Haible  <bruno@clisp.org>
88219
88220         * lib/stdint_.h: New file, taken from GNU clisp.
88221
88222 2004-09-08  Bruno Haible  <bruno@clisp.org>
88223             Oskar Liljeblad  <oskar@osk.mine.nu>
88224
88225         * modules/stdint: New file.
88226         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
88227
88228 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
88229
88230         Import from coreutils.
88231         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
88232         strings on unbounded length.  alloca's performance benefits aren't
88233         that important here.
88234         (V_STRDUP): Remove.
88235         (parse_with_separator): New function, with most of the internals
88236         of the old parse_user_spec.  Allow user to omit both user and group,
88237         for compatibility with FreeBSD.
88238         Clone only the user name, not the entire spec.
88239         Do not set *uid, *gid unless entirely successful.
88240         Avoid memory leak in some failing cases.
88241         Fix regression for USER.GROUP reported by Dmitry V. Levin in
88242         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
88243         (parse_user_spec): Rewrite to use parse_with_separator.
88244
88245 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
88246
88247         * modules/userspec: Don't depend on alloca.
88248
88249 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
88250
88251         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
88252
88253 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
88254
88255         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
88256         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
88257         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
88258
88259 2004-08-16  Simon Josefsson  <jas@extundo.com>
88260
88261         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
88262         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
88263         Add --dry-run for --import.
88264         Let user provided command line parameters override configure.ac
88265         settings.
88266
88267 2004-08-12  Simon Josefsson  <jas@extundo.com>
88268
88269         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
88270         as discussed with Paul Eggert in threads rooted at
88271         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
88272         and
88273         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
88274         Before, the test was empty, and relied on ELIDE_CODE in source
88275         code.)
88276         (gl_PREREQ_GETOPT): New macro.
88277         (gl_GETOPT): Use them.
88278
88279 2004-08-12  Simon Josefsson  <jas@extundo.com>
88280
88281         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
88282         * lib/getopt_.h: Renamed from getopt.h.
88283
88284 2004-08-12  Simon Josefsson  <jas@extundo.com>
88285
88286         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
88287         Change default library name from libfoo to libgnu.
88288         Now, if you have a configure.ac that says:
88289                 gl_SOURCE_BASE(gl)
88290                 gl_M4_BASE(gl/m4)
88291                 gl_MODULES(error getopt etcetera)
88292                 gl_INIT
88293         you can import all you need by running:
88294                 ../gnulib/gnulib-tool --import
88295
88296         * modules/getopt (Files): Rename getopt.h to getopt_.h.
88297         (Makefile.am): Rewrite, use logic from argz.
88298         (Include): Use <getopt.h> instead of "getopt.h".
88299
88300 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88301
88302         * modules/argp (Files): Add m4/unlocked-io.m4.
88303         (Depends-on): Add extensions.
88304
88305 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88306
88307         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
88308         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
88309         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
88310         Check for program_invocation_name, program_invocation_short_name,
88311         flockfile, funlockfile, features.h, _getopt_long_only_r.
88312
88313 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88314
88315         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
88316         its complicated substitute.
88317         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
88318         and program_invocation_name.
88319         (__argp_basename) [!_LIBC]: Remove; the only use was
88320         replaced by its body.
88321         (__argp_short_program_name): Change condition from
88322         !defined __argp_short_program_name to
88323         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
88324         to match argp-namefrob.h.
88325         (__argp_failure): Don't assume strerror_r returns char *.
88326         * lib/argp-parse.c (N_): Define unconditionally.
88327         (argp_default_options): Fill out initializers with 0 to avoid
88328         gcc warnings.
88329
88330 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
88331
88332         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
88333         getopt1.c.
88334
88335 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
88336
88337         Merge from coreutils.
88338
88339         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
88340
88341         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
88342         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
88343
88344 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
88345
88346         Merge from coreutils.
88347
88348         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
88349         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
88350         for Reliant Unix 5.43.
88351
88352         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
88353         (union fooround): Use uintmax_t, not long int.
88354         The rest is a merge from libc:
88355         [defined _LIBC]: Include <shlib-compat.h>.
88356         (_obstack) [defined _LIBC]: Remove after 2.3.4.
88357
88358         * lib/settime.c (settime): Recode to avoid warning with
88359         Sun Forte C 6U2.
88360
88361         * lib/strverscmp.c: Convert to UTF-8.
88362
88363 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
88364
88365         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
88366         m4/uintmax_t.m4.
88367
88368 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
88369
88370         * modules/xalloc-die: New file.
88371         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
88372
88373         * modules/md5 (Files): Add m4/uint32_t.m4.
88374         * modules/sha1: Renamed from modules/sha.
88375         (Files):
88376         Rename lib/sha.h to lib/sha1.h.
88377         Rename lib/sha.c to lib/sha1.c.
88378         Rename m4/sha.m4 to m4/sha1.m4.
88379         (lib_SOURCES): Likewise.
88380         (configure.ac): Rename gl_SHA to gl_SHA1.
88381         (Include): sha.h -> sha1.h.
88382
88383 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
88384
88385         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
88386         * m4/sha1.m4: Renamed from sha.m4.
88387         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
88388
88389 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
88390
88391         * lib/obstack.h (obstack_empty_p):
88392         Don't assume that chunk->contents is suitably aligned.
88393         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
88394         Likewise. Problem reported by Benno in
88395         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
88396
88397         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
88398         readable.  This could be improved further but it'd take some work.
88399
88400 2004-08-08  Simon Josefsson  <jas@extundo.com>
88401
88402         * modules/xgethostname (Depends-on): Remove exit and error (not
88403         used).
88404
88405         * modules/getpass-gnu: Add getpass.h.
88406         (Depends-on): Add stdbool.
88407         * modules/getpass: Add getpass.h.
88408
88409 2004-08-08  Simon Josefsson  <jas@extundo.com>
88410
88411         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
88412         Check getpass declaration.
88413
88414 2004-08-08  Simon Josefsson  <jas@extundo.com>
88415
88416         * lib/xgethostname.c: Don't include error.h (not used).
88417
88418         * lib/getpass.h: Add.
88419         * lib/getpass.c: Include getpass.h first.
88420
88421 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
88422
88423         * lib/xalloc-die.c: New file.
88424         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
88425         All uses removed.
88426         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
88427         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
88428         xalloc-die.c.
88429         (_, N_, xalloc_die): Move to xalloc-die.c.
88430         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
88431         so that we needn't mess with xalloc_msg_memory_exhausted.
88432
88433         * lib/sha1.h: Renamed from sha.h.
88434         (SHA1_H): Renamed from _SHA_H.
88435         (sha1_ctx): Renamed from sha_ctx.
88436         (sha1_init_ctx): Renamed from sha_init_ctx.
88437         (sha1_process_block): Renamed from sha_process_block.
88438         (sha1_process_bytes): Renamed from sha_process_bytes.
88439         (sha1_finish_ctx): Renamed from sha_finish_ctx.
88440         (sha1_read_ctx): Renamed from sha_read_ctx.
88441         (sha1_stream): Renamed from sha_stream.
88442         (sha1_buffer): Renamed from sha_buffer.
88443         * lib/sha1.c: Likewise; renamed from sha.c.
88444         Do not include <sys/types.h>.
88445         Include <stddef.h> rather than <stdlib.h>.
88446
88447 2004-08-08  Bruno Haible  <bruno@clisp.org>
88448
88449         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
88450         FILESYSTEM_PREFIX_LEN.
88451         * lib/progreloc.c: Likewise.
88452         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
88453
88454 2004-08-06  Simon Josefsson  <jas@extundo.com>
88455
88456         * modules/progname (Depends-on): Don't depend on stdbool.
88457
88458 2004-08-06  Simon Josefsson  <jas@extundo.com>
88459
88460         * modules/getsubopt: New file.
88461         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88462         getsubopt.
88463
88464 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
88465
88466         More merge from coreutils.
88467
88468         * m4/utimens.m4, m4/utimecmp.m4: New files.
88469         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
88470         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
88471         prereq.m4, sha.m4: Import changes from coreutils.
88472
88473 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
88474
88475         More merge from coreutils.
88476         * modules/raise, modules/readtokens0, modules/utimens:
88477         * modules/utimecmp, module/xnanosleep: New files.
88478         * modules/strftime: Add lib/strftime.h.
88479         Change include from <time.h> to "strftime.h".
88480         * modules/yesno: Add lib/yesno.h.
88481         * modules/backupfile: Remove lib/addext.c.
88482         * modules/euidaccess: Add stat-macros.h.
88483         * modules/canonicalize, modules/euidaccess,
88484         modules/filemode, modules/lchown, modules/makepath,
88485         modules/rmdir, modules/stat: Likewise.
88486
88487 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
88488
88489         Merge from tar.
88490         * lib/argp-help.c (make_hol, hol_append): Don't assume that
88491         SIZE_MAX is a valid preprocessor constant.
88492         (__argp_basename): Change from "#ifndef _LIBC"
88493         to "#ifndef __argp_short_program_name", so that
88494         we don't compile these functions for tar.
88495
88496         More merges from coreutils.
88497         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
88498         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
88499         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
88500         * lib/addext.c: Remove; no longer needed.
88501         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
88502         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
88503         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
88504         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
88505         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
88506         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
88507         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
88508         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
88509         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
88510         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
88511         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
88512         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
88513         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
88514         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
88515         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
88516         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
88517         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
88518         Import changes from coreutils.
88519
88520 2004-08-05  Simon Josefsson  <jas@extundo.com>
88521
88522         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
88523
88524 2004-08-05  Simon Josefsson  <jas@extundo.com>
88525
88526         * m4/getsubopt.m4: New file.
88527
88528 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
88529
88530         Merge from coreutils.
88531
88532         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
88533         * m4/getcwd-path-max.m4: New files.
88534
88535         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
88536         FILESYSTEM_PREFIX_LEN ->
88537         FILE_SYSTEM_PREFIX_LEN.
88538         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
88539         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
88540         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
88541         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
88542
88543         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
88544         prerequisite modules now handle the DOS stuff.
88545         Don't check for unistd.h.
88546
88547 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
88548
88549         Merge from coreutils.
88550
88551         * lib/.gdb-history: Remove; this doesn't belong here.
88552
88553         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
88554         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
88555         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
88556         * lib/getcwd.c: New files.
88557
88558         * lib/dirname.h: Include <stdbool.h>.
88559         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
88560         for consistency with POSIX terminology.  All uses changed.
88561         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
88562         (strip_trailing_slashes): Use bool for booleans.
88563         * lib/stripslash.c (strip_trailing_slashes): Likewise.
88564
88565         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
88566         sometimes returns a positive errno value even when it succeeds.
88567         (print_errno_message) [!LIBC]: Fall back on strerror if
88568         __strerror_r fails.
88569
88570         * lib/path-concat.c (mempcpy): Don't define if a system header defines
88571         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
88572         (longest_relative_suffix): New function.
88573         (path_concat): Use it.  Assume first argument is not NULL.
88574         Port to DOS.  Omit redundant separators.
88575         Report an error instead of returning NULL.
88576         Use mempcpy instead of memcpy.
88577         (xpath_concat): Remove: not declared or used.
88578
88579         * lib/same.h: Include <stdbool.h>
88580         (same_name): Return bool, not int.
88581         * lib/same.c (same_name): Likewise.
88582         (errno): Don't declare; we assume C89 or better now.
88583
88584         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
88585         if not already defined.
88586
88587         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
88588         * lib/dup-safer.c (errno): Likewise.
88589
88590 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
88591
88592         Merge from coreutils.
88593         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
88594         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
88595         * modules/path-concat: Don't depend on strdup.
88596
88597 2004-08-03  Simon Josefsson  <jas@extundo.com>
88598
88599         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
88600         * lib/progname.h: Don't include stdbool.h.
88601
88602 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
88603
88604         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
88605         * MODULES.html.sh (func_all_modules): Remove fatal.
88606
88607 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
88608
88609         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
88610
88611 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
88612
88613         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
88614         working.
88615
88616 2004-08-02  Simon Josefsson  <jas@extundo.com>
88617
88618         * lib/getsubopt.h: New file, with comments from Bruno Haible.
88619         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
88620         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
88621
88622 2004-08-01  Simon Josefsson  <jas@extundo.com>
88623
88624         * lib/xgetdomainname.c: Include stdlib.h, for free().
88625
88626 2004-07-19  Bruno Haible  <bruno@clisp.org>
88627
88628         * MODULES.html.sh (func_all_modules): Add dummy.
88629
88630 2004-07-16  Simon Josefsson  <jas@extundo.com>
88631
88632         * modules/dummy: New file.
88633
88634 2004-07-16  Simon Josefsson  <jas@extundo.com>
88635
88636         * lib/dummy.c: New file.
88637
88638 2004-07-16  Bruno Haible  <bruno@clisp.org>
88639
88640         * lib/backupfile.h: Add extern "C" for C++.
88641         * lib/closeout.h: Likewise.
88642         * lib/copy-file.h: Likewise.
88643         * lib/findprog.h: Likewise.
88644         * lib/full-write.h: Likewise.
88645         * lib/pathname.h: Likewise.
88646         * lib/progname.h: Likewise.
88647         * lib/stpcpy.h: Likewise.
88648         * lib/stpncpy.h: Likewise.
88649         * lib/strcase.h: Likewise.
88650         * lib/strstr.h: Likewise.
88651         * lib/xalloc.h: Likewise.
88652
88653         * lib/mbswidth.h: Add extern "C" for C++.
88654         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
88655
88656 2004-07-13  Robert Millan  <robertmh@gnu.org>
88657
88658         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
88659
88660 2004-07-09  Simon Josefsson  <jas@extundo.com>
88661
88662         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
88663         failed without this.)
88664
88665 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
88666
88667         * modules/chown (Files): Add lib/fchown-stub.c, since
88668         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
88669
88670 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
88671
88672         * lib/fchown-stub.c: New file.
88673
88674 2004-06-24  Jim Meyering  <jim@meyering.net>
88675
88676         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
88677
88678 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88679
88680         * modules/argz: Omit "#include".
88681
88682         * MODULES.html.sh (func_all_modules): Add calloc, to match
88683         2004-06-01 addition of calloc module.
88684
88685 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88686
88687         * m4/argz.m4: New file, which is autoupdated from libtool.
88688
88689 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88690
88691         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
88692         libtool.
88693
88694 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
88695
88696         * config/srclist-update: Don't insist on "USA." before the
88697         close-comment, as libtool omits the period and puts the */ on a
88698         separate line.
88699         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
88700         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
88701
88702 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
88703
88704         * modules/argz: New file.
88705         * MODULES.html.sh (func_all_modules): Add argz.
88706
88707 2004-06-12  Jim Meyering  <jim@meyering.net>
88708         and  Paul Eggert  <eggert@cs.ucla.edu>
88709
88710         * modules/hash (Files): Add lib/xalloc.h.
88711         * modules/pipe (Depends-on): Add wait-process.
88712         * modules/stat (Depends-on): Add xalloc.
88713         * modules/userspec (Files): Add lib/userspec.h.
88714         * modules/xstrto
88715
88716         Upgrade from gettext-0.13.
88717         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
88718         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
88719         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
88720
88721 2004-06-10  Jim Meyering  <jim@meyering.net>
88722
88723         * lib/calloc.c: New file.
88724
88725 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
88726
88727         * lib/getdate.y (yylex): Allow space between sign and number.
88728         Problem reported by Dan Jacobson.
88729
88730 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
88731
88732         Merge from coreutils CVS.
88733
88734         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
88735         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
88736         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
88737         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
88738         xstrtol.m4: Fix copyright date and/or serial number.
88739
88740         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
88741         See if we need an fchown replacement.
88742         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
88743         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
88744         and use the replacement function if we detect either defect.
88745
88746         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
88747         gl_UTIMECMP.
88748
88749 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
88750         and  Jim Meyering  <jim@meyering.net>
88751
88752         Merge from coreutils CVS.
88753
88754         * lib/stat-macros.h: New file, with contents from file-type.h
88755         and coreutils' system.h.
88756         * lib/file-type.c: Include "stat-macros.h".
88757         * lib/file-type.h (file_type): Move all macro definitions to new file,
88758         stat-macros.h.
88759
88760         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
88761         Wrap old code with this conditional.
88762         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
88763         function that does not dereference symlinks.
88764         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
88765
88766         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
88767         dependency problems.
88768         (xreadlink): Accept new arg SIZE, for efficiency.
88769         All decls and uses changed.
88770         * lib/xreadlink.h: Include <stddef.h>, for size_t.
88771
88772         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
88773         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
88774
88775         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
88776         sysexits.h.
88777
88778 2004-06-01  Jim Meyering  <jim@meyering.net>
88779
88780         * m4/calloc.m4: New file.
88781
88782 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
88783
88784         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
88785         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
88786         Also, fix a typo in a diagnostic.
88787
88788 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
88789
88790         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
88791         or AC_FUNC_REALLOC.
88792
88793 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
88794
88795         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
88796         macros to be defined.
88797         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
88798         the allocator returns NULL because the requested size is zero.
88799
88800 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
88801
88802         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
88803         var.  Add comment explaining why libc still defines it.  This
88804         merges the following patch from glibc:
88805         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
88806
88807 2004-05-20  Andreas Schwab  <schwab@suse.de>
88808
88809         * m4/free.m4: Replace free if it not known to work, not the other
88810         way round.
88811
88812 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
88813
88814         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
88815         present in glibc since revision 1.1 of this file.
88816         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
88817         obstack_alignment_mask, obstack_alloc, obstack_base,
88818         obstack_blank, obstack_blank_fast, obstack_chunk_size,
88819         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
88820         obstack_grow0, obstack_init, obstack_int_grow,
88821         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
88822         obstack_next_free, obstack_object_size, obstack_ptr_grow,
88823         obstack_ptr_grow_fast, obstack_room): Remove declarations of
88824         nonexistent functions.
88825
88826 2004-05-18  Karl Berry  <karl@gnu.org>
88827
88828         * config/srclist.txt: break link for vasnprintf.c.
88829
88830 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
88831
88832         Port obstack to the AS/400, where pointers are 16 bytes wide and
88833         you cannot cast an integer to a valid pointer.  This patch is
88834         currently waiting to be integrated into glibc; see
88835         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
88836
88837         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
88838         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
88839         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
88840         (struct obstack): temp member is now a union of a pointer and
88841         an integer, instead of an integer.  All integer uses changed.
88842         This does not affect the physical layout of struct obstack,
88843         except on hosts (like the AS/400) where the size or alignment of
88844         void * is greater than that of ptrdiff_t.
88845         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
88846         __STDC__)]: Store temporary in pointer member of union, not
88847         integer member.
88848         * lib/obstack.c: Include <stddef.h>, for offsetof.
88849         (struct fooalign): Remove; it doesn't need a name.
88850         (union fooround): Change double to long double, and add void *.
88851         (DEFAULT_ALIGNMENT): Use offsetof to compute.
88852         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
88853         not a macro.  Hence the values are always int; so remove all
88854         casts-to-int in uses.
88855
88856 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
88857
88858         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
88859         we can get this patch merged into glibc.
88860
88861 2004-05-17  Derek R. Price  <derek@ximbiot.com>
88862             Paul Eggert  <eggert@cs.ucla.edu>
88863
88864         * m4/argp: Depend on alloca.
88865
88866 2004-05-17  Derek R. Price  <derek@ximbiot.com>
88867             Paul Eggert  <eggert@cs.ucla.edu>
88868
88869         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
88870         freecoding.
88871
88872 2004-05-17  Bruno Haible  <bruno@clisp.org>
88873
88874         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
88875         precision that consists of a '.' followed by an empty digit string.
88876         Patch by Tor Lillqvist <tml@iki.fi>.
88877
88878 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
88879
88880         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
88881         for backward compatibility with older code.  We need our own
88882         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
88883         it under some other name, and our alloca.h will define it.
88884
88885 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
88886             Derek Price  <derek@ximbiot.com>
88887
88888         * lib/alloca.c: Include <alloca.h>, to get our interface.
88889         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
88890         include <alloca.h> first.  Use C89 prototype for alloca; this
88891         requires including <stddef.h> for size_t.  Use extern "C" if C++.
88892         Use #elif for simplicity, since we can assume C89 now.
88893         Don't try to source the system alloca.h since it will not be found
88894         and to prevent recursively including its replacement.
88895         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
88896         * lib/regex.c: Likewise.
88897
88898 2004-05-16  Derek Price  <derek@ximbiot.com>
88899             Paul Eggert  <eggert@cs.ucla.edu>
88900
88901         getline cleanup.  This changes the getndelim2 API: both order of
88902         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
88903         no delimiter).
88904
88905         * lib/getline.c: Don't include stddef.h or stdio.h, since our
88906         interface does that.
88907         (getline): Always use getdelim, so that we don't have two
88908         copies of this code.
88909         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
88910         if available.
88911         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
88912         (GETNDELIM2_MAXIMUM): New macro.
88913         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
88914         instead of the old practice of delim2==0.  All callers changed.
88915         Return -1 on overflow, instead of returning junk.
88916         Do not set *linesize unless allocation succeeds.
88917         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
88918         that we include sys/types.h.
88919         * lib/getnline.h: Likewise.
88920         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
88921         (getndelim2): Reorder arguments.
88922         * lib/getnline.c (getnline, getndelim):
88923         Don't discard the NMAX argument.
88924         (getnline): Invoke getndelim, to avoid code duplication.
88925         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
88926         of (size_t) -1 by callers of the getnline family.
88927
88928 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
88929
88930         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
88931         Check for gettimeofday.
88932         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
88933         Check for settimeofday, stime.
88934
88935 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
88936
88937         * lib/nanosleep.c (suspended): Change its type from int to
88938         sig_atomic_t volatile.
88939         (first_call): Make it private to rpl_nanosleep, and have it
88940         be zero initially as that's a bit faster.
88941         (my_usleep): Round up fractional times instead of truncating them,
88942         as this is the usual meaning for 'sleep'.
88943
88944         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
88945         doesn't work.
88946         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
88947         (ENOSYS): Define if not defined.
88948         (settime): Fall back on stime if it exists and settimeofday fails.
88949         But don't bother with fallbacks if a method fails with errno == EPERM.
88950
88951 2004-05-11  Jim Meyering  <jim@meyering.net>
88952
88953         Prior to this change, the save_cwd caller required read access to the
88954         current directory on most systems (ones with the fchdir function).
88955
88956         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
88957         fails, try write-only, and finally, resort to using xgetcwd.
88958
88959 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
88960
88961         * lib/obstack.c, obstack.h: Import changes from libc.
88962
88963 2004-04-28  Bruno Haible  <bruno@clisp.org>
88964
88965         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
88966         also implicitly appends .exe to executables.
88967         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
88968         accepts Windows pathnames.
88969         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
88970         Treat Cygwin like Windows, since it now accepts Windows pathnames.
88971         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
88972         Treat Cygwin like Windows, since it now accepts Windows pathnames.
88973         Reported by Derek Robert Price <derek@ximbiot.com>.
88974
88975 2004-04-21  Karl Berry  <karl@gnu.org>
88976
88977         * config/srclist.txt (localcharset.c): break sync.
88978
88979 2004-04-20  Paul Eggert  <eggert@twinsun.com>
88980
88981         * m4/host-os.m4: Add a copyright notice.
88982
88983 2004-04-20  Jim Meyering  <jim@meyering.net>
88984
88985         Change UTILS_ to gl_ in AC_DEFINE'd names.
88986         Change utils_- and jm_-prefixed variables, too.
88987         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
88988         UTILS_FUNC_MKDIR_TRAILING_SLASH.
88989         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
88990
88991         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
88992         Don't emit trailing blanks.
88993         Also rename jm_-prefixed variables to have gl_ prefix.
88994
88995         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
88996         Also rename jm_-prefixed variables to have gl_ prefix.
88997
88998         * m4/jm-macros.m4: Reflect the renamings.
88999         * m4/prereq.m4: Likewise.
89000
89001 2004-04-20  Jim Meyering  <jim@meyering.net>
89002
89003         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
89004         memory.
89005
89006 2004-04-20  Jim Meyering  <jim@meyering.net>
89007             Bruno Haible  <bruno@clisp.org>
89008
89009         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
89010         memory when realloc fails.
89011
89012 2004-04-19  Jim Meyering  <jim@meyering.net>
89013
89014         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
89015         now that readutmp.c may call `free (0)'.
89016
89017 2004-04-19  Bruno Haible  <bruno@clisp.org>
89018
89019         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
89020         * m4/inttypes_h.m4: Likewise.
89021         * m4/stdint_h.m4: Likewise.
89022         * m4/intmax_t.m4: Likewise.
89023         * m4/uintmax_t.m4: Likewise.
89024
89025 2004-04-18  Jim Meyering  <jim@meyering.net>
89026
89027         * m4/prereq.m4: Don't forbid jm_ prefix.
89028
89029         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
89030         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
89031         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
89032         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
89033         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
89034         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
89035         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
89036         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
89037         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
89038         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
89039         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
89040         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
89041         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
89042         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
89043         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
89044         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
89045         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
89046         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
89047         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
89048
89049 2004-04-18  Jim Meyering  <jim@meyering.net>
89050
89051         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
89052         failure, don't leak memory and do call END_UTMP_ENT.
89053
89054 2004-04-16  Jim Meyering  <jim@meyering.net>
89055
89056         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
89057         coreutils' stat program.
89058         (gl_PREREQ): Don't require jm_PREREQ_STAT.
89059
89060 2004-04-11  Paul Eggert  <eggert@twinsun.com>
89061
89062         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
89063         C89.
89064         (CHAR_BIT): Remove, since we assume C89.
89065         Include <stdint.h> if available, as per current Autoconf CVS advice.
89066
89067 2004-03-31  Jim Meyering  <jim@meyering.net>
89068
89069         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
89070         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
89071         * m4/xalloc.m4: Likewise.
89072
89073 2004-03-30  Paul Eggert  <eggert@twinsun.com>
89074
89075         Merge from coreutils.
89076
89077         * m4/inttostr.m4: New file.
89078         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
89079         Require AM_STDBOOL_H and gl_TIMESPEC instead.
89080         Require gl_CLOCK_TIME.
89081         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
89082
89083 2004-03-30  Paul Eggert  <eggert@twinsun.com>
89084
89085         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
89086         not bool, to be more consistent with Unix conventions.
89087         Suggested by Bruno Haible.
89088
89089         Merge from coreutils.
89090
89091         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
89092         * lib/umaxtostr.c: New files.
89093
89094         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
89095         the usual <time.h> dance.
89096         (get_date): Change signature to support fractional time stamps.
89097         All callers changed.
89098         * lib/getdate.y: Include "getdate.h" first, as we can now
89099         assume C89 and don't need to worry about 'const'.
89100         Similarly, include "unlocked-io.h" near start, not in middle.
89101         Include <limits.h>.
89102         (textint.value): Use long int rather than int.
89103         (textint.digits): Use size_t rather than int.
89104         (BILLION, LOG10_BILLION): New constants.
89105         (parser_control): New member rel_ns.  Members day_ordinal,
89106         time_zone, month, day, hour, minutes, rel_year, rel_month,
89107         rel_day, rel_hour, rel_minutes, rel_seconds
89108         are now long int, not int.  Member seconds is now struct timespec,
89109         not int.  New member timespec_seen.  Members dates_seen, days_seen,
89110         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
89111         not int.
89112         (%union.intval): Now long int, not int.
89113         New member timespec.
89114         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
89115         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
89116         (spec): Now is a timespec or an item list.
89117         (timespec, items): New nonterminals.
89118         (time, rel, relunit, number, get_date):
89119         Add support for fractional seconds.
89120         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
89121         (gmtime, localtime, mktime): Remove decls; not needed with C89.
89122         (to_hour): First arg is now long int, not int.
89123         (to_year): Returns long int, not int.
89124         Don't treat year -70 like 70.
89125         (tm_diff): Returns long int, not int.
89126         (lookup_word): Use bool instead of int when appropriate.
89127         (yylex): Use size_t for count, not int.
89128         Detect overflow when parsing large integer constants.
89129         Add support for fractions.
89130         (get_date): Make pointers 'const' if possible.
89131         Use more-portable code to detect integer overflow.
89132         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
89133         Don't use ctime; it's not reliable if the year has >4 digits.
89134
89135         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
89136         This is for compatibility with BSD.
89137
89138         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
89139         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
89140         From coreutils' system.h.
89141
89142         * lib/userspec.c: Don't include "posixver.h".
89143         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
89144         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
89145         compatible extension.  Simplify code by removing a boolean int
89146         that was always nonzero if a string was nonnull.
89147
89148 2004-03-30  Jim Meyering  <jim@meyering.net>
89149
89150         Merge from coreutils.
89151
89152         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
89153         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
89154         on some systems one must include <grp.h> before it.
89155         Reported by Christian Krackowizer.
89156
89157 2004-03-30  Jim Meyering  <jim@meyering.net>
89158
89159         Merge from coreutils.
89160
89161         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
89162
89163         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
89164         an empty input stream.
89165
89166         * lib/readtokens.c: Include <stdbool.h>.
89167         (readtoken): Use `size_t' rather than int/long.
89168         All callers adjusted.
89169         Use `bool' rather than `int' where appropriate.
89170         Use memset rather than an explicit loop.
89171         Use x2nrealloc rather than xrealloc.
89172         Allow the use of `\0' as a delimiter.
89173         (readtokens): Likewise.
89174         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
89175
89176 2004-03-30  Jim Meyering  <jim@meyering.net>
89177
89178         * m4/realloc.m4: Remove file, since now it does no more than
89179         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
89180         the `configure.ac' section of module/realloc.
89181         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
89182
89183 2004-03-30  Bruno Haible  <bruno@clisp.org>
89184
89185         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
89186         nonnull.
89187
89188 2004-03-29  Paul Eggert  <eggert@twinsun.com>
89189
89190         Merge changes to getloadavg.c from coreutils and Emacs.
89191
89192         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
89193         Define to an expression, not to the empty string.
89194         Include cloexec.h and xalloc.h.
89195         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
89196         Use set_cloexec_flag rather than rolling our own.
89197         * lib/cloexec.c, lib/cloexec.h: New files.
89198
89199 2004-03-29  Paul Eggert  <eggert@twinsun.com>
89200
89201         * m4/cloexec.m4: New file.
89202
89203 2004-03-18  Paul Eggert  <eggert@twinsun.com>
89204
89205         * lib/getopt.h: Sync with libc CVS.
89206
89207 2004-03-18  Paul Eggert  <eggert@twinsun.com>
89208             Bruno Haible  <bruno@clisp.org>
89209
89210         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
89211         mbswidth.
89212
89213 2004-03-18  Paul Eggert  <eggert@twinsun.com>
89214             Bruno Haible  <bruno@clisp.org>
89215
89216         * lib/mbswidth.h: Include <wchar.h> only if
89217         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
89218         <wchar.h>.
89219         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
89220
89221 2004-03-09  Paul Eggert  <eggert@twinsun.com>
89222
89223         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
89224         Sync with libc CVS.
89225         * lib/getopt_int.h: New file, also synced from libc.
89226
89227 2004-03-09  Paul Eggert  <eggert@twinsun.com>
89228
89229         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
89230         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
89231         Bring back getopt.c, getopt.h, getopt1.c.
89232
89233 2004-03-07  Paul Eggert  <eggert@twinsun.com>
89234
89235         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
89236         All uses changed.  Check for sa_sigaction member; this fixes
89237         a bug first reported by Jason Andrade in
89238         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
89239
89240 2004-03-07  Paul Eggert  <eggert@twinsun.com>
89241
89242         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
89243         '#if' expressions.  Unlike the code it replaces, it does not
89244         depend on (defined _SC_PAGESIZE).  However, it does depend on
89245         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
89246         first reported by Jason Andrade in
89247         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
89248
89249 2004-02-25  Simon Josefsson  <jas@extundo.com>
89250
89251         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
89252
89253 2004-02-25  Simon Josefsson  <jas@extundo.com>
89254
89255         * lib/strdup.h: New file.
89256         * lib/strdup.c: Include it.
89257         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
89258         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
89259
89260 2004-02-23  Karl Berry  <karl@gnu.org>
89261
89262         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
89263         (from fencepost.gnu.org:/gd/gnuorg).
89264
89265 2004-02-23  Karl Berry  <karl@gnu.org>
89266
89267         * config/srclistvars.sh (GNUORG) [karl]: redefine.
89268         * config/srclist.txt: add maintain/standards documents.
89269
89270 2004-02-18  Bruno Haible  <bruno@clisp.org>
89271
89272         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
89273         Reported by Derek Robert Price <derek@ximbiot.com>.
89274
89275 2004-02-16  Karl Berry  <karl@gnu.org>
89276
89277         * config/mkinstalldirs, install-sh: update from automake.
89278
89279 2004-02-06  Karl Berry  <karl@gnu.org>
89280
89281         * m4/po.m4: update from gettext 0.14.1.
89282
89283 2004-02-06  Karl Berry  <karl@gnu.org>
89284
89285         * lib/config.charset: update from gettext 0.14.1.
89286
89287 2004-02-05  Paul Eggert  <eggert@twinsun.com>
89288
89289         Add comments and code, prompted by suggestions from Bruno Haible
89290         for sh-quote.
89291         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
89292         describing the enum quoting_style values.
89293         * lib/quotearg.c (quotearg_alloc): New function.
89294         (quotearg_buffer_restyled): Treat lone { and } as special.
89295         Treat = as special.  Work around bug with older shells
89296         that "see" a '\' that is really the 2nd byte of a multibyte char.
89297         Quote empty string with shell_quoting_style.
89298
89299 2004-02-03  Bruno Haible  <bruno@clisp.org>
89300
89301         * m4/pipe.m4: New file, from GNU gettext.
89302
89303 2004-02-03  Bruno Haible  <bruno@clisp.org>
89304
89305         * lib/pipe.h: New file, from GNU gettext.
89306         * lib/pipe.c: New file, from GNU gettext.
89307
89308 2004-01-27  Bruno Haible  <bruno@clisp.org>
89309
89310         * m4/execute.m4: New file, from GNU gettext.
89311
89312 2004-01-27  Bruno Haible  <bruno@clisp.org>
89313
89314         * lib/execute.h: New file, from GNU gettext.
89315         * lib/execute.c: New file, from GNU gettext.
89316         * lib/w32spawn.h: New file, from GNU gettext.
89317
89318 2004-01-24  Paul Eggert  <eggert@twinsun.com>
89319
89320         Merge from diffutils.
89321
89322         * lib/file-type.c (file_type): Add typed memory objects.
89323         * lib/file-type.h (S_TYPEISTMO): New macro.
89324
89325         * lib/c-stack.h (c_stack_action): Remove argv argument.
89326         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
89327         (die): Don't calculate message unless segv_action returns.
89328         (get_stack_location, min_address_from_argv, max_address_from_argv,
89329         volatile stack_base, volatile_stack_size): Remove.
89330         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
89331         that every segmentation violation is a stack overflow.  (Ouch!)
89332         See Debian bug 136249 (still outstanding) for more info about why
89333         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
89334
89335 2004-01-24  Paul Eggert  <eggert@twinsun.com>
89336
89337         Exit-status fix from coreutils.
89338
89339         Use exit_failure consistently in place of EXIT_FAILURE,
89340         so that program exit statuses are consistent on failure.
89341
89342         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
89343         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
89344         * lib/argmatch.h: Comment fix to match the above.
89345         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
89346         Now a macro referring to exit_failure, instead of a separate
89347         variable.  Include "exitfail.h" to get it.
89348         * lib/xstrtol.h: Include "exitfail.h".
89349         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
89350
89351         * lib/long-options.c (parse_long_options): Use prototype
89352         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
89353         for clarity.
89354
89355 2004-01-21  Jim Meyering  <jim@meyering.net>
89356
89357         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
89358         so as not to conflict with a different-sized __mktime_internal
89359         function in GNU libc.
89360         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
89361         Problem building statically-linked `ls' reported by Michael Brunnbauer.
89362
89363 2004-01-20  Karl Berry  <karl@gnu.org>
89364
89365         * config/config.guess: update from config.
89366
89367         * config/srclistvars.sh: GNUWWWLICENSES for karl.
89368
89369 2004-01-20  Bruno Haible  <bruno@clisp.org>
89370
89371         Safer stack allocation.
89372         * lib/setenv.c: Include allocsa.h.
89373         (alloca): Remove fallback definition.
89374         (freea): Remove macro.
89375         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
89376         instead of freea.
89377
89378 2004-01-20  Bruno Haible  <bruno@clisp.org>
89379
89380         * m4/eealloc.m4: New file, from GNU gettext.
89381
89382 2004-01-20  Bruno Haible  <bruno@clisp.org>
89383
89384         * m4/allocsa.m4: New file, from GNU gettext.
89385
89386 2004-01-20  Bruno Haible  <bruno@clisp.org>
89387
89388         * lib/xallocsa.h: New file, from GNU gettext.
89389         * lib/xallocsa.c: New file, from GNU gettext.
89390
89391 2004-01-20  Bruno Haible  <bruno@clisp.org>
89392
89393         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
89394
89395 2004-01-20  Bruno Haible  <bruno@clisp.org>
89396
89397         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
89398         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
89399         specially.
89400
89401 2004-01-20  Bruno Haible  <bruno@clisp.org>
89402
89403         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
89404         patch.
89405
89406 2004-01-20  Bruno Haible  <bruno@clisp.org>
89407
89408         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
89409
89410 2004-01-20  Bruno Haible  <bruno@clisp.org>
89411
89412         * lib/eealloc.h: New file.
89413
89414 2004-01-20  Bruno Haible  <bruno@clisp.org>
89415
89416         * lib/binary-io.h: Avoid warnings on Cygwin.
89417
89418 2004-01-20  Bruno Haible  <bruno@clisp.org>
89419
89420         * lib/allocsa.h: New file, from GNU gettext.
89421         * lib/allocsa.c: New file, from GNU gettext.
89422
89423 2004-01-18  Karl Berry  <karl@gnu.org>
89424
89425         * doc/gpl.texi, doc/lgpl.texi: new files.
89426
89427 2004-01-18  Karl Berry  <karl@gnu.org>
89428
89429         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
89430         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
89431
89432 2004-01-15  Paul Eggert  <eggert@twinsun.com>
89433
89434         Merge from coreutils.
89435
89436         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
89437         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
89438         (gl_DEFAULT_POSIX2_VERSION): Move
89439         the documentation from 'configure' into 'config.hin',
89440         so that 'configure --help' isn't burdened by it and
89441         we don't have to worry about its formatting there.
89442         Reword the documentation so that it's more succinct
89443         and can be run together into a single paragraph.
89444         * m4/same.m4 (gl_SAME): Check for pathconf.
89445
89446 2004-01-15  Paul Eggert  <eggert@twinsun.com>
89447
89448         Merge from coreutils.
89449
89450         * lib/posixver.c: Include posixver.h.
89451
89452         * lib/same.c: Include <stdbool.h>, <limits.h>.
89453         (_POSIX_NAME_MAX): Define if not defined.
89454         (MIN): New macro.
89455         (same_name): If file names are silently truncated, report
89456         that the file names are the same if they are the same after
89457         the silent truncation.
89458
89459         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
89460         conversion function.
89461         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
89462         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
89463         longer needed.
89464
89465 2004-01-15  Jim Meyering  <jim@meyering.net>
89466
89467         Merge from coreutils.
89468
89469         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
89470         if no library is required.
89471         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
89472         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
89473         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
89474         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
89475         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
89476         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
89477         value, $ac_cv_search_crypt, if it's "none required".
89478         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
89479         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
89480         not gl_FUNC_GETLOADAVG.
89481         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
89482         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
89483
89484 2004-01-15  Jim Meyering  <jim@meyering.net>
89485
89486         Merge from coreutils.
89487
89488         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
89489         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
89490         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
89491
89492         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
89493         optional configure-time default.
89494
89495         * lib/version-etc.c (version_etc_copyright): Update copyright date.
89496
89497         * lib/xreadlink.c (xreadlink): Correct outdated comment.
89498
89499 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
89500
89501         Merge from coreutils.
89502
89503         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
89504         value, $ac_cv_search_nanosleep, if it's "none required".
89505
89506 2004-01-14  Paul Eggert  <eggert@twinsun.com>
89507
89508         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
89509         with like-named macro in fnmatch.c.
89510         (EXT): Use an internal constant instead.
89511
89512         Merge fnmatch patches from glibc.
89513         * lib/fnmatch.c (mbsinit): Remove define.
89514         Add libc_hidden_ver (__fnmatch, fnmatch).
89515         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
89516         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
89517
89518 2004-01-14  Karl Berry  <karl@gnu.org>
89519
89520         * config/install-sh: update from automake.
89521
89522 2004-01-13  Karl Berry  <karl@gnu.org>
89523
89524         * config/install-sh: update from automake.
89525
89526 2004-01-09  Karl Berry  <karl@gnu.org>
89527
89528         * config/install-sh: update from automake.
89529
89530 2004-01-05  Karl Berry  <karl@gnu.org>
89531
89532         * config/config.{sub,guess}: update from config.
89533
89534 2003-12-31  Karl Berry  <karl@gnu.org>
89535
89536         * config/depcomp: update from automake.
89537
89538 2003-12-14  Karl Berry  <karl@gnu.org>
89539
89540         * lib/config.charset: update from gettext-runtime.
89541
89542 2003-12-03  Paul Eggert  <eggert@twinsun.com>
89543
89544         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
89545         Bug reported by Alfred M. Szmidt.
89546
89547 2003-12-03  Bruno Haible  <bruno@clisp.org>
89548
89549         * m4/gettext.m4: Upgrade from gettext-0.13.
89550         * m4/po.m4: Upgrade from gettext-0.13.
89551         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
89552         * m4/intmax.m4: New file, from gettext-0.13.
89553         * m4/printf-posix.m4: New file, from gettext-0.13.
89554
89555 2003-11-29  Karl Berry  <karl@gnu.org>
89556
89557         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
89558
89559 2003-11-25  Paul Eggert  <eggert@twinsun.com>
89560             Bruno Haible  <bruno@clisp.org>
89561
89562         * lib/printf-parse.h: Don't include sys/types.h.
89563         (ARG_NONE): New macro.
89564         (char_directive): Change type of *arg_index fields to size_t.
89565         * lib/printf-parse.c: Don't include sys/types.h.
89566         (SSIZE_MAX): Remove macro.
89567         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
89568         Remove unnecessary overflow check.
89569         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
89570         fields.
89571
89572 2003-11-25  Bruno Haible  <bruno@clisp.org>
89573
89574         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
89575
89576 2003-11-25  Bruno Haible  <bruno@clisp.org>
89577
89578         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
89579         gt_TYPE_SSIZE_T.
89580
89581 2003-11-24  Paul Eggert  <eggert@twinsun.com>
89582
89583         * modules/alloca: Remove dependency on xalloc.
89584
89585 2003-11-24  Paul Eggert  <eggert@twinsun.com>
89586
89587         * lib/alloca.c: Remove dependency on xalloc module.
89588         (xalloc_die): Remove.
89589         (memory_full) [!defined emacs]: New macro.
89590         [!defined emacs]: Don't include xalloc.h.
89591         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
89592         address arithmetic overflows.  Change datatypes a bit to avoid
89593         unnecessary casts.
89594
89595 2003-11-22  Jim Meyering  <jim@meyering.net>
89596
89597         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
89598         s/size/size_t/.
89599
89600 2003-11-21  Karl Berry  <karl@gnu.org>
89601
89602         * config/config.{sub,guess}: update from config.
89603
89604 2003-11-18  Karl Berry  <karl@gnu.org>
89605
89606         * config/config.{sub,guess}: update from config.
89607
89608         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
89609
89610 2003-11-17  Paul Eggert  <eggert@twinsun.com>
89611
89612         * README: Mention that S+T cannot overflow if S is the size of
89613         an existing object and T is sufficiently small.
89614
89615 2003-11-17  Jim Meyering  <jim@meyering.net>
89616
89617         On systems without utime and without a utimes function capable of
89618         dealing with a NULL struct utimbuf* argument, this utime replacement
89619         could -- in unusual circumstances -- leak a file descriptor.
89620         * lib/utime.c: Include <unistd.h> and <errno.h>.
89621         (utime_null): Be sure to close `fd' and to preserve errno.
89622         Reported by Geoff Collyer via Arnold Robbins.
89623
89624 2003-11-17  Bruno Haible  <bruno@clisp.org>
89625
89626         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
89627         (Depends-on): Add xsize.
89628
89629 2003-11-17  Bruno Haible  <bruno@clisp.org>
89630
89631         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
89632
89633 2003-11-17  Bruno Haible  <bruno@clisp.org>
89634
89635         * lib/vasnprintf.c (alloca): Remove fallback definition.
89636         (freea): Remove definition.
89637         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
89638         Reported by Paul Eggert.
89639
89640 2003-11-16  Paul Eggert  <eggert@twinsun.com>
89641             Bruno Haible  <bruno@clisp.org>
89642
89643         Protect against address arithmetic overflow.
89644         * lib/printf-args.h: Include stddef.h.
89645         (arguments): Change type of field 'count' to size_t.
89646         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
89647         'unsigned int' where appropriate.
89648         * lib/printf-parse.h: Include sys/types.h.
89649         (char_directive): Change type of *arg_index fields to ssize_t.
89650         (char_directives): Change type of fields 'count', max_*_length to
89651         size_t.
89652         * lib/printf-parse.c: Include sys/types.h and xsize.h.
89653         (SSIZE_MAX): Define fallback value.
89654         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
89655         instead of 'int' where appropriate. Check a_allocated, d_allocated
89656         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
89657         * lib/vasnprintf.c: Include xsize.h.
89658         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
89659         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
89660         overflow. Avoid wraparound when converting a width or precision from
89661         decimal to binary.
89662
89663 2003-11-16  Bruno Haible  <bruno@clisp.org>
89664
89665         Update from GNU gettext.
89666         * lib/printf-parse.c: Generalize to it can be compiled for wide
89667         strings.
89668         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
89669         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
89670         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
89671         SNPRINTF): New macros.
89672         Don't include <alloca.h> if the file is used inside libintl.
89673         (local_wcslen): New function, for Solaris 2.5.1.
89674         (VASNPRINTF): Use it instead of wcslen.
89675
89676 2003-11-16  Bruno Haible  <bruno@clisp.org>
89677
89678         * lib/xsize.h (xmax): New function.
89679         (xsum, xsum3, xsum4): Declare as "pure" functions.
89680
89681 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89682
89683         * modules/xalloc (Files): Undo latest change, since xalloc.h
89684         no longer needs SIZE_MAX or PTRDIFF_MAX.
89685
89686 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89687
89688         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
89689         gl_PTRDIFF_MAX.
89690
89691 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89692
89693         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
89694         "return", to pacify some unknown compiler.  Problem reported
89695         by Joerg Schilling.
89696
89697 2003-11-12  Paul Eggert  <eggert@twinsun.com>
89698
89699         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
89700         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
89701         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
89702         heuristic is just as accurate as far as we know, and it removes a
89703         dependency on size_max.m4 and ptrdiff_max.m4.
89704
89705 2003-11-11  Bruno Haible  <bruno@clisp.org>
89706
89707         * modules/xsize (Files): Add m4/size_max.m4.
89708         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
89709
89710 2003-11-11  Bruno Haible  <bruno@clisp.org>
89711
89712         * m4/size_max.m4: New file.
89713         * m4/ptrdiff_max.m4: New file.
89714         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
89715         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
89716         (gl_XALLOC): Invoke it.
89717
89718 2003-11-11  Bruno Haible  <bruno@clisp.org>
89719
89720         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
89721         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
89722         defined.
89723
89724 2003-11-10  Paul Eggert  <eggert@twinsun.com>
89725
89726         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
89727         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
89728         rejected some allocations of exactly SIZE_MAX - 2 bytes.
89729         From Bruno Haible.
89730         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
89731         not (size_t) -1, since it's defined here.
89732
89733 2003-11-09  Karl Berry  <karl@gnu.org>
89734
89735         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
89736
89737 2003-11-06  Paul Eggert  <eggert@twinsun.com>
89738
89739         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
89740         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
89741         Reject sizes of exactly SIZE_MAX bytes.
89742         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
89743         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
89744
89745 2003-11-05  Bruno Haible  <bruno@clisp.org>
89746
89747         * lib/xsize.h: Include limits.h, to avoid a possible collision with
89748         SIZE_MAX defined in <limits.h> on Solaris.
89749
89750 2003-11-04  Jim Meyering  <jim@meyering.net>
89751
89752         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
89753         variable names, rather than @VAR@.
89754         * modules/poll: Likewise.
89755
89756 2003-11-04  Bruno Haible  <bruno@clisp.org>
89757
89758         * modules/xsize: New file.
89759         * modules/linebreak: Depend on xsize.
89760         * MODULES.html.sh (func_all_modules): Add xsize.
89761
89762 2003-11-04  Bruno Haible  <bruno@clisp.org>
89763
89764         * m4/xsize.m4: New file.
89765
89766 2003-11-04  Bruno Haible  <bruno@clisp.org>
89767
89768         * lib/xsize.h: New file.
89769         * lib/linebreak.c: Include xsize.h.
89770         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
89771         argument for overflow.
89772         Suggested by Paul Eggert.
89773
89774 2003-11-03  Karl Berry  <karl@gnu.org>
89775
89776         * config/config.{guess,sub}: update from config.
89777
89778 2003-11-03  Jim Meyering  <jim@meyering.net>
89779
89780         * modules/userspec (lib_SOURCES): Add userspec.h.
89781         (Include): Add "userspec.h".
89782         Improve description.
89783
89784 2003-11-03  Jim Meyering  <jim@meyering.net>
89785
89786         * lib/userspec.c: Include "userspec.h".
89787         * lib/userspec.h: New file.
89788
89789 2003-11-03  Bruno Haible  <bruno@clisp.org>
89790
89791         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
89792
89793 2003-11-03  Bruno Haible  <bruno@clisp.org>
89794
89795         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
89796         available, to avoid (extremely rare) race condition.
89797         Suggested by Paul Eggert.
89798
89799 2003-11-02  Karl Berry  <karl@gnu.org>
89800
89801         * config/srclist.txt (vasprintf.c): sync broken, sigh.
89802
89803 2003-10-31  Paul Eggert  <eggert@twinsun.com>
89804
89805         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
89806         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
89807         (read_filesystem_list): Set and use me_type_malloced.
89808         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
89809         whatever the type happens to be), for brevity and consistency.
89810         Check for size calculation overflow on Alphas running OSF/1.
89811
89812 2003-10-31  Jim Meyering  <jim@meyering.net>
89813
89814         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
89815
89816         * lib/linebuffer.c: Include <string.h> for declaration of memset.
89817
89818 2003-10-30  Paul Eggert  <eggert@twinsun.com>
89819             Bruno Haible  <bruno@clisp.org>
89820
89821         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
89822         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
89823
89824 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
89825
89826         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
89827         netbsd*-gnu*.  Suggested by Robert Millan.
89828
89829 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89830
89831         * modules/group-member: Depend on stdbool.
89832
89833 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89834
89835         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
89836
89837 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89838
89839         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
89840         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
89841         after the 'gnu' in these cases.  This fixes some bugs in the
89842         previous change, and is based on suggestions by Robert Millan.
89843
89844 2003-10-29  Paul Eggert  <eggert@twinsun.com>
89845
89846         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
89847         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
89848         no longer needed.
89849         * lib/quotearg.c (quotearg_n_options): Use it.
89850         * lib/group-member.c: Include <stdbool.h>.
89851         (free_group_info): Arg is now const *; don't free arg.
89852         (get_group_info): Now returns bool and accepts struct group_info *,
89853         rather than returning a malloc'ed struct group_info *.
89854         All uses changed.  Check for overflow in internal size calculation.
89855
89856         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
89857         rather than xmalloc/xrealloc.
89858         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
89859         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
89860         conformance bug: the old code used a pointer after freeing the
89861         storage that it addressed.
89862         * lib/hash.c (hash_initialize): Simplify the code by using
89863         xalloc_oversized rather than doing it by hand.
89864         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
89865         the buffer preserved.  Use free and xmalloc instead.
89866         * lib/quotearg.c (quotearg_n_options): Likewise.
89867         Use a simpler test for size overflow.  Don't use xalloc_oversized
89868         because unsigned int might be wider than size_t (!); this suggests
89869         that we should switch from unsigned int to size_t for slot numbers.
89870
89871 2003-10-28  Paul Eggert  <eggert@twinsun.com>
89872
89873         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
89874         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
89875         NetBSD kernels.  Requested by Richard Stallman.
89876
89877 2003-10-27  Paul Eggert  <eggert@twinsun.com>
89878
89879         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
89880         to allocate the returned structure.  Do not allocate a subarray,
89881         as x2nrealloc will do that.
89882         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
89883         instead of xnrealloc.
89884         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
89885
89886 2003-10-27  Bruno Haible  <bruno@clisp.org>
89887
89888         * lib/stdbool_.h: Better support for BeOS.
89889
89890 2003-10-26  Paul Eggert  <eggert@twinsun.com>
89891
89892         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
89893         now uses inline.
89894
89895 2003-10-26  Paul Eggert  <eggert@twinsun.com>
89896
89897         * lib/xalloc.h (xalloc_oversized): New static inline function, for
89898         callers that want to do their own size-overflow checking.  Include
89899         <stdbool.h>, since xalloc_oversized returns bool.
89900         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
89901         to use xalloc_oversized.
89902
89903         Add two functions x2realloc, x2nrealloc, for programs that grow
89904         arrays dynamically by doubling their sizes.
89905         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
89906         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
89907         New functions.
89908
89909         Port to C99 semantics for 'inline' of external functions.
89910         Bug reported by Bruno Haible.
89911         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
89912         with the old contents of xnmalloc.
89913         (xnmalloc, xmalloc): Use it.
89914         (xnrealloc_inline): New static inline function,
89915         with the old contents of xnrealloc.
89916         (xnrealloc, xrealloc): Use it.
89917
89918         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
89919         that.
89920
89921 2003-10-26  Karl Berry  <karl@gnu.org>
89922
89923         * config/srclist.txt (COPYING.DOC): no longer available from
89924         /gd/gnuorg; don't know where the ultimate source is.
89925
89926 2003-10-25  Paul Eggert  <eggert@twinsun.com>
89927
89928         Fix several address-calculation bugs in the hash modules,
89929         plus some minor code cleanup.
89930
89931         * lib/hash.h: Include <stdbool.h>, for bool.
89932         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
89933         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
89934         hash_get_n_entries, hash_get_max_bucket_length,
89935         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
89936         hash_rehash): Use size_t rather than unsigned.
89937         * lib/hash.c (struct hash_table, hash_get_n_buckets,
89938         hash_get_n_buckets_used, hash_get_n_entries,
89939         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
89940         hash_get_entries, hash_do_for_each, hash_string, is_prime,
89941         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
89942         Likewise.
89943         (SIZE_MAX): Define if not defined.
89944         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
89945         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
89946         hash_print):
89947         Use const * when possible.
89948         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
89949         (check_tuning): Fix bug: if tuning parameters were very close to
89950         0 or 1, rounding errors could have caused subscript violations.
89951         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
89952         (hash_initialize): Add 'fail:' label
89953         to free table and return NULL, and use it to simplify code.
89954         Use calloc rather than clearing the storage ourself.
89955         (hash_initialize, hash_rehash): Check for arithmetic overflow in
89956         buffer size calculations.
89957         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
89958         Include <stddef.h>, for size_t.
89959         * lib/hash-pjw.c (hash_pjw): Likewise.
89960         Switch to method described by Bruno Haible.
89961         Include <limits.h>, for CHAR_BIT.
89962         (SIZE_BITS): New macro.
89963
89964 2003-10-23  Paul Eggert  <eggert@twinsun.com>
89965
89966         * m4/getline.m4 (AM_FUNC_GETLINE):
89967         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
89968         hosts.  Problem reported by Derek Robert Price in
89969         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
89970         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
89971         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
89972
89973 2003-10-21  Paul Eggert  <eggert@twinsun.com>
89974
89975         * lib/getndelim2.c (getndelim2): When size calculation overflows,
89976         ceiling the allocation at NMAX bytes rather than silently
89977         discarding input bytes before NMAX is reached.  This makes
89978         a difference only if NMAX exceeds SIZE_MAX / 2.
89979
89980         * lib/obstack.c: Merge from glibc.
89981         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
89982         Add libc_hidden_def (_obstack_newchunk).
89983         (_obstack_free) [! defined _LIBC]: Remove.
89984         [defined _LIBC]: Make a strong alias from obstack_free, rather than
89985         a clone of the function body.
89986         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
89987         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
89988
89989         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
89990         glibc.
89991         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
89992         arg to memcpy.
89993
89994         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
89995         (obstack_ptr_grow_fast, obstack_int_grow_fast):
89996         Don't use lvalue casts, as GCC plans to remove support for them
89997         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
89998         was also present in the non-GCC version, indicating that this
89999         code had always been buggy and had never been widely used.
90000         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
90001         Use the fast variant of each macro, rather than copying the
90002         definiens of the fast variant; that way, we'll be more likely to
90003         catch future bugs in the fast variants.
90004
90005 2003-10-20  Bruno Haible  <bruno@clisp.org>
90006
90007         * modules/wait-process: New file.
90008         * MODULES.html.sh (func_all_modules): Add wait-process.
90009
90010 2003-10-20  Bruno Haible  <bruno@clisp.org>
90011
90012         * m4/wait-process.m4: New file.
90013
90014 2003-10-20  Bruno Haible  <bruno@clisp.org>
90015
90016         * lib/wait-process.h: New file, from GNU gettext.
90017         * lib/wait-process.c: New file, from GNU gettext.
90018
90019 2003-10-19  Jim Meyering  <jim@meyering.net>
90020
90021         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
90022         HPUX 10.20.
90023
90024 2003-10-18  Karl Berry  <karl@gnu.org>
90025
90026         * config/config.guess: update from config.
90027
90028 2003-10-16  Paul Eggert  <eggert@twinsun.com>
90029
90030         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
90031         (getgroups): First arg is int, not size_t.
90032         Don't let 'free' mangle errno.
90033
90034 2003-10-16  Paul Eggert  <eggert@twinsun.com>
90035
90036         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
90037
90038 2003-10-16  Karl Berry  <karl@gnu.org>
90039
90040         * config/config.{guess,sub}: update from config.
90041
90042 2003-10-16  Jim Meyering  <jim@meyering.net>
90043
90044         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
90045         memcpy.
90046
90047 2003-10-15  Paul Eggert  <eggert@twinsun.com>
90048
90049         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
90050         (SIZE_MAX): Remove.
90051         (new_exclude, add_exclude_file): Initial size no longer needs to
90052         be a power of 2.
90053         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
90054         our own address arithmetic overflow checking.
90055
90056         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
90057         (fnmatch): Do not alloca more than 2000 wide characters;
90058         instead, use malloc for large buffers.
90059         Check for address arithmetic overflow, and return -1
90060         with errno set to ENOMEM in that case.
90061         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
90062         (NEW_PATTERN): Do not alloca more than 8000 bytes;
90063         instead, return -1.  Check for address arithmetic overflow.
90064
90065 2003-10-14  Paul Eggert  <eggert@twinsun.com>
90066
90067         Handle invalid suffixes and overflow independently, so that
90068         callers can treat them independently as needed.  Fix some bugs in
90069         suffix handling, e.g., "100k@" was not diagnosed as an invalid
90070         suffix for a human-readable blocksize.  The major caller-visible
90071         change is the addition of a new
90072         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
90073         that both overflow and suffix chars were found.
90074
90075         * lib/human.c (humblock): Don't check separately for invalid suffix
90076         char; that is xstrtoumax's job (now that its bug is fixed).
90077         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
90078         INTMAX_MAX]: New macros.
90079         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
90080         TYPE_MAXIMUM): New macros.
90081         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
90082         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
90083         if overflow occurs, as it's what __strtol does and it's more useful
90084         in practice.
90085         (__xstrtol): If __strtol reports some error other than ERANGE,
90086         reflect it to the caller as LONGINT_INVALID.  If it reports
90087         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
90088         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
90089         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
90090         value.
90091         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
90092         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
90093         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
90094         [defined UINTMAX_MAX]: New macros.
90095
90096 2003-10-14  Bruno Haible  <bruno@clisp.org>
90097
90098         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
90099
90100 2003-10-14  Bruno Haible  <bruno@clisp.org>
90101
90102         * m4/sig_atomic_t: New file, from GNU gettext.
90103         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
90104
90105 2003-10-14  Bruno Haible  <bruno@clisp.org>
90106
90107         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
90108         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
90109         Also use volatile where needed.
90110
90111 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90112
90113         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
90114         Change maintainer from Bruno Haible to 'all'.
90115
90116 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90117
90118         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
90119
90120 2003-10-12  Paul Eggert  <eggert@twinsun.com>
90121
90122         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
90123         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
90124         and define in terms of the other primitives.
90125         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
90126         (SIZE_MAX): Define if not already defined.
90127         (array_size_overflow): New function.
90128         (xalloc_die): Abort instead of exiting if 'error' returns.
90129         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
90130         (xmalloc, xrealloc): Use them.
90131         (xcalloc): Check for address arithmetic overflow.
90132         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
90133         a bit faster than strcpy.
90134
90135 2003-10-10  Simon Josefsson  <jas@extundo.com>
90136
90137         * modules/argp (Depends-on): Add restrict and strcase.
90138
90139 2003-10-10  Simon Josefsson  <jas@extundo.com>
90140
90141         * m4/argp.m4: Add AC_C_INLINE.
90142
90143 2003-10-08  Paul Eggert  <eggert@twinsun.com>
90144
90145         Merge getpass from libc, plus a few fixes.
90146
90147         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
90148         Include <stdbool.h>.
90149         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
90150         __fsetlocking to empty.
90151         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
90152         do include <bits/libc-lock.h>.
90153         Do not include <fcntl.h>; not needed.
90154         [_LIBC]: Include <wchar.h>.
90155         (NOTCANCEL_MODE): New macro.
90156         (flockfile, funlockfile) [_LIBC]: New macros.
90157         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
90158         [!_LIBC]: New macros.
90159         (call_fclose): New function.
90160         (getpass): Use it.  Save tty stream separately; this simplifies the
90161         code and makes it more reliable if stdin happens to equal stdout.
90162         Invoke __fsetlocking on tty.
90163         Handle thread cancellation if needed.
90164         Namespace cleanup (use __tcgetattr, __getline).
90165         Use bool for Booleans.
90166         [USE_IN_LIBIO]: Handle wide streams.
90167         [!_LIBC]: Unconditionally do the fseek, since we don't know what
90168         stream might go where.
90169
90170         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
90171         doesn't have to include <stdio.h> before us.
90172         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
90173         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
90174         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
90175         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
90176         if not declared, so that we can use getpass.c code from libc without
90177         rewriting it.
90178         (flockfile, ftrylockfile, funlockfile): New macros.
90179
90180 2003-10-08  Paul Eggert  <eggert@twinsun.com>
90181
90182         * modules/getpass: Depend on stdbool.
90183
90184 2003-10-08  Paul Eggert  <eggert@twinsun.com>
90185
90186         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
90187
90188 2003-10-07  Karl Berry  <karl@gnu.org>
90189
90190         * config/config.{guess,sub}: update from config.
90191
90192 2003-10-06  Jim Meyering  <jim@meyering.net>
90193             Bruno Haible  <bruno@clisp.org>
90194
90195         This lets translators provide better translations for the
90196         "Written by ..." part of --version output.
90197         * lib/version-etc.h: Include stdarg.h.
90198         (version_etc_copyright): Declare as readonly.
90199         (version_etc): Make this function variadic with a NULL-terminated list
90200         of author name strings.
90201         (version_etc_va): New declaration.
90202         * lib/version-etc.c: Include stdarg.h, stdlib.h.
90203         (version_etc_copyright): Declare as readonly.
90204         (version_etc_va): New function. Provide a different translatable string
90205         for each possible number of authors < 10. Abbreviate when there are 10
90206         authors or more.
90207         (version_etc): Make this function variadic. Call version_etc_va.
90208         Suggestion from Gary V. Vaughan.
90209
90210         * lib/long-options.h (parse_long_options): Change prototype: the
90211         authors string is moved to the end and becomes variadic.
90212         * lib/long-options.c: Include stdarg.h.
90213         (parse_long_options): Make this function variadic, too.
90214         Call version_etc_va, not version_etc.
90215
90216 2003-10-06  Bruno Haible  <bruno@clisp.org>
90217
90218         * modules/version-etc-2: Remove file.
90219         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
90220
90221 2003-10-06  Bruno Haible  <bruno@clisp.org>
90222
90223         * modules/fatal-signal: New file.
90224         * MODULES.html.sh (func_all_modules): Add fatal-signal.
90225
90226 2003-10-06  Bruno Haible  <bruno@clisp.org>
90227
90228         * m4/fatal-signal.m4: New file.
90229         * m4/signalblocking.m4: New file, from GNU gettext.
90230
90231 2003-10-06  Bruno Haible  <bruno@clisp.org>
90232
90233         * lib/version-etc-2.h: Remove file.
90234         * lib/version-etc-2.c: Remove file.
90235
90236 2003-10-06  Bruno Haible  <bruno@clisp.org>
90237
90238         * lib/fatal-signal.h: New file, from GNU gettext.
90239         * lib/fatal-signal.c: New file, from GNU gettext.
90240
90241 2003-10-05  Paul Eggert  <eggert@twinsun.com>
90242
90243         * README: Rework advice for preventing empty .o files.
90244         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
90245         not <sys/types.h>.
90246
90247 2003-10-04  Karl Berry  <karl@gnu.org>
90248
90249         * lib/argp*: update from libc.
90250
90251 2003-10-04  Karl Berry  <karl@gnu.org>
90252
90253         * config/config.{guess,sub}: update from config.
90254
90255 2003-10-02  Bruno Haible  <bruno@clisp.org>
90256
90257         * modules/lchown (Include): Add lchown.h.
90258         * modules/time_r (Include): Use "..." syntax.
90259         * modules/xgetdomainname (Include): Add xgetdomainname.h.
90260
90261 2003-10-01  Simon Josefsson  <jas@extundo.com>
90262
90263         * MODULES.html.sh (func_all_modules): Move gethostname from section
90264         'based on' to section 'lacking' POSIX:2001.
90265
90266 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
90267
90268         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
90269         to output mode on the same stream.
90270
90271 2003-09-29  Paul Eggert  <eggert@twinsun.com>
90272
90273         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
90274         Fix arg typo in previous patch.
90275
90276 2003-09-28  Jim Meyering  <jim@meyering.net>
90277
90278         * lib/error.c: Correct cpp indentation.
90279
90280 2003-09-27  Paul Eggert  <eggert@twinsun.com>
90281
90282         * modules/free: New file.
90283
90284 2003-09-27  Paul Eggert  <eggert@twinsun.com>
90285
90286         * m4/free.m4: New file.
90287
90288 2003-09-27  Paul Eggert  <eggert@twinsun.com>
90289
90290         * lib/minmax.h (MIN, MAX)
90291         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
90292         Omit the special code that used __typeof__, since we worry that
90293         it could be more trouble than it's worth.  See:
90294         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
90295         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
90296
90297         * lib/free.c: New file.
90298
90299 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
90300
90301         Trivial fixes to Makefile.am parts of module listings.
90302         * modules/strstr: Append strstr.h to lib_SOURCES.
90303         * modules/strcase: Likewise, for strcase.h.
90304
90305 2003-09-27  Karl Berry  <karl@gnu.org>
90306
90307         * config/mkinstalldirs: update from automake.
90308
90309 2003-09-26  Paul Eggert  <eggert@twinsun.com>
90310
90311         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
90312         (error_tail): Do not loop, reallocating temporary buffer, since
90313         the output cannot contain more wide characters than the input
90314         contains bytes, the size must be big enough already.  This avoids
90315         one potential size overflow calculation.  Check for size overflow
90316         when calculating temporary buffer size.  Free temporary buffer
90317         when done, if it was allocated with malloc; this plugs a memory
90318         leak.  Remove casts from void * to pointers, that are no longer
90319         needed now that we're assuming C89 or better.
90320
90321         Merge error changes from glibc.
90322
90323         * lib/error.c, error.h: Update copyright notice header to match glibc.
90324         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
90325         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
90326         Disable cancellation while printing error.
90327         * lib/error.h: Prepend __ to parameter names.
90328
90329 2003-09-26  Jim Meyering  <jim@meyering.net>
90330
90331         * lib/error.c (error_tail): Move some declarations
90332         into inner scope where the local variables are used.
90333
90334 2003-09-26  Bruno Haible  <bruno@clisp.org>
90335
90336         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
90337         stpncpy().
90338         Don't define stpncpy through config.h; it's now done through stpncpy.h.
90339
90340 2003-09-26  Bruno Haible  <bruno@clisp.org>
90341
90342         * lib/stpncpy.h (gnu_stpncpy): New declaration.
90343         (stpncpy): Define as alias for gnu_stpncpy.
90344         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
90345
90346 2003-09-25  Simon Josefsson  <jas@extundo.com>
90347
90348         * lib/xgetdomainname.h: New file.
90349         * lib/xgetdomainname.c: New file.
90350
90351 2003-09-25  Simon Josefsson  <jas@extundo.com>
90352             Bruno Haible  <bruno@clisp.org>
90353
90354         * modules/getdomainname: New file.
90355         * modules/xgetdomainname: New file.
90356         * MODULES.html.sh (func_all_modules): Add getdomainname,
90357         xgetdomainname.
90358
90359 2003-09-25  Simon Josefsson  <jas@extundo.com>
90360             Bruno Haible  <bruno@clisp.org>
90361
90362         * m4/getdomainname.m4: New file.
90363
90364 2003-09-25  Simon Josefsson  <jas@extundo.com>
90365             Bruno Haible  <bruno@clisp.org>
90366
90367         * lib/getdomainname.h: New file.
90368         * lib/getdomainname.c: New file.
90369
90370 2003-09-25  Karl Berry  <karl@gnu.org>
90371
90372         * lib/argp-fmtstream.c, argp-help.c: update from libc.
90373
90374 2003-09-25  Karl Berry  <karl@gnu.org>
90375
90376         * config/install-sh: update from automake.
90377
90378 2003-09-25  Bruno Haible  <bruno@clisp.org>
90379
90380         * modules/version-etc-2: New file, from modules/version-etc with
90381         modifications.
90382         * MODULES.html.sh (func_all_modules): Add version-etc-2.
90383
90384 2003-09-25  Bruno Haible  <bruno@clisp.org>
90385
90386         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
90387         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
90388
90389 2003-09-24  Simon Josefsson  <jas@extundo.com>
90390
90391         * modules/xgethostname: Add xgethostname.h.
90392
90393 2003-09-24  Paul Eggert  <eggert@twinsun.com>
90394
90395         * lib/linebuffer.c (freebuffer): Don't free the argument, just
90396         the buffer associated with the argument.  Bug reported by
90397         Simon Josefsson.
90398
90399 2003-09-24  Paul Eggert  <eggert@twinsun.com>
90400
90401         * README: Document assumptions that 'int' is at least 32 bits
90402         wide, that integer arithmetic is 2's complement without overflow,
90403         that there are no holes in integer values, that adding sizes of
90404         two nonoverlapping objects can't overflow, and that all-bits-zero
90405         yields scalar zero.  Fix spelling and capitalization typos.
90406
90407 2003-09-19  Karl Berry  <karl@gnu.org>
90408
90409         * lib/argp.h: update from libc.
90410
90411 2003-09-17  Paul Eggert  <eggert@twinsun.com>
90412
90413         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
90414         to avoid spurious warnings like "AC_RUN_IFELSE was called before
90415         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
90416
90417 2003-09-17  Paul Eggert  <eggert@twinsun.com>
90418
90419         * gnulib-tool: Use "test -h", not "test -L", for portability
90420         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
90421         (tags_regexp): Remove, since \| doesn't conform to POSIX.
90422         (sed_extract_prog): Issue s commands one-by-one, rather than
90423         using \| in one s command.
90424
90425 2003-09-16  Paul Eggert  <eggert@twinsun.com>
90426
90427         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
90428         input error, instead of returning NULL the next time we are called
90429         (and therefore losing track of errno).
90430
90431 2003-09-16  Bruno Haible  <bruno@clisp.org>
90432
90433         * gnulib-tool (func_create_testdir): Warn about duplicated
90434         dependencies.
90435
90436 2003-09-15  Paul Eggert  <eggert@twinsun.com>
90437
90438         * modules/argmatch, modules/fatal, modules/obstack,
90439         modules/xalloc, modules/xgethostname: Sort dependencies by
90440         importance, not alphabetically.
90441
90442 2003-09-15  Paul Eggert  <eggert@twinsun.com>
90443
90444         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
90445         fails, so that the caller gets the proper errno.
90446
90447         * lib/readutmp.c (read_utmp): Likewise.
90448         Check for fstat error.  Close stream and free storage
90449         when failing.
90450
90451 2003-09-14  Karl Berry  <karl@gnu.org>
90452
90453         * config/srclist.txt (strdup.c): disable for c89 changes.
90454
90455 2003-09-14  Jim Meyering  <jim@meyering.net>
90456
90457         * lib/getloadavg.c: Correct cpp indentation.
90458         * lib/strdup.c: Likewise.
90459         * lib/vasnprintf.c: Likewise.
90460
90461 2003-09-14  Bruno Haible  <bruno@clisp.org>
90462
90463         * modules/fwriteerror: New file.
90464         * MODULES.html.sh (func_all_modules): Add fwriteerror.
90465
90466 2003-09-14  Bruno Haible  <bruno@clisp.org>
90467
90468         * lib/fwriteerror.h: New file.
90469         * lib/fwriteerror.c: New file.
90470
90471 2003-09-12  Paul Eggert  <eggert@twinsun.com>
90472
90473         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
90474         modules/xgethostname, modules/xalloc: Depend on exit.
90475
90476 2003-09-12  Paul Eggert  <eggert@twinsun.com>
90477
90478         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
90479
90480         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
90481         and AC_MINIX, too, so that their extensions are available.
90482
90483         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
90484         This macro has been superseded by gl_BACKUPFILE.
90485
90486         More patches to assume C89 or better.
90487
90488         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
90489
90490         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
90491         unconditionally.
90492         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
90493         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
90494         Include <string.h>, <stdlib.h> unconditionally.
90495         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
90496         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
90497         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
90498         headers or for string.h.
90499         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
90500         or strtoul.
90501
90502         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
90503         headers.
90504         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
90505         * m4/userspec.m4 (gl_USERSPEC): Likewise.
90506         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
90507         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
90508         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
90509         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
90510         memcpy, memset.
90511         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
90512         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
90513         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
90514         strtol.
90515         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
90516         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
90517         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
90518         strtoul.
90519
90520 2003-09-12  Paul Eggert  <eggert@twinsun.com>
90521
90522         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
90523         * lib/obstack.c [!defined _LIBC]: Likewise.
90524         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
90525         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
90526         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
90527
90528         More changes to assume C89 or better.
90529
90530         * lib/error.c (error_tail): Assume vprintf.
90531
90532         * lib/argmatch.c (getenv): Remove decl.
90533         * lib/progreloc.c (get_full_program_name): Define via prototype.
90534         * lib/setenv.c (clearenv): Likewise.
90535         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
90536         needed.
90537         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
90538         (malloc, memcpy): Remove decls.
90539         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
90540         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
90541         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
90542         (memcpy): Remove macro.
90543         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
90544         (__P): Remove.  All uses removed.
90545         (PTR): Remove.  All uses changed to void *.
90546         (CHAR_BIT, NULL): Remove.
90547         (spaces, zeros, memset_space, memset_zero)
90548         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
90549         Remove.
90550         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
90551         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
90552         Define with prototype.
90553         Remove now-unnecessary prototype decl.
90554         (extra_args_spec): Assume ANSI C.  All uses changed.
90555         (extra_args_spec_iso): Remove.
90556         (my_strftime, emacs_strftimeu): Define via prototype.
90557         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
90558         unconditionally.
90559         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
90560         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
90561         (strtoul, strtol): Remove decls.
90562         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
90563         LONG_MAX): Remove.
90564         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
90565         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
90566         (LOCALE_PARAM_PROTO): New macro.
90567         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
90568         (INTERNAL (strtol), strtol): Define with a prototype.
90569         (PARAMS): Remove.  All uses removed.
90570         * lib/tempname.c: Include <string.h> unconditionally.
90571         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
90572         * lib/xgethostname.c (main): Define with a prototype.
90573         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
90574         Include <stdlib.h> unconditionally.
90575         (calloc, malloc, realloc, free): Remove decls.
90576         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
90577         Include <stdlib.h> unconditionally.  Sort include file names.
90578         (strtod): Remove.
90579         (xstrtod): Define with a prototype.
90580         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
90581         (strtol, strtoul): Remove decls.
90582
90583 2003-09-11  Paul Eggert  <eggert@twinsun.com>
90584
90585         More patches to assume C89 or better.
90586         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
90587         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
90588         string.h, memchr, STDC_HEADERS.
90589
90590 2003-09-11  Paul Eggert  <eggert@twinsun.com>
90591
90592         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
90593         Include <stdlib.h>, <string.h> unconditionally.
90594         Remove now-unnecessary cast to char *.
90595         * lib/strnlen.c: Include <string.h> unconditionally.
90596         * lib/yesno.c (yesno): Define with a prototype.
90597
90598 2003-09-11  Bruno Haible  <bruno@clisp.org>
90599
90600         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
90601
90602 2003-09-10  Jim Meyering  <jim@meyering.net>
90603
90604         * lib/error.c: Correct indentation of cpp directives.
90605
90606 2003-09-10  Bruno Haible  <bruno@clisp.org>
90607
90608         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
90609         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
90610         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
90611         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
90612         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
90613         <stdlib.h> and <string.h> checks.
90614         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
90615         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
90616
90617 2003-09-10  Bruno Haible  <bruno@clisp.org>
90618
90619         * lib/strcspn.c: Include <string.h> unconditionally.
90620         * lib/strpbrk.c: Include <string.h> unconditionally.
90621         * lib/strstr.c: Include <string.h> unconditionally.
90622         * lib/unicodeio.c: Include <string.h> unconditionally.
90623         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
90624         * lib/unsetenv.c: Likewise.
90625         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
90626         * lib/yesno.c: Include <stdlib.h> unconditionally.
90627         (rpmatch): Add prototype.
90628
90629 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90630
90631         More patches to assume C89 or better.
90632         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
90633         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
90634         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
90635         or for string.h.
90636         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
90637         stdlib.h.
90638         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
90639         C headers.
90640         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
90641         string.h.
90642         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
90643         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
90644         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
90645         or for string.h.
90646         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
90647         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
90648         C headers.
90649         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
90650         memcpy.
90651         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
90652         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
90653         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
90654         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
90655         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
90656         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
90657         string.h, free.
90658         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
90659         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
90660         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
90661         C headers, or for string.h.
90662         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
90663         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
90664         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
90665         headers, memory.h, stdlib.h, string.h, strings.h.
90666         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
90667         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
90668         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
90669         strchr.
90670         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
90671         headers, memory.h, string.h.
90672         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
90673         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
90674         free.
90675         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
90676         headers.
90677         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
90678         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
90679         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
90680         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
90681         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
90682
90683 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90684
90685         More K&R removal.
90686
90687         * lib/acosl.c (main): Use a prototype.
90688         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
90689         tanl.c: Likewise.
90690
90691         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
90692
90693         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
90694         (getopt, etopt_long, getopt_long_only, _getopt_internal)
90695         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
90696         with a prototype.
90697         * lib/getopt.c (const): Remove macro.
90698         Include <string.h> unconditionally.
90699         (my_index): Remove; all uses changed to strchr.
90700         (strlen): Remove decl.
90701         (exchange): Remove forward decl; no longer needed.
90702         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
90703         Define with prototype.
90704         * lib/getopt1.c (const): Remove macro.
90705         (getopt_long, getopt_long_only, main): Define with prototype.
90706
90707         * lib/getugroups.c: Include <string.h> unconditionally.
90708
90709         * lib/getusershell.c: Include <stdlib.h> unconditionally.
90710         (getusershell, setusershell, endusershell, readname, main):
90711         Define with prototypes.
90712
90713         * lib/group-member.c: Include group-member.h first.
90714         Include <stdlib.h> unconditionally.
90715
90716         * lib/hard-locale.c: Include hard-locale.h first.
90717         Include <stdlib.h>, <string.h> unconditionally.
90718
90719         * lib/hash.c (free, malloc): Remove decls.
90720         Include <stdlib.h> unconditionally.
90721
90722         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
90723         (getenv): Do not declare.
90724
90725         * lib/idcache.c: Include <string.h> unconditionally.
90726
90727         * lib/long-options.c: Include long-options.h first, to test interface.
90728         Include <stdlib.h> unconditionally.
90729
90730         * lib/makepath.c: Include makepath.h first, to test interface.
90731         Include <stdlib.h> and <string.h> unconditionally.
90732
90733         * lib/linebuffer.c: Include <stdlib.h>.
90734         (free): Remove decl.
90735
90736         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
90737         stddef.h. rpl_malloc returns void *, not char *.
90738         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
90739         prototype.
90740
90741         * lib/md5.h: Include <limits.h> unconditionally.
90742         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
90743         (__P): Remove; all uses removed.
90744         * lib/md5.c: Include "md5.h" first.
90745         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
90746         md5_buffer, md5_process_bytes, md5_process_block):
90747         Define with prototypes.
90748         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
90749         * lib/sha.c: Include "sha.h" first.
90750         Include <stdlib.h>, <string.h> unconditionally.
90751
90752         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
90753         * lib/memcmp.c (__ptr_t): Likewise.
90754         * lib/memrchr.c (__ptr_t): Likewise.
90755         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
90756         Include <string.h> unconditionally.
90757         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
90758         * lib/memchr.c: Include <stdlib.h> unconditionally.
90759         * lib/memchr.c (LONG_MAX): Remove.
90760         * lib/memrchr.c (LONG_MAX): Likewise.
90761         * lib/memchr.c (__memchr): Define via a prototype.
90762         * lib/memrchr.c (__memrchr): Likewise.
90763         * lib/memcmp.c (__P): Remove, and remove all uses.
90764         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
90765         Remove forward decls; no longer needed.
90766         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
90767         Use types required by C89 in prototype.
90768
90769         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
90770         * lib/savedir.c: Likewise.
90771         * lib/mkdir.c (free): Remove decl.
90772         * lib/rmdir.c (rmdir): Define with a prototype.
90773         * lib/savedir.c: Include savedir.h first, to test interface.
90774
90775         * lib/mktime.c (STDC_HEADERS): Remove.
90776         Include <stdlib.h>, <string.h> unconditionally.
90777
90778         * lib/modechange.c: Include <stdlib.h> unconditionally.
90779         (malloc): Remove decl.
90780
90781         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
90782         (free): Remove decl.
90783
90784         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
90785         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
90786         (This type really should be intptr_t, but that's a C99ism.)
90787         (_obstack_memcpy): Remove: all uses changed to memcpy.
90788         Include <string.h> unconditionally.
90789         (struct obstack): Assume __STDC__ for types of members
90790         chunkfun, freefun, extra_arg.
90791         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
90792         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
90793         obstack_begin, obstack_specify_allocation,
90794         obstack_specify_allocation_with_arg, obstack_chunkfun,
90795         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
90796         Remove unprototyped decls and the macros that use them.
90797         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
90798         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
90799         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
90800         (defined __STDC__ && __STDC__)]:
90801         Remove nonprototyped code.
90802         Include <stdlib.h> unconditionally.
90803         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
90804         _obstack_allocated_p, _obstack_free, obstack_free,
90805         _obstack_memory_used, print_and_abort):
90806         Define using prototypes.
90807         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
90808         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
90809         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
90810         obstack_next_free, obstack_object_size, obstack_room) [0]:
90811         Remove unused, unprototyped code.
90812
90813         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
90814
90815         * lib/physmem.c (physmem_total, physmem_available, main): Define
90816         with prototypes.
90817
90818         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
90819         (main): Define with a prototype.
90820
90821         * lib/posixver.c (getenv): Remove decl.
90822
90823         * lib/putenv.c (malloc): Returns void *, not char *.
90824         Include <string.h> unconditionally.
90825         (strchr, memcpy, NULL): Do not define.
90826
90827         * lib/readtokens.c: Include readtokens.h first, to test interface.
90828         Include <stdlib.h>, <string.h> unconditionally.
90829         (init_tokenbuffer): Define with a prototype.
90830
90831         * lib/regex.c (PARAMS): Remove.  All uses removed.
90832         All uses of _RE_ARGS removed, too.
90833         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
90834         unconditionally.
90835         (bzero): Assume memset exists.
90836         (memcmp, memcpy, NULL): Remove.
90837         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
90838         char, or assignments to local vars of type signed char.
90839         (init_syntax_once, PREFIX(extract_number_and_incr),
90840         PREFIX(print_partial_compiled_pattern),
90841         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
90842         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
90843         PREFIX(regex_grow_registers), PREFIX(regex_compile),
90844         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
90845         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
90846         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
90847         wcs_compile_range, byte_compile_range, truncate_wchar,
90848         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
90849         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
90850         count_mbs_length, wcs_re_match_2_internal,
90851         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
90852         PREFIX(alt_match_null_string_p),
90853         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
90854         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
90855         regfree, PREFIX(extract_number)): Define with prototype.  Remove
90856         now-unnecessary declaration, if any.
90857         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
90858         regcomp, regexec):
90859         Remove now-unnecessary casts among pointer types.
90860         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
90861
90862         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
90863         (free): Remove decl.
90864
90865         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
90866
90867         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
90868         (free): Remove decl.
90869
90870         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
90871         * lib/xgetcwd.c: Likewise.
90872
90873         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
90874         (free): Remove decl.
90875
90876         * lib/strchrnul.c (strchrnul): Define with a prototype.
90877         Fix bug: c_in was not converted to char before searching.
90878
90879         The following changes are not K&R related:
90880
90881         * lib/group-member.h: Include <sys/types.h>, so that this file is
90882         self-contained.
90883         * lib/makepath.h: Likewise.
90884
90885         * lib/getusershell.c (readname, default_index, line_size, readname):
90886         Use size_t, not int, for sizes.
90887         (readname): If the size overflows, report an error instead of
90888         looping forever.
90889
90890 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90891
90892         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
90893         libc.
90894
90895 2003-09-09  Paul Eggert  <eggert@twinsun.com>
90896
90897         * README: New section: portability guidelines.
90898
90899 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
90900
90901         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
90902         C89 spec.
90903
90904 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
90905
90906         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
90907
90908 2003-09-08  Paul Eggert  <eggert@twinsun.com>
90909
90910         Assume C89 or better; remove K&R cruft.
90911         A few of these changes were first proposed by Derek Robert Price
90912         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
90913
90914         * lib/addext.c: Include <string.h> unconditionally.
90915         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
90916         Don't declare getenv or malloc.
90917
90918         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
90919         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
90920         (NULL): Remove.
90921         (find_stack_direction, alloca): Use prototypes.
90922
90923         * lib/atexit.c (atexit): Define using a prototype.
90924
90925         * lib/basename.c, dirname.c, stripslash.c:
90926         Include <string.h> unconditionally.
90927
90928         * lib/bcopy.c: Include <stddef.h>.
90929         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
90930
90931         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
90932
90933         * lib/error.h (error, error_at_line, error_print_progname)
90934         [! (defined (__STDC__) && __STDC__)]: Remove decls.
90935         * lib/error.c: Include error.h first, to check interface.
90936         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
90937         (VA_START): Remove; all uses changeed to va_start.
90938         (exit, strerror): Remove decls.
90939         (error_print_progname): Prototype uncondionally.
90940         Don't include <errno.h>; no longer needed.
90941         (private_strerror): Remove.
90942         (error_tail): Always define.
90943         (error, error_at_line): Assume C89 or better; always use prototypes.
90944         * lib/fatal.c: Include "fatal.h" first, to test interface.
90945         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
90946         (VA_START): Remove; all uses changed to va_start.
90947         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
90948         this case.
90949         (exit): Remove decl.
90950         (fatal): Prototype unconditionally.  Assume va_start works.
90951         Abort at end, to pacify gcc.
90952
90953         * lib/euidaccess.c (main): Define with a prototype.
90954
90955         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
90956
90957         * lib/exitfail.c: Include <stdlib.h> unconditionally.
90958
90959         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
90960         prototypes.
90961         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
90962         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
90963         (getenv): Remove decl.
90964         (fnmatch): Define using a prototype.
90965         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
90966         (FCT): Define using a prototype.
90967
90968         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
90969
90970         * lib/gethostname.c: Include <stddef.h>.
90971         (gethostname): Define with prototype.  Length is size_t, not int.
90972
90973 2003-09-08  Paul Eggert  <eggert@twinsun.com>
90974
90975         Assume C89 or better; remove K&R cruft.
90976         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
90977         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
90978         string.h, getenv, malloc.
90979         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
90980         headers.
90981         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
90982         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
90983         do not check for strerror.
90984         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
90985         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
90986         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
90987         do not check for doprnt or vprintf.
90988         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
90989         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
90990
90991 2003-09-08  Paul Eggert  <eggert@twinsun.com>
90992
90993         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
90994         getversion.c should have been removed then, but was accidentally
90995         preserved.
90996
90997         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
90998         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
90999
91000 2003-09-08  Karl Berry  <karl@gnu.org>
91001
91002         * config/config.sub, config.guess, srclistvars.sh: update from savannah
91003                 config, forget about prep.
91004
91005         * config/depcomp, missing: update from automake.
91006
91007 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91008
91009         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
91010         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
91011
91012 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91013
91014         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
91015         copy_tm_result.  Bug reported by Simon Josefsson in
91016         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
91017
91018 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91019
91020         * m4/time_r.m4: New file.
91021         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
91022         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
91023         is. Check for timegm declaration.
91024         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
91025         Do not check for gmtime_r.
91026         Replace mktime if __mktime_internal does not exist and if mktime
91027         hasn't been replaced already.
91028
91029 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91030
91031         * lib/time_r.c, lib/time_r.h: New files.
91032
91033         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
91034         __localtime_r.
91035         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
91036         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
91037
91038         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
91039         __gmtime_r.
91040         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
91041         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
91042         Include <time_r.h>.
91043
91044         * lib/timegm.c: Switch to glibc implementation, with the following
91045         changes:
91046         [defined HAVE_CONFIG_H]: Include <config.h>.
91047         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
91048         (__mktime_internal) [!defined _LIBC]: New decl.
91049         (__gmtime_r) [!defined _LIBC]: New macro and function.
91050         (timegm): Use a prototype, since gnulib assumes C89.
91051         Do not bother declaring tmp to be const, as it's not really usefu.
91052         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
91053         (timegm): Declare only if HAVE_DECL_TIMEGM.
91054
91055 2003-09-06  Paul Eggert  <eggert@twinsun.com>
91056
91057         * MODULES.html.sh (func_all_modules): Add time_r.
91058         * modules/time_r: New file.
91059         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
91060         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
91061
91062 2003-09-03  Paul Eggert  <eggert@twinsun.com>
91063
91064         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
91065         Bug reported by Lute Kamstra in
91066         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
91067
91068         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
91069         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
91070         course with correspondingly smaller numbers for tomorrow and
91071         yesterday.  From Tadayoshi Funaba.  Originally installed into
91072         sh-utils on 1999-08-07, but the patch got lost (I guess during the
91073         coreutils merge?).
91074
91075 2003-08-31  Simon Josefsson  <jas@extundo.com>
91076
91077         * modules/timegm: New file.
91078         * MODULES.html.sh (func_all_modules): Add timegm.
91079
91080 2003-08-31  Simon Josefsson  <jas@extundo.com>
91081
91082         * m4/timegm.m4: New file.
91083
91084 2003-08-31  Simon Josefsson  <jas@extundo.com>
91085
91086         * lib/timegm.h: New file.
91087         * lib/timegm.c: New file.  Based on
91088         wget-1.8.2/src/http.c:mktime_from_utc.
91089
91090 2003-08-31  Karl Berry  <karl@gnu.org>
91091
91092         * lib/argp.h: update from libc.
91093
91094 2003-08-28  Bruno Haible  <bruno@clisp.org>
91095
91096         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
91097         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
91098         followed by '#define fnmatch fnmatch_posix' gives an error.
91099
91100 2003-08-28  Bruno Haible  <bruno@clisp.org>
91101
91102         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
91103         warning on QNX, which defines O_BINARY to 000000.
91104
91105 2003-08-27  Jim Meyering  <jim@meyering.net>
91106
91107         * m4/mkstemp.m4: Require that the system mkstemp be able to create
91108         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
91109         would fail after 32.  Reported by Danny Levinson.  Details here:
91110         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
91111
91112 2003-08-24  Bruno Haible  <bruno@clisp.org>
91113
91114         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
91115         MSVC7 <stdio.h> is included later.
91116
91117 2003-08-22  Simon Josefsson  <jas@extundo.com>
91118
91119         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
91120
91121 2003-08-20  Karl Berry  <karl@gnu.org>
91122
91123         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
91124
91125 2003-08-20  Bruno Haible  <bruno@clisp.org>
91126
91127         * modules/progname: New file.
91128         * MODULES.html.sh (func_all_modules): Add progname.
91129
91130 2003-08-20  Bruno Haible  <bruno@clisp.org>
91131
91132         * lib/progname.h: New file, from GNU gettext.
91133         * lib/progname.c: New file, from GNU gettext.
91134         * lib/progreloc.c: New file, from GNU gettext.
91135
91136 2003-08-19  Jim Meyering  <jim@meyering.net>
91137
91138         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
91139         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
91140
91141 2003-08-19  Bruno Haible  <bruno@clisp.org>
91142
91143         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
91144         more.
91145
91146 2003-08-19  Bruno Haible  <bruno@clisp.org>
91147
91148         * lib/xstrdup.c: Assume <string.h> exists.
91149
91150 2003-08-18  Paul Eggert  <eggert@twinsun.com>
91151
91152         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
91153         in makefile rules.
91154
91155 2003-08-18  Jim Meyering  <jim@meyering.net>
91156
91157         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
91158         * m4/lib-ld.m4: Likewise.
91159
91160 2003-08-18  Jim Meyering  <jim@meyering.net>
91161
91162         * lib/setenv.h: Indent nested cpp directive.
91163         * lib/vasnprintf.c: Remove trailing blanks.
91164
91165 2003-08-17  Simon Josefsson  <jas@extundo.com>
91166
91167         * modules/xstrndup: New file.
91168         * MODULES.html.sh (func_all_modules): Add xstrndup.
91169
91170 2003-08-17  Simon Josefsson  <jas@extundo.com>
91171
91172         * modules/argp: Fix autoconf macro name. Add more dependencies.
91173
91174 2003-08-17  Simon Josefsson  <jas@extundo.com>
91175
91176         * m4/xstrndup.m4: New file.
91177
91178 2003-08-17  Simon Josefsson  <jas@extundo.com>
91179
91180         * m4/argp.m4: New file.
91181
91182 2003-08-17  Simon Josefsson  <jas@extundo.com>
91183             Bruno Haible  <bruno@clisp.org>
91184
91185         * lib/xstrndup.h: New file.
91186         * lib/xstrndup.c: New file.
91187
91188 2003-08-17  Bruno Haible  <bruno@clisp.org>
91189
91190         * modules/strndup (Files, Include): Add lib/strndup.h.
91191
91192 2003-08-17  Bruno Haible  <bruno@clisp.org>
91193
91194         * modules/euidaccess (Files): Add lib/euidaccess.h.
91195
91196 2003-08-17  Bruno Haible  <bruno@clisp.org>
91197
91198         * lib/strndup.h: New file.
91199
91200 2003-08-17  Bruno Haible  <bruno@clisp.org>
91201
91202         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
91203         like AC_GNU_SOURCE.
91204         * modules/extensions (configure.ac): Comment out the invocation of
91205         gl_USE_SYSTEM_EXTENSIONS.
91206
91207 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91208
91209         Merges from coreutils, etc.
91210         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
91211         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
91212         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
91213         fixing a typo.
91214         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
91215         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
91216
91217 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91218
91219         Document merge from coreutils.
91220         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
91221         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
91222         * modules/utime: Add m4/utimes-null.m4.
91223
91224 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91225
91226         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
91227         space, undoing this 2003-08-12 change:
91228         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
91229
91230 2003-08-16  Paul Eggert  <eggert@twinsun.com>
91231
91232         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
91233         strtoul.c from libc, undoing this 2003-08-12 change:
91234         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
91235
91236 2003-08-16  Jim Meyering  <jim@meyering.net>
91237
91238         Merges from coreutils.
91239         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
91240         prefix.  Adjust cache variables similarly.  Create 500 rather than
91241         just 300 files, to exercise bug on Darwin6.5, too.
91242         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
91243         $missing_dir.
91244         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
91245         AM_SYS_POSIX_TERMIOS.
91246         Reported by mkc@mathdogs.com.
91247         Also change use of $am_cv_sys_posix_termios
91248         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
91249         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
91250         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
91251         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
91252         in /proc/mounts until it finds one with matching device number.  This
91253         is unnecessary when the FILE argument *is* a mount point.  No stat call
91254         is necessary in that case.  So, disable the statvfs-testing code on
91255         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
91256         as RedHat bug# 84846.
91257         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
91258         to 1MB, so as not to render systems with no stack size limit (e.g.,
91259         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
91260         Include <unistd.h>.  On some systems,
91261         it is required for the definition of _SC_PAGESIZE.
91262
91263 2003-08-16  Jim Meyering  <jim@meyering.net>
91264
91265         Merge from coreutils.
91266         * lib/xstrtoimax.c: #else #if -> #elif.
91267         * lib/xstrtoumax.c: Likewise.
91268
91269 2003-08-16  Jim Meyering  <jim@meyering.net>
91270
91271         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
91272         * m4/utimes.m4: Removed.
91273         * m4/utimes-null.m4: Renamed from utimes.m4.
91274
91275         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
91276         to 1MB, so as not to render systems with no stack size limit (e.g.,
91277         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
91278         Include <unistd.h>.  On some systems,
91279         it is required for the definition of _SC_PAGESIZE.
91280
91281 2003-08-16  Jim Meyering  <jim@meyering.net>
91282         and Paul Eggert  <eggert@cs.ucla.edu>
91283
91284         Merges from coreutils, etc.
91285
91286         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
91287         using the latest version from cvs.  This avoids problems with #line
91288         directives using a vendor (Sun) compiler.
91289         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
91290         Don't set GETGROUPS_LIB here; now it's
91291         done via getgroups.m4's wrapper function.
91292         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
91293         rather than just in sh-util/configure.in, so that the
91294         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
91295         same.
91296         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
91297         AC_FUNC_GETLOADAVG where to find getloadavg.c.
91298         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
91299         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
91300         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
91301         Remove code that is now done by the newly-required macros.
91302         Append $(EXEEXT) to DF_PROG.
91303         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
91304         Do not invoke or require the following here,
91305         since prereq.m4 or some gnulib .m4 now does this for us:
91306         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
91307         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
91308         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
91309         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
91310         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
91311         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
91312         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
91313         AC_FUNC_OBSTACK.
91314         Do not replace the following functions, as this is now the job
91315         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
91316         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
91317         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
91318         atexit getpass, strdup, getpagesize.
91319         Replace 'raise'.
91320         Do not check for the following functions, as this is now the job
91321         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
91322         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
91323         setregid.
91324         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
91325         Check for sys/sysctl.h.
91326         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
91327         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
91328         of checking for ssize_t ourselves.
91329
91330         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
91331         Require every macro that gnulib/modules/* suggests for us.
91332         (jm_PREREQ_ADDEXT): New macro.
91333         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
91334         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
91335
91336         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
91337         (gl_PHYSMEM): Use it.
91338         Also check for `table' function.
91339         Check for new headers and functions.
91340         Add check for sys/sysmp.h.
91341         With suggestions from Kaveh Ghazi.
91342         Ignore headers that are present but cannot be compiled.  This
91343         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
91344         C 5.4.
91345
91346 2003-08-15  Paul Eggert  <eggert@twinsun.com>
91347
91348         Document merge from coreutils.
91349         * modules/userspec: Depend on posixver.
91350         * modules/strftime: Depend on tzset.
91351
91352 2003-08-15  Paul Eggert  <eggert@twinsun.com>
91353
91354         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
91355         rather than tab, after '#' in shell-script copyright notices.
91356         Suggested by Bruno Haible.
91357
91358 2003-08-15  Paul Eggert  <eggert@twinsun.com>
91359
91360         * config/srclist-update: Use three spaces, rather than tab, after '#'
91361         in shell-script copyright notices.  Suggested by Bruno Haible.
91362         Remove unnecessary parenthesization in regular expression.
91363
91364 2003-08-15  Jim Meyering  <jim@meyering.net>
91365
91366         Merge from coreutils.
91367         * lib/xgethostname.c: Include <stdlib.h>.
91368         (xghostname): Don't exit for anything other than memory-related
91369         failure; just return NULL.
91370         * lib/userspec.c: Include "posixver.h".
91371         (parse_user_spec): Accept `.' as a separator only
91372         in pre-POSIX-200112 mode.
91373         * lib/strtoimax.c: Use #elif rather than #else #if.
91374         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
91375         Remove function, now that we can rely on a working tzset function.
91376         [!_LIBC]: Ensure that the required autoconf test has been run.
91377         [!defined _NL_CURRENT && HAVE_STRFTIME]:
91378         Use underlying_strftime for %r.
91379         * lib/sha.c: Merge in some clean-up and optimization changes from
91380         glibc.
91381         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
91382         Ensure that it is a multiple of 64.
91383         Rearrange loop exit tests so as to avoid performing an
91384         additional fread after encountering an error or EOF.
91385         * lib/realloc.c: Update copyright date.
91386
91387 2003-08-15  Jim Meyering  <jim@meyering.net>
91388         and Paul Eggert  <eggert@twinsun.com>
91389
91390         Merge from coreutils.
91391         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
91392         member but strut utmpx does not.  Needed for AIX 4.3.3.
91393         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
91394
91395 2003-08-15  Jim Meyering  <jim@meyering.net>
91396         and Paul Eggert  <eggert@cs.ucla.edu>
91397
91398         Merges from coreutils, etc.
91399         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
91400         Require gl_FUNC_TZSET_CLOBBER.
91401         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
91402         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
91403         members.
91404
91405 2003-08-14  Paul Eggert  <eggert@twinsun.com>
91406
91407         Help the merge from coreutils.
91408         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
91409         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
91410         * m4/tzset.m4: Use it too.
91411
91412 2003-08-14  Paul Eggert  <eggert@twinsun.com>
91413
91414         * modules/tzset: New file.
91415
91416 2003-08-14  Jim Meyering  <jim@meyering.net>
91417
91418         Merges from coreutils.
91419         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
91420         variable names, rather than @FNMATCH_H@.
91421         * modules/alloca: Likewise for $(ALLOCA_H).
91422
91423         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
91424         the three copies of the literal target, `fnmatch.h'.
91425         * modules/alloca (alloca.h): Likewise.
91426
91427 2003-08-14  Jim Meyering  <jim@meyering.net>
91428
91429         Merge from coreutils.
91430         * m4/tzset.m4: New file.
91431         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
91432         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
91433         otherwise, AIX 5.1 systems would end up using the latter.
91434         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
91435         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
91436         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
91437         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
91438
91439 2003-08-14  Jim Meyering  <jim@meyering.net>
91440
91441         Merge from coreutils.
91442         * lib/obstack.h: Whitespace changes.
91443         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
91444         and xcalloc return values.
91445         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
91446         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
91447         hang on OSF/1 5.1 for DIR on both local and remote file systems.
91448         Reported by (and fix confirmed by) Nelson H. F. Beebe.
91449         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
91450         error from mntctl.
91451         Use mntctl's return value to drive the entry-processing loop, since
91452         we can't rely on the value of the vmt_length member in the last
91453         entry.  On some systems doing so could result in exhausting
91454         virtual memory.  Based in part on a patch from Mike Jetzer.
91455
91456 2003-08-14  Jim Meyering  <jim@meyering.net>
91457         and Paul Eggert  <eggert@twinsun.com>
91458
91459         Merges from coreutils, plus other fixes.
91460         * lib/physmem.c: Merge in portability changes from gcc/libiberty
91461         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
91462         for credits and details.  Thanks to Kaveh Ghazi for helping
91463         to keep these files in sync.
91464         (ARRAY_SIZE): Define it.
91465         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
91466         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
91467         (memcasecmp): Don't assume size_t fits in unsigned int.
91468         Remove casts and duplicate code.
91469         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
91470         (memcpy): Remove definition.
91471         Merge in some clean-up and optimization changes from glibc.
91472         [BLOCKSIZE]: Move definition to top of file.
91473         Ensure that it is a multiple of 64.
91474         Rearrange loop exit tests so as to avoid performing an
91475         additional fread after encountering an error or EOF.
91476         * lib/md5.h (md5_uintptr): Define.
91477         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
91478         return to the initial working directory.  Preserve errno
91479         for caller.
91480         * lib/idcache.c: Include "xalloc.h".
91481         (xmalloc, xrealloc): Remove decls.
91482         (getuser): Remove casts no longer required in C89.
91483         * lib/human.c: Include stdio.h, for sprintf.
91484         * lib/group-member.c: Include "xalloc.h".
91485         (xmalloc, xrealloc): Remove decls.
91486         (get_group_info): Remove casts no longer required in C89.
91487         * lib/getusershell.c (readname): Remove casts no longer required in
91488         C89.
91489         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
91490         * lib/getline.c: Whitespace fix, from coreutils.
91491
91492 2003-08-13  Paul Eggert  <eggert@twinsun.com>
91493
91494         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
91495         Check for isascii.
91496
91497         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
91498         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
91499         Undo previous (whitespace-only) change.
91500
91501 2003-08-13  Paul Eggert  <eggert@twinsun.com>
91502
91503         * lib/exclude.c: Include <ctype.h>
91504         (IN_CTYPE_DOMAIN): New macro.
91505         (is_space): New fn.
91506         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
91507         and empty lines.
91508
91509         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
91510         Undo previous (whitespace-only) change.
91511
91512 2003-08-13  Paul Eggert  <eggert@twinsun.com>
91513
91514         * config/srclist-update: Change update back to the old behavior,
91515         leaving whitespace alone.  Use one 'sed' command rather than a
91516         pipeline.
91517         (fixlicense): Now a variable, not a function.
91518         (remove_trailing_blanks): Remove.
91519         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
91520         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
91521         Undo previous (whitespace-only) change.
91522
91523 2003-08-12  Paul Eggert  <eggert@twinsun.com>
91524
91525         Merge from coreutils.
91526         * modules/euidaccess: Add lib_SOURCES, include for new
91527         file euidaccess.h
91528
91529 2003-08-12  Paul Eggert  <eggert@twinsun.com>
91530
91531         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
91532         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
91533         Normalize leading white space and remove trailing white space.
91534
91535         Merge from coreutils
91536         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
91537
91538         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
91539         0.12.1.  These files are now being upgraded automatically by
91540         ../config/srclist-update.
91541
91542 2003-08-12  Paul Eggert  <eggert@twinsun.com>
91543
91544         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
91545         Normalize leading white space and remove trailing white space.
91546         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
91547         notice, as per ../config/srclist-update.
91548
91549         Merge from coreutils.
91550         * lib/euidaccess.h: New file.
91551         * lib/euidaccess.c: Include it.
91552         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
91553         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
91554         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
91555
91556 2003-08-12  Paul Eggert  <eggert@twinsun.com>
91557
91558         * config/srclist-update: Add copyright notice.
91559         (remove_id_lines, remove_trailing_blanks): New constants.
91560         (fixfile): Use them to normalize spacing a bit in copied files.
91561         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
91562         Normalize leading white space and remove trailing white space.
91563
91564         * config/texinfo.tex: Sync with texinfo.
91565
91566         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
91567         strtoul.c from libc, to merge coreutils whitespace changes.
91568
91569         * config/srclist.txt: Get the following m4 files from gettext:
91570         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
91571         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
91572         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
91573         wint_t.m4.
91574
91575 2003-08-12  Karl Berry  <karl@gnu.org>
91576
91577         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
91578         been made.
91579
91580 2003-08-11  Paul Eggert  <eggert@twinsun.com>
91581
91582         * modules/gnu-source, m4/gnu-source.m4:
91583         Remove; we're assuming Autoconf 2.54 or later now.
91584         Suggested by Bruno Haible.
91585         * MODULES.html.sh (func_all_modules): Remove gnu-source.
91586
91587 2003-08-11  Bruno Haible  <bruno@clisp.org>
91588
91589         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
91590
91591 2003-08-11  Bruno Haible  <bruno@clisp.org>
91592
91593         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
91594         (vasnprintf): Use it instead of wcslen.
91595
91596 2003-08-11  Bruno Haible  <bruno@clisp.org>
91597
91598         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
91599         value to ensure that _Bool promotes to int. Use #define for _Bool when
91600         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
91601
91602 2003-08-10  Karl Berry  <karl@gnu.org>
91603
91604         * lib/regex.h: update from libc (whitespace fix).
91605
91606 2003-08-09  Paul Eggert  <eggert@twinsun.com>
91607
91608         Merge some files from coreutils.  These changes were
91609         originally made by Jim Meyering.
91610         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
91611         many older Unixes require this.
91612         * lib/alloca.c (alloca): Remove cast to argument of free;
91613         no longer needed in C89.
91614         * lib/alloca_.h, regex.h: Fix white space to match
91615         what GNU indent does.
91616
91617 2003-08-09  Paul Eggert  <eggert@twinsun.com>
91618
91619         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
91620         apparently Emacs's Unicode mode got confused before my 2003-08-05
91621         checkin.
91622
91623 2003-08-08  Paul Eggert  <eggert@twinsun.com>
91624
91625         * m4/extensions.m4: New file.
91626         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
91627         Require gl_USE_SYSTEM_EXTENSIONS.
91628         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
91629         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
91630
91631 2003-08-08  Paul Eggert  <eggert@twinsun.com>
91632
91633         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
91634         * modules/extensions, modules/gnu-source: New files.
91635         * modules/timespec, modules/unlocked-io: Depend on extensions.
91636
91637 2003-08-07  Paul Eggert  <eggert@twinsun.com>
91638
91639         * modules/restrict: New file.
91640         * MODULES.html.sh (func_all_modules): Add restrict.
91641         * modules/regex: Depend on restrict.
91642
91643 2003-08-07  Paul Eggert  <eggert@twinsun.com>
91644
91645         * m4/restrict.m4: New file.
91646         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
91647
91648 2003-08-07  Bruno Haible  <bruno@clisp.org>
91649
91650         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
91651         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
91652
91653 2003-08-07  Bruno Haible  <bruno@clisp.org>
91654
91655         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
91656         makes the module 'getndelim2' compatible with the module 'getline'.
91657
91658 2003-08-05  Paul Eggert  <eggert@twinsun.com>
91659
91660         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
91661         byte with "\201" to avoid glitches when editing that source file
91662         with multi-gnome-terminal.
91663
91664 2003-08-05  Paul Eggert  <eggert@twinsun.com>
91665
91666         * lib/bumpalloc.h: Remove.
91667
91668 2003-08-05  Paul Eggert  <eggert@twinsun.com>
91669
91670         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
91671         * modules/bumpalloc: Remove.
91672
91673 2003-08-04  Paul Eggert  <eggert@twinsun.com>
91674
91675         * lib/getloadavg.c: Change copyright notice and spacing to conform to
91676         GNU coding style.
91677
91678         Merge from coreutils.
91679         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
91680         1. From glibc.
91681         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
91682         from Karl Berry, implemented by Jim Meyering.
91683         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
91684         from Dmitry V. Levin.
91685         Remove anachronistic cast of xrealloc.
91686         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
91687         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
91688         type. Otherwise, it wouldn't compile with at least /bin/cc on
91689         ymp-cray-unicos9.0.2.X.
91690         Combine two mostly-identical uses of alloca into one.
91691         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
91692
91693 2003-08-04  Dave Love  <d.love@dl.ac.uk>
91694
91695         [From Emacs.]
91696
91697         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
91698         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
91699         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
91700         obsolete NLIST_NAME_UNION.
91701         [__GNU__]: Undef BSD and FSCALE.
91702         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
91703
91704 2003-08-03  Paul Eggert  <eggert@twinsun.com>
91705
91706         * lib/stdbool_.h (_Bool): Make it signed char, instead of
91707         an enum type, so that it's guaranteed to promote to int.  See:
91708         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
91709
91710 2003-08-03  Karl Berry  <karl@gnu.org>
91711
91712         * config/depcomp: update from automake.
91713
91714 2003-07-31  Paul Eggert  <eggert@twinsun.com>
91715
91716         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
91717         (strerror): Don't assume that a printable int fits in 14 bytes.
91718
91719 2003-07-31  Bruno Haible  <bruno@clisp.org>
91720
91721         * modules/getpass-gnu: New file.
91722         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
91723
91724 2003-07-31  Bruno Haible  <bruno@clisp.org>
91725
91726         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
91727
91728 2003-07-24  Karl Berry  <karl@gnu.org>
91729
91730         * config/missing: update from automake.
91731
91732 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
91733             Bruno Haible  <bruno@clisp.org>
91734
91735         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
91736         * lib/getline.c (getline, getdelim): Likewise.
91737         Remove _GNU_SOURCE define; now it's defined in config.h through
91738         m4/getline.m4.
91739
91740 2003-07-23  Karl Berry  <karl@gnu.org>
91741
91742         * config/config.sub: update from prep.
91743
91744 2003-07-22  Paul Eggert  <eggert@twinsun.com>
91745
91746         * modules/xalloc (Depends-on): Add exitfail.
91747         * modules/xmemcoll: Likewise.
91748
91749 2003-07-22  Paul Eggert  <eggert@twinsun.com>
91750
91751         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
91752         over-parenthesization in macros.
91753
91754         Sync with coreutils.
91755
91756         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
91757         required by C99.
91758
91759         Use `exit_failure' for xalloc and xmemcoll instead of their own
91760         private exit-failure variables.
91761         * lib/xalloc.h (xalloc_exit_failure): Remove.
91762         * lib/xmalloc.c: Likewise.  Include exitfail.h.
91763         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
91764         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
91765         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
91766         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
91767
91768 2003-07-20  Jim Meyering  <jim@meyering.net>
91769
91770         * modules/closeout (Depends-on): Add exitfail.
91771         Suggestion from Bruno Haible.
91772
91773 2003-07-19  Karl Berry  <karl@gnu.org>
91774
91775         * config/config.sub: update from prep.
91776
91777 2003-07-18  Paul Eggert  <eggert@twinsun.com>
91778
91779         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
91780         Remove.
91781         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
91782         to test that it can stand by itself.  Include "exitfail.h".
91783         Clients should set exit_failure instead.
91784         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
91785
91786 2003-07-18  Bruno Haible  <bruno@clisp.org>
91787
91788         * modules/getndelim2: New file.
91789         * modules/getline: Share files with module getndelim2.
91790         * modules/getnline: Depend on getndelim2 instead of sharing files with
91791         it. Add getnline.c to lib_SOURCES.
91792         * MODULES.html.sh (func_all_modules): Add getndelim2.
91793
91794 2003-07-18  Bruno Haible  <bruno@clisp.org>
91795
91796         * m4/getndelim2.m4: New file.
91797         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
91798         invoke gl_PREREQ_GETNDELIM2.
91799         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
91800         gl_PREREQ_GETNDELIM2.
91801         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
91802         gl_GETNDELIM2.
91803
91804 2003-07-18  Bruno Haible  <bruno@clisp.org>
91805
91806         * lib/getndelim2.h: New file.
91807         * lib/getndelim2.c: Make into a module of its own. Include config.h,
91808         getndelim2.h.
91809         (getndelim2): Make non-static. Change return type to ssize_t.
91810         * lib/getline.h: Change argument names.
91811         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
91812         * lib/getnline.c: Include getndelim2.h.
91813
91814 2003-07-18  Andreas Schwab  <schwab@suse.de>
91815
91816         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
91817
91818 2003-07-17  Karl Berry  <karl@gnu.org>
91819
91820         * config/config.sub: update from prep.
91821
91822 2003-07-17  Bruno Haible  <bruno@clisp.org>
91823
91824         * modules/getnline: New file.
91825         * modules/getline: Add lib/getndelim2.c to source file list.
91826         * MODULES.html.sh (func_all_modules): Add getnline.
91827
91828 2003-07-17  Bruno Haible  <bruno@clisp.org>
91829
91830         * m4/getnline.m4: New file.
91831
91832 2003-07-17  Bruno Haible  <bruno@clisp.org>
91833
91834         * m4/Makefile.am.in: Remove file.
91835         * m4/Makefile.am: Remove file.
91836         * m4/Makefile.in: Remove file.
91837
91838 2003-07-17  Bruno Haible  <bruno@clisp.org>
91839
91840         * lib/getnline.h: New file.
91841         * lib/getnline.c: New file.
91842         * lib/getndelim2.c: New file, extracted from getline.c.
91843         (getndelim2): Renamed from getdelim2, with added nmax argument.
91844         * lib/getline.c: Include getndelim2.c.
91845         (getdelim2): Moved out to getndelim2.c.
91846         (getline, getdelim): Update.
91847
91848 2003-07-17  Bruno Haible  <bruno@clisp.org>
91849
91850         * lib/Makefile.am: Remove file.
91851         * lib/Makefile.in: Remove file.
91852
91853 2003-07-17  Bruno Haible  <bruno@clisp.org>
91854
91855         * configure.in: Remove file.
91856         * Makefile.in: Remove file.
91857
91858 2003-07-17  Bruno Haible  <bruno@clisp.org>
91859
91860         * MODULES.html.sh: Put the </BODY> right before </HTML>.
91861
91862 2003-07-16  Karl Berry  <karl@gnu.org>
91863
91864         * config/srclist-update: was running fixlicense twice, which caused
91865                 texinfo.tex to be nullified for some reason.  Simplify,
91866                 $gplsrc is no longer needed as far as I can see?
91867
91868 2003-07-16  Jim Meyering  <jim@meyering.net>
91869
91870         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
91871
91872 2003-07-15  Paul Eggert  <eggert@twinsun.com>
91873
91874         * config/srclist.txt: Get the following files from gettext-runtime/intl
91875         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
91876         ref-del.sin.  From Bruno Haible.
91877         * config/srclist-update (fixfile): Change grep pattern again, since the
91878         previous fix didn't work (there was another trailing $).  Use
91879         '[$]' to escape the $s.
91880
91881 2003-07-15  Karl Berry  <karl@gnu.org>
91882
91883         * lib/vasnprintf.c: update from gettext.
91884
91885 2003-07-15  Karl Berry  <karl@gnu.org>
91886
91887         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
91888         gets expanded when surrounded by '$'.
91889
91890 2003-07-15  Jim Meyering  <jim@meyering.net>
91891
91892         * modules/save-cwd: Don't depend on error.  From Derek Price.
91893
91894 2003-07-15  Jim Meyering  <jim@meyering.net>
91895
91896         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
91897
91898 2003-07-14  Simon Josefsson  <jas@extundo.com>
91899
91900         * modules/mempcpy: New file.
91901         * MODULES.html.sh (func_all_modules): Add mempcpy.
91902
91903 2003-07-14  Simon Josefsson  <jas@extundo.com>
91904
91905         * m4/mempcpy.m4: New file.
91906
91907 2003-07-14  Simon Josefsson  <jas@extundo.com>
91908
91909         * lib/mempcpy.h: New file.
91910         * lib/mempcpy.c: New file.
91911
91912 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91913
91914         * modules/getdate, modules/posixtm: Depend on mktime.
91915
91916 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91917
91918         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
91919         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
91920         unicodeio.c, unicodeio.h, unlocked-io.h:
91921         Switch from LGPL to GPL.
91922
91923 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91924
91925         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
91926         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
91927         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
91928         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
91929         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
91930         updated automatically by ../config/srclist-update.  This changes
91931         their license from LPGL to GPL.
91932
91933 2003-07-14  Paul Eggert  <eggert@twinsun.com>
91934
91935         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
91936         assumed to refer to the root of the most recent stable gettext version.
91937         * config/srclistvars.sh: Add defaults for eggert.
91938         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
91939         Match "This program" as well as "The program".  This is needed
91940         for gettext.
91941
91942 2003-07-14  Jim Meyering  <jim@meyering.net>
91943
91944         Don't emit diagnostics.  Let callers do that.
91945         * lib/save-cwd.c: Don't include "error.h".
91946         (save_cwd): Don't call error.  Ensure that errno is valid
91947         when returning nonzero.
91948
91949         * lib/save-cwd.h (restore_cwd): Update prototype.
91950         * lib/save-cwd.c (restore_cwd): Remove two parameters.
91951         Simplify.  Don't call error upon failure.  Let callers do that.
91952         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
91953         when auditing is enabled.  But don't bother updating the #if.
91954
91955 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
91956
91957         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
91958         it breaks C++ compilation.
91959         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
91960
91961 2003-07-10  Simon Josefsson  <jas@extundo.com>
91962
91963         * modules/strchrnul (Makefile.am): Add strchrnul.h.
91964
91965 2003-07-10  Jim Meyering  <jim@meyering.net>
91966
91967         * m4/clock_time.m4: Remove trailing blank.
91968         * m4/intmax_t.m4: Likewise.
91969
91970 2003-07-10  Jim Meyering  <jim@meyering.net>
91971
91972         * lib/vasnprintf.c: Remove trailing blanks.
91973         Make cpp indentation consistent.
91974
91975 2003-07-09  Paul Eggert  <eggert@twinsun.com>
91976
91977         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
91978         posixver.c, strftime.c, strnlen.c, strverscmp.c:
91979         Switch from LGPL to GPL.
91980
91981 2003-07-09  Paul Eggert  <eggert@twinsun.com>
91982
91983         * config/srclist.txt: Sort sublists.  Add
91984         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
91985         that differ from gnulib for one reason or another; we'd like this list
91986         to be smaller but for now let's document what we have.
91987
91988 2003-07-08  Paul Eggert  <eggert@twinsun.com>
91989
91990         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
91991         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
91992         and sweeter "eval x=$x".
91993         * config/srclist.txt: Get lib/argp* from glibc.
91994
91995 2003-07-07  Paul Eggert  <eggert@twinsun.com>
91996
91997         * lib/mktime.c: Fix some boundary cases and remove need for floating
91998         point.
91999
92000         Issue a compile-time diagnostic if time_t is floating point, or if
92001         two's complement arithmetic is not in effect, or if arithmetic
92002         right shift does not propagate the sign.  These assumptions were
92003         all in the original code but they weren't checked.
92004
92005         (TIME_T_MIDPOINT, verify): New macros.
92006         (__isleap): Remove; it has integer overflow problems.
92007         (leapyear): New function, without those problems.
92008         (ydhms_tm_diff): Remove; splitting into two parts.
92009         (ydhms_diff): New function, containing the arithmetic part of
92010         the old ydhms_tm_diff function.  Issue a compile-time
92011         diagnostic if we are not using C99 integer division.
92012         Avoid casts when possible.
92013         (guess_time_tm): New function, containing the checking part of
92014         the old ydhms_tm_diff function.  Return the new value, rather than
92015         the difference between it and the old.  Accept a new argument T
92016         so that *T specifies the old value.  Check for overflow in the result.
92017
92018         (__mktime_internal): Use a time_t offset, not a long int offset.
92019         This undoes the 2003-06-04 change, which is no longer needed now
92020         that we have better overflow checking.
92021         (localtime_offset): Likewise.
92022
92023         (__mktime_internal): Avoid harmful overflow on hosts where time_t
92024         and long are 64-bit but int is only 32-bit.
92025         (ydhms_diff): Use long int to store year1 and yday1.
92026         Issue a compile-time diagnostic if long int is not wide enough.
92027
92028         (__mktime_internal): Use long int to store adjusted year and yday.
92029         Use plain C rather than preprocessor commands, if that doesn't
92030         affect efficiency.
92031         Check for overflow (and try to repair) after each probe
92032         rather than checking only at the very end.  This avoids some bugs
92033         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
92034         does not equal GMT offset at maximum time).
92035         Use integer to check for overflow rather than floating point; this
92036         is more portable to non-IEEE hosts, and is a tad faster.
92037         When we detect that we are oscillating between two values,
92038         don't check whether tm_isdst has the requested value, since
92039         we already know the answer.  When tm_isdst has the wrong value,
92040         use a different heuristic to find the right one, based on the
92041         extreme values actually observed in practice in tz2003a,
92042         rather than the (overly optimistic) "previous 3 calendar quarters".
92043
92044         (not_equal_tm, print_tm, check_result): Use "const T" rather than
92045         "T const" to accommodate glibc style.
92046         (check_result): Use less-confusing report format.  "long" -> "long int.
92047         (main): Likewise.
92048         Don't loop if the iteration overflows time_t.
92049         Allow a negative step in the iteration.
92050
92051 2003-07-06  Karl Berry  <karl@gnu.org>
92052
92053         * config/depcomp: update from automake.
92054         * config/config.sub: update from prep.
92055
92056 2003-07-03  Karl Berry  <karl@gnu.org>
92057
92058         * config/config.guess: update from prep.
92059
92060 2003-07-01  Paul Eggert  <eggert@twinsun.com>
92061
92062         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
92063         xreadlink.c now includes it unconditionally.
92064
92065 2003-07-01  Paul Eggert  <eggert@twinsun.com>
92066
92067         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
92068         having it depend on HAVE_SYS_TYPES_H.
92069
92070 2003-07-01  Bruno Haible  <bruno@clisp.org>
92071
92072         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
92073         <sys/types.h> should be sufficient.
92074         Reported by Paul Eggert.
92075
92076 2003-06-26  Karl Berry  <karl@gnu.org>
92077
92078         * config/depcomp: update from automake.
92079
92080 2003-06-26  Bruno Haible  <bruno@clisp.org>
92081
92082         * modules/human: Depend on module stdbool.
92083
92084 2003-06-25  Bruno Haible  <bruno@clisp.org>
92085
92086         * modules/readlink: New file.
92087         * modules/xreadlink: Depend on it.
92088         * MODULES.html.sh (func_all_modules): Add readlink.
92089
92090 2003-06-25  Bruno Haible  <bruno@clisp.org>
92091
92092         * m4/readlink.m4: New file.
92093
92094 2003-06-25  Bruno Haible  <bruno@clisp.org>
92095
92096         * lib/readlink.c: New file.
92097
92098 2003-06-22  Karl Berry  <karl@gnu.org>
92099
92100         * config/srclist.txt: update mkinstalldirs from automake.
92101         * config/mkinstalldirs: update.
92102
92103 2003-06-22  Bruno Haible  <bruno@clisp.org>
92104
92105         Portability to mingw32.
92106         * m4/ssize_t.m4: New file, from GNU gettext.
92107         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
92108         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
92109
92110 2003-06-22  Bruno Haible  <bruno@clisp.org>
92111
92112         * modules/safe-read: Add m4/ssize_t.m4.
92113         * modules/xreadlink: Add m4/ssize_t.m4.
92114
92115 2003-06-20  Bruno Haible  <bruno@clisp.org>
92116
92117         Assume C89, so PARAMS isn't needed.
92118         * lib/unicodeio.h (PARAMS): Remove.
92119         * lib/unicodeio.c: Don't use PARAMS.
92120
92121 2003-06-18  Karl Berry  <karl@gnu.org>
92122
92123         * config/config.{guess,sub}: update from prep.
92124
92125 2003-06-18  Jim Meyering  <jim@meyering.net>
92126
92127         Merge changes from coreutils.
92128         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
92129         Remove explicit declarations of xmalloc and realloc.
92130         Include xalloc.h.
92131         (read_utmp): Remove anachronistic cast of xmalloc.
92132
92133 2003-06-17  Paul Eggert  <eggert@twinsun.com>
92134
92135         Assume C89, so PARAMS isn't needed.
92136         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
92137         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
92138         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
92139         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
92140         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
92141         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
92142         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
92143         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
92144         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
92145         lib/xstrtod.h, lib/xstrtol.h: Likewise.
92146         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
92147         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
92148         no longer needed. Anyway, config.h should always be included before any
92149         other file.
92150
92151 2003-06-11  Simon Josefsson  <jas@extundo.com>
92152
92153         * modules/sysexits: New file.
92154         * MODULES.html.sh (func_all_modules): Add sysexits.
92155
92156 2003-06-11  Simon Josefsson  <jas@extundo.com>
92157
92158         * lib/sysexit_.h: New file.
92159
92160 2003-06-11  Derek Price  <derek@ximbiot.com>
92161
92162         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
92163         necessary.
92164
92165 2003-06-11  Bruno Haible  <bruno@clisp.org>
92166
92167         * m4/sysexits.m4: New file.
92168
92169 2003-06-10  Simon Josefsson  <jas@extundo.com>
92170
92171         * lib/argp.h: New file, from glibc.
92172         * lib/argp-ba.c: New file, from glibc.
92173         * lib/argp-eexst.c: New file, from glibc.
92174         * lib/argp-fmtstream.c: New file, from glibc.
92175         * lib/argp-fmtstream.h: New file, from glibc.
92176         * lib/argp-fs-xinl.c: New file, from glibc.
92177         * lib/argp-help.c: New file, from glibc.
92178         * lib/argp-namefrob.h: New file, from glibc.
92179         * lib/argp-parse.c: New file, from glibc.
92180         * lib/argp-pv.c: New file, from glibc.
92181         * lib/argp-pvh.c: New file, from glibc.
92182         * lib/argp-xinl.c: New file, from glibc.
92183
92184 2003-06-10  Simon Josefsson  <jas@extundo.com>
92185
92186         * modules/strchrnul: New file.
92187
92188 2003-06-10  Simon Josefsson  <jas@extundo.com>
92189
92190         * modules/argp: New file.
92191
92192 2003-06-10  Simon Josefsson  <jas@extundo.com>
92193
92194         * m4/strchrnul.m4: New file.
92195
92196 2003-06-10  Simon Josefsson  <jas@extundo.com>
92197
92198         * lib/strchrnul.h: New file.
92199         * lib/strchrnul.c: New file.
92200
92201 2003-06-10  Bruno Haible  <bruno@clisp.org>
92202
92203         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
92204
92205 2003-06-07  Karl Berry  <karl@gnu.org>
92206
92207         * config/config.{guess,sub}: update from prep.
92208
92209 2003-06-07  Jim Meyering  <jim@meyering.net>
92210
92211         * modules/strtod: Use $(...) notation, not @...@ for
92212         AC_REPLACE'd variables.
92213         * modules/localcharset: Likewise.
92214
92215 2003-06-07  Jim Meyering  <jim@meyering.net>
92216
92217         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
92218         in place of my name in the copyright comment.
92219         Remove definition and uses of __P.
92220
92221         From coreutils.
92222         * lib/stat.c: Don't declare xmalloc explicitly.
92223         Instead, include "xalloc.h".
92224         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
92225         xrealloc, and xcalloc return values.
92226         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
92227         Improve comment.
92228         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
92229
92230 2003-06-07  Bruno Haible  <bruno@clisp.org>
92231
92232         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
92233         avoid AC_CONFIG_LINKS.
92234         * modules/fnmatch (Makefile.am): Use explicit creation rule for
92235         fnmatch.h, to avoid AC_CONFIG_LINKS.
92236         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
92237
92238 2003-06-07  Bruno Haible  <bruno@clisp.org>
92239
92240         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
92241         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
92242         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
92243         directory.
92244         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
92245         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
92246         directory.
92247
92248 2003-06-06  Jim Meyering  <jim@meyering.net>
92249
92250         Merge from coreutils.
92251         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
92252         Consolidate declarations and initializations of *_base* locals.
92253
92254         Merge from coreutils.
92255         This avoids a core dump on systems without GNU putenv,
92256         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
92257         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
92258         (unsetenv): New static function, from GNU libc.
92259         (rpl_putenv): Use it.
92260
92261         * lib/modechange.c: Remove trailing blanks.
92262
92263         Merge from coreutils.
92264         * lib/fsusage.c: Remove declaration of statfs.
92265         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
92266
92267         * lib/posixtm.c: Include <stdbool.h> unconditionally.
92268
92269 2003-06-06  Jim Meyering  <jim@meyering.net>
92270
92271         * lib/stdbool_.h: Renamed from stdbool.h.in.
92272
92273 2003-06-06  Jim Meyering  <jim@meyering.net>
92274             Bruno Haible  <bruno@clisp.org>
92275
92276         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
92277         Adjust Makefile.am snippet not to redirect directly to target.
92278         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
92279
92280 2003-06-05  Paul Eggert  <eggert@twinsun.com>
92281
92282         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
92283         mismatch, look in future quarters as well as past.  This fixes a
92284         bug when processing fall-backwards gaps immediately after a long
92285         period of daylight-saving time.
92286
92287         * lib/mktime.c: Assume freestanding C89 or better.
92288         (HAVE_LIMITS_H): Remove.  Assume it's 1.
92289         (__P): Remove; not used.
92290         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
92291         (mktime, not_equal_tm, print_tm, check_result,
92292         main): Use prototypes.  Use const * where appropriate.
92293         (main): Fix typo in testing code that uncovered by above changes.
92294         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
92295
92296 2003-06-04  Paul Eggert  <eggert@twinsun.com>
92297
92298         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
92299         locale.h, localeconv.  This merges changes from coreutils.
92300
92301         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
92302         It can be removed after the next Autoconf is released.
92303         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
92304         needed.
92305
92306 2003-06-04  Paul Eggert  <eggert@twinsun.com>
92307
92308         * lib/mktime.c: Fix Debian bug 177940
92309         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
92310         (localtime_offset): Now long int, not time_t, because we want it
92311         to be guaranteed to be signed.  All uses changed.
92312         (__mktime_internal): If overflow would occur when adding offset,
92313         don't add it.
92314
92315         Merge 'human' changes from coreutils.  Rewrite to support
92316         locale-specific notations like thousands separators.
92317         * lib/human.c: Simplify authorship notice.
92318         Include human.h immediately after config.h.
92319         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
92320         <limits.h>: Do not include, since human.h does.
92321         (SIZE_MAX, UINTMAX_MAX): New macros.
92322         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
92323         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
92324         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
92325         (power_letter): Renamed from suffixes.
92326         (generate_suffix_backwards): Remove.
92327         (adjust_value): Now takes int style (because of human.h changes)
92328         and long double value (for greater precision on some platforms).
92329         (group_number): New function.
92330         (human_readable): Use it.  Use integer options, not enum.
92331         Put the options before the sizes in the arg list.
92332         Support all the new options.
92333         The old human_readable function has been removed;
92334         use inttostr.h instead.
92335         (human_readable, default_block_size, humblock):
92336         Use uintmax_t, not int, for block sizes.
92337         (human_readable_inexact, block_size_types): Remove.
92338         (block_size_opts): New constant.
92339         (human_options): Renamed from human_block_size, with new signature
92340         that allows block sizes up to UINTMAX_MAX.  All callers changed.
92341         * lib/human.h: Add copyright and authorship notice.
92342         Include <limits.h> and <stdbool.h> unconditionally.
92343         (PARAMS): Remove.  All uses removed.
92344         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
92345         (enum human_inexact_style): Remove tag; now a nameless enum.
92346         (human_floor, human_ceiling, human_round_to_even): Now have
92347         values 2, 0, 1 rather than -1, 1, 0.
92348         (human_group_digits, human_suppress_point_zero, human_autoscale,
92349         human_base_1024, human_SI, human_B): New constants.
92350         (human_readable_inexact, human_block_size): Remove.
92351         (human_readable): Size args are now uintmax_t, not int.
92352         (human_options): New decl.
92353
92354         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
92355         unnecessary now that we assume C89 or better.  This change
92356         imported from coreutils.
92357
92358         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
92359         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
92360         in the 2003-05-30 sync from glibc.
92361
92362         .h files should stand alone, but we shouldn't include <sys/types.h>
92363         if we can get away with just <stddef.h>.
92364
92365         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
92366         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
92367         rather than <sys/types.h>, as we merely need size_t.
92368         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
92369         to get size_t.
92370         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
92371         Include <stdio.h>, to get FILE.
92372         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
92373         memcasecmp.h has included <stddef.h> and all we need is size_t.
92374         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
92375         our interface, instead of including <sys/types.h>
92376
92377 2003-06-04  Paul Eggert  <eggert@twinsun.com>
92378
92379         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
92380         now, as glibc mktime is buggy on non-glibc systems.
92381
92382 2003-06-03  Karl Berry  <karl@gnu.org>
92383
92384         * config/config.sub: update from prep.
92385
92386 2003-06-02  Paul Eggert  <eggert@twinsun.com>
92387
92388         [from coreutils]
92389         Fix some minor time-related bugs with POSIX time arguments.
92390         Some valid time stamps were being rejected (notably -1, and
92391         time stamps before 1900 on 64-bit hosts).  And some invalid
92392         time stamps were being accepted, e.g. September 31.
92393
92394         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
92395         that we can return (time_t) -1 successfully.
92396         * lib/posixtm.c: Likewise.
92397         [HAVE_STDBOOL_H]: Include <stdbool.h>.
92398         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
92399         (t): Remove static var.
92400         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
92401         of static var.  All uses changed.
92402         (year): Do not reject years before 1900; they can occur with
92403         64-bit time_t.
92404         (posix_time_parse): Do not check for out-of-range components;
92405         that is now the caller's responsibility, since our checks were
92406         only approximations.
92407         (posixtime): Use mktime to check for out-of-range components,
92408         since it knows them exactly.
92409         If mktime returns (time_t) -1, check whether an error actually occurred
92410         by invoking localtime on -1.
92411         (main) [TEST_POSIXTIME]: Check for input data errors, and report
92412         posixtime failures better.
92413         Improve the test data (in comments only).
92414
92415 2003-06-02  Karl Berry  <karl@gnu.org>
92416
92417         * config/mkinstalldirs (version): new variable.
92418         (--version): new option.
92419         (usage): improve message.
92420
92421 2003-05-30  Karl Berry  <karl@gnu.org>
92422
92423         * lib/mktime.c: update from libc.
92424
92425 2003-05-30  Bruno Haible  <bruno@clisp.org>
92426
92427         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
92428         * config/config.rpath: Upgrade to gettext-0.12.1.
92429
92430 2003-05-30  Bruno Haible  <bruno@clisp.org>
92431
92432         * m4/gettext.m4: Upgrade to gettext-0.12.1.
92433         * m4/nls.m4: New file, from gettext-0.12.1.
92434         * m4/po.m4: New file, from gettext-0.12.1.
92435         * m4/progtest.m4: Upgrade to gettext-0.12.1.
92436
92437 2003-05-30  Bruno Haible  <bruno@clisp.org>
92438
92439         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
92440         * lib/localcharset.h: Likewise.
92441         * lib/localcharset.c: Likewise.
92442
92443 2003-05-29  Karl Berry  <karl@gnu.org>
92444
92445         * config/config.rpath: update from gettext.
92446
92447 2003-05-28  Paul Eggert  <eggert@twinsun.com>
92448
92449         Assume the headers required for C89 freestanding compilers.
92450         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
92451         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
92452         * m4/human.m4 (gl_HUMAN): Likewise.
92453         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
92454         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
92455         * m4/userspec.m4 (gl_USERSPEC): Likewise.
92456         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
92457         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
92458         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
92459
92460 2003-05-28  Paul Eggert  <eggert@twinsun.com>
92461
92462         Assume the headers required for C89 freestanding compilers.
92463         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
92464         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
92465         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
92466         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
92467         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
92468         define, since <limits.h> is guaranteed to do that.
92469         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
92470         * lib/exclude.c: Include <stdbool.h> unconditionally.
92471         * lib/tempname.c: Include <stddef.h> unconditionally.
92472         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
92473         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
92474         <stddef.h> does that.
92475         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
92476         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
92477         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
92478         needed.
92479         * lib/xstrtol.c: Likewise.
92480         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
92481         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
92482
92483         * lib/addext.c (addext): Use assignment rather than cast, to avoid
92484         warnings on some platforms.
92485
92486         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
92487         arbitrarily.
92488
92489 2003-05-26  Jim Meyering  <jim@meyering.net>
92490
92491         Merge in a change from coreutils:
92492         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
92493         that is guaranteed to be `no'.  Use `no_such_member' to indicate
92494         that condition, rather than `-1' which is slightly misleading.
92495         Change the name of the cache variable to have the gl_ prefix.
92496         Prompted by a patch from Richard Dawe for DJGPP.
92497
92498 2003-05-24  Karl Berry  <karl@gnu.org>
92499
92500         * config/config.guess: update from prep.
92501
92502 2003-05-22  Karl Berry  <karl@gnu.org>
92503
92504         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
92505
92506 2003-05-20  Karl Berry  <karl@gnu.org>
92507
92508         * config/config.guess: update from prep.
92509
92510 2003-05-18  Karl Berry  <karl@gnu.org>
92511
92512         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
92513         might actually be set by the user.
92514
92515         * config/depcomp, install-sh, mdate-sh: update from automake.
92516
92517 2003-05-17  Bruno Haible  <bruno@clisp.org>
92518
92519         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
92520         invalid expansion for AC_EGREP_CPP.
92521         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
92522         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
92523         Suggested by Akim Demaille <akim@epita.fr> in
92524         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
92525
92526 2003-05-12  Jim Meyering  <jim@meyering.net>
92527
92528         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
92529         the space-padded-by-default conversion specifiers, %e, %k, %l.
92530
92531 2003-05-12  Bruno Haible  <bruno@clisp.org>
92532
92533         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
92534         the string is longer than 4 KB.
92535
92536 2003-05-11  Karl Berry  <karl@gnu.org>
92537
92538         * config/config.{guess,sub}: update from prep.
92539
92540 2003-05-09  Bruno Haible  <bruno@clisp.org>
92541
92542         * modules/error: Add m4/strerror_r.m4 to file list.
92543
92544 2003-05-03  Bruno Haible  <bruno@clisp.org>
92545
92546         Upgrade to Unicode-4.0.
92547         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
92548         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
92549         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
92550         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
92551         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
92552         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
92553         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
92554         Change width of U+E0100..U+E01EF from 1 to 0.
92555
92556 2003-04-25  Jim Meyering  <jim@meyering.net>
92557
92558         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
92559         of type size_t, not int.
92560
92561 2003-04-25  Bruno Haible  <bruno@clisp.org>
92562
92563         * lib/copy-file.c: Include <stddef.h>, for size_t.
92564
92565 2003-04-21  Paul Eggert  <eggert@twinsun.com>
92566
92567         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
92568         code which expansion is under static control.  Patch imported from
92569         Akim Demaille's patch to Bison; see
92570         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
92571
92572 2003-04-14  Bruno Haible  <bruno@clisp.org>
92573
92574         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
92575
92576 2003-04-11  Jim Meyering  <jim@meyering.net>
92577
92578         Merge changes from Coreutils.
92579
92580         2003-03-22  Jim Meyering  <jim@meyering.net>
92581
92582         * lib/strftime.c (widen): Cast alloca return value to proper type.
92583
92584         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
92585
92586         From GNU libc.
92587         * lib/strftime.c (my_strftime): Handle very large width
92588         specifications for numeric values correctly.  Improve checks for
92589         overflow.
92590
92591         2003-01-19  Jim Meyering  <jim@meyering.net>
92592
92593         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
92594         definitions.
92595         (nl_get_alt_digit) [! defined my_strftime]: Define.
92596         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
92597         _nl_get_alt_digit and _nl_get_walt_digit.
92598
92599         * lib/strftime.c (my_strftime): Merge in locale-related changes from
92600         libc. These changes have no effect outside of _LIBC.
92601
92602 2003-04-10  Bruno Haible  <bruno@clisp.org>
92603
92604         * modules/findprog: New file.
92605         * MODULES.html.sh (func_all_modules): Add it.
92606
92607 2003-04-10  Bruno Haible  <bruno@clisp.org>
92608
92609         * m4/findprog.m4: New file.
92610         * m4/eaccess.m4: New file.
92611
92612 2003-04-10  Bruno Haible  <bruno@clisp.org>
92613
92614         * lib/findprog.h: New file, from GNU gettext.
92615         * lib/findprog.c: New file, from GNU gettext.
92616
92617 2003-04-05  Jim Meyering  <jim@meyering.net>
92618
92619         Merge changes from Coreutils.
92620
92621         * lib/exclude.h (PARAMS): Remove definition and uses.
92622         * lib/exclude.c: Remove uses of `PARAMS'.
92623
92624         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
92625         Add test-cases for DOS filenames. Declare program_name.
92626         (main): Set up program_name.  Patch by Rich Dawe.
92627
92628         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92629         error from mntctl.
92630         Use mntctl's return value to drive the entry-processing loop, since
92631         we can't rely on the value of the vmt_length member in the last
92632         entry.  On some systems doing so could result in exhausting
92633         virtual memory.  Based in part on a patch from Mike Jetzer.
92634
92635 2003-04-04  Bruno Haible  <bruno@clisp.org>
92636
92637         * modules/linebreak: New file.
92638         * MODULES.html.sh (func_all_modules): Add it.
92639
92640 2003-04-04  Bruno Haible  <bruno@clisp.org>
92641
92642         * m4/linebreak.m4: New file.
92643
92644 2003-04-04  Bruno Haible  <bruno@clisp.org>
92645
92646         * lib/linebreak.h: New file, from GNU gettext.
92647         * lib/linebreak.c: New file, from GNU gettext with slight
92648         modifications.
92649         * lib/lbrkprop.h: New file, from GNU gettext.
92650
92651 2003-04-03  Bruno Haible  <bruno@clisp.org>
92652
92653         * modules/utf8-ucs4: New file.
92654         * modules/utf16-ucs4: New file.
92655         * modules/ucs4-utf8: New file.
92656         * modules/ucs4-utf16: New file.
92657         * MODULES.html.sh (func_all_modules): Add them.
92658
92659 2003-04-03  Bruno Haible  <bruno@clisp.org>
92660
92661         * m4/utf-ucs4.m4: New file.
92662         * m4/ucs4-utf.m4: New file.
92663
92664 2003-04-03  Bruno Haible  <bruno@clisp.org>
92665
92666         * lib/utf8-ucs4.h: New file, from GNU gettext.
92667         * lib/utf16-ucs4.h: New file, from GNU gettext.
92668         * lib/ucs4-utf8.h: New file, from GNU gettext.
92669         * lib/ucs4-utf16.h: New file, from GNU gettext.
92670
92671 2003-04-02  Bruno Haible  <bruno@clisp.org>
92672
92673         * modules/binary-io: New file.
92674         * MODULES.html.sh (func_all_modules): Add it.
92675
92676 2003-04-02  Bruno Haible  <bruno@clisp.org>
92677
92678         * lib/binary-io.h: New file, from GNU gettext.
92679
92680 2003-04-01  Bruno Haible  <bruno@clisp.org>
92681
92682         * modules/pathname: New file.
92683         * MODULES.html.sh (func_all_modules): Add it.
92684
92685 2003-04-01  Bruno Haible  <bruno@clisp.org>
92686
92687         * lib/pathname.h: New file, from GNU gettext.
92688         * lib/concatpath.c: New file, from GNU gettext.
92689
92690 2003-03-30  Bruno Haible  <bruno@clisp.org>
92691
92692         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
92693
92694 2003-03-30  Bruno Haible  <bruno@clisp.org>
92695
92696         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
92697         function chown() doesn't exist.
92698
92699 2003-03-28  Bruno Haible  <bruno@clisp.org>
92700
92701         * modules/copy-file: New file.
92702         * MODULES.html.sh (func_all_modules): Add it.
92703
92704 2003-03-28  Bruno Haible  <bruno@clisp.org>
92705
92706         * m4/copy-file.m4: New file.
92707
92708 2003-03-28  Bruno Haible  <bruno@clisp.org>
92709
92710         * lib/copy-file.h: New file, from GNU gettext.
92711         * lib/copy-file.c: New file, from GNU gettext.
92712
92713 2003-03-18  Jim Meyering  <jim@meyering.net>
92714
92715         * lib/quote.c (quote_n): Fix typo in comment.
92716
92717 2003-03-18  Bruno Haible  <bruno@clisp.org>
92718
92719         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
92720         checking.
92721         * m4/onceonly_2_57.m4: Likewise.
92722
92723 2003-03-17  Bruno Haible  <bruno@clisp.org>
92724
92725         * m4/onceonly.m4: Require autoconf 2.54 or newer.
92726         (m4_quote): Remove macro.
92727         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
92728
92729 2003-03-14  Jim Meyering  <jim@meyering.net>
92730
92731         Merge changes from Coreutils.
92732         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
92733         to be const, in order to avoid warnings.
92734         (obstack_room): Likewise.
92735         (obstack_empty_p): Likewise.
92736
92737 2003-03-14  Bruno Haible  <bruno@clisp.org>
92738
92739         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
92740         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
92741
92742 2003-03-13  Paul Eggert  <eggert@twinsun.com>
92743
92744         Merge changes from Bison.
92745         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
92746         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
92747         when compiling Bison 1.875's `bitset bset = obstack_alloc
92748         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
92749         * lib/hash.c: Include <stdbool.h> unconditionally.
92750
92751 2003-03-13  Paul Eggert  <eggert@twinsun.com>
92752
92753         * m4/onceonly.m4 (m4_quote): New macro.
92754         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
92755         Quote AC_FOREACH variable-expansions properly.
92756
92757 2003-03-13  Paul Eggert  <eggert@twinsun.com>
92758
92759         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
92760
92761 2003-03-09  Paul Eggert  <eggert@twinsun.com>
92762
92763         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
92764         Reported by Bruce Becker; see:
92765         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
92766
92767 2003-03-03  Paul Eggert  <eggert@twinsun.com>
92768             Bruno Haible  <bruno@clisp.org>
92769
92770         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
92771         Reported by John Hughes, see
92772         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
92773
92774 2003-02-20  Bruno Haible  <bruno@clisp.org>
92775
92776         * MODULES.html.sh (func_all_modules): Add poll.
92777
92778 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
92779
92780         * modules/poll: New file.
92781
92782 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
92783
92784         * lib/poll_.h: New file.
92785         * lib/poll.c: New file.
92786
92787 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
92788
92789         * m4/poll.m4: New file.
92790
92791 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
92792
92793         * modules/mathl: New file.
92794
92795 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
92796
92797         * lib/mathl.h: New file.
92798         * lib/acosl.c: New file.
92799         * lib/asinl.c: New file.
92800         * lib/atanl.c: New file.
92801         * lib/ceill.c: New file.
92802         * lib/cosl.c: New file.
92803         * lib/expl.c: New file.
92804         * lib/floorl.c: New file.
92805         * lib/frexpl.c: New file.
92806         * lib/ldexpl.c: New file.
92807         * lib/logl.c: New file.
92808         * lib/sincosl.c: New file.
92809         * lib/sinl.c: New file.
92810         * lib/sqrtl.c: New file.
92811         * lib/tanl.c: New file.
92812         * lib/trigl.c: New file.
92813         * lib/trigl.h: New file.
92814
92815 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
92816
92817         * m4/mathl.m4: New file.
92818
92819 2003-02-18  Bruno Haible  <bruno@clisp.org>
92820
92821         * MODULES.html.sh (func_all_modules): Add mathl.
92822
92823 2003-02-17  Bruno Haible  <bruno@clisp.org>
92824
92825         * modules/mkdtemp: New module.
92826         * MODULES.html.sh (func_all_modules): Add it.
92827
92828 2003-02-17  Bruno Haible  <bruno@clisp.org>
92829
92830         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
92831
92832 2003-02-17  Bruno Haible  <bruno@clisp.org>
92833
92834         * lib/mkdtemp.h: New file, from GNU gettext.
92835         * lib/mkdtemp.c: New file, from GNU gettext.
92836
92837 2003-02-02  Jim Meyering  <jim@meyering.net>
92838
92839         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
92840         e.g. glibc-2.2.93.
92841
92842 2003-01-31  Bruno Haible  <bruno@clisp.org>
92843
92844         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
92845         'rpl_rename'.
92846         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
92847         'rpl_strnlen'.
92848         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
92849         'rpl_strtod'.
92850         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
92851         'rpl_utime'.
92852
92853 2003-01-31  Bruno Haible  <bruno@clisp.org>
92854
92855         * lib/rename.c: #undef rename before defining rpl_rename.
92856         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
92857
92858 2003-01-30  Bruno Haible  <bruno@clisp.org>
92859
92860         * modules/vasnprintf, modules/vasprintf: New modules.
92861         * MODULES.html.sh (func_all_modules): Add them.
92862
92863 2003-01-30  Bruno Haible  <bruno@clisp.org>
92864
92865         * m4/signed.m4: New file, from GNU gettext.
92866         * m4/longdouble.m4: New file, from GNU gettext.
92867         * m4/wchar_t.m4: New file, from GNU gettext.
92868         * m4/wint_t.m4: New file, from GNU gettext.
92869         * m4/vasnprintf.m4: New file.
92870         * m4/vasprintf.m4: New file.
92871
92872 2003-01-30  Bruno Haible  <bruno@clisp.org>
92873
92874         * lib/printf-args.h: New file, from GNU gettext.
92875         * lib/printf-args.c: New file, from GNU gettext.
92876         * lib/printf-parse.h: New file, from GNU gettext.
92877         * lib/printf-parse.c: New file, from GNU gettext.
92878         * lib/vasnprintf.h: New file, from GNU gettext.
92879         * lib/vasnprintf.c: New file, from GNU gettext.
92880         * lib/asnprintf.c: New file, from GNU gettext.
92881         * lib/vasprintf.h: New file, from GNU gettext with modifications.
92882         * lib/vasprintf.c: New file, from GNU gettext.
92883         * lib/asprintf.c: New file, from GNU gettext.
92884
92885 2003-01-29  Bruno Haible  <bruno@clisp.org>
92886
92887         * modules/stpncpy: New module.
92888         * MODULES.html.sh (func_all_modules): Add it.
92889
92890 2003-01-29  Bruno Haible  <bruno@clisp.org>
92891
92892         * m4/stpncpy.m4: New file.
92893
92894 2003-01-29  Bruno Haible  <bruno@clisp.org>
92895
92896         * lib/stpncpy.h: New file, from GNU gettext with modifications.
92897         * lib/stpncpy.c: New file, from GNU gettext with modifications.
92898
92899 2003-01-28  Bruno Haible  <bruno@clisp.org>
92900
92901         * modules/c-ctype: New module.
92902         * MODULES.html.sh (func_all_modules): Add it.
92903
92904 2003-01-28  Bruno Haible  <bruno@clisp.org>
92905
92906         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
92907         Paul Eggert.
92908         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
92909         Paul Eggert.
92910
92911 2003-01-27  Bruno Haible  <bruno@clisp.org>
92912
92913         * modules/xsetenv: New module.
92914         * MODULES.html.sh (func_all_modules): Add it.
92915
92916 2003-01-27  Bruno Haible  <bruno@clisp.org>
92917
92918         * lib/xsetenv.h: New file, from GNU gettext.
92919         * lib/xsetenv.c: New file, from GNU gettext.
92920
92921 2003-01-23  Jim Meyering  <jim@meyering.net>
92922
92923         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
92924         from working on systems without dirfd (at least Irix and OSF1/Tru64).
92925
92926 2003-01-23  Bruno Haible  <bruno@clisp.org>
92927
92928         * modules/minmax: New module.
92929         * MODULES.html.sh (func_all_modules): Add it.
92930
92931 2003-01-23  Bruno Haible  <bruno@clisp.org>
92932
92933         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
92934         Eggert.
92935
92936 2003-01-22  Bruno Haible  <bruno@clisp.org>
92937
92938         * modules/exit: New module.
92939         * MODULES.html.sh (func_all_modules): Add it.
92940
92941 2003-01-22  Bruno Haible  <bruno@clisp.org>
92942
92943         * lib/exit.h: New file, from GNU gettext.
92944
92945 2003-01-19  Bruno Haible  <bruno@clisp.org>
92946
92947         * gnulib-tool: Recognize option --extract-maintainer.
92948         (func_get_maintainer): New function.
92949         * modules/*: Add Maintainer entry.
92950
92951 2003-01-16  Jim Meyering  <jim@meyering.net>
92952
92953         * m4/regex.m4: The `regex' struct is both input and output.
92954         Initialize it before each use.  Patch by Tim Waugh.
92955
92956 2003-01-16  Bruno Haible  <bruno@clisp.org>
92957
92958         * MODULES.html.sh: Add a table of contents. Add the module name as
92959         leftmost column. Add hyperlinks.
92960
92961 2003-01-15  Bruno Haible  <bruno@clisp.org>
92962
92963         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
92964
92965 2003-01-15  Bruno Haible  <bruno@clisp.org>
92966
92967         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
92968         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
92969         suffix.
92970
92971 2003-01-15  Bruno Haible  <bruno@clisp.org>
92972
92973         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
92974
92975 2003-01-15  Bruno Haible  <bruno@clisp.org>
92976
92977         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
92978         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
92979
92980 2003-01-14  Jim Meyering  <jim@meyering.net>
92981
92982         * lib/same.c (same_name): Tweak a comment.
92983
92984 2003-01-14  Bruno Haible  <bruno@clisp.org>
92985
92986         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
92987         when a string comparison is sufficient.
92988
92989 2003-01-14  Bruno Haible  <bruno@clisp.org>
92990
92991         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
92992         'unsigned int'.
92993
92994 2003-01-14  Bruno Haible  <bruno@clisp.org>
92995
92996         * lib/hash-pjw.c: Add comment about low quality of this function.
92997
92998 2003-01-13  Bruno Haible  <bruno@clisp.org>
92999
93000         * modules/stpcpy: Distribute lib/stpcpy.h.
93001         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
93002
93003 2003-01-13  Bruno Haible  <bruno@clisp.org>
93004
93005         * modules/*: Add a description.
93006         * modules/strpbrk: Fix Makefile.am snippet.
93007         * modules/strtoimax: Fix dependencies.
93008         * modules/strtoumax: Likewise.
93009
93010 2003-01-13  Bruno Haible  <bruno@clisp.org>
93011
93012         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
93013         * modules/alloca (Makefile.am): All object files depend on alloca.h.
93014         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
93015
93016 2003-01-13  Bruno Haible  <bruno@clisp.org>
93017
93018         * gnulib-tool (func_create_testdir): Store config/* files in the main
93019         directory.
93020         * config.rpath: Move to ...
93021         * config/config.rpath: ... here.
93022         * modules/gettext: Contains config/config.rpath, not config.rpath.
93023         * modules/iconv: Likewise.
93024
93025 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93026
93027         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93028         to avoid collisions with libcurses and libreadline.
93029
93030         * m4/getstr.m4: Remove.
93031         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
93032
93033 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93034
93035         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93036         to avoid collisions with libcurses and libreadline.
93037
93038         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
93039         * lib/getstr.h, getstr.c: Remove.
93040         * lib/getline.c: Include "getline.h", to check interface.
93041         Move body of old getstr.c here: this defines MIN_CHUNK and
93042         declares getdelim2, which is renamed from getstr.
93043         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
93044
93045         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
93046         All uses changed.
93047         * lib/linebuffer.h: Likewise.
93048         (readline): Remove backward-compatibility macro.
93049
93050 2003-01-12  Paul Eggert  <eggert@twinsun.com>
93051
93052         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
93053         to avoid collisions with libcurses and libreadline.
93054         * getstr: Remove.
93055         * MODULES.html.sh: Remove getstr.
93056         * modules/getline: Depend on unlocked-io, not getstr.
93057
93058 2003-01-12  Jim Meyering  <jim@meyering.net>
93059
93060         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
93061
93062 2003-01-10  Bruno Haible  <bruno@clisp.org>
93063
93064         * modules/alloca: Change Makefile.am requirements. Simplify Include
93065         requirements. Add lib/alloca_.h to file list.
93066
93067 2003-01-10  Bruno Haible  <bruno@clisp.org>
93068
93069         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
93070
93071 2003-01-10  Bruno Haible  <bruno@clisp.org>
93072
93073         * lib/alloca_.h: New file.
93074         * lib/getdate.y: Unconditionally include alloca.h.
93075         * lib/makepath.c: Likewise.
93076         * lib/setenv.c: Likewise.
93077         * lib/userspec.c: Likewise.
93078
93079 2003-01-09  Karl Berry  <karl@gnu.org>
93080
93081         * MODULES.html.sh: include `dirname $0` in PATH, to find
93082         gnulib-tool.
93083
93084 2003-01-09  Bruno Haible  <bruno@clisp.org>
93085
93086         * modules/stdbool: Change configure.ac, Makefile.am requirements.
93087         Simplify Include requirements. Add lib/stdbool.h.in to file list.
93088
93089 2003-01-09  Bruno Haible  <bruno@clisp.org>
93090
93091         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
93092
93093 2003-01-09  Bruno Haible  <bruno@clisp.org>
93094
93095         * lib/stdbool.h.in: New file.
93096
93097 2003-01-09  Bruno Haible  <bruno@clisp.org>
93098
93099         * gnulib-tool (func_all_modules): Ignore files ending in ~.
93100         * MODULES.html.sh: Likewise.
93101
93102 2003-01-08  Jim Meyering  <jim@meyering.net>
93103
93104         * lib/full-write.c: Undefine and define-away `const' after inclusion
93105         of errno.h, not before.  Suggestion from Bruno Haible.
93106
93107 2003-01-08  Bruno Haible  <bruno@clisp.org>
93108
93109         * modules/full-read: Depend on full-write.
93110
93111 2003-01-08  Bruno Haible  <bruno@clisp.org>
93112
93113         * lib/safe-read.c: Include specification header first, to ensure its
93114         selfcontainedness.
93115         * lib/full-write.c: Likewise.
93116
93117 2003-01-07  Jim Meyering  <jim@meyering.net>
93118
93119         * lib/full-write.c: Rework so that it may serve to define full_read,
93120         too.
93121         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
93122
93123 2003-01-07  Bruno Haible  <bruno@clisp.org>
93124
93125         * lib/strtoimax.c: Include <stdint.h> as an alternative to
93126         <inttypes.h>.
93127         * lib/xstrtol.h: Likewise.
93128         * lib/xstrtoimax.c: Likewise.
93129         * lib/xstrtoumax.c: Likewise.
93130         * lib/human.h: Likewise.
93131
93132         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
93133         on systems that have <inttypes.h> but not <stdint.h>.
93134
93135 2003-01-07  Bruno Haible  <bruno@clisp.org>
93136
93137         * MODULES.html.sh: Add copyright notice.
93138         (missed_files): Omit CVS directory entries.
93139         (func_module): Make it work with sed-3.02.
93140         * MODULES.txt: Remove file.
93141
93142 2003-01-06  Jim Meyering  <jim@meyering.net>
93143
93144         * lib/version-etc.c: Update year in translatable copyright string.
93145
93146 2003-01-03  Karl Berry  <karl@gnu.org>
93147
93148         * config/config.{guess,sub}: update from prep.
93149
93150 2003-01-02  Karl Berry  <karl@gnu.org>
93151
93152         * doc/COPYING.DOC: belatedly updated to 1.2.
93153
93154 2003-01-01  Karl Berry  <karl@gnu.org>
93155
93156         * gnulib-tool (func_verify_module): report module name $module in
93157         error message, not $1.
93158         * gnulib-tool (create-testdir): don't complain if destdir couldn't
93159         be created, only if it doesn't exist.
93160         * gnulib-tool (last_checkin_date): don't expand the $Date here.
93161
93162 2002-12-31  Paul Eggert  <eggert@twinsun.com>
93163
93164         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
93165
93166 2002-12-31  Paul Eggert  <eggert@twinsun.com>
93167
93168         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
93169         memcmp if strcoll doesn't work.
93170
93171 2002-12-31  Bruno Haible  <bruno@clisp.org>
93172
93173         * lib/utime.c (utime_null): No need to call ftruncate if the file was
93174         nonempty.
93175
93176 2002-12-31  Bruno Haible  <bruno@clisp.org>
93177
93178         * lib/memcoll.c (STRCOLL): New macro.
93179         (memcoll): Use it.
93180
93181 2002-12-31  Bruno Haible  <bruno@clisp.org>
93182
93183         * lib/localcharset.h: New file.
93184         * lib/localcharset.c: Include it.
93185         * lib/unicodeio.c: Likewise.
93186
93187 2002-12-31  Bruno Haible  <bruno@clisp.org>
93188
93189         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
93190         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
93191
93192 2002-12-31  Bruno Haible  <bruno@clisp.org>
93193
93194         * lib/getline.h: Include <stddef.h>, for size_t.
93195
93196         * lib/unicodeio.h: Include <stddef.h>, for size_t.
93197         * lib/unicodeio.c: Don't include <stddef.h>.
93198
93199 2002-12-31  Bruno Haible  <bruno@clisp.org>
93200
93201         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
93202         HAVE_TM_ZONE.
93203
93204 2002-12-24  Karl Berry  <karl@gnu.org>
93205
93206         * config/config.guess: update from prep.
93207
93208 2002-12-24  Bruno Haible  <bruno@clisp.org>
93209
93210         General infrasructure.
93211         * m4/README: Rewritten.
93212         * m4/onceonly.m4: New file.
93213         * m4/onceonly_2_57.m4: New file.
93214
93215         Module atexit.
93216         * m4/atexit.m4: New file.
93217
93218         Module strtod.
93219         * m4/strtod.m4: New file.
93220
93221         Module strtol.
93222         * m4/strtol.m4: New file.
93223
93224         Module strtoul.
93225         * m4/strtoul.m4: New file.
93226
93227         Module memchr.
93228         * m4/memchr.m4: New file.
93229
93230         Module memcmp.
93231         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
93232         (jm_FUNC_MEMCMP): Invoke it.
93233
93234         Module memcpy.
93235         * m4/memcpy.m4: New file.
93236
93237         Module memmove.
93238         * m4/memmove.m4: New file.
93239
93240         Module memset.
93241         * m4/memset.m4: New file.
93242
93243         Module strcspn.
93244         * m4/strcspn.m4: New file.
93245
93246         Module strpbrk.
93247         * m4/strpbrk.m4: New file.
93248
93249         Module strstr.
93250         * m4/strstr.m4: New file.
93251
93252         Module strerror.
93253         * m4/strerror.m4: New file.
93254
93255         Module mktime.
93256         * m4/mktime.m4: Renamed from jm-mktime.m4.
93257         (gl_PREREQ_MKTIME): New macro.
93258         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
93259
93260         Module malloc.
93261         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
93262         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
93263         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
93264
93265         Module realloc.
93266         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
93267         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
93268         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
93269
93270         Module strftime.
93271         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
93272         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
93273         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
93274         gl_TM_GMTOFF.
93275         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
93276
93277         Module xalloc.
93278         * m4/xalloc.m4: New file.
93279
93280         Module alloca.
93281         * m4/alloca.m4: New file.
93282
93283         Module putenv.
93284         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
93285         (jm_FUNC_PUTENV): Invoke it.
93286
93287         Module setenv.
93288         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
93289         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
93290         when invoked twice.
93291         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
93292         gt_FUNC_SETENV.
93293
93294         Module memrchr.
93295         * m4/memrchr.m4: New file.
93296
93297         Module stpcpy.
93298         * m4/stpcpy.m4: New file.
93299
93300         Module strcase.
93301         * m4/strcase.m4: New file.
93302
93303         Module strdup.
93304         * m4/strdup.m4: New file.
93305
93306         Module strnlen.
93307         * m4/strnlen.m4: New file.
93308
93309         Module strndup.
93310         * m4/strndup.m4: New file.
93311
93312         Module xstrtod.
93313         * m4/xstrtod.m4: New file.
93314
93315         Module xstrtol.
93316         * m4/xstrtol.m4: New file.
93317
93318         Module getdate.
93319         * m4/getdate.m4: New file.
93320
93321         Module unlocked-io.
93322         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
93323         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
93324         * m4/jm-glibc-io.m4n: Remove file.
93325
93326         Module long-options.
93327         * m4/long-options.m4: New file.
93328
93329         Module md5.
93330         * m4/md5.m4: New file.
93331
93332         Module sha.
93333         * m4/sha.m4: New file.
93334
93335         Module getstr.
93336         * m4/getstr.m4: New file.
93337
93338         Module getline.
93339         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
93340         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
93341         <sys/types.h>, for size_t. Use the function name gnu_getline, not
93342         simply getline. Infoke gl_PREREQ_GETLINE.
93343
93344         Module obstack.
93345         * m4/obstack.m4: New file.
93346
93347         Module hash.
93348         * m4/hash.m4: New file.
93349
93350         Module readtokens.
93351         * m4/readtokens.m4: New file.
93352
93353         Module strverscmp.
93354         * m4/strverscmp.m4: New file.
93355
93356         Module stdbool.
93357         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
93358         OSF/1.
93359
93360         Module strtoll.
93361         * m4/strtoll.m4: New file.
93362
93363         Module strtoull.
93364         * m4/strtoull.m4: New file.
93365
93366         Module strtoimax.
93367         * m4/strtoimax.m4: New file.
93368
93369         Module strtoumax.
93370         * m4/strtoumax.m4: New file.
93371
93372         Module xstrtoimax.
93373         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
93374         jm_AC_PREREQ_XSTRTOIMAX.
93375         Moved the strtol prerequisites to strtol.m4.
93376         Moved the strtoll prerequisites to strtoll.m4.
93377         Moved the strtoimax prerequisites to strtoimax.m4.
93378
93379         Module xstrtoumax.
93380         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
93381         jm_AC_PREREQ_XSTRTOUMAX.
93382         Moved the strtoul prerequisites to strtoul.m4.
93383         Moved the strtoull prerequisites to strtoull.m4.
93384         Moved the strtoumax prerequisites to strtoumax.m4.
93385
93386         Module chown.
93387         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
93388         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
93389
93390         Module dup2.
93391         * m4/dup2.m4: New file.
93392
93393         Module ftruncate.
93394         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
93395         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
93396
93397         Module getgroups.
93398         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
93399         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
93400
93401         Module gettimeofday.
93402         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
93403         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
93404         gl_PREREQ_GETTIMEOFDAY.
93405
93406         Module mkdir.
93407         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
93408         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
93409
93410         Module mkstemp.
93411         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
93412         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
93413         jm_AC_TYPE_UINTMAX_T.
93414         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
93415
93416         Module stat.
93417         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
93418         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
93419
93420         Module lstat.
93421         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
93422         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
93423
93424         Module timespec.
93425         * m4/timespec.m4 (gl_TIMESPEC): New macro.
93426         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
93427         * m4/st_mtim.m4: Indentation.
93428
93429         Module nanosleep.
93430         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
93431         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
93432         gl_PREREQ_NANOSLEEP.
93433
93434         Module regex.
93435         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
93436         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
93437         (gl_REGEX): New macro.
93438
93439         Module rename.
93440         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
93441         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
93442
93443         Module rmdir.
93444         * m4/rmdir.m4: New file.
93445
93446         Module utime.
93447         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
93448         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
93449         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
93450
93451         Module dirname.
93452         * m4/dirname.m4: New file.
93453
93454         Module getopt.
93455         * m4/getopt.m4: New file.
93456
93457         Module unistd-safer.
93458         * m4/unistd-safer.m4: New file.
93459
93460         Module fnmatch.
93461         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
93462         declaration.
93463         (gl_PREREQ_FNMATCH_EXTRA): New macro.
93464         (gl_FUNC_FNMATCH_POSIX): New macro.
93465         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
93466         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
93467         simply fnmatch.
93468
93469         Module exclude.
93470         * m4/exclude.m4: New file.
93471
93472         Module human.
93473         * m4/human.m4: New file.
93474
93475         Module acl.
93476         * m4/acl.m4: Nop.
93477
93478         Module backupfile.
93479         * m4/backupfile.m4: New file.
93480         * m4/d-ino.m4: Indentation.
93481
93482         Module fsusage.
93483         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
93484         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
93485         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
93486
93487         Module dirfd.
93488         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
93489         requirements.
93490
93491         Module euidaccess.
93492         * m4/euidaccess.m4: New file.
93493
93494         Module file-type.
93495         * m4/file-type.m4: New file.
93496
93497         Module fileblocks.
93498         * m4/fileblocks.m4: New file.
93499
93500         Module filemode.
93501         * m4/filemode.m4: New file.
93502
93503         Module isdir.
93504         * m4/isdir.m4: New file.
93505
93506         Module lchown.
93507         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
93508         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
93509
93510         Module makepath.
93511         * m4/makepath.m4: New file.
93512
93513         Module modechange.
93514         * m4/modechange.m4: New file.
93515
93516         Module mountlist.
93517         * m4/mountlist.m4: New file.
93518         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
93519         Indentation.
93520
93521         Module path-concat.
93522         * m4/path-concat.m4: New file.
93523
93524         Module pathmax.
93525         * m4/pathmax.m4: New file.
93526
93527         Module same.
93528         * m4/same.m4: New file.
93529
93530         Module save-cwd.
93531         * m4/save-cwd.m4: New file.
93532
93533         Module savedir.
93534         * m4/savedir.m4: New file.
93535
93536         Module xgetcwd.
93537         * m4/xgetcwd.m4: New file.
93538         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
93539
93540         Module xreadlink.
93541         * m4/xreadlink.m4: New file.
93542
93543         Module safe-read.
93544         * m4/safe-read.m4: New file.
93545
93546         Module safe-write.
93547         * m4/safe-write.m4: New file.
93548
93549         Module closeout.
93550         * m4/closeout.m4: New file.
93551
93552         Module stdio-safer.
93553         * m4/stdio-safer.m4: New file.
93554
93555         Module getpass.
93556         * m4/getpass.m4: New file.
93557
93558         Module getugroups.
93559         * m4/getugroups.m4: New file.
93560
93561         Module group-member.
93562         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
93563         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
93564
93565         Module idcache.
93566         * m4/idcache.m4: New file.
93567
93568         Module userspec.
93569         * m4/userspec.m4: New file.
93570
93571         Module gettime.
93572         * m4/clock_time.m4: New file.
93573         * m4/gettime.m4: New file.
93574
93575         Module settime.
93576         * m4/settime.m4: New file.
93577
93578         Module posixtm.
93579         * m4/posixtm.m4: New file.
93580
93581         Module gethostname.
93582         * m4/gethostname.m4: New file.
93583
93584         Module canon-host.
93585         * m4/canon-host.m4: New file.
93586
93587         Module gettext.
93588         * m4/codeset.m4: New file, from gettext-0.11.5.
93589         * m4/gettext.m4: New file, from gettext-0.11.5.
93590         * m4/glibc21.m4: New file, from gettext-0.11.5.
93591         * m4/iconv.m4: New file, from gettext-0.11.5.
93592         * m4/intdiv0.m4: New file, from gettext-0.11.5.
93593         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
93594         * m4/inttypes.m4: New file, from gettext-0.11.5.
93595         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
93596         * m4/isc-posix.m4: New file, from gettext-0.11.5.
93597         * m4/lcmessage.m4: New file, from gettext-0.11.5.
93598         * m4/lib-ld.m4: New file, from gettext-0.11.5.
93599         * m4/lib-link.m4: New file, from gettext-0.11.5.
93600         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
93601         * m4/progtest.m4: New file, from gettext-0.11.5.
93602         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
93603         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
93604         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
93605
93606         Module localcharset.
93607         * m4/localcharset.m4: New file.
93608
93609         Module hard-locale.
93610         * m4/hard-locale.m4: New file.
93611
93612         Module mbswidth.
93613         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
93614         onceonly macros.
93615         * m4/mbrtowc.m4: Add comment.
93616
93617         Module memcasecmp.
93618         * m4/memcasecmp.m4: New file.
93619
93620         Module memcoll.
93621         * m4/memcoll.m4: New file.
93622
93623         Module unicodeio.
93624         * m4/unicodeio.m4: New file.
93625
93626         Module rpmatch.
93627         * m4/rpmatch.m4: New file.
93628
93629         Module yesno.
93630         * m4/yesno.m4: New file.
93631
93632         Module exitfail.
93633         * m4/exitfail.m4: New file.
93634
93635         Module c-stack.
93636         * m4/c-stack.m4 (gl_C_STACK): New macro.
93637         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
93638
93639         Module error.
93640         * m4/error.m4 (gl_ERROR): New macro.
93641         (jm_PREREQ_ERROR): Use onceonly macros.
93642
93643         Module fatal.
93644         * m4/fatal.m4: New file.
93645
93646         Module getloadavg.
93647         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
93648         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
93649
93650         Module getpagesize.
93651         * m4/getpagesize.m4: New file.
93652
93653         Module getusershell.
93654         * m4/getusershell.m4: New file.
93655
93656         Module physmem.
93657         * m4/physmem.m4: New file.
93658
93659         Module posixver.
93660         * m4/posixver.m4: New file.
93661
93662         Module quotearg.
93663         * m4/quotearg.m4: New file.
93664
93665         Module quote.
93666         * m4/quote.m4: New file.
93667
93668         Module readutmp.
93669         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
93670
93671         Module sig2str.
93672         * m4/sig2str.m4: New file.
93673
93674         Other.
93675         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
93676         ulonglong.m4.
93677         * m4/intmax_t.m4: New file.
93678         * m4/d-type.m4: Indentation.
93679         * m4/jm-macros.m4: Update.
93680         * m4/prereq.m4 (jm_PREREQ): Update.
93681         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
93682         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
93683         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
93684         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
93685         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
93686         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
93687         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
93688         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
93689         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
93690         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
93691         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
93692         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
93693         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
93694         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
93695         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
93696         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
93697         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
93698         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
93699         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
93700
93701 2002-12-24  Bruno Haible  <bruno@clisp.org>
93702
93703         * MODULES.txt: Update according to m4/ changes.
93704
93705         Module gettext.
93706         * config.rpath: New file, from gettext-0.11.5.
93707
93708         * modules/*: New module descriptions.
93709         * gnulib-tool: New file.
93710         * MODULES.html.sh: New file.
93711
93712 2002-12-21  Karl Berry  <karl@gnu.org>
93713
93714         * doc/fdl.texi: update to version 1.2.
93715
93716 2002-12-19  Karl Berry  <karl@gnu.org>
93717
93718         * config/config.guess: update from prep.
93719
93720 2002-12-18  Bruno Haible  <bruno@clisp.org>
93721
93722         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
93723         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
93724
93725 2002-12-17  Bruno Haible  <bruno@clisp.org>
93726
93727         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
93728         stdlib.h, string.h.
93729
93730 2002-12-17  Bruno Haible  <bruno@clisp.org>
93731
93732         * lib/canon-host.c (strdup): Remove unused declaration.
93733
93734         * lib/fsusage.c: Include full_read.h.
93735         (get_fs_usage): Use full_read instead of safe_read.
93736
93737         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
93738
93739 2002-12-12  Karl Berry  <karl@gnu.org>
93740
93741         * config/config.guess: update from prep.
93742
93743 2002-12-11  Bruno Haible  <bruno@clisp.org>
93744
93745         * m4/setenv.m4: New file, from gettext-0.11.5.
93746
93747 2002-12-11  Bruno Haible  <bruno@clisp.org>
93748
93749         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
93750         not unsetenv().
93751         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
93752         modifications:
93753
93754         2002-12-11  Bruno Haible  <bruno@clisp.org>
93755
93756                 * setenv.c (alloca): Fall back to malloc.
93757                 (freea): New macro.
93758                 (setenv): Use freea() to free memory allocated with alloca().
93759
93760         2002-11-13  Bruno Haible  <bruno@clisp.org>
93761
93762                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
93763                 function declarations.
93764                 * unsetenv.c (unsetenv): Likewise.
93765
93766         2002-03-04  Bruno Haible  <bruno@clisp.org>
93767
93768                 Portability to AIX 4.3.3.
93769                 * unsetenv.c: New file, extracted from setenv.c.
93770                 * setenv.c: Move the unsetenv() function to unsetenv.c.
93771
93772         2001-12-20  Bruno Haible  <bruno@clisp.org>
93773
93774                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
93775                 use malloc instead. For SunOS 4.
93776
93777         2001-12-11  Bruno Haible  <bruno@clisp.org>
93778
93779                 * setenv.c: Declare alloca.
93780                 (compar_fn_t): New typedef.
93781                 (KNOWN_VALUE, STORE_VALUE): Use it.
93782
93783         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
93784         setenv.h.
93785
93786 2002-12-10  Paul Eggert  <eggert@twinsun.com>
93787
93788         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
93789         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
93790         Choose values that are less likely to collide with system fnmatch
93791         options.
93792         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
93793         defined (e.g., a pure POSIX system).
93794         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
93795         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
93796
93797 2002-12-06  Paul Eggert  <eggert@twinsun.com>
93798
93799         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
93800         a pain in practice to deal with generated m4 files.  This change
93801         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
93802
93803         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
93804         and jm-glibc-io.m4, as they are no longer a special case.
93805         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
93806         kludge and the auto-generation stuff.  Check only whether the
93807         functions are declared, not whether they exist, since older hosts
93808         that don't declare the functions can't use the optimization anyway.
93809
93810 2002-12-06  Jim Meyering  <jim@meyering.net>
93811
93812         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
93813
93814         Merge in changes from libc's misc/error.c, in preparation
93815         for the merge of gnulib's changes back into libc.
93816
93817         * lib/error.c (_): Define only if not already defined.
93818         Move definition to follow all #include directives.
93819         Include unlocked-io.h only if !_LIBC.
93820         [_LIBC]: Include <libio/libioP.h>.
93821         [USE_IN_LIBIO]: Include <libio/iolibio.h>
93822         (fflush): Tweak definition to use INTUSE.
93823         (putc): Define.
93824
93825 2002-12-05  Paul Eggert  <eggert@twinsun.com>
93826
93827         * lib/alloca.c [defined emacs]: Include "lisp.h".
93828         (xalloc_die) [defined emacs]: New macro.
93829         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
93830         [! defined emacs]: Include <xalloc.h>.
93831         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
93832         (pointer): Typedef to POINTER_TYPE *.
93833         (malloc): Remove decl; we now always use xmalloc.
93834         (alloca): Use old-style definition, since Emacs needs this.
93835         Check for arithmetic overflow when computing combined size.
93836
93837 2002-12-04  Paul Eggert  <eggert@twinsun.com>
93838
93839         Do not generate unlocked-io.h automatically, since it's easier to
93840         maintain it by hand.
93841
93842         * lib/unlocked-io.h: New file, from GNU diffutils,
93843         but with proper copyright notice and attribution.
93844         * lib/gen-uio: Remove.
93845         * lib/Makefile.am: Add copyright notice.
93846         (libfetish_a_SOURCES): Add unlocked-io.h.
93847         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
93848         (DISTCLEANFILES, io_functions): Remove macros.
93849         (EXTRA_DIST): Remove gen_uio.
93850         (unlocked-io.h): Remove rule.
93851
93852 2002-12-04  Jim Meyering  <jim@meyering.net>
93853
93854         Reflect the fact that stat.c and lstat.c are no longer generated.
93855         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
93856         (DISTCLEANFILES): Likewise.
93857         (EXTRA_DIST): Likewise.
93858         (all_local): Don't depend on stat.c or lstat.c.
93859         (stat.c, lstat.c): Remove rules.
93860         (EXTRA_DIST): Remove xstat.in.
93861
93862         * lib/xstat.in: Remove file.  Contents moved into stat.c.
93863         * lib/stat.c: New file.  Contents mostly from xstat.in.
93864         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
93865         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
93866
93867         * lib/safe-read.c: Rework so that it may serve to define safe_write,
93868         too.
93869         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
93870
93871 2002-12-03  Jim Meyering  <jim@meyering.net>
93872
93873         * lib/safe-read.c, safe-write.c: Change variable names and comments,
93874         but not semantics, to minimize the differences between these two files.
93875         (safe_read): Change comment to mention SAFE_READ_ERROR.
93876
93877         * lib/safe-read.c (IS_EINTR): Define.
93878         (safe_read): Use IS_EINTR in place of in-function cpp directives.
93879
93880 2002-12-02  Jim Meyering  <jim@meyering.net>
93881
93882         * lib/safe-read.c (EINTR): Define.
93883         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
93884         (INT_MAX): Provide fallback.
93885         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
93886
93887         * lib/safe-read.h (SAFE_READ_ERROR): Define.
93888
93889 2002-12-02  Bruno Haible  <bruno@clisp.org>
93890
93891         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
93892         Define, taken from safe-read.c.
93893         (INT_MAX): Provide fallback.
93894         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
93895         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
93896
93897         * lib/safe-read.c (EINTR): Remove definition.
93898         (safe_read): Don't use EINTR if it is absent.
93899
93900 2002-12-01  Jim Meyering  <jim@meyering.net>
93901
93902         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
93903         zero.
93904         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
93905
93906 2002-11-27  Paul Eggert  <eggert@twinsun.com>
93907
93908         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
93909         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
93910         with `if (! (value < limit)) abort ();', for readability.
93911
93912 2002-11-26  Karl Berry  <karl@gnu.org>
93913
93914         * lib/strdup.c: copy from libc again, with jim's ok.
93915         * lib/.cppi-disable: re-add strdup.c
93916
93917 2002-11-25  Karl Berry  <karl@gnu.org>
93918
93919         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
93920         instead of "strtol.c".
93921
93922 2002-11-25  Karl Berry  <karl@gnu.org>
93923
93924         * config/install-sh: update from automake for variable quoting, $0 in
93925         error msgs, etc.
93926
93927         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
93928         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
93929         entry.
93930
93931 2002-11-25  Jim Meyering  <jim@meyering.net>
93932
93933         * lib/mktime.c: Sync from libc, now that it has the latest fix.
93934
93935 2002-11-24  Karl Berry  <karl@gnu.org>
93936
93937         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
93938         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
93939
93940 2002-11-24  Jim Meyering  <jim@meyering.net>
93941
93942         Update from coreutils:
93943
93944         * lib/mktime.c: Merge in changes from libc.
93945
93946         Avoid a link-time failure on some Linux systems.
93947         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
93948         (otherwise).
93949         (__mon_yday): Declare with the STATIC attribute.
93950         (__mktime_internal): Likewise.
93951         Based on a report from Greg Schafer.
93952
93953 2002-11-23  Jim Meyering  <jim@meyering.net>
93954
93955         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
93956         Use `unsigned', not `int', as type of index.
93957
93958         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
93959
93960         * lib/fsusage.c: Remove unneeded parentheses around operands of
93961         `defined'.
93962
93963 2002-11-22  Paul Eggert  <eggert@twinsun.com>
93964
93965         * lib/quotearg.h: Allow multiple inclusion by surrounding with
93966         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
93967         so that we can be included first.
93968         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
93969         * lib/quotearg.c: Include quotearg.h immediately after config.h.
93970         No need to include stddef.h or sys/types.h any more.
93971         Surround local include files with "", not "<>".
93972         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
93973         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
93974         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
93975         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
93976         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
93977         (ISPRINT): Remove; no longer needed now that we assume C89.
93978
93979         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
93980         Preserve errno.
93981
93982         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
93983         quotearg_char): Use SIZE_MAX rather than
93984         (size_t) -1 when we are talking about "infinity".
93985
93986         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
93987
93988 2002-11-22  Paul Eggert  <eggert@twinsun.com>
93989
93990         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
93991         hint that one should use `if (! x) abort ();' rather than `assert
93992         (x);', and anyway it's one less thing to worry about configuring.
93993         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
93994         hash_rehash, hash_insert): Use abort rather than assert.
93995
93996 2002-11-22  Bruno Haible  <bruno@clisp.org>
93997
93998         * lib/safe-read.h: Assume C89. Add comments.
93999         (safe_read): Change return type to size_t.
94000         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
94001         byte counts > SSIZE_MAX correctly.
94002         * lib/safe-write.h: New file.
94003         * lib/safe-write.c: New file.
94004         * lib/full-read.h: New file.
94005         * lib/full-read.c: New file.
94006         * lib/full-write.h: Assume C89. Add comments.
94007         * lib/full-write.c: Include safe-write.h.
94008         (full_write): Rewritten to use safe_write.
94009         Suggested by Jim Meyering and Paul Eggert.
94010
94011 2002-11-21  Jim Meyering  <jim@meyering.net>
94012
94013         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
94014
94015         Merge in changes from the coreutils.
94016
94017         2002-09-25  Paul Eggert  <eggert@twinsun.com>
94018         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
94019         <stdint.h>.
94020         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
94021         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
94022         int.  Work more efficiently if X is the same width as uintmax_t.
94023         Do not compare X to -1, to avoid bogus compiler warning.
94024         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
94025         Don't assume that f_frsize and f_bsize are the same type.
94026
94027         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
94028         warning on FreeBSD.
94029
94030         * lib/makepath.c (make_path): Restore umask *before* creating the final
94031         component.
94032         (make_path): Minor reformatting.
94033
94034         * lib/xmalloc.c: Adjust to work with new autoconf macros,
94035         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
94036         HAVE_MALLOC/HAVE_REALLOC.
94037
94038         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
94039         dummy ones.  At least on GNU/Linux systems, `auto' means something
94040         else.
94041         From Michael Stone.
94042
94043 2002-11-21  Bruno Haible  <bruno@clisp.org>
94044
94045         Remove case insensitive option matching.
94046         * lib/argmatch.h (argcasematch): Remove declaration.
94047         (ARGCASEMATCH): Remove macro.
94048         (__xargmatch_internal): Remove case_sensitive argument.
94049         (XARGMATCH): Update.
94050         (XARGCASEMATCH): Remove macro.
94051         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
94052         case_sensitive argument.
94053         (argcasematch): Remove function.
94054         (__xargmatch_internal): Remove case_sensitive argument.
94055         (main): Use XARGMATCH instead of XARGCASEMATCH.
94056
94057         * lib/xmalloc.c: Change compile-time error message. Add comment about
94058         required autoconf version.
94059
94060 2002-11-20  Paul Eggert  <eggert@twinsun.com>
94061
94062         Merge argmatch cleanups from Bison.  Assume C89.
94063
94064         * lib/argmatch.c: Include config.h here, not in argmatch.h.
94065         Include stdlib.h, for EXIT_FAILURE.
94066         Always include <string.h>, since we assume C89.
94067         (EXIT_FAILURE): Remove pre-C89 bug workaround.
94068         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
94069         Include <stddef.h> instead, since it's all we need for size_t.
94070         (PARAMS): Remove.  All uses removed.
94071         (ARRAY_CARDINALITY): Do not bother to #undef.
94072         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
94073         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
94074         Remove unnecessary parentheses.
94075         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
94076         Insert necessary parentheses.
94077         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
94078         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
94079
94080 2002-11-19  Bruno Haible  <bruno@clisp.org>
94081
94082         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
94083         * lib/mbswidth.h: Include <stddef.h>, for size_t.
94084
94085         * lib/mbswidth.h (PARAMS): Remove macro.
94086         (mbswidth, mbsnwidth): Use ANSI C function declarations.
94087         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
94088
94089         * lib/gcd.h (PARAMS): Remove macro.
94090         (gcd): Use ANSI C function declarations.
94091         * lib/gcd.c (gcd): Likewise.
94092
94093 2002-11-15  Bruno Haible  <bruno@clisp.org>
94094
94095         * lib/strcspn.c: Include <stddef.h>.
94096         (strcspn): Use ANSI C function declaration. Change return type to
94097         size_t. Use NULL.
94098         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
94099         (strpbrk): Use NULL.
94100         * lib/strpbrk.h (PARAMS): Remove macro.
94101         (strpbrk): Use ANSI C function declaration.
94102         * lib/strstr.c: Don't include <sys/types.h>.
94103         * lib/strstr.h (PARAMS): Remove macro.
94104         (strstr): Use ANSI C function declarations.
94105
94106 2002-11-14  Karl Berry  <karl@gnu.org>
94107
94108         * config/mkinstalldirs: `do' on separate line, instead of
94109         `for var; do'.
94110
94111 2002-11-06  Bruno Haible  <bruno@clisp.org>
94112
94113         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
94114         * lib/gcd.c (gcd): Likewise.
94115
94116 2002-11-05  Bruno Haible  <bruno@clisp.org>
94117
94118         * lib/gcd.h: New file, from gettext-0.11.5.
94119         * lib/gcd.c: New file, from gettext-0.11.5.
94120
94121 2002-11-05  Bruno Haible  <bruno@clisp.org>
94122
94123         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94124         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94125         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94126         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
94127
94128         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
94129         <libintl.h>.
94130         * lib/makepath.c: Include gettext.h instead of <locale.h> and
94131         <libintl.h>.
94132
94133         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
94134         * lib/human.c: Include gettext.h instead of <libintl.h>.
94135         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
94136         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
94137         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
94138         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
94139         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
94140         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
94141         (textdomain): Remove definition.
94142         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
94143
94144         * lib/long-options.c: Remove include of <libintl.h> and definition of
94145         _.
94146         * lib/same.c: Remove include of <libintl.h> and definition of _.
94147
94148 2002-11-04  Owen Taylor  <otaylor@redhat.com>
94149
94150         * lib/config.charset: A few additions for Solaris.
94151
94152 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
94153
94154         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
94155         * lib/localcharset.c (locale_charset): Declare as extern "C".
94156
94157 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
94158
94159         * lib/config.charset: msdos in uk_UA uses CP1125.
94160
94161 2002-11-04  Bruno Haible  <bruno@clisp.org>
94162
94163         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
94164         * lib/strcase.h: New file, from GNU gettext-0.11.5.
94165         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
94166         * lib/strstr.h: New file, from GNU gettext-0.11.5.
94167         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
94168
94169 2002-11-04  Bruno Haible  <bruno@clisp.org>
94170
94171         * lib/localcharset.c (locale_charset): Don't return an empty string.
94172
94173 2002-11-04  Bruno Haible  <bruno@clisp.org>
94174
94175         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
94176         aliases.
94177
94178 2002-11-04  Bruno Haible  <bruno@clisp.org>
94179
94180         * lib/config.charset: Update for newest glibc. Add canonical names
94181         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
94182
94183 2002-11-04  Bruno Haible  <bruno@clisp.org>
94184
94185         * lib/config.charset: Add support for NetBSD.
94186
94187 2002-11-04  Bruno Haible  <bruno@clisp.org>
94188
94189         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
94190
94191 2002-11-01  Bruno Haible  <bruno@clisp.org>
94192
94193         * configure.in: Add AC_CONFIG_AUX_DIR call.
94194         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
94195         test/Makefile.
94196         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
94197
94198 2002-09-28  Karl Berry  <karl@gnu.org>
94199
94200         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
94201         installed automake until the next release, since changes have been
94202         made.
94203
94204 2002-09-25  Karl Berry  <karl@gnu.org>
94205
94206         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
94207         * lib/getopt*: copy from libc/posix.
94208         * lib/gettext.h: copy from gettext.
94209         * lib/.cppi-disable: add strdup.c, gettext.h.
94210
94211 2002-09-25  Karl Berry  <karl@gnu.org>
94212
94213         * config/srclist.txt: enable gettext.h check.
94214         * config/config.{guess,sub}: update from prep.
94215         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
94216                 from automake 1.6.3.
94217         See srclist*.
94218
94219 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
94220
94221         * regex.c (PATFETCH): Remove the translating fetch.
94222         (PATFETCH_RAW): Rename to PATFETCH.
94223         (set_image_of_range): New fun.
94224         (SET_RANGE_TABLE_WORK_AREA): Use it.
94225         (regex_compile): Don't translate the pattern chars so eagerly.
94226         Only do it when inserting an `exactn' bytecode or when handling
94227         a char-range.
94228         (mutually_exclusive_p): Avoid empty statement.
94229
94230 2002-07-06  Jim Meyering  <meyering@lucent.com>
94231
94232         * m4/README: Don't mention Makefile.am.in.
94233         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
94234
94235 2002-07-01  Jim Meyering  <meyering@lucent.com>
94236
94237         * lib/c-stack.c: Include sys/time.h.
94238         From Volker Borchert.
94239
94240 2002-06-26  Paul Eggert  <eggert@twinsun.com>
94241
94242         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
94243
94244 2002-06-26  Paul Eggert  <eggert@twinsun.com>
94245
94246         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
94247         New macro.  Use it uniformly instead of
94248         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
94249         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
94250         reported by Vin Shelton.
94251
94252 2002-06-22  Paul Eggert  <eggert@twinsun.com>
94253
94254         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
94255         Do not assume SA_SIGINFO behavior.
94256         Bug reported by Jim Meyering on NetBSD 1.5.2.
94257
94258 2002-06-22  Jim Meyering  <meyering@lucent.com>
94259
94260         * m4/c-stack.m4: New file, from diffutils-2.8.2.
94261         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
94262
94263         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
94264         now that configure.ac uses AC_GNU_SOURCE.
94265         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
94266         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
94267
94268         Update to latest tools.  Suggestions from Paul Eggert.
94269         * m4/stdbool.m4: New file, from diffutils-2.8.2.
94270         * m4/gnu-source.m4: Update from diffutils-2.8.2.
94271         * m4/fnmatch.m4: Likewise.
94272         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
94273         to AC_HEADER_STDBOOL
94274
94275 2002-06-22  Jim Meyering  <meyering@lucent.com>
94276
94277         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
94278         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
94279
94280 2002-06-22  Jim Meyering  <meyering@lucent.com>
94281
94282         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
94283
94284         * lib/exitfail.c, exitfail.h: Likewise.
94285         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
94286
94287         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
94288         of fnmatch.h.
94289         (EXTRA_DIST): Add fnmatch_loop.c.
94290         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
94291
94292         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
94293         * lib/fnmatch.c: Update from diffutils-2.8.2.
94294         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
94295         * lib/fnmatch.h: Remove file.
94296
94297 2002-06-21  Jim Meyering  <meyering@lucent.com>
94298
94299         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
94300         * m4/mbrtowc.m4: Likewise.
94301
94302         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
94303         * m4/mbswidth.m4: Reflect name change:
94304         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
94305         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
94306
94307         * m4/lib-link.m4: Update from gettext-0.11.2.
94308         * m4/gettext.m4: Likewise.
94309
94310         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
94311         From Alfred M. Szmidt.
94312
94313 2002-06-18  Paul Eggert  <eggert@twinsun.com>
94314
94315         * lib/file-type.h: Report an error if neither S_ISREG nor
94316         S_IFREG is defined, instead of using a test specific to glibc
94317         2.2.  This should be safe, since POSIX requires S_ISREG and
94318         Unix Version 7 had S_IFREG.  We don't need to check for
94319         <sys/types.h> since we don't use any symbols that it defines.
94320
94321 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
94322
94323         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
94324         $@-t, so that each temporary file name is unique and valid in the first
94325         8 characters, for operation under DOS.
94326
94327 2002-06-15  Paul Eggert  <eggert@twinsun.com>
94328
94329         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
94330
94331 2002-06-15  Jim Meyering  <meyering@lucent.com>
94332
94333         Work even with DJGPP 2.03, which lacks support for symlinks.
94334         From Richard Dawe.
94335         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
94336         is defined.
94337         * lib/lchown.c (S_ISLNK): Likewise.
94338
94339 2002-06-15  Jim Meyering  <meyering@lucent.com>
94340
94341         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
94342         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
94343         have been included before this file.
94344
94345 2002-06-14  Jim Meyering  <meyering@lucent.com>
94346
94347         * lib/file-type.h: Use the version from diffutils-2.8.2.
94348         * lib/file-type.c: Likewise.
94349
94350 2002-06-07  Jim Meyering  <meyering@lucent.com>
94351
94352         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
94353         They're needed at least for NetBSD 1.5.2.
94354         ($statxfs_includes): Include those same headers.
94355         ($statxfs_includes): Include sys/vfs.h if available.
94356         ($statxfs_includes): Likewise for sys/statvfs.h.
94357         Check for the following members in both structs statfs and statvfs:
94358         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
94359
94360 2002-06-01  Jim Meyering  <meyering@lucent.com>
94361
94362         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
94363         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
94364
94365 2002-05-28  Jim Meyering  <meyering@lucent.com>
94366
94367         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
94368         Reported by Volker Borchert.
94369
94370 2002-05-27  Jim Meyering  <meyering@lucent.com>
94371
94372         Fix a problem seen only on nonconforming systems whereby ls.c's
94373         use of localtime, and then of gettimeofday would cause trouble:
94374         the localtime call used to initialize rpl_gettimeofday's save
94375         mechanism would clobber ls's current local time information so
94376         that in any long listing the first file would always be listed
94377         with date 1970-01-01.  Analysis by Volker Borchert.
94378
94379         * lib/gettimeofday.c (localtime): Undefine.
94380         (rpl_localtime): New function.
94381
94382 2002-05-27  Jim Meyering  <meyering@lucent.com>
94383
94384         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
94385         localtime.
94386
94387         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
94388         use the replacement function; it wouldn't resolve at link time.
94389         Reported by Volker Borchert.
94390
94391 2002-05-22  Jim Meyering  <meyering@lucent.com>
94392
94393         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
94394         file-type.h.
94395         * lib/file-type.h: New file.
94396         * lib/file-type.c (file_type): New file/function.  Extracted from
94397         diffutils.
94398
94399 2002-04-30  Jim Meyering  <meyering@lucent.com>
94400
94401         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
94402
94403 2002-04-29  Paul Eggert  <eggert@twinsun.com>
94404
94405         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
94406
94407 2002-04-29  Paul Eggert  <eggert@twinsun.com>
94408
94409         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
94410         Do not check for alloca.h (no longer used) or stdbool.h (was never
94411         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
94412
94413 2002-04-29  Paul Eggert  <eggert@twinsun.com>
94414
94415         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
94416
94417 2002-04-29  Jim Meyering  <meyering@lucent.com>
94418
94419         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
94420         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
94421         Use AC_FUNC_STRNLEN here instead.
94422
94423         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
94424         With autoconf-2.53a, it's part of AC_PROG_CC.
94425
94426 2002-04-28  Paul Eggert  <eggert@twinsun.com>
94427
94428         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
94429         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
94430
94431 2002-04-28  Paul Eggert  <eggert@twinsun.com>
94432
94433         * lib/sig2str.h, lib/sig2str.c: New files.
94434         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
94435
94436 2002-04-28  Paul Eggert  <eggert@twinsun.com>
94437
94438         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
94439         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
94440         of 127, since 64 is the largest conceivable number for ancient
94441         nonstandard hosts.
94442         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
94443
94444 2002-04-28  Jim Meyering  <meyering@lucent.com>
94445
94446         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
94447
94448 2002-04-24  Jim Meyering  <meyering@lucent.com>
94449
94450         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
94451         (jm_PREREQ): Use it.
94452
94453         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
94454         mach/mach.h fcntl.h.
94455         Check for this function: setlocale.
94456
94457 2002-04-24  Jim Meyering  <meyering@lucent.com>
94458
94459         * lib/gettext.h: New file, from Gettext.
94460         * lib/Makefile.am (INCLUDES): Remove -I../intl.
94461         (libfetish_a_SOURCES): Add gettext.h.
94462
94463 2002-04-16  Jim Meyering  <meyering@lucent.com>
94464
94465         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
94466         ut_pid, ut_id, ut_exit.
94467
94468 2002-04-16  Jim Meyering  <meyering@lucent.com>
94469
94470         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
94471         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
94472         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
94473
94474 2002-04-12  Jim Meyering  <meyering@lucent.com>
94475
94476         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
94477         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
94478         existence of the getmntinfo function.  Needed for Darwin 5.3.
94479
94480         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
94481         This is necessary at least on Darwin 5.3.
94482
94483         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
94484         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
94485         strnlen.o in the library, and that makes some versions of ranlib
94486         object.
94487
94488 2002-04-12  Jim Meyering  <meyering@lucent.com>
94489
94490         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
94491
94492 2002-04-09  Jim Meyering  <meyering@lucent.com>
94493
94494         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
94495         to be more precise.  Rather than saying we're checking whether the
94496         function `works', say what we're testing.
94497         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
94498         Reported by Bruno Haible.
94499
94500 2002-03-10  Jim Meyering  <meyering@lucent.com>
94501
94502         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
94503         Suggestion from Santiago Vila.
94504
94505 2002-03-08  Jim Meyering  <meyering@lucent.com>
94506
94507         * lib/rename.c: Mention that this wrapper is needed also on
94508         mips-dec-ultrix4.4 systems.
94509
94510 2002-03-02  Jim Meyering  <meyering@lucent.com>
94511
94512         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
94513         not HAVE_CLOCK_SETTIME.
94514
94515 2002-02-27  Paul Eggert  <eggert@twinsun.com>
94516
94517         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
94518         Check for clock_settime.
94519
94520 2002-02-27  Paul Eggert  <eggert@twinsun.com>
94521
94522         * lib/nanosleep.h: Rename to....
94523         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
94524
94525         * lib/gettime.c: New file.
94526         * lib/settime.c: New file.
94527         * lib/stime.c: Remove.
94528
94529         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
94530         timespec.h.  Remove nanosleep.h.
94531
94532 2002-02-25  Paul Eggert  <eggert@twinsun.com>
94533
94534         * m4/acl.m4: New file.
94535         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
94536         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
94537
94538 2002-02-25  Paul Eggert  <eggert@twinsun.com>
94539
94540         * lib/acl.c, lib/acl.h: New files.
94541         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
94542
94543 2002-02-24  Jim Meyering  <meyering@lucent.com>
94544
94545         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
94546         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
94547         cause trouble.  Reported by Nelson Beebe.
94548
94549 2002-02-23  Paul Eggert  <eggert@twinsun.com>
94550
94551         * lib/path-concat.c (xpath_concat): Reorder code to pacify
94552         compilers that don't know that xalloc_die never returns.
94553
94554 2002-02-20  Jim Meyering  <meyering@lucent.com>
94555
94556         * lib/getdate.c: Regenerate using bison-1.33.
94557
94558 2002-02-17  Jim Meyering  <meyering@lucent.com>
94559
94560         * config/config.guess (main): Don't use `head -1'; it's no longer
94561         portable. Use `sed 1q' instead.
94562
94563 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
94564
94565         * m4/codeset.m4: Upgrade to gettext-0.11.
94566         * m4/gettext.m4: Upgrade to gettext-0.11.
94567         * m4/glibc21.m4: Upgrade to gettext-0.11.
94568         * m4/iconv.m4: Upgrade to gettext-0.11.
94569         * m4/isc-posix.m4: Upgrade to gettext-0.11.
94570         * m4/lcmessage.m4: Upgrade to gettext-0.11.
94571         * m4/lib-ld.m4: New file, from gettext-0.11.
94572         * m4/lib-link.m4: New file, from gettext-0.11.
94573         * m4/lib-prefix.m4: New file, from gettext-0.11.
94574         * m4/progtest.m4: Upgrade to gettext-0.11.
94575
94576 2002-02-15  Paul Eggert  <eggert@twinsun.com>
94577
94578         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
94579         (jm_PREREQ): Use it.
94580
94581 2002-02-15  Paul Eggert  <eggert@twinsun.com>
94582
94583         * lib/posixver.c, lib/posixver.h: New files.
94584         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
94585
94586 2002-02-02  Paul Eggert  <eggert@twinsun.com>
94587             Bruno Haible  <bruno@clisp.org>
94588
94589         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
94590         (fwrite_success_callback): New declaration.
94591         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
94592         print_unicode_char. Call failure callback instead of error.
94593         (fwrite_success_callback): New function.
94594         (exit_failure_callback): New function.
94595         (fallback_failure_callback): New function.
94596         (print_unicode_char): Call unicode_to_mb.
94597
94598 2002-01-26  Jim Meyering  <meyering@lucent.com>
94599
94600         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
94601         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
94602
94603 2002-01-26  Jim Meyering  <meyering@lucent.com>
94604
94605         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
94606
94607 2002-01-22  Paul Eggert  <eggert@twinsun.com>
94608
94609         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
94610
94611 2002-01-22  Jim Meyering  <meyering@lucent.com>
94612
94613         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
94614         Otherwise, some versions of automake would omit the rule that makes
94615         Makefile from Makefile.in.
94616
94617 2002-01-21  Paul Eggert  <eggert@twinsun.com>
94618
94619         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
94620         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
94621         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
94622         (memcoll): Set errno to zero if there is no error.
94623
94624         * lib/quotearg.c (quotearg_buffer_restyled):
94625         Fix bug with quoting buffers containing NUL when backslashing escapes.
94626         This bug was exposed by the other changes in this patch.
94627         (quotearg_n_options): New arg ARGSIZE.
94628         All callers changed.
94629         (quoting_options_from_style): New function.
94630         (quotearg_n_style): Use it.
94631         (quotearg_n_style_mem): New function.
94632
94633         * lib/quotearg.h (quotearg_n_style_mem): New function.
94634
94635 2002-01-19  Jim Meyering  <meyering@lucent.com>
94636
94637         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
94638         Remove useless quotes: DF_PROG="df".
94639         * m4/strnlen.m4: New file.
94640
94641 2002-01-16  Paul Eggert  <eggert@twinsun.com>
94642
94643         * lib/backupfile.c (ISDIGIT): Comment fix.
94644         * lib/getdate.y (ISDIGIT): Likewise.
94645         * lib/posixtm.c (ISDIGIT, year): Likewise.
94646         * lib/strverscmp.c (ISDIGIT): Likewise.
94647         * lib/userspec.c (ISDIGIT): Likewise.
94648
94649 2002-01-16  Jim Meyering  <meyering@lucent.com>
94650
94651         * lib/getdate.y: Add three semicolons, each just before a closing
94652         brace. Bison (as of version 1.31) no longer papers over that mistake.
94653
94654 2002-01-05  Jim Meyering  <meyering@lucent.com>
94655
94656         * lib/version-etc.c (version_etc_copyright): Update copyright year.
94657
94658 2001-12-19  Paul Eggert  <eggert@twinsun.com>
94659
94660         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
94661         not silently exit merely because the output buffer happens to
94662         have nothing pending.
94663
94664 2001-12-18  Paul Eggert  <eggert@twinsun.com>
94665
94666         See the big note in ../ChangeLog.
94667         * lib/human.c (suffixes): Prefer K to k for 1024.
94668         (generate_suffix_backwards): New function.
94669         (human_readable_inexact): Use it.
94670         * lib/xstrtol.c (__xstrtol): If there is no number but there
94671         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
94672         Accept 'K' as well as 'k'.
94673
94674 2001-12-15  Jim Meyering  <meyering@lucent.com>
94675
94676         * lib/regex.h (__restrict_arr): Update from libc.
94677
94678         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
94679         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
94680         (STREQ): Define.
94681
94682 2001-12-14  Jim Meyering  <meyering@lucent.com>
94683
94684         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
94685         Suggestion from Bruno Haible.
94686
94687 2001-12-10  Jim Meyering  <meyering@lucent.com>
94688
94689         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
94690         xrealloc, Instead, include "xalloc.h".
94691         (initbuffer): Don't cast xmalloc return value to char*.
94692         (readline): Reword comment.
94693         Don't cast xrealloc return value to char*
94694         Return NULL, not 0.
94695
94696 2001-12-09  Jim Meyering  <meyering@lucent.com>
94697
94698         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
94699         about `signed and unsigned type in conditional expression'.
94700         * lib/posixtm.c (posix_time_parse): Likewise.
94701
94702         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
94703
94704         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
94705         to avoid a pedantic warning.
94706
94707         * lib/getstr.c: Don't include assert.h.
94708         (getstr): Remove warning-evoking assertions.
94709         Return -1 if offset parameter is out of bounds.
94710         Change the type of a local from int to size_t.
94711
94712         * lib/strftime.c (my_strftime_localtime_r): Include this function
94713         definition in the `#if ! HAVE_TM_GMTOFF' block.
94714
94715         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
94716         Include xalloc.h instead.
94717
94718 2001-12-02  Jim Meyering  <meyering@lucent.com>
94719
94720         * lib/tempname.c: Don't declare getenv, thus reverting the change of
94721         2001-11-18.  It's no longer necessary, now that stdlib.h is always
94722         included.
94723
94724         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
94725         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
94726
94727 2001-11-30  Akim Demaille  <akim@epita.fr>
94728
94729         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
94730         before being defined.
94731
94732 2001-11-27  Paul Eggert  <eggert@twinsun.com>
94733
94734         * lib/quotearg.h (quotearg_n, quotearg_n_style):
94735         First arg is int, not unsigned.
94736         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
94737         (SIZE_MAX, UINT_MAX): New macros.
94738         (quotearg_n_options): Abort if N is negative.
94739         Avoid overflow check on hosts where size_t is 64 bits and int
94740         is 32 bits, as overflow is impossible there.
94741         Fix off-by-one typo that caused unnecessary reallocation.
94742
94743 2001-11-27  Jim Meyering  <meyering@lucent.com>
94744
94745         * lib/tempname.c: Merge with version from libc.
94746         * lib/regex.c: Likewise.
94747
94748         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
94749         systems for which STDC_HEADERS is 0, it was not included, resulting in
94750         a warning about an integer-to-pointer conversion problem with getenv.
94751         Reported by Volker Borchert.
94752
94753 2001-11-26  Jim Meyering  <meyering@lucent.com>
94754
94755         * lib/gtod.h: Remove file.
94756         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
94757         * lib/gettimeofday.c: Don't include gtod.h.
94758         (GTOD_init): Remove function.
94759         (rpl_gettimeofday): Do its job here instead, rather than aborting.
94760         Suggestion from Volker Borchert.
94761
94762 2001-11-23  Jim Meyering  <meyering@lucent.com>
94763
94764         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
94765         it.
94766         * lib/hash.c (struct hash_table): Define it here instead.
94767
94768 2001-11-22  Jim Meyering  <meyering@lucent.com>
94769
94770         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
94771
94772 2001-11-20  Jim Meyering  <meyering@lucent.com>
94773
94774         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
94775         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
94776
94777 2001-11-19  Jim Meyering  <meyering@lucent.com>
94778
94779         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
94780         directory.  Use "conftestXXXXXX" as the template.
94781         Suggestion from Paul Eggert.
94782
94783         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
94784         immediately, so the test doesn't mistakenly hit the max-open-files
94785         limit.
94786
94787 2001-11-18  Paul Eggert  <eggert@twinsun.com>
94788
94789         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
94790         (TEMPORARIES): New macro.
94791         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
94792         removes an artificial limitation (e.g. HP-UX 10.20, where
94793         TMP_MAX is 17576).
94794
94795 2001-11-18  Jim Meyering  <meyering@lucent.com>
94796
94797         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
94798
94799 2001-11-18  Jim Meyering  <meyering@lucent.com>
94800
94801         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
94802         on SunOS 4.
94803
94804         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
94805         files will be created before anything else.
94806
94807 2001-11-17  Paul Eggert  <eggert@twinsun.com>
94808
94809         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
94810         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
94811
94812 2001-11-17  Jim Meyering  <meyering@lucent.com>
94813
94814         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
94815         Prompted by a report from Bob Proulx.
94816
94817         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
94818         Instead, require UTILS_FUNC_MKSTEMP.
94819
94820 2001-11-17  Jim Meyering  <meyering@lucent.com>
94821
94822         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
94823         Now, that's done as part of AC_FUNC_STRTOD.
94824
94825 2001-11-17  Jim Meyering  <meyering@lucent.com>
94826
94827         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
94828         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
94829         rather than group writable.  Patch by Juan F. Codagnone.
94830
94831         * lib/readtokens.c: Remove explicit declarations of xmalloc and
94832         xrealloc, Instead, include "xalloc.h".
94833
94834         * lib/mountlist.c: Include unlocked-io.h after all system headers.
94835         Remove explicit declarations of xmalloc, xrealloc,
94836         and xstrdup.  Instead, include "xalloc.h".
94837
94838         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
94839         unlocked-io.h.
94840         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
94841         Likewise.
94842         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
94843
94844         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
94845         Reported by Padraig Brady.
94846
94847         * lib/mkstemp.c: #undef mkstemp.
94848         Include config.h.
94849         (rpl_mkstemp): Rename from mkstemp.
94850         Protoize.
94851
94852 2001-11-16  Jim Meyering  <meyering@lucent.com>
94853
94854         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
94855         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
94856         determine the amount of total physical memory, use pstat_getstatic.
94857         HPUX-11 doesn't define _SC_PHYS_PAGES.
94858         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
94859         If sysconf couldn't be used to determine the amount of available
94860         physical memory, use both pstat_getstatic and pstat_getdynamic.
94861         Based on a patch from Bob Proulx.
94862
94863 2001-11-10  Jim Meyering  <meyering@lucent.com>
94864
94865         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
94866         (jm_PREREQ): Use it.
94867
94868 2001-11-09  Jim Meyering  <meyering@lucent.com>
94869
94870         * m4/jm-macros.m4: Require autoconf-2.52f.
94871         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
94872         Use these AC_-prefixed names, not the AM_-prefixed ones.
94873
94874         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
94875
94876 2001-11-05  Jim Meyering  <meyering@lucent.com>
94877
94878         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
94879
94880 2001-11-04  Jim Meyering  <meyering@lucent.com>
94881
94882         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
94883         $DEFS.
94884
94885 2001-11-03  Jim Meyering  <meyering@lucent.com>
94886
94887         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
94888         of AC_DEFUN.
94889
94890         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
94891         know the name of the variable in the macro definition.
94892
94893 2001-11-03  Jim Meyering  <meyering@lucent.com>
94894
94895         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
94896         in argmatch_to_argument call.
94897
94898         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
94899         argument.
94900
94901         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
94902         e.g., a fault due to an attempt to free a NULL pointer.
94903
94904 2001-11-01  Jim Meyering  <meyering@lucent.com>
94905
94906         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
94907         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
94908
94909 2001-11-01  Jim Meyering  <meyering@lucent.com>
94910
94911         * lib/dirfd.c, lib/dirfd.h: New files.
94912         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
94913
94914         * lib/hash.c (hash_print) [TESTING]: Clean up.
94915
94916 2001-10-22  Paul Eggert  <eggert@twinsun.com>
94917
94918         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
94919         to avoid a warning if -Wall.
94920
94921 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
94922
94923         * README: New file
94924         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
94925         (per RMS's instructions, this is now the canonical source)
94926         * lgpl/, gpl/: New directories.
94927
94928 2001-10-21  Paul Eggert  <eggert@twinsun.com>
94929
94930         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
94931
94932 2001-10-21  Jim Meyering  <meyering@lucent.com>
94933
94934         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
94935         this code would end up calling gettext even in packages built
94936         with --disable-nls.
94937         * lib/getopt.c (_): Likewise.
94938         * lib/regex.c (_): Likewise.
94939
94940 2001-10-20  Paul Eggert  <eggert@twinsun.com>
94941
94942         * m4/error.m4 (jm_PREREQ_ERROR):
94943         Do not invoke AC_CHECK_FUNCS with strerror_r, as
94944         AC_FUNC_STRERROR_R does that.
94945         Check for strerror declaration.
94946
94947         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
94948         are supposed to have them these days.
94949         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
94950         Merge changes from latest Autoconf CVS.
94951         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
94952         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
94953         POSIX decided to standardize on the int flavor of strerror_r.
94954
94955 2001-10-20  Paul Eggert  <eggert@twinsun.com>
94956
94957         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
94958         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
94959         Use strerror_r that is only a macro, even if it is not a function.
94960         (strerror): Check for HAVE_DECL_STRERROR before declaring.
94961         (private_strerror): Use prototypes, not old-style function definition.
94962         (print_errno_message): New function.
94963         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
94964         char*-flavored one.
94965         (error_tail, error, error_at_line): Use it.
94966
94967 2001-10-11  Jim Meyering  <meyering@lucent.com>
94968
94969         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
94970         and quote_n (1, ... to avoid clobbering a buffer.
94971
94972 2001-10-05  Jim Meyering  <meyering@lucent.com>
94973
94974         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
94975         hash-pjw.h.
94976         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
94977         * lib/hash-pjw.h: New file.
94978
94979 2001-09-30  Jim Meyering  <meyering@lucent.com>
94980
94981         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
94982         `struct fsstat' has the `f_fstypename' member.
94983         Use that to define FS_TYPE, which is now used to make
94984         the getfsstat link test tighter.
94985
94986 2001-09-30  Jim Meyering  <meyering@lucent.com>
94987
94988         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
94989         Include <sys/ucred.h>, for Apple Darwin.
94990         Include sys/mount.h and sys/fs_types.h only if available.
94991         (FS_TYPE): Define.
94992         (read_filesystem_list): Use FS_TYPE.
94993
94994 2001-09-29  Paul Eggert  <eggert@twinsun.com>
94995
94996         * lib/exclude.c (excluded_filename): 0 -> false, since it's
94997         a boolean context.
94998
94999 2001-09-29  Jim Meyering  <meyering@lucent.com>
95000
95001         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95002         [one-argument getmntent function]): Include stdio.h before mntent.h.
95003         SunOS 4.1.x needs it for the declaration of `FILE'.
95004         Patch by Volker Borchert.
95005
95006         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95007         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
95008         sys/fs_types.h, and make the link-test for getfsstat guard #include
95009         directives with appropriate #if HAVE_*_H tests so that we can
95010         detect getfsstat on Apple Darwin1.3.7 systems.
95011         Reported by Nelson Beebe.
95012         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
95013
95014 2001-09-28  Paul Eggert  <eggert@twinsun.com>
95015
95016         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
95017         #defines strtoimax.  Also treat the other strto* functions
95018         like strtoimax.
95019
95020         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
95021         Check for strtoul and strtoumax,
95022         as those declarations are made even in the signed case.
95023         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
95024         Likewise, for strtol and strtoimax.
95025
95026 2001-09-28  Paul Eggert  <eggert@twinsun.com>
95027
95028         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
95029         #defines strtoimax.  Also treat the other strto* functions
95030         like strtoimax.
95031
95032         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
95033         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
95034         (strtoimax, strtoumax): Do not declare if already defined as a macro.
95035
95036 2001-09-26  Jim Meyering  <meyering@lucent.com>
95037
95038         Most macros in unlocked-io.h had the wrong number of arguments.
95039         * lib/gen-uio: New script.
95040         (USE_UNLOCKED_IO): Define to 1 if not already defined.
95041         * lib/unlocked-io.hin: Remove file.
95042         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
95043         rather than trying to embed it here.
95044         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
95045         Reported by Padraig Brady.
95046
95047 2001-09-25  Volker Borchert  <bt@teknon.de>
95048
95049         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
95050         `result'.
95051
95052 2001-09-24  Jim Meyering  <meyering@lucent.com>
95053
95054         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
95055
95056 2001-09-23  Jim Meyering  <meyering@lucent.com>
95057
95058         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
95059         instead of the mere test for existence of mntent.h.  The latter
95060         would get a false-positive on AIX 3.4 systems.
95061         In the outer getmntent if-block, don't die if neither of the getmntent
95062         tests succeeds.  Instead, just fall through and continue with the
95063         remaining tests.
95064
95065 2001-09-23  Jim Meyering  <meyering@lucent.com>
95066
95067         * lib/mountlist.c: Remove useless parentheses in #if directives.
95068         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
95069         the deprecated MOUNTED symbol is no longer defined in mntent.h.
95070
95071 2001-09-22  Jim Meyering  <meyering@lucent.com>
95072
95073         * m4/gettext.m4: New file.  From gettext.
95074         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
95075         * m4/progtest.m4: Likewise
95076         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
95077         * m4/glibc21.m4: Likewise.
95078
95079         * m4/libintl.m4: Remove.  No longer used.
95080
95081 2001-09-22  Jim Meyering  <meyering@lucent.com>
95082
95083         * lib/localcharset.c: Update from latest gettext.
95084         * lib/config.charset: Likewise.
95085
95086 2001-09-20  Jim Meyering  <meyering@lucent.com>
95087
95088         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
95089         strtoimax.
95090         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
95091         strtoumax.
95092
95093 2001-09-20  Jim Meyering  <meyering@lucent.com>
95094
95095         * lib/xstrtol.c (strtoimax): Guard declaration with
95096         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
95097         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
95098         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
95099         (strtoumax): Likewise, for completeness (it wasn't necessary).
95100
95101 2001-09-17  Paul Eggert  <eggert@twinsun.com>
95102
95103         * lib/strtoimax.c (HAVE_LONG_LONG):
95104         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
95105         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
95106         to work around bug in IBM C compiler.
95107
95108 2001-09-17  Jim Meyering  <meyering@lucent.com>
95109
95110         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
95111         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
95112         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
95113         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
95114         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
95115         whenever the right hand side need not be expanded by the shell.
95116
95117 2001-09-16  Paul Eggert  <eggert@twinsun.com>
95118
95119         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
95120         library.  It's not correct, as some older glibcs are buggy.
95121         fnmatch wasn't fixed until glibc 2.2.
95122
95123         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
95124         special shell magic here.
95125
95126 2001-09-16  Jim Meyering  <meyering@lucent.com>
95127
95128         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
95129         * m4/jm-macros.m4: Require it.
95130
95131 2001-09-16  Jim Meyering  <meyering@lucent.com>
95132
95133         * lib/mkdir.c: New file.
95134
95135 2001-09-15  Jim Meyering  <meyering@lucent.com>
95136
95137         * m4/jm-macros.m4: Check for help2man.
95138
95139 2001-09-11  Jim Meyering  <meyering@lucent.com>
95140
95141         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
95142         The body, by Paul Eggert, was moved here from configure.in.
95143         * m4/jm-macros.m4: Require UTILS_HOST_OS.
95144
95145 2001-09-04  Paul Eggert  <eggert@twinsun.com>
95146
95147         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
95148         (jm_PREREQ): Use it.
95149
95150 2001-09-04  Paul Eggert  <eggert@twinsun.com>
95151
95152         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
95153         Use ssize_t, not int, to store result of readlink.
95154         Check for ssize_t overflow as well as size_t overflow,
95155         as POSIX says the result of readlink is implementation-defined
95156         when ssize_t overflows.
95157         Remove unnecessary cast to char*.
95158         Use free+malloc instead of realloc, as the storage doesn't need
95159         to be preserved and it's clearer and can be more efficient that way.
95160         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
95161         * lib/xreadlink.h (xreadlink): Update prototype.
95162
95163 2001-09-04  Paul Eggert  <eggert@twinsun.com>
95164
95165         * lib/xgetcwd.c: Revert some of the previous change; intead,
95166         fix the HAVE_GETCWD_NULL code to behave more like the
95167         !HAVE_GETCWD_NULL code used to.
95168
95169         Include "xalloc.h".
95170         (xgetcwd): Do not return NULL when memory is exhausted; instead,
95171         invoke xalloc_die.
95172
95173 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95174
95175         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
95176         sys/param.h, as pathmax.h includes them.
95177
95178 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95179
95180         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
95181         (jm_PREREQ_XGETCWD): New macro.
95182
95183         * m4/getcwd.m4: New file.
95184
95185 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95186
95187         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
95188         like the HAVE_GETCWD_NULL code.
95189         Include pathmax.h if not HAVE_GETCWD.
95190         Do not include xalloc.h.
95191         (INITIAL_BUFFER_SIZE): New symbol.
95192         Do not use xmalloc / xrealloc, since the caller is responsible for
95193         handling errors.  Preserve errno around `free' during failure.
95194         Do not overrun buffer when using getwd.
95195
95196 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95197
95198         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
95199         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
95200         getcwd (NULL, 0).
95201
95202 2001-09-03  Paul Eggert  <eggert@twinsun.com>
95203
95204         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
95205         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
95206         spotted by Jim Meyering.
95207
95208 2001-09-03  Jim Meyering  <meyering@lucent.com>
95209
95210         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
95211         failure.
95212
95213 2001-09-02  Jim Meyering  <meyering@lucent.com>
95214
95215         * lib/error.c: Update from GNU libc.
95216
95217 2001-09-01  Jim Meyering  <meyering@lucent.com>
95218
95219         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
95220         Used by df.
95221
95222 2001-09-01  Jim Meyering  <meyering@lucent.com>
95223
95224         * lib/xreadlink.c: New file.
95225         * lib/xreadlink.h: New file.
95226         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
95227         xreadlink.h.
95228
95229         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
95230         doesn't conflict with sparc Solaris 7's definition in
95231         /usr/include/sys/int_types.h.
95232
95233         * lib/exclude.c: Use `""', not `<>' to #include non-system header
95234         files.
95235         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
95236         and strncasecmp as r-values.  Unixware didn't have declarations.
95237
95238 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95239
95240         * lib/xstrtol.h: Add copyright notice.
95241         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
95242         LONGINT_INVALID_SUFFIX_CHAR.
95243
95244 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95245
95246         * lib/xstrtol.c (strtoimax): New decl.
95247
95248 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95249
95250         * lib/xgetcwd.c: Don't include pathmax.h.
95251         Include stdlib.h and unistd.h if available.
95252         Include xalloc.h.
95253         (xmalloc, xstrdup, free): Remove decls.
95254         (xgetcwd): Don't assume sizes fit in unsigned.
95255         Check for overflow when computing sizes.
95256         Simplify reallocation code.
95257
95258 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95259
95260         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
95261         a directory's st_size can have an arbitrary value, so the old
95262         usage could waste an arbitrary amount of memory.  All uses
95263         changed.
95264         * lib/savedir.h: Update prototype.
95265
95266 2001-08-31  Paul Eggert  <eggert@twinsun.com>
95267
95268         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
95269
95270         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
95271         old strtoimax.c.
95272
95273         Also, make the following further changes to make this file's
95274         configuration more similar to that of strtol.c:
95275         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
95276         (strtoumax, uintmax_t, strtoull, strtol): Remove.
95277         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
95278         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
95279         changed to signed values.
95280
95281         And make the following changes as well:
95282         Fix copyright notice, as 1999 was missing.
95283         (verify): New macro.
95284         (strtoimax): Check sizes at compile-time, not run-time.
95285         Prefer strtol to strtoll if both work.
95286         (main): Remove; it was not that useful and was a pain to maintain.
95287
95288         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
95289
95290 2001-08-31  Jim Meyering  <meyering@lucent.com>
95291
95292         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
95293         Use an initial, malloc'd, buffer of length 128 rather than
95294         a statically allocated one of length 1024.
95295
95296 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95297
95298         Simplify code, partly by assuming autoconf 2.52 semantics.
95299
95300         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
95301
95302         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
95303         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
95304         All uses removed.
95305         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
95306         Move AC_REQUIRE to next-to-top level, to avoid confusion.
95307         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
95308         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
95309         jm_AC_HEADER_INTTYPES_H.
95310         * m4/jm-macros.m4 (jm_MACROS): Likewise.
95311
95312         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
95313
95314         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
95315         Quote first arg of AC_DEFUN.
95316         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
95317         since they are needed to parse the include file even if we need
95318         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
95319         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
95320         but with opposite signedness.
95321
95322 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95323
95324         Merge 'exclude' changes from tar 1.13.22.
95325         This fixes one or two unlikely storage allocation overflow bugs,
95326         but doesn't change user-visible behavior otherwise.
95327
95328 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95329
95330         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
95331         (jm_PREREQ_EXCLUDE): New macro.
95332
95333 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95334
95335         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
95336         tm to be declared.
95337
95338 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95339
95340         * lib/hash.c: Remove '2001' from copyright notice.
95341
95342 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95343
95344         * lib/full-write.h: New file.
95345         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
95346         * lib/full-write.c: Correct credits, as cccp.c no longer
95347         exists and anyway it was so heavily changed from the old cccp
95348         code as to be unrecognizable.  Include full-write.h.
95349         (full_write): Return size_t, with short writes meaning failure.
95350         All callers changed.  This fixes a bug with large buffers
95351         on 64-bit hosts.
95352         * lib/utime.c: Include full-write.h.
95353
95354 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95355
95356         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
95357         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
95358         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
95359         Include if available.
95360         (<xalloc.h>): Include
95361         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
95362         (verify): New macro.  Use it to verify that EXCLUDE macros do not
95363         collide with FNM macros.
95364         (struct patopts): New struct.
95365         (struct exclude): Use it, as exclude patterns now come with options.
95366         (new_exclude): Support above changes.
95367         (new_exclude, add_exclude_file):
95368         Initial size must now be a power of two to simplify overflow checking.
95369         (free_exclude, fnmatch_no_wildcards): New function.
95370         (excluded_filename): No longer requires options arg, as the options
95371         are determined by add_exclude.  Now returns bool, not int.
95372         (excluded_filename, add_exclude):
95373         Add support for the fancy new exclusion options.
95374         (add_exclude, add_exclude_file): Now takes int options arg.
95375         Check for arithmetic overflow when computing sizes.
95376         (add_exclude_file): xrealloc might modify errno, so don't
95377         realloc until after errno might be used.
95378
95379         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
95380         New macros.
95381         (free_exclude): New decl.
95382         (add_exclude, add_exclude_file): Now takes int options arg.
95383         (excluded_filename): No longer requires options arg, as the options
95384         are determined by add_exclude.  Now returns bool, not int.
95385
95386 2001-08-30  Paul Eggert  <eggert@twinsun.com>
95387
95388         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
95389
95390 2001-08-27  Jim Meyering  <meyering@lucent.com>
95391
95392         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
95393
95394         * lib/version-etc.c (N_): Remove definition.
95395         Revert most of last change.
95396         Instead, simply don't mark the `Copyright...' string for translation.
95397         Based on advice from Paul Eggert.
95398
95399         * lib/strtoxmax.c: Tweak comment.
95400
95401 2001-08-26  Jim Meyering  <meyering@lucent.com>
95402
95403         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
95404
95405         * m4/xstrtoimax.m4: New file.
95406         * m4/xstrtoumax.m4: Add comments explaining why we
95407         AC_REPLACE_FUNCS(strtol).
95408
95409 2001-08-26  Jim Meyering  <meyering@lucent.com>
95410
95411         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
95412         of copyright with `%s' so translators don't get an untranslated
95413         message in 2002.
95414         (COPYRIGHT_YEAR): Define.
95415         (version_etc): Use fprintf rather than fputs.
95416         Suggestion from Ulrich Drepper.
95417
95418         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
95419
95420         * lib/strtoll.c: New file, from GNU libc.
95421         * lib/xstrtoimax.c: New file.
95422
95423         * lib/xstrtol.h: Add xstrtoimax.
95424         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
95425         * lib/strtoimax.c: New file.  Likewise, but first define
95426         STRTOUXMAX_SIGNED.
95427
95428         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
95429         ...
95430         * lib/strtoxmax.c: ... then renamed to this.
95431
95432 2001-08-18  Paul Eggert  <eggert@twinsun.com>
95433
95434         * m4/inttypes.m4: Add AC_PREREQ(2.13).
95435         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
95436         (jm_AC_TYPE_INTMAX_T): New macro.
95437         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
95438
95439         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
95440
95441         * m4/longlong.m4: Renamed from ulonglong.m4.
95442         * m4/inttypes.m4: Renamed from inttypes_h.m4.
95443         * m4/uintmax_t.m4: Removed.
95444
95445 2001-08-13  Paul Eggert  <eggert@twinsun.com>
95446
95447         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
95448         Port to Solaris 8, where 'sed' requires a space after the 'r'
95449         command, and where sh dislikes "$/".  Clean up the spacing a bit.
95450         Redirect output to $tmp just once.
95451
95452 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
95453
95454         * lib/addext.c (<errno.h>): Include.
95455         (errno): Declare if not defined.
95456         (addext): Work correctly when pathconf returns -1 and leaves
95457         errno alone because there is no limit.  Also, work even if
95458         pathconf returns a value greater than SIZE_MAX.
95459
95460 2001-08-12  Jim Meyering  <meyering@lucent.com>
95461
95462         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
95463         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
95464         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
95465         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
95466         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
95467         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
95468         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
95469         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
95470         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
95471         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
95472         utime.m4, utimes.m4, xstrtoumax.m4:
95473         Quote the first argument in each use of AC_DEFUN.
95474
95475 2001-08-12  Jim Meyering  <meyering@lucent.com>
95476
95477         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
95478         Simply `return getcwd (NULL, 0);'.
95479         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
95480         Use 1300 as initial value for length, not PATH_MAX.
95481
95482         * lib/pathmax.h: Clean up cpp syntax.
95483
95484 2001-08-12  Jim Meyering  <meyering@lucent.com>
95485
95486         * lib/gettimeofday.c: New file.
95487         * lib/gtod.h: New file.
95488         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
95489
95490 2001-08-05  Jim Meyering  <meyering@lucent.com>
95491
95492         * m4/jm-macros.m4: Require autoconf-2.52.
95493
95494 2001-08-04  Jim Meyering  <meyering@lucent.com>
95495
95496         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
95497         stmt, to get in sync with glibc.
95498
95499 2001-08-03  Paul Eggert  <eggert@twinsun.com>
95500
95501         The following changes are from gettext 0.10.39 as maintained by
95502         Bruno Haible.
95503
95504         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
95505         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
95506         with inverted sense.  All uses changed.
95507
95508         * lib/mbswidth.c: Don't include <limits.h>.
95509         Include <stdlib.h> and <string.h> unconditionally.
95510         (iswcntrl, mbsinit, ISCNTRL): New macros.
95511         (mbsnwidth): Use K&R style function declarations.
95512         Don't bother checking for MB_LEN_MAX == 1, since the compiler
95513         can optimize it when MB_CUR_MAX == 1.
95514         The width of control characters is zero, not 1.
95515
95516 2001-08-03  Paul Eggert  <eggert@twinsun.com>
95517
95518         The following changes are from gettext 0.10.39 as maintained by
95519         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
95520
95521         * m4/codeset.m4: Upgrade to serial AM1.
95522         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
95523         all uses changed.  Quote first arg of AC_DEFUN.
95524         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
95525
95526         * m4/iconv.m4: Upgrade to serial AM2.
95527         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
95528         Add --with-libconv-prefix.
95529         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
95530         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
95531         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
95532         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
95533         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
95534
95535         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
95536         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
95537         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
95538         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
95539         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
95540         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
95541         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
95542         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
95543         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
95544
95545         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
95546         string.h any more.
95547
95548         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
95549         not the default value.
95550
95551         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
95552         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
95553         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
95554         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
95555         Also check for iswcntrl, used for wcwidth fallback.
95556         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
95557         to Autoconf 2.13.
95558
95559 2001-08-03  Jim Meyering  <meyering@lucent.com>
95560
95561         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
95562         as it was in the original.  Reported by Paul Eggert.
95563
95564 2001-07-16  Jim Meyering  <meyering@lucent.com>
95565
95566         * m4/gettimeofday.m4: New file.
95567         Prompted by a report from Bernhard Baehr.
95568
95569 2001-07-15  Jim Meyering  <meyering@lucent.com>
95570
95571         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
95572         stuff. Now it's in ../Makefile.cfg.
95573
95574 2001-07-15  Jim Meyering  <meyering@lucent.com>
95575
95576         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
95577         (BUILT_SOURCES): Add unlocked-io.h.
95578         (io_functions): Define.
95579         (unlocked-io.h): New rule.
95580         (DISTCLEANFILES): Add unlocked-io.h.
95581         (all-local): Depend on unlocked-io.h, to ensure it is created.
95582
95583         * lib/unlocked-io.hin: New file
95584
95585         * lib/regex.c: Update from glibc.
95586
95587 2001-07-05  Jim Meyering  <meyering@lucent.com>
95588
95589         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
95590         recommendation.
95591         (libfetish_a_SOURCES): Put all .h files here instead.
95592         Remove a thus-exposed (better checks in automake) duplicate and
95593         two unnecessary .h files.
95594
95595 2001-07-04  Jim Meyering  <meyering@lucent.com>
95596
95597         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
95598         that generates jm-glibc-io.m4 so that it doesn't trigger any make
95599         distcheck failure.
95600
95601 2001-07-02  Jim Meyering  <meyering@lucent.com>
95602
95603         The following changes were prompted by suggestions from Bruno Haible.
95604
95605         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
95606         is now generated.
95607         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
95608         definition of EXTRA_DIST.
95609         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
95610         ensure that the generated file is created/updated whenever the list
95611         of $(unlocked_functions) is changed.
95612         (jm-glibc-io.m4): New rule.
95613         (unlocked-io.h): New rule -- currently unused.
95614
95615 2001-06-24  Jim Meyering  <meyering@lucent.com>
95616
95617         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
95618         unmatched right bracket, rather than kludging it with an extra,
95619         falsely-matching quote in a comment.  Patch by Akim Demaille.
95620
95621 2001-06-11  Jim Meyering  <meyering@lucent.com>
95622
95623         * lib/regex.c: Update from GNU libc.
95624
95625 2001-05-27  Jim Meyering  <meyering@lucent.com>
95626
95627         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
95628         Check for ut_type in struct utmp.
95629
95630 2001-05-27  Jim Meyering  <meyering@lucent.com>
95631
95632         * lib/readutmp.h (UT_TYPE): Define.
95633
95634 2001-05-24  Jim Meyering  <meyering@lucent.com>
95635
95636         * lib/argmatch.c: Include "quote.h".
95637         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
95638         quote function.  Reported by Göran Uddeborg.
95639
95640 2001-05-22  Jim Meyering  <meyering@lucent.com>
95641
95642         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
95643         now that we use the package-supplied version unconditionally.
95644         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
95645
95646 2001-05-21  Jim Meyering  <meyering@lucent.com>
95647
95648         * m4/regex.m4: Change a couple backticks to single quotes to avoid
95649         shell syntax errors.
95650
95651 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
95652
95653         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
95654
95655 2001-05-20  Paul Eggert  <eggert@twinsun.com>
95656
95657         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
95658         Don't bother to check library strftime, since
95659         we'll be using our own my_strftime function anyway.
95660         Define my_strftime instead of strftime.
95661
95662 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
95663
95664         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
95665         which is not yet declared.
95666
95667 2001-05-15  Jim Meyering  <meyering@lucent.com>
95668
95669         * m4/regex.m4: Use proper quoting so brackets appear in the test
95670         program.
95671         Reported by, and with help from, Bruno Haible.
95672
95673 2001-05-13  Jim Meyering  <meyering@lucent.com>
95674
95675         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
95676         undefined.
95677
95678 2001-05-11  Paul Eggert  <eggert@twinsun.com>
95679
95680         dirname code cleanup.  base_name now behaves more compatibly
95681         with POSIX basename when given file names that have trailing
95682         slashes, and similarly for dir_name.  Add new primitives
95683         base_len and dir_len.  Put the directory-name-related decls
95684         into dirname.h.
95685
95686         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
95687         * lib/backupfile.c (base_name): Likewise.
95688         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
95689         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
95690         * lib/makepath.c (strip_trailing_slashes): Likewise.
95691         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
95692         ISSLASH): Likewise.
95693         * lib/rename.c (strip_trailing_slashes): Likewise.
95694         * lib/same.c (base_name): Likewise.
95695         * lib/stripslash.c (ISSLASH): Likewise.
95696
95697         * lib/addext.c: Include <dirname.h> after size_t is defined.
95698         * lib/backupfile.c: Likewise.
95699
95700         * lib/addext.c (addext): Use base_len to trim redundant
95701         trailing slashes instead of doing it ourselves.
95702         But do not trim the last slash if it is not redundant.
95703
95704         * lib/backupfile.c (find_backup_file_name,
95705         max_backup_version): Use base_len instead of rolling it ourselves.
95706         Handle the case of "" and (on DOS) "C:" correctly.
95707
95708         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
95709         needed. Include <string.h>, <dirname.h>.
95710         (base_name): Allow file names ending in slashes, other than names
95711         that are all slashes.  In this case, return the basename followed
95712         by the slashes.  This is more general, and can be used in places
95713         where the original base_name purposely had an assertion failure.
95714         (base_len): New function.
95715
95716         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
95717         Do not include <assert.h>; no longer needed.
95718         Include xalloc.h.
95719         (memrchr): Remove decl.
95720         (dir_name_r): Remove.
95721         (dir_len): Renamed from dirlen.  All callers changed.
95722         Rewrite in terms of base_name, for simplicity and consistency.
95723         (dir_name): Never return NULL.  All callers changed.
95724         Do not include <stdlib.h> in test program; no longer needed.
95725         return 0; is fine for test program.
95726
95727         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
95728         New macros.
95729         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
95730
95731         * lib/path-concat.c (path_concat): Use base_len to compute
95732         base length, not strlen; this means we cannot rely on memcpy
95733         to null-terminate.
95734
95735         * lib/same.c (STREQ): Remove.
95736         (same_name): Handle the case where the basename ends in trailing '/'.
95737
95738         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
95739         a slash was stripped.  Do not strip the last slash after a
95740         file system prefix.
95741
95742 2001-05-11  Paul Eggert  <eggert@twinsun.com>
95743
95744         * lib/Makefile.am (libfetish_a_SOURCES):
95745         Add strftime.c, since we now compile it on all hosts.
95746
95747         * lib/strftime.c (my_strftime):
95748         Define to nstrftime if emacs, but only if my_strftime is not defined.
95749         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
95750         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
95751         Add one more extra argument: a nanoseconds value.
95752         All uses changed.
95753         (ns): New macro.
95754         (my_strftime function): Add %N format.
95755         (emacs_strftimeu): Renamed from emacs_strftime,
95756         with extra ut argument.
95757
95758 2001-05-09  Paul Eggert  <eggert@twinsun.com>
95759
95760         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
95761
95762 2001-04-21  Jim Meyering  <meyering@lucent.com>
95763
95764         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
95765         doesn't interfere.
95766
95767 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
95768
95769         * m4/ftruncate.m4: Check for chsize.
95770         Link with ftruncate.o unconditionally if ftruncate is missing.
95771         This was required when cross-compiling to i586-mingw32msvc.
95772
95773 2001-04-08  Jim Meyering  <meyering@lucent.com>
95774
95775         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
95776         recomputed; that's necessary when the offset spans a DST transition.
95777         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
95778
95779 2001-04-02  Jim Meyering  <meyering@lucent.com>
95780
95781         * lib/regex.h, regex.c: Update from GNU libc.
95782
95783 2001-03-24  Jim Meyering  <meyering@lucent.com>
95784
95785         * m4/jm-macros.m4: Require autoconf-2.49d.
95786
95787 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
95788
95789         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
95790
95791 2001-03-19  Paul Eggert  <eggert@twinsun.com>
95792
95793         * lib/version-etc.c (version_etc_copyright): Update to 2001.
95794
95795 2001-03-17  Jim Meyering  <meyering@lucent.com>
95796
95797         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
95798         now that the version in autoconf is equivalent.
95799         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
95800
95801         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
95802         Suggestion from Akim Demaille.
95803
95804         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
95805         (jm_PREREQ_TEMPNAME): New function.
95806
95807 2001-03-16  Paul Eggert  <eggert@twinsun.com>
95808
95809         * lib/tempname.c (uint64_t): Define to uintmax_t if
95810         not defined, and if UINT64_MAX is not defined.
95811         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
95812         Reported by John David Anglin.
95813
95814 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
95815
95816         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
95817         resolve alias if codeset is empty.
95818         * lib/config.charset (BeOS): Use wildcard syntax.
95819
95820 2001-03-13  Jim Meyering  <meyering@lucent.com>
95821
95822         * lib/path-concat.c (path_concat)
95823         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
95824         concatenating e.g., `C:' and `foo'.
95825         From Bruno Haible.
95826
95827 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
95828
95829         * lib/localcharset.c (locale_charset): Don't use
95830         setlocale(LC_CTYPE,NULL). Don't return NULL.
95831         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
95832
95833 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
95834
95835         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
95836         support for DOS/DJGPP.
95837
95838 2001-03-01  Paul Eggert  <eggert@twinsun.com>
95839
95840         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
95841         lacks mkstemp.  Compile our own tempname.c if we compile our own
95842         mkstemp.c, as mkstemp relies on tempname.
95843
95844 2001-03-01  Jim Meyering  <meyering@lucent.com>
95845
95846         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
95847         AH_VERBATIM really does output its argument verbatim.
95848
95849 2001-02-28  Paul Eggert  <eggert@twinsun.com>
95850
95851         * lib/Makefile.am (libfetish_a_SOURCES):
95852         Add dup-safer.c, fopen-safer.c.
95853         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
95854
95855         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
95856         * lib/unistd-safer.h: New files.
95857
95858 2001-02-25  Paul Eggert  <eggert@twinsun.com>
95859
95860         The mkstemp replacement is taken from glibc 2.2.2, with some
95861         portability fixes for use outside glibc, as follows:
95862
95863         * lib/tempname.c (struct_stat64): New macro.
95864         (direxists, __gen_tempname): Use it.
95865         This avoids a portability problem with Solaris 8.
95866
95867         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
95868         (<stddef.h>, <stdint.h>, <string.h>):
95869         Include only if STDC_HEADERS || _LIBC.
95870         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
95871         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
95872         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
95873         (__set_errno): Define this macro if <errno.h> doesn't.
95874         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
95875         Define these macros if <stdio.h> doesn't.
95876         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
95877         Define these macros if <sys/stat.h>
95878         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
95879         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
95880         __xstat64): Define if not _LIBC.
95881         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
95882         (__gen_tempname): Invoke gettimeofday only if
95883         HAVE_GETTIMEOFDAY || _LIBC;
95884         otherwise, fall back on plain "time".
95885         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
95886
95887         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
95888
95889         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
95890
95891 2001-02-18  Paul Eggert  <eggert@twinsun.com>
95892
95893         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
95894
95895 2001-02-17  Paul Eggert  <eggert@twinsun.com>
95896
95897         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
95898         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
95899         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
95900         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95901
95902 2001-02-17  Paul Eggert  <eggert@twinsun.com>
95903
95904         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
95905         Remove workaround macros for hosts that have mbrtowc but not
95906         mbstate_t, as we now insist on proper declarations for both
95907         before using mbrtowc.
95908
95909 2001-02-17  Jim Meyering  <meyering@lucent.com>
95910
95911         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
95912         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
95913         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
95914         UnixWare 7.1.1.
95915
95916         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
95917         rather than AC_CACHE_VAL.
95918
95919 2001-02-17  Jim Meyering  <meyering@lucent.com>
95920
95921         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
95922         around included file name.
95923
95924         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
95925
95926         * lib/strftime.c: Update from GNU libc (the only changes were to
95927         comments).
95928
95929 2001-02-17  Jim Meyering  <meyering@lucent.com>
95930
95931         * lib/regex.c: Update from libc.
95932
95933 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
95934
95935         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
95936         clash.
95937
95938 2001-02-16  Paul Eggert  <eggert@twinsun.com>
95939
95940         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
95941         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
95942         Reported by Mark Hounschell via Paul Eggert.
95943
95944 2001-02-07  Jim Meyering  <meyering@lucent.com>
95945
95946         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
95947
95948 2001-02-05  Jim Meyering  <meyering@lucent.com>
95949
95950         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
95951         it includes the patch required for `large file' support with at least
95952         HP-UX's 10.20 /bin/cc.
95953
95954 2001-02-03  Jim Meyering  <meyering@lucent.com>
95955
95956         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
95957         AS_IF, now that it works once again (mysteriously).
95958         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
95959
95960 2001-01-30  Jim Meyering  <meyering@lucent.com>
95961
95962         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
95963         * m4/chown.m4: Rename conftestchown to conftest.chown.
95964         * m4/rename.m4: s/conftestdir/conftest.d1/ and
95965         s/conftestdir2/conftest.d2/.
95966         * m4/utimes.m4: s/conftestdata/conftest.data/
95967         Inspired by Pavel Roskin's change in autoconf.
95968
95969 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
95970
95971         * lib/config.charset: Update for FreeBSD 4.2.
95972
95973 2001-01-27  Jim Meyering  <meyering@lucent.com>
95974
95975         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
95976         a use of AS_IF.
95977         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
95978
95979 2001-01-26  Jim Meyering  <meyering@lucent.com>
95980
95981         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
95982         quotearg.c includes it.
95983
95984 2001-01-26  Jim Meyering  <meyering@lucent.com>
95985
95986         * lib/quotearg.c: Include stddef.h.
95987         * lib/quote.c: Include stddef.h.
95988         Reported by Axel Kittenberger.
95989
95990         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
95991         line in double quotes so that it evokes a better diagnostic.
95992         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
95993         Reported by Axel Kittenberger.
95994
95995 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
95996
95997         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
95998         as if it was a `charset'.
95999
96000 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96001
96002         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
96003         has const.
96004
96005 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96006
96007         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
96008         to avoid a warning.  Add back 'const' to inptr.
96009
96010 2001-01-20  Jim Meyering  <meyering@lucent.com>
96011
96012         Be sure that headers are checked before used in code compiled
96013         for the type checks.
96014         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
96015         In place of that, invoke jm_CHECK_ALL_TYPES.
96016         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
96017         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
96018         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
96019         The check for ssize_t was mistakenly run before the test for unistd.h.
96020
96021         The configure-time check for stdbool.h was missing.
96022         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
96023         (jm_PREREQ_HASH): New function.
96024
96025 2001-01-17  Jim Meyering  <meyering@lucent.com>
96026
96027         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
96028         for autoconf-2.49c.
96029         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
96030
96031 2001-01-16  Jim Meyering  <meyering@lucent.com>
96032
96033         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
96034         From Bruno Haible.
96035
96036 2001-01-14  Jim Meyering  <meyering@lucent.com>
96037
96038         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
96039         foo and bar.  Create conftestdir/ in the script, not in the C code.
96040         Remove directories in the script, not in the C code.
96041         Remove conftestdir{,2} before trying to create the directory.
96042         Make the entire configure script fail if the mkdir fails.
96043
96044 2001-01-14  Jim Meyering  <meyering@lucent.com>
96045
96046         * lib/rename.c: New file.  From Volker Borchert.
96047         Include stdlib.h, string.h or strings.h, and xalloc.h.
96048         Use strip_trailing_slashes rather than open-coding it.
96049
96050 2001-01-03  Paul Eggert  <eggert@twinsun.com>
96051
96052         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
96053
96054 2001-01-03  Jim Meyering  <meyering@lucent.com>
96055
96056         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
96057         of local `inptr' to avoid warning with some system declarations of
96058         iconv.
96059
96060 2001-01-02  Volker Borchert  <bt@teknon.de>
96061
96062         * m4/rename.m4: New file.
96063         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
96064
96065 2001-01-01  Jim Meyering  <meyering@lucent.com>
96066
96067         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
96068         even on systems with utmpx.h.  It's necessary for the declaration of
96069         utmp's ut_user member.  Reported by Andreas Jaeger.
96070
96071         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
96072         available. They are required for the declarations of getgrgid and
96073         getpwuid resp.
96074         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
96075         Reported by Andreas Jaeger.
96076
96077 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
96078
96079         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
96080         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
96081         so `make install' also works in VPATH builds.
96082
96083 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
96084
96085         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
96086         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
96087         can be used in subdirectories.
96088
96089 2000-12-29  Paul Eggert  <eggert@twinsun.com>
96090
96091         * lib/modechange.c: Do not assume that mode_t uses the
96092         traditional octal encoding.  E.g. "chmod 1 FOO" should set
96093         the other-execute bit of FOO even if S_IXOTH != 1.
96094
96095         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
96096         WOTH, XOTH, ALLM): New macros.
96097         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
96098          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
96099         Use them.
96100         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
96101         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
96102         (mode_compile):
96103         No need to use uintmax_t; unsigned long is long enough.
96104         Don't bother to get suffix since we don't use it.
96105
96106 2000-12-26  Jim Meyering  <meyering@lucent.com>
96107
96108         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
96109         better with autoheader.
96110
96111 2000-12-24  Jim Meyering  <meyering@lucent.com>
96112
96113         * lib/hash.c (is_prime): Return explicit boolean values.
96114         (hash_get_first): Return NULL to appease Irix5.6's 89.
96115         Reported by Nelson Beebe.
96116
96117 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
96118
96119         * lib/localcharset.c (locale_charset): Add support for Win32.
96120
96121 2000-12-18  Paul Eggert  <eggert@twinsun.com>
96122
96123         * lib/physmem.h, lib/physmem.c: New files.
96124
96125         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
96126         (noinst_HEADERS): Add physmem.h.
96127
96128         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
96129         't' for compatibility with Solaris 8 sort.
96130
96131 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
96132
96133         * lib/config.charset: Add support for BeOS.
96134
96135 2000-12-17  Jim Meyering  <meyering@lucent.com>
96136
96137         * m4/dos.m4 (jm_AC_DOS): New file and macro.
96138         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
96139
96140 2000-12-16  Jim Meyering  <meyering@lucent.com>
96141
96142         This bug had a serious impact on chown: `chown N:M FILE' (for integer
96143         N and M) would have treated it like `chown N:N FILE'.
96144
96145         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
96146
96147 2000-12-16  Jim Meyering  <meyering@lucent.com>
96148
96149         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
96150         SHELLS_FILE to a file name that's useful on djgpp systems.
96151         Include stdlib.h.
96152         (ADDITIONAL_DEFAULT_SHELLS): Define.
96153         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
96154         Based mostly on a patch from Prashant TR.
96155
96156 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
96157
96158         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
96159         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
96160         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
96161
96162 2000-12-08  Andreas Schwab  <schwab@suse.de>
96163
96164         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
96165         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
96166
96167 2000-12-07  Jim Meyering  <meyering@lucent.com>
96168
96169         * lib/stripslash.c (ISSLASH): Define.
96170         (strip_trailing_slashes): Use ISSLASH rather than comparing against
96171         `/'.
96172         From Prashant TR.
96173
96174         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
96175         (dir_name_r): Declare this function as static.
96176         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
96177         manifest itself on a name containing a mix of slashes and
96178         backslashes.
96179         Make this function work with names starting with a DOS-style
96180         drive letter and colon prefix.
96181         (dir_name): Append `.' if necessary.
96182         Based mostly on patches from Prashant TR and Eli Zaretskii.
96183
96184         * lib/dirname.h (dir_name_r): Remove prototype.
96185
96186 2000-12-06  Paul Eggert  <eggert@twinsun.com>
96187
96188         * m4/off_t-format.m4: Remove this file.
96189         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
96190
96191 2000-12-06  Jim Meyering  <meyering@lucent.com>
96192
96193         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
96194         replacement strtoull, we may well need the replacement strtoul, too.
96195         Check for declarations of strtoul and strtoull.
96196         Check for strtol.  Mainly as a cue to cause automake to include
96197         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
96198         Check for limits.h -- strtol.c needs it.
96199
96200 2000-12-05  Jim Meyering  <meyering@lucent.com>
96201
96202         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
96203
96204 2000-12-04  Jim Meyering  <meyering@lucent.com>
96205
96206         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
96207         Also include memory.h, stdlib.h, unistd.h if appropriate.
96208         Reported by Andreas Jaeger (conflicting declaration of malloc).
96209
96210 2000-12-02  Jim Meyering  <meyering@lucent.com>
96211
96212         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
96213         * m4/jm-macros.m4 (jm_MACROS): require it.
96214
96215 2000-12-02  Jim Meyering  <meyering@lucent.com>
96216
96217         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
96218
96219 2000-12-01  Paul Eggert  <eggert@twinsun.com>
96220
96221         * lib/memrchr.c: Include <config.h> before any system include file.
96222
96223 2000-11-30  Jim Meyering  <meyering@lucent.com>
96224
96225         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
96226
96227 2000-11-30  Jim Meyering  <meyering@lucent.com>
96228
96229         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
96230
96231 2000-11-29  Paul Eggert  <eggert@twinsun.com>
96232
96233         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
96234
96235 2000-11-26  Jim Meyering  <meyering@lucent.com>
96236
96237         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
96238
96239 2000-11-22  Paul Eggert  <eggert@twinsun.com>
96240
96241         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
96242         size of (size_t) -1; it's not portable.
96243
96244 2000-11-17  Jim Meyering  <meyering@lucent.com>
96245
96246         * lib/strstr.c: Update from GNU libc.
96247
96248 2000-11-17  Akim Demaille  <akim@epita.fr>
96249
96250         * lib/obstack.h: Formatting changes.
96251         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
96252         prevent type checking.
96253         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
96254         cast the value to (void *): assigning a `foo *' to a `void *'
96255         variable is valid.
96256         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
96257
96258 2000-11-16  Jim Meyering  <meyering@lucent.com>
96259
96260         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
96261
96262 2000-11-11  Jim Meyering  <meyering@lucent.com>
96263
96264         * lib/error.c: Add a couple #includes, merging from GNU libc version.
96265
96266 2000-11-10  Jim Meyering  <meyering@lucent.com>
96267
96268         * lib/obstack.h: Update from GNU libc.
96269         * lib/obstack.c: Likewise.
96270
96271 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
96272
96273         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
96274
96275 2000-11-06  Paul Eggert  <eggert@twinsun.com>
96276
96277         * lib/getusershell.c (setusershell): Use rewind rather than
96278         fseek/fseeko, to avoid configuration hassles with fseeko.
96279         Don't bother opening SHELLS_FILE if shellstream is NULL;
96280         it's not necessary.
96281
96282 2000-11-05  Jim Meyering  <meyering@lucent.com>
96283
96284         * lib/makepath.h (make_dir): Declare.
96285         * lib/makepath.c (make_dir): Remove `static' attribute.
96286         Tweak a comment.
96287
96288 2000-11-04  Jim Meyering  <meyering@lucent.com>
96289
96290         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
96291
96292 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
96293
96294         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
96295         last one in a bucket, advance to the next bucket.
96296
96297 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
96298
96299         * lib/fnmatch.c: Do not comment out all the code if we are using
96300         the GNU C library, because in some cases we are replacing buggy
96301         code in the GNU C library itself.
96302
96303 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
96304
96305         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
96306         (regex_compile): Catch bogus \(\1\).
96307
96308 2000-10-30  Paul Eggert  <eggert@twinsun.com>
96309
96310         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
96311         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
96312         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
96313
96314 2000-10-30  Paul Eggert  <eggert@twinsun.com>
96315
96316         * lib/error.h, getline.h, modechange.h:
96317         Remove "2000" from Copyright line, as the file hasn't been
96318         changed this year other than in the copyright notice.
96319
96320         * lib/xalloc.h: Add "2000" to Copyright line, as this file
96321         was changed this year.
96322
96323 2000-10-29  Jim Meyering  <meyering@lucent.com>
96324
96325         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
96326         renaming.
96327         * m4/ls-mntd-fs.m4: Likewise
96328
96329 2000-10-29  Jim Meyering  <meyering@lucent.com>
96330
96331         * lib/xstat.in: Fix grammar in comment.
96332
96333 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
96334
96335         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
96336         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
96337         doesn't define __restrict_arr.
96338
96339 2000-10-28  Jim Meyering  <meyering@lucent.com>
96340
96341         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
96342         (jm_PREREQ_MEMCHR): New function.
96343
96344 2000-10-28  Jim Meyering  <meyering@lucent.com>
96345
96346         * lib/memchr.c: Update from libc.
96347         Adjust for portability:
96348         [HAVE_STDLIB_H]: Include stdlib.h.
96349         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
96350         Undef __memchr, too.
96351         [!weak_alias]: Define __memchr to memchr.
96352
96353         * lib/regex.c: Update from libc.
96354         * lib/regex.h: Likewise.
96355         * lib/getopt1.c: Likewise.
96356         * lib/memcmp.c: Likewise.
96357
96358         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
96359         Avoid using fseek, when possible -- it's broken by design.
96360         Patch by Ulrich Drepper.
96361
96362 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
96363
96364         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
96365         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
96366         Giving in to popular pressure to shut up the compiler with casts.
96367
96368 2000-10-26  Jim Meyering  <meyering@lucent.com>
96369
96370         * lib/strftime.c: Update from libc.
96371
96372 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
96373
96374         * regex.c: More `unsigned char' -> `re_char' changes.
96375         Also change several `int' into `re_wchar_t'.
96376         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
96377         (PUSH_FAILURE_POINTER): Don't cast any more.
96378         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
96379         We want GCC to complain, since this piece of code makes
96380         re_match non-reentrant, which *should* be fixed.
96381         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
96382         (EXTEND_BUFFER): Use RETALLOC.
96383         (SET_LIST_BIT): Don't cast.
96384         (re_wchar_t): New type.
96385         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
96386         that those two functions will always properly return.
96387         (IMMEDIATE_QUIT_CHECK): Cast to void.
96388         (analyse_first): Use recursion rather than an explicit stack.
96389         (re_compile_fastmap): Can't fail anymore.
96390         (re_search_2): Don't check re_compile_fastmap for failure.
96391         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
96392         Now also sets the new value (passed in a new argument).
96393         (re_match_2_internal): Use it.
96394         Also, use a new var `reg' of type size_t when looping through regs
96395         rather than reuse the inappropriate `mcnt'.
96396
96397 2000-10-25  Jim Meyering  <meyering@lucent.com>
96398
96399         * lib/obstack.c: Update from libc.
96400
96401 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
96402
96403         * regex.c (regex_compile): Change the way of handling a range from
96404         a char less than 256 to a char not less than 256.
96405
96406 2000-10-24  Andrew Innes  <andrewi@gnu.org>
96407
96408         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
96409         NT-Emacs only.
96410         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
96411         so that re_search functions only quit when callers expect them to.
96412
96413 2000-10-23  Jim Meyering  <meyering@lucent.com>
96414
96415         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
96416         wrong.  That set_locale call must not have any side effects.
96417         From Paul Eggert.
96418
96419 2000-10-22  Jim Meyering  <meyering@lucent.com>
96420
96421         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
96422         [CYCLIC]: Remove now-unused definition.
96423
96424         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
96425         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
96426         Suggestion from Ulrich Drepper.
96427
96428 2000-10-21  Jim Meyering  <meyering@lucent.com>
96429
96430         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
96431         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
96432         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
96433
96434 2000-10-21  Jim Meyering  <meyering@lucent.com>
96435
96436         * lib/dirname.c (memrchr): Declare if necessary.
96437         (dir_name): Remove the restriction that there be no
96438         trailing slashes.  Now, this code skips past them, effectively
96439         ignoring them.
96440         [TEST_DIRNAME] (main): New unit tests.
96441
96442         * lib/memrchr.c: New file from GNU libc.
96443         Undef __memrchr, too.
96444         [!weak_alias]: Define __memrchr to memrchr.
96445         Guard weak_alias use with `#ifdef weak_alias'.
96446
96447 2000-10-21  Jim Meyering  <meyering@lucent.com>
96448
96449         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
96450         (dir_name): Use dir_name_r.
96451         * lib/dirname.h (dir_name_r): Declare it.
96452
96453 2000-10-17  Jim Meyering  <meyering@lucent.com>
96454
96455         * lib/quote.h (PARAMS): Define and use.
96456         Reported by Akim Demaille.
96457
96458         * lib/getopt.c: Update from libc.
96459
96460 2000-10-16  Jim Meyering  <meyering@lucent.com>
96461
96462         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
96463         setlocale.
96464         From Jan Fedak.
96465
96466 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
96467
96468         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
96469
96470 2000-09-25  Jim Meyering  <meyering@lucent.com>
96471
96472         * lib/md5.h (rol): Define (from GnuPG).
96473
96474         * lib/sha.c: Give credit (GnuPG) where due.
96475         (M): Use rol rather than open-coding it.
96476         Add a FIXME comment.
96477
96478 2000-09-21  Jim Meyering  <meyering@lucent.com>
96479
96480         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
96481         Reported by Michael Stone.
96482
96483 2000-09-20  Jim Meyering  <meyering@lucent.com>
96484
96485         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
96486         (noinst_HEADERS): Add sha.h.
96487         Based on code from Scott G. Miller and from GnuPG.
96488
96489 2000-09-18  Jim Meyering  <meyering@lucent.com>
96490
96491         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
96492         LIBS. Otherwise, everyone ends up linking with -lelf for some
96493         configurations.
96494         Reported by Mike Stone.
96495
96496 2000-09-15  Jim Meyering  <meyering@lucent.com>
96497
96498         * lib/regex.c: Update from libc.
96499
96500 2000-09-10  Jim Meyering  <meyering@lucent.com>
96501
96502         * lib/getopt.c (_getopt_internal): Update from glibc.
96503
96504 2000-09-09  Jim Meyering  <meyering@lucent.com>
96505
96506         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
96507         think it should be used as a general replacement for isascii.
96508         * lib/fnmatch.c: Likewise.
96509         * lib/mbswidth.c: Likewise
96510         * lib/regex.c: Likewise.
96511
96512         Don't use atoi.
96513         * lib/userspec.c: Include sys/param.h and limits.h.
96514         Include xstrtol.h.
96515         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
96516         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
96517         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
96518         UID, GID.  Check range.
96519
96520 2000-09-06  Jim Meyering  <meyering@lucent.com>
96521
96522         * lib/getopt.c (_getopt_internal): Update from glibc.
96523
96524 2000-08-30  Jim Meyering  <meyering@lucent.com>
96525
96526         * lib/strftime.c: Merge in changes from GNU libc.
96527
96528 2000-08-26  Jim Meyering  <meyering@lucent.com>
96529
96530         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
96531         * m4/fpending.m4: New file.
96532
96533 2000-08-26  Jim Meyering  <meyering@lucent.com>
96534
96535         * lib/closeout.c: Include "__fpending.h".
96536         (close_stdout_status): Return right away if there's nothing to flush.
96537
96538         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
96539         * lib/__fpending.c: New file.
96540         * lib/__fpending.h: New file.
96541
96542 2000-08-20  Jim Meyering  <meyering@lucent.com>
96543
96544         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
96545         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
96546         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
96547
96548 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
96549
96550         Improve fileutils installation on systems where running
96551         programs (like install) can't be unlinked.
96552         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
96553         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
96554
96555 2000-08-07  Paul Eggert  <eggert@twinsun.com>
96556
96557         Standardize on "memory exhausted" instead of "Memory exhausted"
96558         or "virtual memory exhausted".
96559         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
96560         "virtual memory exhausted".
96561         * lib/same.c (same_name): Invoke xalloc_die instead of printing
96562         our own message.
96563         * lib/userspec.c (parse_user_spec): Likewise.
96564         * lib/bumpalloc.h: comment fix
96565         * lib/same.c, userspec.c: Include xalloc.h.
96566
96567         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
96568         not char *const and pointing to a constant array.
96569         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
96570         (xrealloc): Comment fix.
96571
96572         * lib/userspec.c (parse_user_spec):
96573         Don't translate a message until just before returning,
96574         to avoid unnecessary translation.
96575
96576 2000-08-07  Jim Meyering  <meyering@lucent.com>
96577
96578         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
96579         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
96580         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
96581         getgroups.c, gethostname.c, getopt.h, group-member.c,
96582         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
96583         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
96584         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
96585         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
96586         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
96587         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
96588         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
96589         yesno.c: Back out Copyright date changes for each file with no change
96590         this year.  This eases coordination with other programs using the same
96591         source code modules.  From Paul Eggert.
96592
96593 2000-08-06  Paul Eggert  <eggert@twinsun.com>
96594
96595         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
96596         not char, for compatibility with glibc 2.1.3 strftime.c.
96597
96598 2000-08-03  Greg McGary  <greg@mcgary.org>
96599
96600         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
96601         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
96602         (EXTEND_BUFFER): Use them.
96603
96604 2000-08-01  Jim Meyering  <meyering@lucent.com>
96605
96606         * lib/dirname.c (ISSLASH): Define.
96607         (BACKSLASH_IS_PATH_SEPARATOR): Define.
96608         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
96609         both `\' and `/' may be use as path separators.
96610         Based on a patch from Prashant TR.
96611
96612 2000-07-31  Paul Eggert  <eggert@twinsun.com>
96613
96614         * lib/quotearg.c (quotearg_n_options): Don't make the initial
96615         slot vector a constant, since it might get modified.
96616
96617 2000-07-31  Jim Meyering  <meyering@lucent.com>
96618
96619         * lib/xmalloc.c: Use `virtual memory exhausted', not
96620         `Memory exhausted'.
96621         * lib/obstack.c (print_and_abort): Likewise.
96622
96623 2000-07-30  Paul Eggert  <eggert@twinsun.com>
96624
96625         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
96626         buffer, so that the caller can always quote one small
96627         component of a "memory exhausted" message in slot 0.
96628         From a suggestion by Jim Meyering.
96629
96630 2000-07-30  Jim Meyering  <meyering@lucent.com>
96631
96632         * lib/makepath.c (make_path): Quote the other instance, too.
96633
96634         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
96635         (STATIC_BUF_SIZE): Define.
96636         (quotearg_n_options): Use only statically allocated storage when
96637         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
96638         than STATIC_BUF_SIZE.
96639
96640 2000-07-29  Jim Meyering  <meyering@lucent.com>
96641
96642         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
96643         * lib/dirname.c (dir_name): Likewise.
96644
96645         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
96646         `/'.
96647
96648         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
96649         (dir_name): Assert that there are no trailing slashes.
96650
96651 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
96652
96653         * lib/mbswidth.h (mbswidth): Add a flags argument.
96654         (mbswidth): New declaration.
96655         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
96656         * lib/mbswidth.c (mbswidth): Add a flags argument.
96657         (mbsnwidth): New function.
96658
96659 2000-07-24  Jim Meyering  <meyering@lucent.com>
96660
96661         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
96662
96663 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96664
96665         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
96666
96667 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96668
96669         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
96670         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
96671         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
96672         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
96673         invoke multibyte primitives.
96674
96675 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96676
96677         * lib/quotearg.c:
96678         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
96679         so that mbstate_t is always defined.
96680
96681         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
96682         be 1 in at least one GCC installation, and this configuration
96683         error is likely to be common.  Ignoring MB_LEN_MAX hurts
96684         performance on hosts that have mbrtowc but have only unibyte
96685         locales, but I assume these hosts are rare.
96686
96687 2000-07-23  Paul Eggert  <eggert@twinsun.com>
96688
96689         * lib/mbswidth.c (_XOPEN_SOURCE):
96690         Don't define; this causes problems on Solaris 7.
96691         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
96692
96693 2000-07-23  Jim Meyering  <meyering@lucent.com>
96694
96695         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
96696         too: getgrgid, getpwuid, getuid.
96697
96698 2000-07-23  Jim Meyering  <meyering@lucent.com>
96699
96700         * lib/basename.c (base_name): Add an assertion.
96701
96702 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
96703
96704         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
96705         shadow its mbsinit function.
96706
96707 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
96708
96709         * lib/mbswidth.h: New file.
96710         * lib/mbswidth.c: New file.
96711         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
96712         (noinst_HEADERS): Add mbswidth.h.
96713
96714 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
96715
96716         * lib/config.charset: Add support for FreeBSD. Improve support for
96717         HP-UX and IRIX 6.
96718
96719 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
96720
96721         * m4/mbswidth.m4: New file.
96722         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
96723
96724 2000-07-15  Jim Meyering  <meyering@lucent.com>
96725
96726         * lib/makepath.c: Include quote.h.
96727         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
96728         corresponding argument in a `quote (...)' call.
96729         Give better diagnostics.
96730
96731         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
96732         (noinst_HEADERS): Add quote.h.
96733
96734         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
96735         from tar's src/misc.c.
96736         * lib/quote.h: New file.  Prototypes for same.
96737
96738 2000-07-14  Paul Eggert  <eggert@twinsun.com>
96739
96740         From a suggestion by Bruno Haible.
96741         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
96742         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
96743         to decide whether to define the BeOS workaround macro;
96744         this adjusts to the change to AC_MBSTATE_T.
96745
96746 2000-07-14  Jim Meyering  <meyering@lucent.com>
96747
96748         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
96749         jm_AC_TYPE_UINTMAX_T.
96750
96751 2000-07-13  Paul Eggert  <eggert@twinsun.com>
96752
96753         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
96754
96755         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
96756         quotearg_buffer_restyled): Add support for
96757         clocale_quoting_style.  Undo previous change to
96758         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
96759         and "{RIGHT QUOTATION MARK}" msgids.
96760
96761 2000-07-10  Paul Eggert  <eggert@twinsun.com>
96762
96763         From a suggestion by Bruno Haible.
96764         * m4/mbstate_t.m4 (AC_MBSTATE_T):
96765         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
96766         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
96767         and mbstate_t, to a single-part test that simply defines mbstate_t.
96768         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
96769         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
96770
96771 2000-07-10  Jim Meyering  <meyering@lucent.com>
96772
96773         * m4/strerror_r.m4: Mirror the correction made in autoconf.
96774
96775         * m4/gnu-source.m4: Output to confdefs.h directly.
96776         Suggestion from Akim Demaille.
96777
96778 2000-07-09  Paul Eggert  <eggert@twinsun.com>
96779
96780         The old behavior of quoting `like this' doesn't look good with
96781         newer, ISO-style fonts.  See:
96782         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
96783
96784         Instead, quote "like this" by default.  Let the translator
96785         tailor the locale-specific quoting behavior by providing
96786         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
96787
96788         * lib/quotearg.c (N_): New macro.
96789         (gettext_default): New function.
96790         (quotearg_buffer_restyled): Use
96791         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
96792         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
96793
96794 2000-07-09  Jim Meyering  <meyering@lucent.com>
96795
96796         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
96797         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
96798
96799         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
96800         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
96801
96802 2000-07-09  Jim Meyering  <meyering@lucent.com>
96803
96804         * lib/Most files: Update copyright dates to include 2000.
96805
96806 2000-07-08  Jim Meyering  <meyering@lucent.com>
96807
96808         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
96809         if not defined.
96810         (xgethostname): Remove now-unnecessary #ifdef.
96811         Move declaration of `err' into loop where it's used.
96812
96813 2000-07-05  Paul Eggert  <eggert@twinsun.com>
96814         and Bruno Haible  <haible@clisp.cons.org>
96815
96816         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
96817         only if the test for an object-type mbstate_t fails.  This
96818         prevents us from mistakenly reporting that mbstate_t is a
96819         system object type after we "#define mbstate_t int" to work
96820         around its lack.
96821
96822 2000-07-05  Paul Eggert  <eggert@twinsun.com>
96823         and Bruno Haible  <haible@clisp.cons.org>
96824
96825         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
96826
96827 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
96828
96829         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
96830         to strerror_r.
96831         Include <ctype.h> for use of isalpha.
96832
96833 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
96834
96835         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
96836         by allocating a larger buffer. Test the gethostname return value for
96837         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
96838         returns an error and ENAMETOOLONG isn't defined.
96839
96840 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
96841
96842         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
96843         dimension.
96844
96845 2000-07-04  Jim Meyering  <meyering@lucent.com>
96846
96847         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
96848         of the deprecated AC_CHECKING.
96849
96850 2000-07-04  Jim Meyering  <meyering@lucent.com>
96851
96852         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
96853         Reported by Bruno Haible.
96854
96855 2000-07-04  Jim Meyering  <meyering@lucent.com>
96856
96857         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
96858         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
96859         lacks mbrtowc.
96860
96861 2000-07-03  Paul Eggert  <eggert@twinsun.com>
96862
96863         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
96864         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
96865
96866 2000-07-03  Paul Eggert  <eggert@twinsun.com>
96867         and Bruno Haible  <haible@clisp.cons.org>
96868
96869         * lib/quotearg.c (mbrtowc):
96870         Assign to *pwc, and return 1 only if result is nonzero.
96871         (iswprint): Use ISPRINT when substituting our own mbrtowc.
96872
96873 2000-07-03  Jim Meyering  <meyering@lucent.com>
96874
96875         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
96876
96877 2000-07-03  Jim Meyering  <meyering@lucent.com>
96878
96879         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
96880         This is necessary to get a definition of e.g., UTMP_FILE on
96881         HP-UX 10.20.
96882         From Bob Proulx.
96883
96884 2000-07-02  Jim Meyering  <meyering@lucent.com>
96885
96886         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
96887
96888         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
96889         AC_LIBOBJ(function_name).
96890         * m4/chown.m4: Likewise.
96891         * m4/fnmatch.m4: Likewise.
96892         * m4/ftruncate.m4: Likewise.
96893         * m4/getgroups.m4: Likewise.
96894         * m4/getline.m4: Likewise.
96895         * m4/group-member.m4: Likewise.
96896         * m4/jm-macros.m4: Likewise.
96897         * m4/lstat.m4: Likewise.
96898         * m4/malloc.m4: Likewise.
96899         * m4/memcmp.m4: Likewise.
96900         * m4/nanosleep.m4: Likewise.
96901         * m4/putenv.m4: Likewise.
96902         * m4/realloc.m4: Likewise.
96903         * m4/regex.m4: Likewise.
96904         * m4/stat.m4: Likewise.
96905         * m4/strftime.m4: Likewise.
96906
96907 2000-07-02  Jim Meyering  <meyering@lucent.com>
96908
96909         * lib/quotearg.c (mbstate_t): Don't define here.
96910
96911 2000-07-02  Jim Meyering  <meyering@lucent.com>
96912
96913         * lib/nanosleep.c (SIGCONT): Define if not already defined.
96914
96915 2000-07-01  Jim Meyering  <meyering@lucent.com>
96916
96917         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
96918
96919 2000-07-01  Jim Meyering  <meyering@lucent.com>
96920
96921         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
96922         problem.
96923
96924 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
96925
96926         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
96927         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
96928
96929 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
96930
96931         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
96932         per change in ../m4/ls-mntd-fs.m4.
96933         (read_filesystem_list): Ignore symbolic links.
96934
96935 2000-06-29  Jim Meyering  <meyering@lucent.com>
96936
96937         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
96938         for declaration of strcmp.
96939
96940         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
96941
96942         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
96943         Avoid warning by casting result to `char *' to remove `const'.
96944
96945 2000-06-28  Jim Meyering  <meyering@lucent.com>
96946
96947         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
96948         included by quotearg.c, for which we perform this test.  From
96949         Bruno Haible.
96950
96951 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
96952
96953         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
96954         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
96955         <utmpx.h> exists, put readutmp.o into LIBOBJS.
96956
96957 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
96958
96959         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
96960
96961 2000-06-26  Paul Eggert  <eggert@twinsun.com>
96962
96963         savedir now sets errno on failure and invokes xmalloc to get memory.
96964         Fix a couple of other minor bugs while we're at it.
96965
96966         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
96967         (NAMLEN): Remove macro.
96968         (malloc, realloc): Remove decls.
96969         (stpcpy): Likewise.
96970         ("xalloc.h"): Include.
96971         (NAME_SIZE_DEFAULT): New macro.
96972         (savedir): Use xmalloc / xrealloc to allocate memory.
96973         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
96974         Skip "" directory entries.
96975         Use strlen to calculate directory entry length, since the old method
96976         is rarely used these days and isn't worth supporting.
96977         Don't use a pointer after freeing it.
96978         Check for integer overflow when calculating allocation size.
96979         Use memcpy to copy entries, instead of stpcpy.
96980         Set errno properly when returning NULL.
96981         Check for readdir error.
96982
96983 2000-06-26  Jim Meyering  <meyering@lucent.com>
96984
96985         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
96986
96987 2000-06-25  Jim Meyering  <meyering@lucent.com>
96988
96989         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
96990         Linux header bug when _XOPEN_SOURCE is defined to 500.
96991
96992 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
96993
96994         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
96995         deficiency.
96996
96997 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
96998
96999         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
97000         Include xalloc.h.
97001         Don't include <stdlib.h>.  Don't declare malloc, realloc.
97002
97003 2000-06-24  Jim Meyering  <meyering@lucent.com>
97004
97005         * m4/strerror_r.m4: Revive this file -- to try out an experimental
97006         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
97007         for which strerror does return char*, but which lacks a conveniently
97008         accessible declaration of the function.  If the compile-test says
97009         strerror_r doesn't work, then resort to a `run'-test that works on
97010         BeOS and segfaults on DEC Unix.
97011
97012 2000-06-24  Jim Meyering  <meyering@lucent.com>
97013
97014         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
97015
97016 2000-06-23  Paul Eggert  <eggert@twinsun.com>
97017
97018         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
97019         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
97020
97021 2000-06-23  Paul Eggert  <eggert@twinsun.com>
97022
97023         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
97024         (mbrtowc, mbstate_t): Define substitutes if
97025         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
97026         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
97027         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
97028
97029 2000-06-23  Jim Meyering  <meyering@lucent.com>
97030
97031         * m4/afs.m4: Add missing AC_MSG_RESULT.
97032         Reported by Bruno Haible.
97033
97034         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
97035         Suggestion from Bruno Haible.
97036
97037 2000-06-23  Jim Meyering  <meyering@lucent.com>
97038
97039         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
97040
97041 2000-06-21  Jim Meyering  <meyering@lucent.com>
97042
97043         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
97044
97045 2000-06-21  Jim Meyering  <meyering@lucent.com>
97046
97047         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
97048         (noinst_HEADERS): Add getstr.h.
97049
97050         * lib/getline.c (getstr): Move into a separate file.
97051         * lib/getstr.c (getstr): New file, extracted from getline.c, with
97052         the following changes: new parameter, delim2; both delim[12]
97053         parameters have type `int', not `char'.  The latter would lose
97054         with 8-bit delimiters.
97055         * lib/getstr.h: New file.
97056
97057 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97058
97059         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
97060         than 1024, return a memory chunk of least possible size, instead
97061         of size PATH_MAX + 2. In the loop, increment the size proportionally.
97062         Use free/xmalloc instead of xrealloc to avoid copying for very long
97063         paths.
97064
97065 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97066
97067         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
97068         the empty string.
97069
97070 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
97071
97072         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
97073         address, not strdup.  Include <stdlib.h> and don't declare free().
97074
97075 2000-06-19  Jim Meyering  <meyering@lucent.com>
97076
97077         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
97078
97079 2000-06-18  Jim Meyering  <meyering@lucent.com>
97080
97081         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
97082
97083         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
97084         `checking whether...' message to be consistent with that of the
97085         lstat test.
97086
97087 2000-06-18  Jim Meyering  <meyering@lucent.com>
97088
97089         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
97090         Besides, these days every porting target provides a mkdir function.
97091
97092         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
97093         needed. (this snippet comes from src/system.h).
97094
97095 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
97096
97097         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
97098
97099 2000-06-15  Paul Eggert  <eggert@twinsun.com>
97100
97101         * lib/human.c (adjust_value): New function.
97102         (human_readable_inexact): Apply rounding style even when
97103         printing approximate values.
97104
97105 2000-06-14  Paul Eggert  <eggert@twinsun.com>
97106
97107         * lib/human.c (human_readable_inexact): Allow an input block
97108         size that is not a multiple of the output block size, and vice versa.
97109         Reported by Piergiorgio Sartor.
97110
97111 2000-06-14  Paul Eggert  <eggert@twinsun.com>
97112
97113         * lib/getdate.y (get_date): Apply relative times after time
97114         zone indicator, not before.  Reported by Todd A. Jacobs.
97115
97116 2000-06-13  Jim Meyering  <meyering@lucent.com>
97117
97118         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
97119
97120         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
97121
97122 2000-06-12  Paul Eggert  <eggert@twinsun.com>
97123
97124         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
97125
97126 2000-06-12  Jim Meyering  <meyering@lucent.com>
97127
97128         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
97129         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
97130         optional argument.
97131         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
97132         the optional argument, `lib'.
97133
97134 2000-06-08  Jim Meyering  <meyering@lucent.com>
97135
97136         * m4/largefile.m4: Remove file (now that it's part of autoconf).
97137
97138 2000-06-04  Paul Eggert  <eggert@twinsun.com>
97139
97140         Rewrite largefile configuration so that we don't need to run
97141         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
97142         AC_CANONICAL_HOST in configure.in -- jmm]
97143
97144         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
97145         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
97146         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
97147         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
97148         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
97149         All uses changed.
97150         Instead of inspecting the output of getconf, try to compile the
97151         test program without and with the macro definition.
97152         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
97153         for getconf.  Instead, check for the needed flags by compiling
97154         test programs.
97155
97156 2000-06-04  Paul Eggert  <eggert@twinsun.com>
97157
97158         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
97159
97160 2000-06-04  Jim Meyering  <meyering@lucent.com>
97161
97162         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
97163         SunOS 4.1.4 for which gid_t is an unsigned type.
97164
97165 2000-06-03  Jim Meyering  <meyering@lucent.com>
97166
97167         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
97168         now that autoconf requires that.
97169
97170         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
97171         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
97172         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
97173
97174 2000-06-03  Jim Meyering  <meyering@lucent.com>
97175
97176         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
97177
97178 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
97179
97180         * m4/glibc21.m4: New file.
97181         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
97182
97183 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
97184
97185         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
97186         newer, don't install charset.alias.
97187         * lib/config.charset: Change the Linux/glibc rules so they become empty
97188         on glibc-2.1 or newer.
97189
97190 2000-06-02  Jim Meyering  <meyering@lucent.com>
97191
97192         * lib/mountlist.c: Back out last change.  Instead, do this...
97193         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
97194         me_dummy member using the same `ignore'-testing code.
97195         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
97196         fs_type strings.
97197         From Mark D. Roth.
97198
97199 2000-05-29  Jim Meyering  <meyering@lucent.com>
97200
97201         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
97202         mounts with the `ignore' attribute.  Based on a patch from
97203         Mark D. Roth.
97204
97205 2000-05-28  Jim Meyering  <meyering@lucent.com>
97206
97207         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
97208         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
97209         * m4/stat.m4: Likewise.
97210         * m4/lstat.m4: Likewise.
97211         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
97212
97213         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
97214         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
97215
97216 2000-05-26  Jim Meyering  <meyering@lucent.com>
97217
97218         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
97219
97220 2000-05-24  Jim Meyering  <meyering@lucent.com>
97221
97222         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
97223         autoconf requires that.
97224         * m4/lib-check.m4: Likewise.
97225         * m4/jm-macros.m4: Likewise.
97226         * m4/strftime.m4: Likewise.
97227
97228         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
97229         AC_CHECK_DECLS, now that autoconf requires that.
97230
97231 2000-05-22  Jim Meyering  <meyering@lucent.com>
97232
97233         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
97234         * m4/lstat.m4: Likewise.
97235
97236 2000-05-22  Jim Meyering  <meyering@lucent.com>
97237
97238         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
97239
97240 2000-05-20  Jim Meyering  <meyering@lucent.com>
97241
97242         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
97243         (jm_PREREQ): Use it.
97244
97245 2000-05-18  Jim Meyering  <meyering@lucent.com>
97246
97247         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
97248         back, too, since it may have been modified by allocate_entry.
97249         (hash_delete): Rewrite to use neither the assignment operator
97250         nor the comma operator in an if-expression.
97251
97252 2000-05-15  Paul Eggert  <eggert@twinsun.com>
97253
97254         * lib/closeout.c:
97255         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
97256         Remove; no longer needed.
97257         "quotearg.h": Add include.
97258         (file_name): Do not bother to explicitly initialize to NULL; it's less
97259         efficient on some hosts.
97260         (close_stdout_status): Remove test as to whether stdout was already
97261         closed; it breaks for the case "echo x | sort >&-".
97262         Quote file name colons.
97263         Do not assume that _("write error") lacks format strings.
97264
97265 2000-05-15  Jim Meyering  <meyering@lucent.com>
97266
97267         * lib/version-etc.c (version_etc_copyright): Update the copyright
97268         string used in all --version output.
97269
97270 2000-05-14  Jim Meyering  <meyering@lucent.com>
97271
97272         * lib/closeout.c (close_stdout_set_file_name): New function.
97273         (close_stdout_status): Use new file-scoped global.
97274         Return right away if fstat says the stdout file descriptor is invalid.
97275         * lib/closeout.h (close_stdout_set_file_name): Declare.
97276
97277 2000-05-10  Jim Meyering  <meyering@lucent.com>
97278
97279         * lib/closeout.c [default_exit_status]: New file-scoped variable.
97280         (close_stdout_set_status): New function.
97281         * lib/closeout.h (close_stdout_set_status): Declare.
97282
97283 2000-05-09  Jim Meyering  <meyering@lucent.com>
97284
97285         * m4/gettext.m4: Rename this...
97286         * m4/libintl.m4: ...to this.
97287
97288 2000-05-08  Jim Meyering  <meyering@lucent.com>
97289
97290         * lib/long-options.c: Don't include closeout.h.
97291         (parse_long_options): Don't call close_stdout for --version.
97292
97293 2000-05-06  Paul Eggert  <eggert@twinsun.com>
97294
97295         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
97296         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
97297         2.1.3 bug.  This avoids a clash when files like regex.c define
97298         _GNU_SOURCE.
97299
97300 2000-05-06  Jim Meyering  <meyering@lucent.com>
97301
97302         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
97303         (AC_REPLACE_FUNCS): Add strnlen.
97304
97305         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
97306         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
97307
97308         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
97309         AC_SEARCH_LIBS call for nanosleep.
97310         (LIB_NANOSLEEP): Set and AC_SUBST.
97311
97312 2000-05-06  Jim Meyering  <meyering@lucent.com>
97313
97314         * lib/strnlen.c: Undefine __strnlen and strnlen.
97315         [!weak_alias]: Define __strnlen to strnlen.
97316
97317         * lib/atexit.c: New file, from libiberty.
97318
97319 2000-05-06  Jim Meyering  <meyering@lucent.com>
97320
97321         * lib/closeout.c (close_stdout_status): Also check for errors on the
97322         stderr stream.
97323
97324 2000-05-05  Jim Meyering  <meyering@lucent.com>
97325
97326         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
97327         AC_SEARCH_LIBS call for clock_gettime.
97328         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
97329
97330         * m4/search-libs.m4: Update from autoconf.
97331
97332         su doesn't work on Solaris 2.6.
97333         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
97334         <shadow.h>.  Reported by Dragos Harabor.
97335
97336 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
97337
97338         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
97339         memcpy instead of xmalloc, xrealloc, path_concat.
97340         (locale_charset): Treat empty environment variables as absent.
97341         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
97342
97343 2000-05-04  Jim Meyering  <meyering@lucent.com>
97344
97345         * lib/getopt.c: Update from glibc.
97346         * lib/obstack.c: Likewise.
97347         * lib/obstack.h: Likewise.
97348         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
97349         file
97350
97351         * lib/regex.h: Likewise.
97352         * lib/strndup.c: Likewise.
97353         * lib/strnlen.c: New file, from glibc.
97354
97355 2000-05-03  Jim Meyering  <meyering@lucent.com>
97356
97357         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
97358
97359 2000-05-02  Paul Eggert  <eggert@twinsun.com>
97360
97361         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
97362         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
97363         compile-time test, rather than inspecting host and OS, to
97364         decide whether to define _LARGEFILE_SOURCE.
97365
97366 2000-05-01  Jim Meyering  <meyering@lucent.com>
97367
97368         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
97369
97370         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
97371         Based on a patch from Bruno Haible.
97372
97373 2000-05-01  Jim Meyering  <meyering@lucent.com>
97374
97375         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
97376
97377 2000-04-29  Jim Meyering  <meyering@lucent.com>
97378
97379         * lib/path-concat.c: Declare strdup only if it's not defined.
97380         * lib/canon-host.c: Likewise.
97381
97382 2000-04-28  Jim Meyering  <meyering@lucent.com>
97383
97384         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
97385         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
97386         is included first, then limits.h is included by locale.h by libintl.h.
97387         From John David Anglin.
97388
97389 2000-04-25  Jim Meyering  <meyering@lucent.com>
97390
97391         * lib/makepath.c (S_IRWXUGO): Define.
97392         (make_path): Always perform explicit chmod if MODE specifies any
97393         of the `special' permission bits.  Prompted by a bug report against
97394         install from Mate Wierdl and Joost van Baal.
97395
97396 2000-04-18  Jim Meyering  <meyering@lucent.com>
97397
97398         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
97399         (jm_PREREQ): Use it.
97400
97401 2000-04-18  Jim Meyering  <meyering@lucent.com>
97402
97403         * lib/README: New file.
97404
97405         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
97406         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
97407
97408 2000-04-17  Jim Meyering  <meyering@lucent.com>
97409
97410         Get it right :-)
97411         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
97412         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
97413         Suggestion from Akim Demaille.
97414
97415 2000-04-17  Jim Meyering  <meyering@lucent.com>
97416
97417         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
97418         the definition of it to rpl_strftime also defined-away the system's
97419         declaration.
97420
97421 2000-04-15  Jim Meyering  <meyering@lucent.com>
97422
97423         Use `C' to denote so-called `contiguous' files, the same way
97424         that tar does.
97425         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
97426         (ftypelet): Use S_ISCTG.
97427         From Michael Deutschmann.
97428
97429 2000-04-14  Jim Meyering  <meyering@lucent.com>
97430
97431         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
97432         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
97433         clobbered.
97434
97435 2000-04-14  Jim Meyering  <meyering@lucent.com>
97436
97437         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
97438
97439 2000-04-13  Jim Meyering  <meyering@lucent.com>
97440
97441         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
97442         AH_VERBATIM to insert required #ifndef into config.h.in.
97443         Suggestion from Akim Demaille.
97444
97445 2000-04-12  Jim Meyering  <meyering@lucent.com>
97446
97447         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
97448         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
97449         Christian Krackowizer.
97450
97451         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
97452         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
97453         (AC_SYS_LARGEFILE): Require.
97454         (AM_C_PROTOTYPES): Require.
97455
97456 2000-04-08  Jim Meyering  <meyering@lucent.com>
97457
97458         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
97459         names don't conflict.  Reported by Eli Zaretskii.
97460
97461 2000-04-07  Jim Meyering  <meyering@lucent.com>
97462
97463         * lib/putenv.c: Move inclusion of errno.h so it follows that of
97464         sys/types.h, to work around system header problems on AIX 3.2.5.
97465         From Bruno Haible.
97466
97467 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
97468
97469         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
97470         bug.  Deal with the different error behavior of Irix iconv.
97471
97472 2000-04-05  Paul Eggert  <eggert@twinsun.com>
97473
97474         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
97475         IRIX if the installer said otherwise.
97476
97477 2000-04-05  Jim Meyering  <meyering@lucent.com>
97478
97479         Portability tweaks required for ultrix4.3.
97480         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
97481         (jm_CHECK_DECLS): Add getutent to the list of functions.
97482         (_jm_DECL_HEADERS): Add utmpx.h.
97483         From John David Anglin.
97484
97485         * m4/strftime.m4: Back out the 2000-04-02 change.
97486         Instead of that change, simply undefine putenv in the test program.
97487
97488 2000-04-05  Jim Meyering  <meyering@lucent.com>
97489
97490         Portability tweaks required for ultrix4.3.
97491         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
97492         getutent.
97493         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
97494         * lib/canon-host.c: Declare strdup.
97495         * lib/path-concat.c: Likewise.
97496         From John David Anglin.
97497
97498 2000-04-04  Jim Meyering  <meyering@lucent.com>
97499
97500         Be more DOS 8.3-friendly.
97501         * lib/ref-add.sin: Renamed from ref-add.sed.in.
97502         * lib/ref-del.sin: Renamed from ref-del.sed.in.
97503         * lib/Makefile.am: Reflect renaming.
97504         Reported by Eli Zaretskii.
97505
97506         Use a temporary file name that won't clash with `charset.alias'
97507         in the DOS 8.3 name space.
97508         * lib/Makefile.am (charset_tmp): Define.
97509         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
97510         (uninstall-local): Likewise.
97511         Reported by Eli Zaretskii.
97512
97513 2000-04-03  Jim Meyering  <meyering@lucent.com>
97514
97515         * m4/gettext.m4: Fix typo in comment.
97516
97517         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
97518         textutils/configure.in).  Suggestion from Paul Eggert.
97519         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
97520
97521 2000-04-02  Paul Eggert  <eggert@twinsun.com>
97522
97523         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
97524         variable in the shell rather than using putenv, which isn't
97525         portable.  This avoids the configure-time inter-test dependency
97526         on the potentially-renamed putenv function.
97527
97528 2000-03-30  Paul Eggert  <eggert@twinsun.com>
97529
97530         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
97531         before checking struct stat.st_blksize, so that
97532         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
97533
97534 2000-03-29  Paul Eggert  <eggert@twinsun.com>
97535
97536         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
97537         since strftime.c uses HAVE_STRFTIME to decide whether to use
97538         the underlying strftime.
97539
97540 2000-03-29  Paul Eggert  <eggert@twinsun.com>
97541
97542         * lib/time/strftime.c (my_strftime): Make sure we call the system
97543         strftime, not ourselves, when invoking the underlying strftime.
97544
97545 2000-03-24  Jim Meyering  <meyering@lucent.com>
97546
97547         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
97548         (charset_alias): Define.
97549         (install-exec-local): Factor out common code.
97550         (uninstall-local): Split lines longer than 80.
97551         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
97552         (SUFFIXES): Define.
97553         (.sed.in.sed): New rule.  Don't redirect directly to $@.
97554         (CLEANFILES): Add ref-add.sed and ref-del.sed.
97555
97556 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
97557
97558         * lib/config.charset: Output a line containing "Packages using this
97559         file".
97560         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
97561         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
97562         ref-del.sed): New rules.
97563
97564 2000-03-17  Jim Meyering  <meyering@lucent.com>
97565
97566         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
97567         Otherwise, include <strings.h>
97568
97569 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
97570
97571         * lib/unicodeio.c (utf8_wctomb): New function.
97572         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
97573         format instead of in UCS-4 with platform dependent endianness.
97574
97575 2000-03-10  Jim Meyering  <meyering@lucent.com>
97576
97577         * m4/lib-check.m4: Look for getspnam in -lgen, too.
97578         From Marco Franzen.
97579
97580 2000-03-07  Paul Eggert  <eggert@twinsun.com>
97581
97582         * lib/savedir.c (savedir): Work even if directory size is
97583         negative; this can happen with some screwy NFS configurations.
97584
97585 2000-03-06  Jim Meyering  <meyering@lucent.com>
97586
97587         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
97588         if it's NULL (because we ran out of memory).  From Bruno Haible.
97589
97590 2000-03-05  Jim Meyering  <meyering@lucent.com>
97591
97592         * lib/localcharset.c ("path-concat.h"): Include.
97593         (get_charset_aliases): Use path_concat instead of ANSI string
97594         concatenation.
97595
97596         * lib/unicodeio.h (PARAMS): Define.
97597         Use it to guard prototype.
97598
97599 2000-03-04  Jim Meyering  <meyering@lucent.com>
97600
97601         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
97602         for lib/localcharset.c.
97603
97604 2000-03-04  Jim Meyering  <meyering@lucent.com>
97605
97606         * lib/Makefile.am (install-exec-local): Create $(libdir) before
97607         installing into it.
97608         (uninstall-local): Uncomment this rule so `make distcheck' works
97609         once again.
97610
97611         * lib/unicodeio.c (<errno.h>): Include it.
97612         (errno): Declare if not defined.
97613
97614         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
97615
97616         * lib/config.charset: New version, incorporating remarks from a linux
97617         i18n mailing list.  From Bruno Haible.
97618
97619 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
97620
97621         * m4/codeset.m4: New file.
97622         * m4/iconv.m4: New file.
97623         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
97624
97625 2000-03-03  Jim Meyering  <meyering@lucent.com>
97626
97627         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
97628
97629 2000-03-02  Jim Meyering  <meyering@lucent.com>
97630
97631         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
97632         the messages come out on separate lines.
97633
97634         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
97635         rather than jm_CHECK_DECLARATIONS.
97636         * m4/decl.m4: Remove now-unused file.
97637
97638         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
97639         geteuid.
97640
97641 2000-03-02  Jim Meyering  <meyering@lucent.com>
97642
97643         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
97644
97645 2000-03-01  Jim Meyering  <meyering@lucent.com>
97646
97647         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
97648         * lib/unicodeio.c: Likewise.
97649
97650 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
97651
97652         * lib/config.charset: New file.
97653         * lib/localcharset.c: New file.
97654         * lib/unicodeio.h, lib/unicodeio.c: New files.
97655         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
97656         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
97657         (noinst_HEADERS): Add unicodeio.h.
97658         (all-local, install-exec-local, charset.alias): New targets.
97659
97660 2000-02-28  Paul Eggert  <eggert@twinsun.com>
97661
97662         * lib/quotearg.c (ALERT_CHAR): New macro.
97663         (quotearg_buffer_restyled): Use it.
97664
97665 2000-02-27  Jim Meyering  <meyering@lucent.com>
97666
97667         * m4/check-decl.m4: Add getenv to the list.
97668
97669 2000-02-27  Jim Meyering  <meyering@lucent.com>
97670
97671         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
97672         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
97673
97674         * lib/backupfile.c: Guard inclusion of stdlib.h with
97675         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
97676         Declare malloc if needed.
97677
97678         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
97679         `#ifndef HAVE_DECL..'
97680         now that autoconf always defines the HAVE_DECL_ symbols.
97681         * lib/human.c: Likewise.
97682         * lib/same.c: Likewise.
97683         * lib/strtoumax.c: Likewise.
97684
97685         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
97686         declaration check was not run.
97687         * lib/hash.c: Likewise.
97688         * lib/human.c: Likewise.
97689         * lib/same.c: Likewise.
97690         * lib/strtoumax.c: Likewise.
97691
97692         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
97693         `.', then first look up the entire `.'-containing string as a login
97694         name.
97695
97696 2000-02-23  Jim Meyering  <meyering@lucent.com>
97697
97698         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
97699         in place of my hack.
97700
97701 2000-02-18  Paul Eggert  <eggert@twinsun.com>
97702
97703         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
97704         (textint): New typedef.
97705         (parser_control): Member year changed from int to textint.
97706         All uses changed.
97707         (YYSTYPE): Removed; replaced by %union with int and textint members.
97708         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
97709         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
97710         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
97711         (tSNUMBER, tUNUMBER): Now of type <textintval>.
97712         (date, number, to_year): Use width of number in digits, not its value,
97713         to determine whether it's a 2-digit year, or a 2-digit time.
97714         (yylex): Store number of digits of numeric tokens.
97715         Reported by John Kendall.
97716
97717         (parser_control): Changed from struct parser_control to typedef (for
97718         consistency).  All uses changed.
97719
97720         (tID): Removed; not used.
97721         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
97722
97723 2000-02-14  Paul Eggert  <eggert@twinsun.com>
97724
97725         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
97726         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
97727
97728 2000-02-12  Jim Meyering  <meyering@lucent.com>
97729
97730         * lib/userspec.c (ISDIGIT): Define it.
97731         (isdigit): Remove definition.
97732         (is_number): Use ISDIGIT, not isdigit.
97733         <libintl.h>: Include.
97734         (_ and N_): Define.
97735         (parse_user_spec): Mark translatable strings.
97736
97737 2000-02-10  Jim Meyering  <meyering@lucent.com>
97738
97739         With these changes, nanosleep.[ch] are finally enough like the other
97740         lib/* replacement files to compile on a few more losing systems.
97741
97742         * lib/nanosleep.h: Don't include config.h.
97743         Remove prototype from declaration of nanosleep.
97744         (PARAMS): Remove now-unneeded definition.
97745         * lib/nanosleep.c: #undef nanosleep.
97746         (rpl_nanosleep): Rename from nanosleep.
97747
97748 2000-02-10  Jim Meyering  <meyering@lucent.com>
97749
97750         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
97751         gnu_nanosleep to rpl_nanosleep.
97752
97753 2000-02-09  Jim Meyering  <meyering@lucent.com>
97754
97755         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
97756         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
97757
97758 2000-02-08  Akim Demaille  <akim@epita.fr>
97759
97760         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
97761         `[' and `]' and remove uses of `changequote'.
97762         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
97763         (AC_SYS_LARGEFILE): Likewise.
97764         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
97765         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
97766         of changequote.
97767         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
97768         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
97769         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
97770         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
97771
97772 2000-02-05  Jim Meyering  <meyering@lucent.com>
97773
97774         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
97775         Remove explicit use of AC_HEADER_TIME.  It is required by
97776         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
97777         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
97778         in autoconf whereby the expansion of the latter ended up preceding
97779         the expansion of its prerequisite, AC_HEADER_TIME.
97780         Reported by Volker Borchert.
97781
97782 2000-02-03  Jim Meyering  <meyering@lucent.com>
97783
97784         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
97785
97786 2000-02-03  Jim Meyering  <meyering@lucent.com>
97787
97788         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
97789         rather than with `#if HAVE_UTMPNAME'.
97790
97791 2000-02-02  Jim Meyering  <meyering@lucent.com>
97792
97793         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
97794         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
97795         Reported by Eli Zaretskii.
97796
97797 2000-02-01  Jim Meyering  <meyering@lucent.com>
97798
97799         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
97800
97801 2000-01-31  Jim Meyering  <meyering@lucent.com>
97802
97803         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
97804         functions.  Add the time.h and sys/time.h headers along with the
97805         AC_REQUIRE'ment of AC_HEADER_TIME.
97806
97807 2000-01-31  Jim Meyering  <meyering@lucent.com>
97808
97809         * lib/nanosleep.h (nanosleep): Guard declaration with
97810         `#if ! HAVE_DECL_NANOSLEEP'.
97811         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
97812         the declaration in that vendor's sys/timers.h.
97813         Reported by Christian Krackowizer.
97814
97815         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
97816         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
97817         (ISPRINT): Likewise.
97818         Reported by Tom Tromey.
97819
97820 2000-01-30  Jim Meyering  <meyering@lucent.com>
97821
97822         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
97823
97824         * m4/prereq.m4 (utmp_includes): Define.
97825         Check for ut_user and ut_name members in both struct utmpx
97826         and struct utmp.
97827
97828 2000-01-30  Jim Meyering  <meyering@lucent.com>
97829
97830         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
97831         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
97832         header files where only utmpx.ut_user is declared.
97833
97834         * lib/readutmp.h (UT_USER): Define.
97835
97836 2000-01-29  Jim Meyering  <meyering@lucent.com>
97837
97838         * m4/lib-check.m4: New file containing library-related checks from
97839         fileutils and sh-utils (textutils had none).
97840
97841 2000-01-28  Jim Meyering  <meyering@lucent.com>
97842
97843         * m4/perl.m4: Change format of warning message to look more like that
97844         from the missing script.  Suggestion from François Pinard.
97845
97846 2000-01-25  Jim Meyering  <meyering@lucent.com>
97847
97848         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
97849         well as time.h in the compile check.
97850         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
97851         Fix typo in cross-compiling case: s/yes/no/.
97852
97853 2000-01-23  Jim Meyering  <meyering@lucent.com>
97854
97855         * m4/jm-macros.m4: Move df-related tests here from
97856         fileutils/configure.in
97857
97858         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
97859         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
97860
97861         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
97862         s/space/ac_fsusage_space/.
97863         (jm_FILE_SYSTEM_USAGE): Take two parameters.
97864
97865         * m4/ftruncate.m4: New file (derived from part of
97866         fileutils/configure.in).
97867         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
97868         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
97869
97870         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
97871         AC_SUBST these here, rather than just in sh-util/configure.in, so
97872         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
97873         all the same.
97874         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
97875         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
97876         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
97877         (AC_SUBST(POW_LIBM)): Likewise.
97878         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
97879
97880 2000-01-23  Jim Meyering  <meyering@lucent.com>
97881
97882         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
97883         obstack.c.
97884
97885 2000-01-22  Jim Meyering  <meyering@lucent.com>
97886
97887         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
97888
97889         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
97890
97891         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
97892         configure.in
97893         (AC_CHECK_HEADERS): Likewise for sh-utils.
97894         (AC_CHECK_HEADERS): Likewise for textutils.
97895         Merge the three lists of headers.
97896
97897         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
97898         from fileutils' configure.in.
97899
97900         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
97901         code. Moved tests into their own function (_jm_DECL_HEADERS) in
97902         check-decl.m4.
97903
97904         * m4/check-decl.m4: Use #if rather than #ifdef.
97905         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
97906         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
97907         (_jm_DECL_HEADERS): Define new function.
97908         (jm_CHECK_DECLARATIONS): Require it.
97909
97910 2000-01-22  Jim Meyering  <meyering@lucent.com>
97911
97912         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
97913         [! HAVE_DECL_STRTOULL]: Declare strtoull.
97914         Required for some AIX systems.  Reported by Christian Krackowizer.
97915         [TESTING] (main): New function.
97916
97917         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
97918         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
97919         letters.
97920
97921         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
97922         iswprint.
97923
97924         * lib/strverscmp.c (ISDIGIT): Define.
97925         (strverscmp): Use ISDIGIT, not isdigit.
97926
97927 2000-01-19  Jim Meyering  <meyering@lucent.com>
97928
97929         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
97930         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
97931         defines `struct timespec' in <sys/time.h>
97932
97933         * m4/c-bs-a.m4: Remove uses of changequote altogether.
97934         Thanks to Akim for explaining.
97935
97936 2000-01-17  Paul Eggert  <eggert@twinsun.com>
97937
97938         * lib/nanosleep.c (nanosleep):
97939         Don't use SA_INTERRUPT to decide whether to call sigaction, as
97940         POSIX.1 doesn't require SA_INTERRUPT and some systems
97941         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
97942         it's been part of POSIX.1 since day 1 (in 1988).
97943
97944 2000-01-17  Jim Meyering  <meyering@lucent.com>
97945
97946         * lib/interlock: Remove unused file.  Reported by François Pinard.
97947
97948 2000-01-16  Paul Eggert  <eggert@twinsun.com>
97949
97950         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
97951         alert, backslash, formfeed, and vertical tab unnecessarily in
97952         shell quoting style.
97953
97954 2000-01-16  Jim Meyering  <meyering@lucent.com>
97955
97956         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
97957         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
97958         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
97959         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
97960
97961 2000-01-16  Jim Meyering  <meyering@lucent.com>
97962
97963         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
97964         because the latter didn't work.
97965
97966 2000-01-15  Jim Meyering  <meyering@lucent.com>
97967
97968         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
97969         (AC_REPLACE_FUNCS): Add memcpy and memset.
97970         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
97971         Add strpbrk.
97972         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
97973
97974 2000-01-12  Jim Meyering  <meyering@lucent.com>
97975
97976         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
97977         (jm_PREREQ): Use it.
97978         (jm_PREREQ_READUTMP): New macro.
97979         (jm_PREREQ): Use it.
97980
97981 2000-01-11  Paul Eggert  <eggert@twinsun.com>
97982
97983         Quote multibyte characters correctly.
97984         * m4/c-bs-a.m4: New file.
97985         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
97986         (jm_PREREQ): Use it.
97987
97988 2000-01-11  Paul Eggert  <eggert@twinsun.com>
97989
97990         * m4/uintmax_t.m4: Port to autoconf 2.13.
97991
97992 2000-01-08  Jim Meyering  <meyering@ascend.com>
97993
97994         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
97995         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
97996
97997 2000-01-04  Jim Meyering  <meyering@ascend.com>
97998
97999         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
98000         jm_STRUCT_DIRENT_D_TYPE.
98001         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
98002         jm_STRUCT_DIRENT_D_INO.
98003         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
98004         jm_STRUCT_UTIMBUF.
98005         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
98006         renamings.
98007         * m4/utime.m4: Likewise.
98008
98009         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
98010         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
98011
98012 2000-01-03  Paul Eggert  <eggert@twinsun.com>
98013
98014         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
98015         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
98016
98017 2000-01-02  Jim Meyering  <meyering@ascend.com>
98018
98019         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
98020         remember if this is necessary.
98021
98022 1999-12-26  Jim Meyering  <meyering@ascend.com>
98023
98024         * m4/jm-macros.m4: Use it here.
98025         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
98026
98027 1999-12-23  Jim Meyering  <meyering@ascend.com>
98028
98029         * m4/jm-macros.m4: Check for clock_gettime (moved from
98030         fileutils/configure.in)
98031         Check for gettimeofday.
98032
98033 1999-12-20  Jim Meyering  <meyering@ascend.com>
98034
98035         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
98036         autoconf-2.14a-1999-12-20.
98037
98038 1999-12-19  Jim Meyering  <meyering@ascend.com>
98039
98040         * m4/lstat-slash.m4: New file.
98041         * m4/jm-macros.m4: Use the new macro:
98042         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98043
98044 1999-12-07  Jim Meyering  <meyering@ascend.com>
98045
98046         * m4/perl.m4: Require that File::Compare be available, too.
98047         Too many systems seem to lack it.
98048
98049         * m4/strftime.m4: Add checks for most of the cpp macros tested in
98050         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
98051
98052 1999-11-18  Paul Eggert  <eggert@twinsun.com>
98053
98054         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
98055         problem with the QNX 4.25 shell, which doesn't propagate exit
98056         status of failed commands inside shell assignments.
98057
98058 1999-11-17  Jim Meyering  <meyering@ascend.com>
98059
98060         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
98061
98062 1999-11-07  Jim Meyering  <meyering@ascend.com>
98063
98064         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
98065
98066 1999-11-06  Jim Meyering  <meyering@ascend.com>
98067
98068         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
98069         * m4/jm-macros.m4 (jm_MACROS): Use it here.
98070
98071 1999-11-05  Jim Meyering  <meyering@ascend.com>
98072
98073         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
98074         configure.in of textutils, fileutils, and sh-utils into this one
98075         (shared between those packages) file.
98076         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
98077         AC_STRUCT_ST_BLKSIZE.
98078
98079 1999-11-03  Jim Meyering  <meyering@ascend.com>
98080
98081         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
98082         of AC_CHECK_TYPE checks includes unistd.h.
98083         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
98084         Suggestion from Akim Demaille.
98085
98086 1999-10-30  Jim Meyering  <meyering@ascend.com>
98087
98088         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
98089         m4-quoted string.
98090         * m4/ls-mntd-fs.m4: Likewise.
98091         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
98092         * m4/jm-winsz1.m4: Likewise.
98093
98094         * m4/const.m4: Remove file, since the fix made it into the experimental
98095         version of autoconf.
98096         * m4/mktime.m4: Likewise.
98097
98098         * m4/check-type.m4: Remove file, now that the latest version of
98099         AC_CHECK_TYPE takes a third arg to specify additional #includes.
98100
98101         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
98102         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
98103         AC_CHECK_TYPE.
98104
98105 1999-10-04  Jim Meyering  <meyering@ascend.com>
98106
98107         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
98108
98109 1999-09-22  Paul Eggert  <eggert@twinsun.com>
98110
98111         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
98112         2.95.1 bug with HP-UX 10.20.
98113
98114 1999-09-17  Jim Meyering  <meyering@ascend.com>
98115
98116         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
98117         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
98118         due to missing strdup (against sh-utils-2.0).
98119
98120 1999-08-29  Jim Meyering  <meyering@ascend.com>
98121
98122         * m4/jm-macros.m4: Require jm_BISON.
98123         * m4/bison.m4: New file.
98124
98125 1999-08-17  Paul Eggert  <eggert@twinsun.com>
98126
98127         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
98128         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
98129
98130 1999-08-05  Jim Meyering  <meyering@ascend.com>
98131
98132         * m4/getline.m4: Rename test file from conftestdata to conftest.data
98133         to avoid conflicts with `conftest' on 8+3 filesystems.
98134         Suggestion from Eli Zaretskii.
98135
98136 1999-08-04  Jim Meyering  <meyering@ascend.com>
98137
98138         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
98139         fileutils and sh-utils (textutils's getline test was inadequate).
98140         (AM_FUNC_GETLINE): Run this test.
98141         (AC_CHECK_FUNCS): Check for getdelim.
98142         Reported by Bob Proulx.
98143
98144 1999-08-02  Jim Meyering  <meyering@ascend.com>
98145
98146         * m4/jm-macros.m4: Add a comment.
98147
98148 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98149
98150         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
98151         <inttypes.h> defines strtoumax as a macro (and not as a
98152         function).
98153
98154 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98155
98156         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
98157         that we can shift, multiply and divide unsigned long long
98158         values; Ultrix cc can't do it.
98159
98160 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98161
98162         * m4/mktime.m4: New file, which is a preview of what should appear
98163         in the next public autoconf release.
98164
98165 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98166
98167         * m4/lfs.m4: Remove this file.
98168         * m4/largefile.m4: New file.  It contains the old contents of
98169         lfs.m4, except that all names with prefix AC_LFS have been
98170         changed to use the prefix AC_SYS_LARGEFILE instead, to be
98171         compatible with future autoconf versions.  Also, some minor m4
98172         quoting problems have been fixed.
98173
98174 1999-08-01  Paul Eggert  <eggert@twinsun.com>
98175
98176         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
98177         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
98178         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
98179         and simplify the shell code.
98180
98181 1999-08-01  Jim Meyering  <meyering@ascend.com>
98182
98183         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
98184         m4.
98185
98186 1999-07-20  Jim Meyering  <meyering@ascend.com>
98187
98188         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
98189
98190 1999-07-15  Jim Meyering  <meyering@ascend.com>
98191
98192         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
98193
98194 1999-05-22  Jim Meyering  <meyering@ascend.com>
98195
98196         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
98197
98198 1999-05-20  Jim Meyering  <meyering@ascend.com>
98199
98200         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
98201         Add a colon after each `then' in case $4 is empty.
98202
98203 1999-05-16  Jim Meyering  <meyering@ascend.com>
98204
98205         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
98206
98207 1999-05-10  Jim Meyering  <meyering@ascend.com>
98208
98209         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
98210
98211         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
98212         AC_FUNC_MKTIME.
98213
98214 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
98215
98216         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
98217
98218 1999-05-04  Paul Eggert  <eggert@twinsun.com>
98219
98220         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
98221         not CPPFLAGS, so that linking works correctly in IRIX.
98222
98223 1999-04-30  Paul Eggert  <eggert@twinsun.com>
98224
98225         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
98226
98227 1999-04-20  Paul Eggert  <eggert@twinsun.com>
98228
98229         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
98230         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
98231         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
98232         jm_AC_TYPE_UNSIGNED_LONG_LONG.
98233         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
98234
98235         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
98236
98237 1999-04-20  Jim Meyering  <meyering@ascend.com>
98238
98239         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
98240         AC_REPLACE xstroull if necessary.  From Paul Eggert.
98241         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
98242
98243 1999-04-18  Jim Meyering  <meyering@ascend.com>
98244
98245         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
98246         * m4/jm-macros.m4: Use it.
98247
98248 1999-04-06  Jim Meyering  <meyering@ascend.com>
98249
98250         * m4/strftime.m4: Remove test for %f.
98251
98252 1999-03-29  Jim Meyering  <meyering@ascend.com>
98253
98254         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
98255         superset of the AC_TYPE_* checks in the textutils, fileutils,
98256         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
98257         AC_TYPE_PID_T.
98258
98259 1999-03-28  Jim Meyering  <meyering@ascend.com>
98260
98261         * m4/jm-macros.m4: Define GNU_PACKAGE here.
98262         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
98263         replaced e.g., in the *.sh files of the sh-utils.
98264
98265 1999-03-20  Jim Meyering  <meyering@ascend.com>
98266
98267         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
98268         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
98269         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
98270
98271 1999-03-19  Jim Meyering  <meyering@ascend.com>
98272
98273         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
98274
98275 1999-03-12  Jim Meyering  <meyering@ascend.com>
98276
98277         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
98278
98279 1999-03-07  Jim Meyering  <meyering@ascend.com>
98280
98281         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
98282         declared.
98283
98284 1999-02-17  Jim Meyering  <meyering@ascend.com>
98285
98286         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
98287         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
98288
98289 1999-02-07  Jim Meyering  <meyering@ascend.com>
98290
98291         * m4/group-member.m4: New file -- extracted from sh-utils'
98292         configure.in.
98293
98294         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
98295         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
98296
98297 1999-02-06  Jim Meyering  <meyering@ascend.com>
98298
98299         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
98300         * m4/fnmatch.m4: Likewise.
98301         * m4/getgroups.m4: Likewise.
98302         * m4/lstat.m4: Likewise.
98303         * m4/malloc.m4: Likewise.
98304         * m4/putenv.m4: Likewise.
98305         * m4/realloc.m4: Likewise.
98306         * m4/regex.m4: Likewise.
98307         * m4/stat.m4: Likewise.
98308         * m4/strftime.m4: Likewise.
98309         Suggestion from Alain Magloire.
98310
98311         * m4/chown.m4: Use `.$ac_objext', not `.o'.
98312         * m4/fnmatch.m4: Likewise.
98313         * m4/getgroups.m4: Likewise.
98314         * m4/getline.m4: Likewise.
98315         * m4/lstat.m4: Likewise.
98316         * m4/malloc.m4: Likewise.
98317         * m4/memcmp.m4: Likewise.
98318         * m4/putenv.m4: Likewise.
98319         * m4/realloc.m4: Likewise.
98320         * m4/regex.m4: Likewise.
98321         * m4/stat.m4: Likewise.
98322         * m4/strftime.m4: Likewise.
98323         Suggestion from Alain Magloire.
98324
98325         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
98326         an argument.
98327
98328         * m4/regex.m4: Add a run-time Test for proper operation of
98329         re_compile_pattern.
98330
98331 1999-01-31  Jim Meyering  <meyering@ascend.com>
98332
98333         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
98334
98335 1999-01-30  Jim Meyering  <meyering@ascend.com>
98336
98337         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
98338
98339         * m4/jm-mktime.m4: Make this a wrapper around the official
98340         AM_FUNC_MKTIME rather than my private copy, now that the official one
98341         is up to date.
98342         * m4/mktime.m4: Remove file.
98343
98344         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
98345         * m4/uptime.m4: Likewise.
98346         * m4/uintmax_t.m4: Likewise.
98347
98348 1999-01-28  Jim Meyering  <meyering@ascend.com>
98349
98350         * m4/jm-macros.m4: Use jm_AFS.
98351         * m4/afs.m4: New file (from fileutils' configure.in).
98352
98353         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
98354         * m4/chown.m4: Likewise.
98355         * m4/d-ino.m4: Likewise.
98356         * m4/d-type.m4: Likewise.
98357         * m4/fnmatch.m4: Likewise.
98358         * m4/getgroups.m4: Likewise.
98359         * m4/gettext.m4: Likewise.
98360         * m4/jm-mktime.m4: Likewise.
98361         * m4/jm-winsz2.m4: Likewise.
98362         * m4/lcmessage.m4: Likewise.
98363         * m4/ls-mntd-fs.m4: Likewise.
98364         * m4/malloc.m4: Likewise.
98365         * m4/memcmp.m4: Likewise.
98366         * m4/putenv.m4: Likewise.
98367         * m4/realloc.m4: Likewise.
98368         * m4/st_mtim.m4: Likewise.
98369         * m4/strftime.m4: Likewise.
98370
98371 1999-01-16  Jim Meyering  <meyering@ascend.com>
98372
98373         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
98374         (ARGMATCH_DIE_DECL): Define.
98375
98376 1999-01-12  Jim Meyering  <meyering@ascend.com>
98377
98378         * m4/Makefile.am.in: Rewrite to avoid using fmt.
98379         Reported by Lars Hecking.
98380
98381 1999-01-10  Jim Meyering  <meyering@ascend.com>
98382
98383         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
98384         gross kludge.
98385         * m4/inttypes_h.m4: Likewise.
98386         * m4/lstat.m4: Likewise.
98387         * m4/malloc.m4: Likewise.
98388         * m4/readdir.m4: Likewise.
98389         * m4/realloc.m4: Likewise.
98390         * m4/st_dm_mode.m4: Likewise.
98391         * m4/stat.m4: Likewise.
98392         * m4/utimbuf.m4: Likewise.
98393         * m4/utimes.m4: Likewise.
98394
98395         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
98396         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
98397         comments in config.h.in are meaningful.
98398
98399         * m4/jm-macros.m4: Require autoconf-2.13 here.
98400
98401         * m4/regex.m4: By default, don't use the included regex.c on systems
98402         with glibc 2.  Suggestion from Uli Drepper.
98403
98404 1999-01-02  Jim Meyering  <meyering@ascend.com>
98405
98406         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
98407
98408 1998-12-18  Jim Meyering  <meyering@ascend.com>
98409
98410         * m4/Makefile.am.in (Makefile.am): Simplify rule.
98411         Based on a suggestion from Lars Hecking.
98412
98413 1998-11-16  Paul Eggert  <eggert@twinsun.com>
98414
98415         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
98416
98417 1998-11-16  Jim Meyering  <meyering@ascend.com>
98418
98419         * m4/lfs.m4: Double-quote the `uname...` expression.
98420
98421 1998-11-14  Jim Meyering  <meyering@ascend.com>
98422
98423         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
98424         * m4/stat.m4: Likewise.
98425
98426 1998-11-03  Jim Meyering  <meyering@ascend.com>
98427
98428         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
98429         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
98430
98431 1998-10-18  Jim Meyering  <meyering@ascend.com>
98432
98433         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
98434
98435 1998-10-17  Jim Meyering  <meyering@ascend.com>
98436
98437         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
98438         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
98439         calls for those previously hard-coded headers.  Instead, take a new
98440         parameter.
98441         (jm_CHECK_DECLARATIONS): Reflect interface change.
98442         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
98443         (jm_CHECK_DECL_LOCALTIME_R): New macro.
98444
98445         * m4/mktime.m4: Test for spring-forward gap before long-running test.
98446
98447 1998-10-14  Jim Meyering  <meyering@ascend.com>
98448
98449         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
98450         instead of "TZ=America/Vancouver".  From Paul Eggert.
98451
98452 1998-10-11  Jim Meyering  <meyering@ascend.com>
98453
98454         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
98455         This adds a test for a recently added compatibility fix for mktime.c.
98456         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
98457
98458 1998-09-27  Jim Meyering  <meyering@ascend.com>
98459
98460         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
98461
98462         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
98463         ../configure.in, including a change from Gordon Matzigkeit to allow
98464         cross-compiling for the Hurd.
98465
98466         * m4/glibc.m4: New file/macro to test for the GNU C Library
98467         versions 1 and 2.  From Gordon Matzigkeit.
98468         Indent.
98469
98470 1998-09-21  Jim Meyering  <meyering@ascend.com>
98471
98472         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
98473
98474 1998-08-18  Paul Eggert  <eggert@twinsun.com>
98475
98476         Port nanosecond-resolution times to UnixWare 2.1.2 and
98477         pedantic Solaris 2.6.
98478
98479         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
98480         AC_STRUCT_ST_MTIM.
98481         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
98482         Generate name of ns member, instead of just 1 or undef.
98483         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
98484
98485 1998-08-15  Jim Meyering  <meyering@ascend.com>
98486
98487         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
98488         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
98489         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
98490         instead of jm_TYPE_SSIZE_T.
98491
98492 1998-08-12  Jim Meyering  <meyering@ascend.com>
98493
98494         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
98495
98496 1998-08-02  Jim Meyering  <meyering@ascend.com>
98497
98498         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
98499         in acconfig.h manually.
98500
98501 1998-07-31  Paul Eggert  <eggert@twinsun.com>
98502
98503         * m4/st_mtim.m4: New file.
98504
98505 1998-07-28  Jim Meyering  <meyering@ascend.com>
98506
98507         * m4/utimes.m4: Undef stat.
98508
98509 1998-07-25  Jim Meyering  <meyering@ascend.com>
98510
98511         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
98512         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
98513
98514 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
98515
98516         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
98517         uid and gid actually remain unchanged.
98518
98519 1998-07-07  Jim Meyering  <meyering@ascend.com>
98520
98521         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
98522
98523 1998-07-04  Jim Meyering  <meyering@ascend.com>
98524
98525         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
98526         to prove that this macro can be used in packages without regex.c.
98527
98528 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
98529
98530         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
98531         is to be used.
98532
98533 1998-07-03  Jim Meyering  <meyering@ascend.com>
98534
98535         * m4/gettext.m4: Add -lintl if it's found to be necessary.
98536
98537         * m4/gettext.m4: New file -- from gettext-0.10.35.
98538         * m4/lcmessage.m4: Likewise.
98539         * m4/progtest.m4: Likewise.
98540
98541         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
98542         * m4/jm-macros.m4: Require the new macro.
98543
98544 1998-06-29  Jim Meyering  <meyering@ascend.com>
98545
98546         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
98547         for the definition of NGROUPS (used in a system header included
98548         by sys/mount.h).
98549
98550 1998-06-28  Jim Meyering  <meyering@ascend.com>
98551
98552         * m4/ls-mntd-fs.m4: New file.
98553         * m4/fstypename.m4: New file.
98554
98555         * m4/jm-macros.m4: Require the new macro.
98556         * m4/jm-glibc-io.m4: New file.
98557
98558 1998-05-19  Jim Meyering  <meyering@ascend.com>
98559
98560         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
98561         * m4/lchown.m4: New file.
98562
98563         * m4/Makefile.am.in: New file.
98564         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
98565
98566 1998-05-14  Jim Meyering  <meyering@ascend.com>
98567
98568         * m4/Makefile.am (EXTRA_DIST): Add them.
98569         * m4/jm-macros.m4: New file.
98570         * m4/utimbuf.m4: New file.
98571
98572 1998-05-12  Jim Meyering  <meyering@ascend.com>
98573
98574         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
98575
98576 1998-05-11  Jim Meyering  <meyering@ascend.com>
98577
98578         * m4/isc-posix.m4: New file.
98579
98580 1998-05-10  Jim Meyering  <meyering@ascend.com>
98581
98582         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
98583
98584 1998-05-09  Jim Meyering  <meyering@ascend.com>
98585
98586         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
98587         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
98588         with automake.
98589
98590         * m4/ssize_t.m4: New file.
98591         * m4/mktime.m4: Remove file -- the new automake has this now.
98592
98593 1998-04-26  Jim Meyering  <meyering@ascend.com>
98594
98595         * m4/assert.m4: New file.
98596         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
98597
98598 1998-04-05  Jim Meyering  <meyering@ascend.com>
98599
98600         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
98601         (jm_PREREQ): Use it here.
98602
98603 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
98604
98605         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
98606         in acconfig.h.
98607
98608 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
98609
98610         * m4/prereq.m4: New file.
98611         * m4/error.m4: New file.
98612         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
98613
98614 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
98615
98616         * m4/getline.m4: Don't set am_cv_func_working_getline before the
98617         cache-check for the same variable -- that defeated the purpose of
98618         the test; the test program was never run.  This was a problem only
98619         on systems with losing getline functions -- HP-UX 10.20 is one.
98620         Reported by Bjorn Helgaas.
98621
98622 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
98623
98624         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
98625
98626 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
98627
98628         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
98629
98630         * m4/const.m4: New file.  Use an initializer in this declaration
98631         typedef int charset[2]; const charset x;
98632         Reported by Bob Glickstein.
98633
98634 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
98635
98636         * m4/chown.m4: Fix reversed types on -1 args to chown.
98637         From Kaveh Ghazi.
98638
98639 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
98640
98641         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
98642         Add lseek and memchr.
98643
98644         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
98645         T.E.Dickey <dickey@clark.net> said that some older preprocessors
98646         have a 20-character limit on names.
98647
98648 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
98649
98650         * m4/inttypes_h.m4: New file.
98651         * m4/uintmax_t.m4: New file.
98652         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
98653
98654
98655         -----
98656
98657         Local Variables:
98658         coding: utf-8
98659         End:
98660
98661         Copyright (C) 1997-2012 Free Software Foundation, Inc.
98662
98663         Copying and distribution of this file, with or without
98664         modification, are permitted provided the copyright notice
98665         and this notice are preserved.